[PATCH 9/9] drm/xe/vf: Custom HuC initialization if VF
Michal Wajdeczko
michal.wajdeczko at intel.com
Wed Jun 19 23:14:29 UTC 2024
On 20.06.2024 01:11, Matthew Brost wrote:
> On Wed, Jun 19, 2024 at 11:45:57PM +0200, Michal Wajdeczko wrote:
>> The HuC firmware is loaded and initialized by the PF driver. Make
>> sure VF driver performs only limited data structure initialization.
>>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_huc.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_huc.c b/drivers/gpu/drm/xe/xe_huc.c
>> index 6238fb354914..c88761fe31c9 100644
>> --- a/drivers/gpu/drm/xe/xe_huc.c
>> +++ b/drivers/gpu/drm/xe/xe_huc.c
>> @@ -21,6 +21,7 @@
>> #include "xe_guc.h"
>> #include "xe_map.h"
>> #include "xe_mmio.h"
>> +#include "xe_sriov.h"
>> #include "xe_uc_fw.h"
>>
>> static struct xe_gt *
>> @@ -92,6 +93,9 @@ int xe_huc_init(struct xe_huc *huc)
>> if (!xe_uc_fw_is_enabled(&huc->fw))
>> return 0;
>>
>> + if (IS_SRIOV_VF(xe))
>> + return 0;
>> +
>
> With this change I assume the main part of xe_huc_auth is never called
> on a VF?
>
> Does xe_uc_fw_is_loadable return false on a VF?
yes, as on VF it is marked as PRELOADED, so:
static inline bool xe_uc_fw_is_loadable(struct xe_uc_fw *uc_fw)
{
return __xe_uc_fw_status(uc_fw) >= XE_UC_FIRMWARE_LOADABLE &&
__xe_uc_fw_status(uc_fw) != XE_UC_FIRMWARE_PRELOADED;
}
returns false
>
> Matt
>
>> if (huc->fw.has_gsc_headers) {
>> ret = huc_alloc_gsc_pkt(huc);
>> if (ret)
>> --
>> 2.43.0
>>
More information about the Intel-xe
mailing list