On 7/1/26 18:17, Timur Kristóf wrote:
> When retry faults are disabled (amdgpu.noretry=1),
> the ENABLE_RETRY_FAULT_INTERRUPT bit should be programmed to 0.
> 
> Note that retry faults are enabled by default on GFX12.1
> so this just fixes the case when they are explicitly disabled.
> 
> Signed-off-by: Timur Kristóf <[email protected]>

Reviewed-by: Christian König <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c | 4 ++--
>  drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
> index 4c2fd1e6616e..0cada13d92a4 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
> @@ -243,7 +243,7 @@ static void 
> gfxhub_v12_1_xcc_init_system_aperture_regs(struct amdgpu_device *ade
>               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL2,
>                                   ACTIVE_PAGE_MIGRATION_PTE_READ_RETRY, 1);
>               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL2,
> -                                 ENABLE_RETRY_FAULT_INTERRUPT, 0x1);
> +                                 ENABLE_RETRY_FAULT_INTERRUPT, 
> !adev->gmc.noretry);
>               WREG32_SOC15(GC, GET_INST(GC, i),
>                            regGCVM_L2_PROTECTION_FAULT_CNTL2, tmp);
>       }
> @@ -447,7 +447,7 @@ static void gfxhub_v12_1_xcc_setup_vmid_config(struct 
> amdgpu_device *adev,
>                       /* Send no-retry XNACK on fault to suppress VM fault 
> storm */
>                       tmp = REG_SET_FIELD(tmp, GCVM_CONTEXT1_CNTL,
>                                           
> RETRY_PERMISSION_OR_INVALID_PAGE_FAULT,
> -                                         1);
> +                                         !adev->gmc.noretry);
>                       WREG32_SOC15_OFFSET(GC, GET_INST(GC, j), 
> regGCVM_CONTEXT1_CNTL,
>                                           i * hub->ctx_distance, tmp);
>                       WREG32_SOC15_OFFSET(GC, GET_INST(GC, j),
> diff --git a/drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c 
> b/drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c
> index 49b7f16a941f..f2c549737e02 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mmhub_v4_2_0.c
> @@ -320,7 +320,7 @@ static void 
> mmhub_v4_2_0_mid_init_system_aperture_regs(struct amdgpu_device *ade
>               tmp = REG_SET_FIELD(tmp, MMVM_L2_PROTECTION_FAULT_CNTL2,
>                                   ACTIVE_PAGE_MIGRATION_PTE_READ_RETRY, 1);
>               tmp = REG_SET_FIELD(tmp, MMVM_L2_PROTECTION_FAULT_CNTL2,
> -                                 ENABLE_RETRY_FAULT_INTERRUPT, 0x1);
> +                                 ENABLE_RETRY_FAULT_INTERRUPT, 
> !adev->gmc.noretry);
>               WREG32_SOC15(MMHUB, GET_INST(MMHUB, i),
>                            regMMVM_L2_PROTECTION_FAULT_CNTL2, tmp);
>       }

Reply via email to