]> git.hungrycats.org Git - linux/commitdiff
drm/amdgpu/mes12: set doorbell offset for suspending userq
authorPrike Liang <Prike.Liang@amd.com>
Thu, 25 Jun 2026 02:42:27 +0000 (10:42 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2026 15:54:25 +0000 (11:54 -0400)
Updating the union MESAPI__SUSPEND and union MESAPI__RESUME to
add the doorbell offset for suspending userq.

Signed-off-by: Prike Liang <Prike.Liang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
drivers/gpu/drm/amd/amdgpu/mes_v12_1.c

index 1b0c649d97a200bf2528121727dfd1f59113bc3e..ce5064200743c9417b8dd449fc43a48fb3e42d10 100644 (file)
@@ -794,6 +794,7 @@ static int mes_v12_0_suspend_gang(struct amdgpu_mes *mes,
        mes_suspend_gang_pkt.gang_context_addr = input->gang_context_addr;
        mes_suspend_gang_pkt.suspend_fence_addr = input->suspend_fence_addr;
        mes_suspend_gang_pkt.suspend_fence_value = input->suspend_fence_value;
+       mes_suspend_gang_pkt.doorbell_offset = input->doorbell_offset;
 
        return mes_v12_0_submit_pkt_and_poll_completion(mes, AMDGPU_MES_SCHED_PIPE,
                        &mes_suspend_gang_pkt, sizeof(mes_suspend_gang_pkt),
@@ -813,6 +814,7 @@ static int mes_v12_0_resume_gang(struct amdgpu_mes *mes,
 
        mes_resume_gang_pkt.resume_all_gangs = input->resume_all_gangs;
        mes_resume_gang_pkt.gang_context_addr = input->gang_context_addr;
+       mes_resume_gang_pkt.doorbell_offset = input->doorbell_offset;
 
        return mes_v12_0_submit_pkt_and_poll_completion(mes, AMDGPU_MES_SCHED_PIPE,
                        &mes_resume_gang_pkt, sizeof(mes_resume_gang_pkt),
index c449efa70b60799fe4b2769c177a5bf8be5025bf..f7d5879c6e441138ed038ce7a095f552c669c2a7 100644 (file)
@@ -496,6 +496,7 @@ static int mes_v12_1_suspend_gang(struct amdgpu_mes *mes,
        mes_suspend_gang_pkt.gang_context_addr = input->gang_context_addr;
        mes_suspend_gang_pkt.suspend_fence_addr = input->suspend_fence_addr;
        mes_suspend_gang_pkt.suspend_fence_value = input->suspend_fence_value;
+       mes_suspend_gang_pkt.doorbell_offset = input->doorbell_offset;
 
        /* Suspend gang is handled by master MES */
        return mes_v12_1_submit_pkt_and_poll_completion(mes, input->xcc_id, AMDGPU_MES_SCHED_PIPE,
@@ -516,6 +517,7 @@ static int mes_v12_1_resume_gang(struct amdgpu_mes *mes,
 
        mes_resume_gang_pkt.resume_all_gangs = input->resume_all_gangs;
        mes_resume_gang_pkt.gang_context_addr = input->gang_context_addr;
+       mes_resume_gang_pkt.doorbell_offset = input->doorbell_offset;
 
        /* Resume gang is handled by master MES */
        return mes_v12_1_submit_pkt_and_poll_completion(mes, input->xcc_id, AMDGPU_MES_SCHED_PIPE,