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.d...@amd.com>
---
 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

Reply via email to