[Public] > -----Original Message----- > From: Yang, Philip <Philip.Yang@xxxxxxx> > Sent: Thursday, October 3, 2024 12:29 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Joshi, Mukul <Mukul.Joshi@xxxxxxx>; Kim, Jonathan > <Jonathan.Kim@xxxxxxx>; Yang, Philip <Philip.Yang@xxxxxxx> > 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@xxxxxxx> Reviewed-and-tested-by: Jonathan Kim <jonathan.kim@xxxxxxx> > --- > 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