[PATCH] drm/amdgpu/mes: add compatibility checks for set_hw_resource_1

Alex Deucher alexdeucher at gmail.com
Wed Jun 18 14:18:06 UTC 2025


Ping?

On Tue, Jun 17, 2025 at 12:47 PM Alex Deucher <alexander.deucher at amd.com> wrote:
>
> Seems some older MES firmware versions do not properly support
> this packet.  Add back some the compatibility checks.
>
> v2: switch to fw version check (Shaoyun)
>
> Fixes: f81cd793119e ("drm/amd/amdgpu: Fix MES init sequence")
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4295
> Cc: Shaoyun Liu <shaoyun.liu at amd.com>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/mes_v11_0.c | 10 ++++++----
>  drivers/gpu/drm/amd/amdgpu/mes_v12_0.c |  3 ++-
>  2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> index c9eba537de094..28eb846280dd4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> @@ -1630,10 +1630,12 @@ static int mes_v11_0_hw_init(struct amdgpu_ip_block *ip_block)
>         if (r)
>                 goto failure;
>
> -       r = mes_v11_0_set_hw_resources_1(&adev->mes);
> -       if (r) {
> -               DRM_ERROR("failed mes_v11_0_set_hw_resources_1, r=%d\n", r);
> -               goto failure;
> +       if ((adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x50) {
> +               r = mes_v11_0_set_hw_resources_1(&adev->mes);
> +               if (r) {
> +                       DRM_ERROR("failed mes_v11_0_set_hw_resources_1, r=%d\n", r);
> +                       goto failure;
> +               }
>         }
>
>         r = mes_v11_0_query_sched_status(&adev->mes);
> diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c b/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
> index 68bef36aae3b8..4b78e05a4615e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mes_v12_0.c
> @@ -1736,7 +1736,8 @@ static int mes_v12_0_hw_init(struct amdgpu_ip_block *ip_block)
>         if (r)
>                 goto failure;
>
> -       mes_v12_0_set_hw_resources_1(&adev->mes, AMDGPU_MES_SCHED_PIPE);
> +       if ((adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x4b)
> +               mes_v12_0_set_hw_resources_1(&adev->mes, AMDGPU_MES_SCHED_PIPE);
>
>         mes_v12_0_init_aggregated_doorbell(&adev->mes);
>
> --
> 2.49.0
>


More information about the amd-gfx mailing list