AMD General

Regards,
      Prike

> -----Original Message-----
> From: amd-gfx <[email protected]> On Behalf Of Khatri, 
> Sunil
> Sent: Thursday, June 25, 2026 6:43 PM
> To: [email protected]
> Subject: Re: [PATCH 2/3] drm/amdgpu/mes11: set doorbell offset for suspending
> userq
>
>
> On 25-06-2026 04:10 pm, Christian König wrote:
> >
> > On 6/25/26 05:12, Prike Liang wrote:
> >> Updating the union MESAPI__SUSPEND and union MESAPI__RESUME to add
> >> the doorbell offset for suspending userq.
> >>
> >> Signed-off-by: Prike Liang <[email protected]>
> >> ---
> >>   drivers/gpu/drm/amd/amdgpu/mes_v11_0.c        | 2 ++
> >>   drivers/gpu/drm/amd/include/mes_v11_api_def.h | 2 ++
> >>   2 files changed, 4 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> >> b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> >> index 9e27d01cbfa3..ab0de6d04ff8 100644
> >> --- a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> >> +++ b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> >> @@ -783,6 +783,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),
> @@ -802,6
> >> +803,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), diff
> --git
> >> a/drivers/gpu/drm/amd/include/mes_v11_api_def.h
> >> b/drivers/gpu/drm/amd/include/mes_v11_api_def.h
> >> index 6644fabeb0b7..b06412ac8583 100644
> >> --- a/drivers/gpu/drm/amd/include/mes_v11_api_def.h
> >> +++ b/drivers/gpu/drm/amd/include/mes_v11_api_def.h
> >> @@ -428,6 +428,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];
> >> @@ -445,6 +446,7 @@ union MESAPI__RESUME {
> >>            uint64_t                gang_context_addr;
> >>
> >>            struct MES_API_STATUS   api_status;
> >> +          uint32_t                doorbell_offset;
> If my understanding is correct only while adding a queue for the first time 
> doorbell
> offset is needed, not for anything else but you can check with fw 
> requirements.

This change keeps the driver header aligned with the MES firmware
definition. This field is not consumed by MES firmware directly when suspending
the userq, so it may be removed in a future revision.

> Regards
> Sunil khatri
> > Is this backward compatible?
> >
> > Keep in mind that we can't break the FW interface.
> >
> > Regards,
> > Christian.
> >
> >>    };
> >>
> >>    uint32_t        max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];

Reply via email to