[Intel-gfx] [PATCH 3/6] drm/i915: Mark all default contexts as uninitialised after context loss
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Wed May 25 12:43:46 UTC 2016
On ke, 2016-05-25 at 12:48 +0100, Chris Wilson wrote:
> When the GPU is reset or state lost through suspend, every default
> legacy context needs to reload their state - both the golden render
> state and the L3 mapping. Only context images explicitly saved to memory
> (i.e. all execlists and non-default legacy contexts) will retain their
> state across the reset.
>
Should not hurt at least.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/i915_gem_context.c | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index 3e3acd054f05..62de72a947e5 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -470,7 +470,21 @@ void i915_gem_context_lost(struct drm_i915_private *dev_priv)
> }
> }
>
> - /* Force the GPU state to be restore on enabling */
> + /* Force the GPU state to be restored on enabling */
> + if (!i915.enable_execlists) {
> + struct i915_gem_context *ctx;
> +
> + list_for_each_entry(ctx, &dev_priv->context_list, link) {
> + if (!i915_gem_context_is_default(ctx))
> + continue;
> +
> + for_each_engine(engine, dev_priv)
> + ctx->engine[engine->id].initialised = false;
> +
> + ctx->remap_slice = ALL_L3_SLICES(dev_priv);
> + }
> + }
> +
> for_each_engine(engine, dev_priv) {
> struct intel_context *ce =
> &dev_priv->kernel_context->engine[engine->id];
> @@ -478,7 +492,6 @@ void i915_gem_context_lost(struct drm_i915_private *dev_priv)
> ce->initialised =
> !i915.enable_execlists || engine->init_context == NULL;
> }
> - dev_priv->kernel_context->remap_slice = ALL_L3_SLICES(dev_priv);
> }
>
> void i915_gem_context_fini(struct drm_device *dev)
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the Intel-gfx
mailing list