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

Michal Wajdeczko michal.wajdeczko at intel.com
Sat Jun 22 09:34:46 UTC 2024



On 22.06.2024 00:44, Belgaumkar, Vinay wrote:
> 
> 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));
> }

hmm, in xe_guc_pc_stop() we defer to gtidle if skip_guc_pc flag is set,
where we already have a VF guard, so it should be harmless, but yeah,
maybe for the completeness we should skip that call here too

Thanks

> 
> 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