[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