All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix GPU Hang on BYT
@ 2014-02-14 22:13 Sinclair Yeh
  2014-02-19 21:09 ` [PATCH] drm/i915: Revert workaround for disabling L3 cache aging " Sinclair Yeh
  0 siblings, 1 reply; 4+ messages in thread
From: Sinclair Yeh @ 2014-02-14 22:13 UTC (permalink / raw)
  To: intel-gfx

On certain OpenGL benchmark applications, setting this bit results in
frequent GPU hangs.  On BYT-M/I, the hangs go away by not setting this
bit.
---
 drivers/gpu/drm/i915/intel_pm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index a6b877a..3ba037e 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5004,9 +5004,6 @@ static void valleyview_init_clock_gating(struct drm_device *dev)
 		   _MASKED_BIT_ENABLE(GEN7_MAX_PS_THREAD_DEP |
 				      GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
 
-	/* WaDisableL3CacheAging:vlv */
-	I915_WRITE(GEN7_L3CNTLREG1, I915_READ(GEN7_L3CNTLREG1) | GEN7_L3AGDIS);
-
 	/* WaForceL3Serialization:vlv */
 	I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &
 		   ~L3SQ_URB_READ_CAM_MATCH_DISABLE);
-- 
1.8.1.4

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

* [PATCH] drm/i915: Revert workaround for disabling L3 cache aging on BYT
  2014-02-14 22:13 [PATCH] Fix GPU Hang on BYT Sinclair Yeh
@ 2014-02-19 21:09 ` Sinclair Yeh
  2014-02-20 16:18   ` Jesse Barnes
  0 siblings, 1 reply; 4+ messages in thread
From: Sinclair Yeh @ 2014-02-19 21:09 UTC (permalink / raw)
  To: intel-gfx

V2:  edit the commit message to contain more info
The W/A spreadsheet says this is still required, but the b-spec says
it's not for BYT-T.  So the documentation is not clear.  However,
our experience with the other SKUs of BYT-I/M on Android and Linux
suggests that setting this bit actually causes GPU hang for certain
OGL benchmark applications.

Removing this bit completely resolves the GPU hangs.
---
 drivers/gpu/drm/i915/intel_pm.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index a6b877a..3ba037e 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5004,9 +5004,6 @@ static void valleyview_init_clock_gating(struct drm_device *dev)
 		   _MASKED_BIT_ENABLE(GEN7_MAX_PS_THREAD_DEP |
 				      GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
 
-	/* WaDisableL3CacheAging:vlv */
-	I915_WRITE(GEN7_L3CNTLREG1, I915_READ(GEN7_L3CNTLREG1) | GEN7_L3AGDIS);
-
 	/* WaForceL3Serialization:vlv */
 	I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &
 		   ~L3SQ_URB_READ_CAM_MATCH_DISABLE);
-- 
1.8.1.4

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

* Re: [PATCH] drm/i915: Revert workaround for disabling L3 cache aging on BYT
  2014-02-19 21:09 ` [PATCH] drm/i915: Revert workaround for disabling L3 cache aging " Sinclair Yeh
@ 2014-02-20 16:18   ` Jesse Barnes
  2014-03-04 15:47     ` Daniel Vetter
  0 siblings, 1 reply; 4+ messages in thread
From: Jesse Barnes @ 2014-02-20 16:18 UTC (permalink / raw)
  To: Sinclair Yeh; +Cc: intel-gfx

On Wed, 19 Feb 2014 13:09:31 -0800
Sinclair Yeh <sinclair.yeh@intel.com> wrote:

> V2:  edit the commit message to contain more info
> The W/A spreadsheet says this is still required, but the b-spec says
> it's not for BYT-T.  So the documentation is not clear.  However,
> our experience with the other SKUs of BYT-I/M on Android and Linux
> suggests that setting this bit actually causes GPU hang for certain
> OGL benchmark applications.
> 
> Removing this bit completely resolves the GPU hangs.
> ---
>  drivers/gpu/drm/i915/intel_pm.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index a6b877a..3ba037e 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -5004,9 +5004,6 @@ static void valleyview_init_clock_gating(struct drm_device *dev)
>  		   _MASKED_BIT_ENABLE(GEN7_MAX_PS_THREAD_DEP |
>  				      GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
>  
> -	/* WaDisableL3CacheAging:vlv */
> -	I915_WRITE(GEN7_L3CNTLREG1, I915_READ(GEN7_L3CNTLREG1) | GEN7_L3AGDIS);
> -
>  	/* WaForceL3Serialization:vlv */
>  	I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &
>  		   ~L3SQ_URB_READ_CAM_MATCH_DISABLE);

I don't think we have good docs on this, but since it works empirically:

Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center

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

* Re: [PATCH] drm/i915: Revert workaround for disabling L3 cache aging on BYT
  2014-02-20 16:18   ` Jesse Barnes
@ 2014-03-04 15:47     ` Daniel Vetter
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel Vetter @ 2014-03-04 15:47 UTC (permalink / raw)
  To: Jesse Barnes; +Cc: intel-gfx

On Thu, Feb 20, 2014 at 08:18:39AM -0800, Jesse Barnes wrote:
> On Wed, 19 Feb 2014 13:09:31 -0800
> Sinclair Yeh <sinclair.yeh@intel.com> wrote:
> 
> > V2:  edit the commit message to contain more info
> > The W/A spreadsheet says this is still required, but the b-spec says
> > it's not for BYT-T.  So the documentation is not clear.  However,
> > our experience with the other SKUs of BYT-I/M on Android and Linux
> > suggests that setting this bit actually causes GPU hang for certain
> > OGL benchmark applications.
> > 
> > Removing this bit completely resolves the GPU hangs.

Your sob is missing. Please see the developer's certificate of origin so
that you're aware of what you actually sign off on. Since you work for the
same company I've snuck this in ;-)

> > ---
> >  drivers/gpu/drm/i915/intel_pm.c | 3 ---
> >  1 file changed, 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > index a6b877a..3ba037e 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -5004,9 +5004,6 @@ static void valleyview_init_clock_gating(struct drm_device *dev)
> >  		   _MASKED_BIT_ENABLE(GEN7_MAX_PS_THREAD_DEP |
> >  				      GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
> >  
> > -	/* WaDisableL3CacheAging:vlv */
> > -	I915_WRITE(GEN7_L3CNTLREG1, I915_READ(GEN7_L3CNTLREG1) | GEN7_L3AGDIS);
> > -
> >  	/* WaForceL3Serialization:vlv */
> >  	I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &
> >  		   ~L3SQ_URB_READ_CAM_MATCH_DISABLE);
> 
> I don't think we have good docs on this, but since it works empirically:
> 
> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>

Queued for -next, thanks for the patch.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

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

end of thread, other threads:[~2014-03-04 15:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-14 22:13 [PATCH] Fix GPU Hang on BYT Sinclair Yeh
2014-02-19 21:09 ` [PATCH] drm/i915: Revert workaround for disabling L3 cache aging " Sinclair Yeh
2014-02-20 16:18   ` Jesse Barnes
2014-03-04 15:47     ` Daniel Vetter

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.