AMD General

Ping, any comments?

Regards,
      Prike

> -----Original Message-----
> From: Liang, Prike <[email protected]>
> Sent: Tuesday, September 29, 2026 11:47 AM
> To: [email protected]
> Cc: Deucher, Alexander <[email protected]>; Koenig, Christian
> <[email protected]>; Prosyak, Vitaly <[email protected]>; Liang,
> Prike <[email protected]>
> Subject: [PATCH v2 06/14] drm/amdgpu/mes: move RS64 query buffer setup to
> software init
>
> Place the RS64 context-size query buffer's allocation with software 
> initialization,
> outside reset-time hardware initialization and its firmware locks. Hardware
> initialization only consumes the buffer.
>
> Signed-off-by: Prike Liang <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/mes_v11_0.c | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> index 51bfb672bed7..2f62214ab24f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> @@ -1746,6 +1746,7 @@ static int mes_v11_0_sw_init(struct amdgpu_ip_block
> *ip_block)
>       struct amdgpu_device *adev = ip_block->adev;
>       int pipe, r, bo_size;
>
> +     adev->mes.use_rs64mem = false;
>       adev->mes.funcs = &mes_v11_0_funcs;
>       adev->mes.kiq_hw_init = &mes_v11_0_kiq_hw_init;
>       adev->mes.kiq_hw_fini = &mes_v11_0_kiq_hw_fini; @@ -1796,6 +1797,14
> @@ static int mes_v11_0_sw_init(struct amdgpu_ip_block *ip_block)
>               return r;
>       }
>
> +     /* Allocate GPU buffer for array size query results */
> +     r = amdgpu_mes_rs64mem_init(&adev->mes);
> +     if (r) {
> +             dev_warn(adev->dev,
> +                      "RS64 memory init failed (%d), using system memory\n", 
> r);
> +             adev->mes.use_rs64mem = false;
> +     }
> +
>       return 0;
>  }
>
> @@ -1973,8 +1982,6 @@ static int mes_v11_0_hw_init(struct amdgpu_ip_block
> *ip_block)
>       if (adev->mes.ring[0].sched.ready)
>               goto out;
>
> -     adev->mes.use_rs64mem = false;
> -
>       if (!adev->enable_mes_kiq) {
>               if (adev->firmware.load_type == AMDGPU_FW_LOAD_DIRECT) {
>                       r = mes_v11_0_load_microcode(adev,
> @@ -1992,14 +1999,6 @@ static int mes_v11_0_hw_init(struct amdgpu_ip_block
> *ip_block)
>       if (r)
>               goto failure;
>
> -     /* Allocate GPU buffer for array size query results */
> -     r = amdgpu_mes_rs64mem_init(&adev->mes);
> -     if (r) {
> -             dev_warn(adev->dev,
> -                      "RS64 local memory init failed (%d),"
> -                      "falling back to system memory path\n", r);
> -             adev->mes.use_rs64mem = false;
> -     }
>       r = mes_v11_0_set_hw_resources(&adev->mes);
>
>       if (r)
> --
> 2.34.1

Reply via email to