All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge.
@ 2011-12-21 18:31 Eric Anholt
  2011-12-21 21:26 ` Ben Widawsky
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Anholt @ 2011-12-21 18:31 UTC (permalink / raw)
  To: intel-gfx

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

Signed-off-by: Eric Anholt <eric@anholt.net>
---

I think this is -next material, since it's not clearly fixing a bug.

 drivers/gpu/drm/i915/i915_reg.h      |    4 ++++
 drivers/gpu/drm/i915/intel_display.c |    4 ++++
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 9d15474..9a97535 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2883,6 +2883,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)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 8a61b81..1fe0c67 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -8252,6 +8252,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)) |
-- 
1.7.7.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge.
  2011-12-21 18:31 [PATCH] drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge Eric Anholt
@ 2011-12-21 21:26 ` Ben Widawsky
  2011-12-22 17:39   ` Eric Anholt
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Widawsky @ 2011-12-21 21:26 UTC (permalink / raw)
  To: Eric Anholt; +Cc: intel-gfx

On 12/21/2011 10:31 AM, Eric Anholt wrote:
> They don't fix our problems alone, but we're told to set them.
> 
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---
> 
> I think this is -next material, since it's not clearly fixing a bug.
> 
>  drivers/gpu/drm/i915/i915_reg.h      |    4 ++++
>  drivers/gpu/drm/i915/intel_display.c |    4 ++++
>  2 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 9d15474..9a97535 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2883,6 +2883,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)
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 8a61b81..1fe0c67 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -8252,6 +8252,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)) |

Fwiw, CHICKEN3_DGMG_DONE_FIX_DISABLE also applies to SNB, but we're
waiting on feedback if we should set it. It may be better to set both
platforms at once (ie. hold off on this patch)?

Ben

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge.
  2011-12-21 21:26 ` Ben Widawsky
@ 2011-12-22 17:39   ` Eric Anholt
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Anholt @ 2011-12-22 17:39 UTC (permalink / raw)
  To: Ben Widawsky; +Cc: intel-gfx


[-- Attachment #1.1: Type: text/plain, Size: 1059 bytes --]

On Wed, 21 Dec 2011 13:26:28 -0800, Ben Widawsky <ben@bwidawsk.net> wrote:
> On 12/21/2011 10:31 AM, Eric Anholt wrote:
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 8a61b81..1fe0c67 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -8252,6 +8252,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)) |
> 
> Fwiw, CHICKEN3_DGMG_DONE_FIX_DISABLE also applies to SNB, but we're
> waiting on feedback if we should set it. It may be better to set both
> platforms at once (ie. hold off on this patch)?

If it's different code in a different place for a different platform, it
should definitely be a different patch.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 197 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-12-22 17:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-21 18:31 [PATCH] drm/i915: Set two chicken bits implicated in missed IRQs on Ivybridge Eric Anholt
2011-12-21 21:26 ` Ben Widawsky
2011-12-22 17:39   ` Eric Anholt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.