Quoting Michał Winiarski (2017-12-11 15:15:20)
> After GPU reset, GuC HW needs to be reinitialized (with FW reload).
> Unfortunately, we're doing some extra work there (mostly allocating stuff),
> work that can be moved to guc_init and called once at driver load time.
> 
> As a side effect we're no longer hitting an assert in
> i915_ggtt_enable_guc on suspend/resume.
> 
> References: 04f7b24eccdf ("drm/i915/guc: Assert that we switch between known 
> ggtt->invalidate functions")
> Signed-off-by: Michał Winiarski <[email protected]>
> Cc: Chris Wilson <[email protected]>
> Cc: Joonas Lahtinen <[email protected]>
> Cc: Michal Wajdeczko <[email protected]>
> Cc: Sagar Arun Kamble <[email protected]>
> ---
> @@ -241,10 +238,44 @@ int intel_uc_init_hw(struct drm_i915_private *dev_priv)
>                  * if we are planning to enable submission later
>                  */
>                 ret = intel_guc_submission_init(guc);
> -               if (ret)
> -                       goto err_guc;
> +               if (ret) {
> +                       intel_guc_fini(guc);
> +                       return ret;
> +               }
>         }
>  
> +       return 0;
> +}
> +
> +void intel_uc_fini(struct drm_i915_private *dev_priv)

I have a fondness for laying out the code in roughly the order it should
be used in the API, quite often reverse order to keep forward decls to a
minimum.

Looks like it is a clean split and does what you say on the tin,
Reviewed-by: Chris Wilson <[email protected]>
-Chris
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to