Applied patches 1 and 2.

Alex

On Mon, May 25, 2026 at 8:04 AM Timur Kristóf <[email protected]> wrote:
>
> When the fault stop mode isn't AMDGPU_VM_FAULT_STOP_ALWAYS,
> these bits should be programmed to 0.
>
> Program CRASH_ON_NO_RETRY_FAULT and CRASH_ON_RETRY_FAULT
> always, to make sure to clear the bits when we don't want
> to crash.
>
> Signed-off-by: Timur Kristóf <[email protected]>
> Reviewed-by: Christian König <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v11_5_0.c | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v12_0.c   | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c   | 14 ++++++--------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c    | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c    | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c    | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c    | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c    | 10 ++++------
>  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.c  | 10 ++++------
>  9 files changed, 38 insertions(+), 56 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v11_5_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v11_5_0.c
> index f845ba698b40..652eea6eae4a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v11_5_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v11_5_0.c
> @@ -449,12 +449,10 @@ static void 
> gfxhub_v11_5_0_set_fault_enable_default(struct amdgpu_device *adev,
>                             WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
>                             EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, regGCVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_0.c
> index ba78b5a1a7cd..6cbf837d50dd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_0.c
> @@ -454,12 +454,10 @@ static void 
> gfxhub_v12_0_set_fault_enable_default(struct amdgpu_device *adev,
>                             WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
>                             EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, regGCVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
> index 3544eb42dca6..4c2fd1e6616e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v12_1.c
> @@ -633,19 +633,17 @@ static void 
> gfxhub_v12_1_xcc_set_fault_enable_default(struct amdgpu_device *adev
>                 tmp = REG_SET_FIELD(tmp,
>                                     GCVM_L2_PROTECTION_FAULT_CNTL_LO32,
>                                     OTHER_CLIENT_ID_NO_RETRY_FAULT_INTERRUPT, 
> value);
> -               if (!value)
> -                       tmp = REG_SET_FIELD(tmp,
> -                                           
> GCVM_L2_PROTECTION_FAULT_CNTL_LO32,
> -                                           CRASH_ON_NO_RETRY_FAULT, 1);
> +               tmp = REG_SET_FIELD(tmp,
> +                                   GCVM_L2_PROTECTION_FAULT_CNTL_LO32,
> +                                   CRASH_ON_NO_RETRY_FAULT, !value);
>                 WREG32_SOC15(GC, GET_INST(GC, i),
>                              regGCVM_L2_PROTECTION_FAULT_CNTL_LO32, tmp);
>
>                 tmp = RREG32_SOC15(GC, GET_INST(GC, i),
>                                    regGCVM_L2_PROTECTION_FAULT_CNTL_HI32);
> -               if (!value)
> -                       tmp = REG_SET_FIELD(tmp,
> -                                           
> GCVM_L2_PROTECTION_FAULT_CNTL_HI32,
> -                                           CRASH_ON_RETRY_FAULT, 1);
> +               tmp = REG_SET_FIELD(tmp,
> +                                   GCVM_L2_PROTECTION_FAULT_CNTL_HI32,
> +                                   CRASH_ON_RETRY_FAULT, !value);
>                 WREG32_SOC15(GC, GET_INST(GC, i),
>                              regGCVM_L2_PROTECTION_FAULT_CNTL_HI32, tmp);
>         }
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> index a7bfc9f41d0e..bfe247b1a333 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.c
> @@ -403,12 +403,10 @@ static void gfxhub_v1_0_set_fault_enable_default(struct 
> amdgpu_device *adev,
>                         WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
>                         EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> +                       CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> +                       CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, mmVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c
> index 6c03bf9f1ae8..fbdf46070b38 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.c
> @@ -516,12 +516,10 @@ static void 
> gfxhub_v1_2_xcc_set_fault_enable_default(struct amdgpu_device *adev,
>                                 WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>                 tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
>                                 EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, 
> value);
> -               if (!value) {
> -                       tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> -                                       CRASH_ON_NO_RETRY_FAULT, 1);
> -                       tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> -                                       CRASH_ON_RETRY_FAULT, 1);
> -               }
> +               tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> +                               CRASH_ON_NO_RETRY_FAULT, !value);
> +               tmp = REG_SET_FIELD(tmp, VM_L2_PROTECTION_FAULT_CNTL,
> +                               CRASH_ON_RETRY_FAULT, !value);
>                 WREG32_SOC15(GC, GET_INST(GC, i), 
> regVM_L2_PROTECTION_FAULT_CNTL, tmp);
>         }
>  }
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c
> index 793faf62cb07..9ea593e2c719 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.c
> @@ -418,12 +418,10 @@ static void gfxhub_v2_0_set_fault_enable_default(struct 
> amdgpu_device *adev,
>                             WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
>                             EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, mmGCVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c
> index aceb8447feac..30b90d35abd0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.c
> @@ -449,12 +449,10 @@ static void gfxhub_v2_1_set_fault_enable_default(struct 
> amdgpu_device *adev,
>                             WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
>                             EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, mmGCVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c
> index 631f99e3741a..9e6a6e13dec0 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.c
> @@ -446,12 +446,10 @@ static void gfxhub_v3_0_set_fault_enable_default(struct 
> amdgpu_device *adev,
>                             WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
>                             EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, regGCVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.c 
> b/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.c
> index 8a87410ce016..b3b1085c7cd3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.c
> @@ -434,12 +434,10 @@ static void 
> gfxhub_v3_0_3_set_fault_enable_default(struct amdgpu_device *adev,
>                             WRITE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
>         tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
>                             EXECUTE_PROTECTION_FAULT_ENABLE_DEFAULT, value);
> -       if (!value) {
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_NO_RETRY_FAULT, 1);
> -               tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> -                               CRASH_ON_RETRY_FAULT, 1);
> -       }
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_NO_RETRY_FAULT, !value);
> +       tmp = REG_SET_FIELD(tmp, GCVM_L2_PROTECTION_FAULT_CNTL,
> +                           CRASH_ON_RETRY_FAULT, !value);
>         WREG32_SOC15(GC, 0, regGCVM_L2_PROTECTION_FAULT_CNTL, tmp);
>  }
>
> --
> 2.54.0
>

Reply via email to