[PATCH] drm/xe/vf: Skip attempt to start GuC PC if VF

Belgaumkar, Vinay vinay.belgaumkar at intel.com
Fri Jun 21 22:44:38 UTC 2024


On 6/21/2024 10:00 AM, Michal Wajdeczko wrote:
> We have already marked the GuC PC feature as not applicable for
> VF devices, but we missed the fact that there may be still some
> privileged activities performed by this component, who does much
> more than its name suggests.
>
> Explicitly skip xe_guc_pc_start() if running as a VF driver and
> use a GT oriented message to report any error.

We may need to skip in the xe_guc_stop function as well..

void xe_guc_stop_prepare(struct xe_guc *guc)
{
         XE_WARN_ON(xe_guc_pc_stop(&guc->pc));
}

Thanks,

Vinay.

> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Cc: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>
> ---
>   drivers/gpu/drm/xe/xe_guc.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index 172b65a50e31..79931466e479 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -1125,10 +1125,13 @@ void xe_guc_stop(struct xe_guc *guc)
>   
>   int xe_guc_start(struct xe_guc *guc)
>   {
> -	int ret;
> +	if (!IS_SRIOV_VF(guc_to_xe(guc))) {
> +		int err;
>   
> -	ret = xe_guc_pc_start(&guc->pc);
> -	XE_WARN_ON(ret);
> +		err = xe_guc_pc_start(&guc->pc);
> +		xe_gt_WARN(guc_to_gt(guc), err, "Failed to start GuC PC: %pe\n",
> +			   ERR_PTR(err));
> +	}
>   
>   	return xe_guc_submit_start(guc);
>   }


More information about the Intel-xe mailing list