[PATCH] drm/amdkfd: Copy wave state only for compute queue

Kim, Jonathan Jonathan.Kim at amd.com
Thu Oct 3 16:32:29 UTC 2024


[Public]

> -----Original Message-----
> From: Yang, Philip <Philip.Yang at amd.com>
> Sent: Thursday, October 3, 2024 12:29 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Joshi, Mukul <Mukul.Joshi at amd.com>; Kim, Jonathan
> <Jonathan.Kim at amd.com>; Yang, Philip <Philip.Yang at amd.com>
> Subject: [PATCH] drm/amdkfd: Copy wave state only for compute queue
>
> get_wave_state is not defined for sdma queue, copy_context_work_handler
> calls it for sdma queue will crash.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>

Reviewed-and-tested-by: Jonathan Kim <jonathan.kim at amd.com>

> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> index 648f40091aa3..b2b16a812e73 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -3173,7 +3173,7 @@ struct copy_context_work_handler_workarea {
>       struct kfd_process *p;
>  };
>
> -static void copy_context_work_handler (struct work_struct *work)
> +static void copy_context_work_handler(struct work_struct *work)
>  {
>       struct copy_context_work_handler_workarea *workarea;
>       struct mqd_manager *mqd_mgr;
> @@ -3200,6 +3200,9 @@ static void copy_context_work_handler (struct
> work_struct *work)
>               struct qcm_process_device *qpd = &pdd->qpd;
>
>               list_for_each_entry(q, &qpd->queues_list, list) {
> +                     if (q->properties.type != KFD_QUEUE_TYPE_COMPUTE)
> +                             continue;
> +
>                       mqd_mgr = dqm->mqd_mgrs[KFD_MQD_TYPE_CP];
>
>                       /* We ignore the return value from get_wave_state
> --
> 2.43.2



More information about the amd-gfx mailing list