[PATCH] drm/xe: Always check force_wake_get return code
Lucas De Marchi
lucas.demarchi at intel.com
Mon Jun 3 19:39:41 UTC 2024
On Mon, Jun 03, 2024 at 11:56:46AM GMT, Daniele Ceraolo Spurio wrote:
>The commit title seems a bit too generic, given that you're only
>fixing a single occurrence. maybe switch to something like "check
>force_wake_get return code in show_run_ticks" ?
>
>On 6/3/2024 4:30 AM, Tejas Upadhyay wrote:
>>A force_wake_get failure means that the HW might not be awake for the
>>access we're doing; this can lead to an immediate error or it can be a
>>more subtle problem.
>>
>>In this case, user has asked information and in case of forcewake
>>failure, it might lead to wrong information, so return in case of
>>error.
>>
>>Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
>>---
>> drivers/gpu/drm/xe/xe_drm_client.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
>>index 4a19b771e3a0..e050fc6d8dd7 100644
>>--- a/drivers/gpu/drm/xe/xe_drm_client.c
>>+++ b/drivers/gpu/drm/xe/xe_drm_client.c
>>@@ -264,7 +264,8 @@ static void show_run_ticks(struct drm_printer *p, struct drm_file *file)
>> if (!hwe)
>> continue;
>>- xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>+ if (xe_force_wake_get(gt_to_fw(gt), XE_FW_GT))
>>+ return;
>
>Since we're not returning any error code, there doesn't seem to be a
>direct way to know that a forcewake error happened; we can probably
>infer it by the lack of messages being printed, but there is another
>(unlikely) exit point that causes no prints to occur. Should we print
>an error to dmesg, just to be safe?
see [PATCH v2] drm/xe/client: Check return value of xe_force_wake_get
Lucas De Marchi
>
>Daniele
>
>> gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>> xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>> break;
>
More information about the Intel-xe
mailing list