On 11/14/25 11:07, Yifan Zha 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 da meta data.
> 
> Signed-off-by: Yifan Zha <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> index 02d7cfae22bd..e4d525bf9d0c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
> @@ -5874,7 +5874,7 @@ 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);

While at it please also remove this "? true : false". That is usually extremely 
frowned upon.

Regards,
Christian.

>       }

Reply via email to