]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu/mes11: set doorbell offset for suspending userq
authorPrike Liang <Prike.Liang@amd.com>
Thu, 25 Jun 2026 02:31:00 +0000 (10:31 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2026 17:01:15 +0000 (13:01 -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>
(cherry picked from commit 30af09db33696f7e0de5c0c505cbb0cb92b6e25b)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
drivers/gpu/drm/amd/include/mes_v11_api_def.h

index ac6d4f2773363c2320985110b7fddf6cc52b11c8..4d133c481b2610d55b4ec10c5b453e728a5aa3f7 100644 (file)
@@ -559,6 +559,7 @@ static int mes_v11_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_v11_0_submit_pkt_and_poll_completion(mes,
                        &mes_suspend_gang_pkt, sizeof(mes_suspend_gang_pkt),
@@ -578,6 +579,7 @@ static int mes_v11_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_v11_0_submit_pkt_and_poll_completion(mes,
                        &mes_resume_gang_pkt, sizeof(mes_resume_gang_pkt),
index f9629d42ada2724b2285853a702f4dd2383b2b6d..7808147ada38c99cf7460ebc6bfb03124b6119e0 100644 (file)
@@ -427,6 +427,7 @@ union MESAPI__SUSPEND {
                uint32_t                suspend_fence_value;
 
                struct MES_API_STATUS   api_status;
+               uint32_t                doorbell_offset;
        };
 
        uint32_t        max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
@@ -444,6 +445,7 @@ union MESAPI__RESUME {
                uint64_t                gang_context_addr;
 
                struct MES_API_STATUS   api_status;
+               uint32_t                doorbell_offset;
        };
 
        uint32_t        max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];