AMD General

Looks good to me .
You can add me as RB .

Shaoyun.liu

-----Original Message-----
From: amd-gfx <[email protected]> On Behalf Of Liang, Prike
Sent: Thursday, October 8, 2026 8:30 AM
To: [email protected]
Cc: Deucher, Alexander <[email protected]>; Koenig, Christian 
<[email protected]>; Prosyak, Vitaly <[email protected]>; Chen, 
Michael <[email protected]>
Subject: RE: [PATCH v2 06/14] drm/amdgpu/mes: move RS64 query buffer setup to 
software init

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