[PATCH] drm/xe/guc: Request max GT freq during resume
Michal Wajdeczko
michal.wajdeczko at intel.com
Mon Jun 3 19:17:08 UTC 2024
On 03.06.2024 21:06, Belgaumkar, Vinay wrote:
>
> On 6/3/2024 8:28 AM, Michal Wajdeczko wrote:
>>
>> On 31.05.2024 23:42, Vinay Belgaumkar wrote:
>>> We already request max freq in the load path, moving it
>>> to __xe_guc_upload will ensure this speeds up GuC load in
>>> the resume path as well.
>>>
>>> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
>>> ---
>>> drivers/gpu/drm/xe/xe_guc.c | 6 +++---
>>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
>>> index f7886c00af01..63e1b685bd4f 100644
>>> --- a/drivers/gpu/drm/xe/xe_guc.c
>>> +++ b/drivers/gpu/drm/xe/xe_guc.c
>>> @@ -694,6 +694,9 @@ static int __xe_guc_upload(struct xe_guc *guc)
>>> {
>>> int ret;
>>> + /* Raise GT freq to speed up HuC/GuC load */
>>> + xe_guc_pc_init_early(&guc->pc);
>> maybe it's just me, but usually we were using _init_early() name suffix
>> for functions with some early, one-time, likely software-only
>> initialization, while here this xe_guc_pc_init_early() seems to be doing
>> something else and now it could even be called many times
>
> It is initializing the internal variables to the fused frequency values
> as well. It is still being called only once so far. This patch just
> changes where it is called from.
this is now called from xe_uc_init_hw(), so not once per driver load:
/*
* Should be called during driver load, after every GT reset, and after
every
* suspend to reload / auth the firmwares.
*/
int xe_uc_init_hw(struct xe_uc *uc)
{
... ret = xe_guc_upload(&uc->guc);
int xe_guc_upload(struct xe_guc *guc)
{
... return __xe_guc_upload(guc);
>
> Also, as of now, I don't see any other location where we could call this
> from. If that happens, we can rename the function.
>
> Thanks,
>
> Vinay.
>
>>
>> maybe it should be split/renamed to xe_guc_pc_boost() or something?
>>
>>> +
>>> guc_write_params(guc);
>>> guc_prepare_xfer(guc);
>>> @@ -779,9 +782,6 @@ int xe_guc_min_load_for_hwconfig(struct xe_guc
>>> *guc)
>>> xe_guc_ads_populate_minimal(&guc->ads);
>>> - /* Raise GT freq to speed up HuC/GuC load */
>>> - xe_guc_pc_init_early(&guc->pc);
>>> -
>>> ret = __xe_guc_upload(guc);
>>> if (ret)
>>> return ret;
More information about the Intel-xe
mailing list