Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 116ac8d2 authored by Eric Anholt's avatar Eric Anholt Committed by Keith Packard
Browse files

drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge.



They don't fix our problems alone, but we're told to set them.

Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
parent 8ea30864
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3020,6 +3020,10 @@
#define   ILK_DPFC_DIS1		(1<<8)
#define   ILK_DPFC_DIS2		(1<<9)

#define IVB_CHICKEN3	0x4200c
# define CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE	(1 << 5)
# define CHICKEN3_DGMG_DONE_FIX_DISABLE		(1 << 2)

#define DISP_ARB_CTL	0x45000
#define  DISP_TILE_SURFACE_SWIZZLING	(1<<13)
#define  DISP_FBC_WM_DIS		(1<<15)
+4 −0
Original line number Diff line number Diff line
@@ -8450,6 +8450,10 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)

	I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE);

	I915_WRITE(IVB_CHICKEN3,
		   CHICKEN3_DGMG_REQ_OUT_FIX_DISABLE |
		   CHICKEN3_DGMG_DONE_FIX_DISABLE);

	for_each_pipe(pipe) {
		I915_WRITE(DSPCNTR(pipe),
			   I915_READ(DSPCNTR(pipe)) |