diff mbox

drm/i915: apply HWSTAM writes to Ivy Bridge as well

Message ID 1309543736-2335-1-git-send-email-jbarnes@virtuousgeek.org (mailing list archive)
State New, archived
Headers show

Commit Message

Jesse Barnes July 1, 2011, 6:08 p.m. UTC
In an attempt to fix 38862 and 38863.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/gpu/drm/i915/i915_irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Kenneth Graunke July 1, 2011, 8:01 p.m. UTC | #1
On 07/01/2011 11:08 AM, Jesse Barnes wrote:
> In an attempt to fix 38862 and 38863.
>
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

Tested-by: Kenneth Graunke <kenneth@whitecape.org>

Prior to this patch, running the piglit test suite would randomly hang
the GPU unless I added msleeps between each test.  (Individual tests ran
fine.)

This patch fixes the issue.  I am now able to run piglit unmodified
without hanging the GPU.

Keith, could this go into -fixes?

Thanks for finding this, Chris and Jesse!

--Kenneth

> ---
>  drivers/gpu/drm/i915/i915_irq.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 2e18161..23d1ae6 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1745,7 +1745,7 @@ static void ironlake_irq_preinstall(struct drm_device *dev)
>  		INIT_WORK(&dev_priv->rps_work, gen6_pm_rps_work);
>  
>  	I915_WRITE(HWSTAM, 0xeffe);
> -	if (IS_GEN6(dev)) {
> +	if (IS_GEN6(dev) || IS_GEN7(dev)) {
>  		/* Workaround stalls observed on Sandy Bridge GPUs by
>  		 * making the blitter command streamer generate a
>  		 * write to the Hardware Status Page for
Keith Packard July 1, 2011, 8:28 p.m. UTC | #2
On Fri, 01 Jul 2011 13:01:50 -0700, Kenneth Graunke <kenneth@whitecape.org> wrote:

> Keith, could this go into -fixes?

Yes. Would Chris and/or Jesse be willing to review the remaining
GEN6-specific code and make sure the appropriate bits are also turned on
for GEN7?
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2e18161..23d1ae6 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1745,7 +1745,7 @@  static void ironlake_irq_preinstall(struct drm_device *dev)
 		INIT_WORK(&dev_priv->rps_work, gen6_pm_rps_work);
 
 	I915_WRITE(HWSTAM, 0xeffe);
-	if (IS_GEN6(dev)) {
+	if (IS_GEN6(dev) || IS_GEN7(dev)) {
 		/* Workaround stalls observed on Sandy Bridge GPUs by
 		 * making the blitter command streamer generate a
 		 * write to the Hardware Status Page for