[PATCH] drm/i915/huc: stall media submission until HuC is loaded

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Tue Sep 27 18:54:44 UTC 2022



On Tue, 2022-09-13 at 16:22 -0700, Ceraolo Spurio, Daniele wrote:
> Wait on the fence to be signalled to avoid the submissions finding HuC
> not yet loaded.
> 
> v2: use dedicaded wait_queue_entry for waiting in HuC load, as submitq
> can't be re-used for it.
> 
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: Tony Ye <tony.ye at intel.com>
> Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com> #v1
> Acked-by: Tony Ye <tony.ye at intel.com>
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_huc.h |  6 ++++++
>  drivers/gpu/drm/i915/i915_request.c    | 24 ++++++++++++++++++++++++
>  drivers/gpu/drm/i915/i915_request.h    |  5 +++++
>  3 files changed, 35 insertions(+)
> 
[snip]

> diff --git a/drivers/gpu/drm/i915/i915_request.h b/drivers/gpu/drm/i915/i915_request.h
> index 47041ec68df8..f5e1bb5e857a 100644
> --- a/drivers/gpu/drm/i915/i915_request.h
> +++ b/drivers/gpu/drm/i915/i915_request.h
> @@ -348,6 +348,11 @@ struct i915_request {
>  #define	GUC_PRIO_FINI	0xfe
>  	u8 guc_prio;
>  
> +	/**
> +	 * @hucq: wait queue entry used to wait on the HuC load to complete
> +	 */
> +	wait_queue_entry_t hucq;
> +
> 
> 
I believe that in future if we have multiple engines that
requires a similiar stalled initialization wait, we should
have an array of ptrs here and a not-huc-specific-helper that
can sort out adding fence-signalled-waiters. But for now this is
a very rare race condition that only happens with HuC so
this hucq specific wait-entry will do fine. Thus:


Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com>


More information about the dri-devel mailing list