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
