Subject: linux-next: manual merge of the drm tree with the drm-intel-fixes tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 31 Oct 2019 11:33:15 +1100

Hi all,

Today's linux-next merge of the drm tree got a conflict in:

  drivers/gpu/drm/i915/i915_drv.h

between commit:

  59cd826fb5e7 ("drm/i915: Fix PCH reference clock for FDI on HSW/BDW")

from the drm-intel-fixes tree and commit:

  7d423af9bfb1 ("drm/i915: Implement a better i945gm vblank irq vs. C-states workaround")

from the drm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/gpu/drm/i915/i915_drv.h
index 953e1d12c23c,8882c0908c3b..000000000000
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@@ -1704,34 -1339,17 +1339,19 @@@ struct drm_i915_private 
  	struct {
  		struct notifier_block pm_notifier;
  
- 		/**
- 		 * We leave the user IRQ off as much as possible,
- 		 * but this means that requests will finish and never
- 		 * be retired once the system goes idle. Set a timer to
- 		 * fire periodically while the ring is running. When it
- 		 * fires, go retire requests.
- 		 */
- 		struct delayed_work retire_work;
- 
- 		/**
- 		 * When we detect an idle GPU, we want to turn on
- 		 * powersaving features. So once we see that there
- 		 * are no more requests outstanding and no more
- 		 * arrive within a small period of time, we fire
- 		 * off the idle_work.
- 		 */
- 		struct work_struct idle_work;
+ 		struct i915_gem_contexts {
+ 			spinlock_t lock; /* locks list */
+ 			struct list_head list;
+ 
+ 			struct llist_head free_list;
+ 			struct work_struct free_work;
+ 		} contexts;
  	} gem;
  
 +	u8 pch_ssc_use;
 +
- 	/* For i945gm vblank irq vs. C3 workaround */
- 	struct {
- 		struct work_struct work;
- 		struct pm_qos_request pm_qos;
- 		u8 c3_disable_latency;
- 		u8 enabled;
- 	} i945gm_vblank;
+ 	/* For i915gm/i945gm vblank irq workaround */
+ 	u8 vblank_enabled;
  
  	/* perform PHY state sanity checks? */
  	bool chv_phy_assert[2];