RE: [PATCH 3/3] drm/amdkfd: Skip update vmid in while update queue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[AMD Official Use Only - AMD Internal Distribution Only]

Ping......

>-----Original Message-----
>From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Deng, Emily
>Sent: Monday, February 24, 2025 9:53 AM
>To: Kuehling, Felix <Felix.Kuehling@xxxxxxx>
>Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>Subject: RE: [PATCH 3/3] drm/amdkfd: Skip update vmid in while update queue
>
>[AMD Official Use Only - AMD Internal Distribution Only]
>
>[AMD Official Use Only - AMD Internal Distribution Only]
>
>Hi Felix,
>    Could you help review this? Thanks.
>
>Emily Deng
>Best Wishes
>
>
>
>>-----Original Message-----
>>From: Deng, Emily <Emily.Deng@xxxxxxx>
>>Sent: Friday, February 21, 2025 9:44 AM
>>To: Deng, Emily <Emily.Deng@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>>Subject: RE: [PATCH 3/3] drm/amdkfd: Skip update vmid in while update
>>queue
>>
>>[AMD Official Use Only - AMD Internal Distribution Only]
>>
>>Ping......
>>
>>Emily Deng
>>Best Wishes
>>
>>
>>
>>>-----Original Message-----
>>>From: Emily Deng <Emily.Deng@xxxxxxx>
>>>Sent: Thursday, February 20, 2025 2:25 PM
>>>To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
>>>Cc: Deng, Emily <Emily.Deng@xxxxxxx>
>>>Subject: [PATCH 3/3] drm/amdkfd: Skip update vmid in while update
>>>queue
>>>
>>>Avoid updating the vmid to 0 during the queue update process, as this
>>>may trigger a wptr poll address page fault when a ring doorbell is
>>>activated  in
>>doorbell_mode=1.
>>>
>>>Signed-off-by: Emily Deng <Emily.Deng@xxxxxxx>
>>>---
>>> drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>>diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
>>>b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
>>>index 6b38967d5631..3028c16264b2 100644
>>>--- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
>>>+++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
>>>@@ -219,6 +219,8 @@ static void init_mqd(struct mqd_manager *mm, void
>**mqd,
>>>               m->cp_hqd_wg_state_offset = q->ctl_stack_size;
>>>       }
>>>
>>>+      m->cp_hqd_vmid = q->vmid;
>>>+
>>>       *mqd = m;
>>>       if (gart_addr)
>>>               *gart_addr = addr;
>>>@@ -288,8 +290,6 @@ static void update_mqd(struct mqd_manager *mm,
>>>void *mqd,
>>>
>>>       m->cp_hqd_iq_timer = 0;
>>>
>>>-      m->cp_hqd_vmid = q->vmid;
>>>-
>>>       if (q->format == KFD_QUEUE_FORMAT_AQL) {
>>>               m->cp_hqd_pq_control |=
>>>CP_HQD_PQ_CONTROL__NO_UPDATE_RPTR_MASK |
>>>                               2 <<
>>>CP_HQD_PQ_CONTROL__SLOT_BASED_WPTR__SHIFT |
>>>--
>>>2.36.1
>>





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux