[PATCH] drm/xe: Mark reserved engines in snapshot

Souza, Jose jose.souza at intel.com
Fri Sep 6 21:08:31 UTC 2024


On Fri, 2024-09-06 at 13:56 -0700, Lucas De Marchi wrote:
> When printing <debufs>/gt*/hw_engines, it's useful to mark
> what engines are reserved so it doesn't mislead developers
> while debugging.
> 

Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> Cc: José Roberto de Souza <jose.souza at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_hw_engine.c       | 3 +++
>  drivers/gpu/drm/xe/xe_hw_engine_types.h | 2 ++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index c9c3beb3ce8d..ce180faf2592 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -903,6 +903,7 @@ xe_hw_engine_snapshot_capture(struct xe_hw_engine *hwe)
>  	snapshot->forcewake.ref = xe_force_wake_ref(gt_to_fw(hwe->gt),
>  						    hwe->domain);
>  	snapshot->mmio_base = hwe->mmio_base;
> +	snapshot->kernel_reserved = xe_hw_engine_is_reserved(hwe);
>  
>  	/* no more VF accessible data below this point */
>  	if (IS_SRIOV_VF(gt_to_xe(hwe->gt)))
> @@ -1025,6 +1026,8 @@ void xe_hw_engine_snapshot_print(struct xe_hw_engine_snapshot *snapshot,
>  		   snapshot->logical_instance);
>  	drm_printf(p, "\tForcewake: domain 0x%x, ref %d\n",
>  		   snapshot->forcewake.domain, snapshot->forcewake.ref);
> +	drm_printf(p, "\tReserved: %s\n",
> +		   str_yes_no(snapshot->kernel_reserved));
>  	drm_printf(p, "\tHWSTAM: 0x%08x\n", snapshot->reg.ring_hwstam);
>  	drm_printf(p, "\tRING_HWS_PGA: 0x%08x\n", snapshot->reg.ring_hws_pga);
>  	drm_printf(p, "\tRING_EXECLIST_STATUS: 0x%016llx\n",
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine_types.h b/drivers/gpu/drm/xe/xe_hw_engine_types.h
> index 8be6d420ece4..be60edb3e673 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine_types.h
> +++ b/drivers/gpu/drm/xe/xe_hw_engine_types.h
> @@ -173,6 +173,8 @@ struct xe_hw_engine_snapshot {
>  	} forcewake;
>  	/** @mmio_base: MMIO base address of this hw engine*/
>  	u32 mmio_base;
> +	/** @kernel_reserved: Engine reserved, can't be used by userspace */
> +	bool kernel_reserved;
>  	/** @reg: Useful MMIO register snapshot */
>  	struct {
>  		/** @reg.ring_execlist_status: RING_EXECLIST_STATUS */



More information about the Intel-xe mailing list