AMD General

> -----Original Message-----
> From: Timur Kristóf <[email protected]>
> Sent: Wednesday, July 1, 2026 12:17 PM
> To: [email protected]; Deucher, Alexander
> <[email protected]>; Koenig, Christian
> <[email protected]>; Natalie Vock <[email protected]>; Shetaia,
> Amir <[email protected]>; Marek Olšák <[email protected]>;
> Limonciello, Mario <[email protected]>; Tvrtko Ursulin
> <[email protected]>; Kuehling, Felix <[email protected]>; Lazar, Lijo
> <[email protected]>; He, Siwei <[email protected]>; Yang, Philip
> <[email protected]>; Joshi, Mukul <[email protected]>
> Cc: Timur Kristóf <[email protected]>
> Subject: [PATCH 11/14] drm/amdgpu/ih6.0: Use MMIO ACK for retry CAM on IH
> 6.0
>
> The doorbell is not working on Navi 31.
> Use the IH_RETRY_CAM_ACK register.

I think the doorbell path is not enabled for IH CAM so that’s probably the 
reason its not working.
I think we need an update to the NBIO ih_doorbell_range() function to enable 
the doorbell path.

Having said that, we intend to use doorbells on all ASICs to ack IH CAMs that 
support retry faults.

Regards,
Mukul

>
> Signed-off-by: Timur Kristóf <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/ih_v6_0.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
> b/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
> index 65e5d21753f9..a97c85b0cb99 100644
> --- a/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c
> @@ -307,6 +307,11 @@ static int ih_v6_0_enable_ring(struct amdgpu_device
> *adev,
>       return 0;
>  }
>
> +static void ih_v6_0_retry_cam_ack(struct amdgpu_device *adev, u32
> +cam_index) {
> +     WREG32_SOC15(OSSSYS, 0, regIH_RETRY_CAM_ACK, cam_index); }
> +
>  /**
>   * ih_v6_0_irq_init - init and enable the interrupt ring
>   *
> @@ -807,7 +812,8 @@ static const struct amdgpu_ih_funcs ih_v6_0_funcs = {
>       .get_wptr = ih_v6_0_get_wptr,
>       .decode_iv = amdgpu_ih_decode_iv_helper,
>       .decode_iv_ts = amdgpu_ih_decode_iv_ts_helper,
> -     .set_rptr = ih_v6_0_set_rptr
> +     .set_rptr = ih_v6_0_set_rptr,
> +     .retry_cam_ack = ih_v6_0_retry_cam_ack,
>  };
>
>  static void ih_v6_0_set_interrupt_funcs(struct amdgpu_device *adev)
> --
> 2.54.0

Reply via email to