* [PATCH] drm/i915: Restore current RPS state after reset
@ 2016-09-16 13:47 Chris Wilson
2016-09-16 14:20 ` ✗ Fi.CI.BAT: warning for " Patchwork
2016-09-16 15:17 ` [PATCH] " Mika Kuoppala
0 siblings, 2 replies; 3+ messages in thread
From: Chris Wilson @ 2016-09-16 13:47 UTC (permalink / raw)
To: intel-gfx; +Cc: Mika Kuoppala
Following commit 821ed7df6e2a ("drm/i915: Update reset path to fix
incomplete requests") we no longer mark the context as lost on reset as
we keep the requests (and contexts) alive. However, RPS remains reset
and we need to restore the current state to match the in-flight
requests.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97824
Fixes: 821ed7df6e2a ("drm/i915: Update reset path to fix incomplete requests")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Arun Siluvery <arun.siluvery@linux.intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 9 ---------
drivers/gpu/drm/i915/i915_gem.c | 7 +++++++
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index af43c968fc5a..b2e67aaad531 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1792,15 +1792,6 @@ void i915_reset(struct drm_i915_private *dev_priv)
goto error;
}
- /*
- * rps/rc6 re-init is necessary to restore state lost after the
- * reset and the re-install of gt irqs. Skip for ironlake per
- * previous concerns that it doesn't respond well to some forms
- * of re-init after reset.
- */
- intel_sanitize_gt_powersave(dev_priv);
- intel_autoenable_gt_powersave(dev_priv);
-
wakeup:
wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS);
return;
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 769478a835e5..71efaf3d4215 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2688,6 +2688,13 @@ void i915_gem_reset(struct drm_i915_private *dev_priv)
i915_gem_reset_engine(engine);
i915_gem_restore_fences(&dev_priv->drm);
+
+ if (dev_priv->gt.awake) {
+ intel_sanitize_gt_powersave(dev_priv);
+ intel_enable_gt_powersave(dev_priv);
+ if (INTEL_GEN(dev_priv) >= 6)
+ gen6_rps_busy(dev_priv);
+ }
}
static void nop_submit_request(struct drm_i915_gem_request *request)
--
2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* ✗ Fi.CI.BAT: warning for drm/i915: Restore current RPS state after reset
2016-09-16 13:47 [PATCH] drm/i915: Restore current RPS state after reset Chris Wilson
@ 2016-09-16 14:20 ` Patchwork
2016-09-16 15:17 ` [PATCH] " Mika Kuoppala
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2016-09-16 14:20 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Restore current RPS state after reset
URL : https://patchwork.freedesktop.org/series/12575/
State : warning
== Summary ==
Series 12575v1 drm/i915: Restore current RPS state after reset
https://patchwork.freedesktop.org/api/1.0/series/12575/revisions/1/mbox/
Test drv_module_reload_basic:
pass -> SKIP (fi-skl-6260u)
Test kms_flip:
Subgroup basic-flip-vs-modeset:
pass -> DMESG-WARN (fi-hsw-4770k)
Test kms_pipe_crc_basic:
Subgroup nonblocking-crc-pipe-b-frame-sequence:
pass -> SKIP (fi-hsw-4770r)
Subgroup suspend-read-crc-pipe-a:
skip -> PASS (fi-hsw-4770r)
Subgroup suspend-read-crc-pipe-c:
pass -> SKIP (fi-hsw-4770r)
incomplete -> PASS (fi-hsw-4770k)
fi-bdw-5557u total:244 pass:229 dwarn:0 dfail:0 fail:0 skip:15
fi-bsw-n3050 total:244 pass:202 dwarn:0 dfail:0 fail:0 skip:42
fi-hsw-4770k total:244 pass:225 dwarn:1 dfail:0 fail:0 skip:18
fi-hsw-4770r total:244 pass:220 dwarn:0 dfail:0 fail:0 skip:24
fi-ilk-650 total:244 pass:183 dwarn:0 dfail:0 fail:1 skip:60
fi-ivb-3520m total:244 pass:219 dwarn:0 dfail:0 fail:0 skip:25
fi-ivb-3770 total:244 pass:207 dwarn:0 dfail:0 fail:0 skip:37
fi-skl-6260u total:244 pass:229 dwarn:0 dfail:0 fail:0 skip:15
fi-skl-6700hq total:244 pass:221 dwarn:0 dfail:0 fail:1 skip:22
fi-skl-6700k total:244 pass:219 dwarn:1 dfail:0 fail:0 skip:24
fi-skl-6770hq total:244 pass:228 dwarn:1 dfail:0 fail:1 skip:14
fi-snb-2520m total:244 pass:208 dwarn:0 dfail:0 fail:0 skip:36
fi-snb-2600 total:244 pass:207 dwarn:0 dfail:0 fail:0 skip:37
Results at /archive/results/CI_IGT_test/Patchwork_2546/
e001a39d3a5cf1630ec4e83815794ec7ad507ef6 drm-intel-nightly: 2016y-09m-16d-11h-18m-48s UTC integration manifest
870ee4b drm/i915: Restore current RPS state after reset
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915: Restore current RPS state after reset
2016-09-16 13:47 [PATCH] drm/i915: Restore current RPS state after reset Chris Wilson
2016-09-16 14:20 ` ✗ Fi.CI.BAT: warning for " Patchwork
@ 2016-09-16 15:17 ` Mika Kuoppala
1 sibling, 0 replies; 3+ messages in thread
From: Mika Kuoppala @ 2016-09-16 15:17 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
Chris Wilson <chris@chris-wilson.co.uk> writes:
> Following commit 821ed7df6e2a ("drm/i915: Update reset path to fix
> incomplete requests") we no longer mark the context as lost on reset as
> we keep the requests (and contexts) alive. However, RPS remains reset
> and we need to restore the current state to match the in-flight
> requests.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97824
> Fixes: 821ed7df6e2a ("drm/i915: Update reset path to fix incomplete requests")
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Arun Siluvery <arun.siluvery@linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 9 ---------
> drivers/gpu/drm/i915/i915_gem.c | 7 +++++++
> 2 files changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index af43c968fc5a..b2e67aaad531 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1792,15 +1792,6 @@ void i915_reset(struct drm_i915_private *dev_priv)
> goto error;
> }
>
> - /*
> - * rps/rc6 re-init is necessary to restore state lost after the
> - * reset and the re-install of gt irqs. Skip for ironlake per
> - * previous concerns that it doesn't respond well to some forms
> - * of re-init after reset.
> - */
> - intel_sanitize_gt_powersave(dev_priv);
> - intel_autoenable_gt_powersave(dev_priv);
> -
> wakeup:
> wake_up_bit(&error->flags, I915_RESET_IN_PROGRESS);
> return;
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 769478a835e5..71efaf3d4215 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2688,6 +2688,13 @@ void i915_gem_reset(struct drm_i915_private *dev_priv)
> i915_gem_reset_engine(engine);
>
> i915_gem_restore_fences(&dev_priv->drm);
> +
> + if (dev_priv->gt.awake) {
> + intel_sanitize_gt_powersave(dev_priv);
> + intel_enable_gt_powersave(dev_priv);
> + if (INTEL_GEN(dev_priv) >= 6)
> + gen6_rps_busy(dev_priv);
> + }
> }
>
> static void nop_submit_request(struct drm_i915_gem_request *request)
> --
> 2.9.3
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-09-16 15:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-16 13:47 [PATCH] drm/i915: Restore current RPS state after reset Chris Wilson
2016-09-16 14:20 ` ✗ Fi.CI.BAT: warning for " Patchwork
2016-09-16 15:17 ` [PATCH] " Mika Kuoppala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).