On Thu, Sep 11, 2025 at 1:14 PM Shaoyun Liu <[email protected]> wrote:
>
> MES pipe0 will do VM invalidation with engine set 5 when assign VMID to a 
> process,
> driver will submit inv_tlb package to mes pipe1. It might run into race 
> condition
> if both pipes use the same invalidate engine set. From MES version 0x83 it 
> will use
> invalidate engine set 6 for pipe1 to fix the issue
>
> Signed-off-by: Shaoyun Liu <[email protected]>

Fixes: 87e65052616c ("drm/amd/amdgpu : Use the MES INV_TLBS API for
tlb invalidation on gfx12")
Acked-by: Alex Deucher <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
> index 76d3c40735b0..7cc16af1868b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c
> @@ -337,7 +337,7 @@ static void gmc_v12_0_flush_gpu_tlb_pasid(struct 
> amdgpu_device *adev,
>         int vmid, i;
>
>         if (adev->enable_uni_mes && 
> adev->mes.ring[AMDGPU_MES_SCHED_PIPE].sched.ready &&
> -           (adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x81) {
> +           (adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) >= 0x83) {
>                 struct mes_inv_tlbs_pasid_input input = {0};
>                 input.pasid = pasid;
>                 input.flush_type = flush_type;
> --
> 2.34.1
>

Reply via email to