On Mon, Nov 17, 2025 at 12:42 AM Yifan Zha <[email protected]> wrote: > > [Why] > Accoreding to CP updated to RS64 on gfx11, > WRITE_DATA with PREEMPTION_META_MEMORY(dst_sel=8) is illegal for CP FW. > That packet is used for MCBP on F32 based system. > So it would lead to incorrect GRBM write and FW is not handling that > extra case correctly. > > [How] > With gfx11 rs64 enabled, skip emit de meta data. > > Signed-off-by: Yifan Zha <[email protected]>
Acked-by: Alex Deucher <[email protected]> > --- > drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c > index 02d7cfae22bd..8a2ee2de390f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c > @@ -5874,9 +5874,9 @@ static void gfx_v11_0_ring_emit_ib_gfx(struct > amdgpu_ring *ring, > if (flags & AMDGPU_IB_PREEMPTED) > control |= INDIRECT_BUFFER_PRE_RESUME(1); > > - if (vmid) > + if (vmid && !ring->adev->gfx.rs64_enable) > gfx_v11_0_ring_emit_de_meta(ring, > - (!amdgpu_sriov_vf(ring->adev) && flags & > AMDGPU_IB_PREEMPTED) ? true : false); > + !amdgpu_sriov_vf(ring->adev) && (flags & > AMDGPU_IB_PREEMPTED)); > } > > amdgpu_ring_write(ring, header); > -- > 2.43.0 >
