AMD General

> -----Original Message-----
> From: amd-gfx <[email protected]> On Behalf Of Timur
> Kristóf
> 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 12/14] drm/amdgpu/ih7.0: Use MMIO ACK instead of
> doorbell for retry CAM on IH 7.0
>
> The doorbell is not working on Navi 48.
> Use the IH_RETRY_CAM_ACK register just like on Navi 3x.
>
> Signed-off-by: Timur Kristóf <[email protected]>
> ---
>  drivers/gpu/drm/amd/amdgpu/ih_v7_0.c | 17 +----------------
>  1 file changed, 1 insertion(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
> b/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
> index f1de6450a31d..291326d2ee8b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/ih_v7_0.c
> @@ -279,19 +279,9 @@ static int ih_v7_0_enable_ring(struct amdgpu_device
> *adev,
>       return 0;
>  }
>
> -static uint32_t ih_v7_0_setup_retry_doorbell(u32 doorbell_index) -{
> -     u32 val = 0;
> -
> -     val = REG_SET_FIELD(val, IH_DOORBELL_RPTR, OFFSET,
> doorbell_index);
> -     val = REG_SET_FIELD(val, IH_DOORBELL_RPTR, ENABLE, 1);
> -
> -     return val;
> -}
> -
>  static void ih_v7_0_retry_cam_ack(struct amdgpu_device *adev, u32
> cam_index)  {
> -     WDOORBELL32(adev->irq.retry_cam_doorbell_index, cam_index);
> +     WREG32_SOC15(OSSSYS, 0, regIH_RETRY_CAM_ACK, cam_index);
>  }
>
>  #define regIH_RING1_CLIENT_CFG_INDEX_V7_1             0x122
> @@ -401,11 +391,6 @@ static int ih_v7_0_irq_init(struct amdgpu_device
> *adev)
>       pci_set_master(adev->pdev);
>
>       if (amdgpu_ip_version(adev, OSSSYS_HWIP, 0) == IP_VERSION(7, 1, 0))
> {

We are re-purposing the IH 7.0 file for IH v7.1 since most of it is same.
The code being removed below is for IH 7.1 and not 7.0.
Using doorbells for acking INT CAM works completely fine for GFX 12.1 and IH 
7.1.
I would recommend to drop this patch.

Regards,
Mukul

> -             /* Allocate the doorbell for IH Retry CAM */
> -             adev->irq.retry_cam_doorbell_index = (adev-
> >doorbell_index.ih + 2) << 1;
> -             WREG32_SOC15(OSSSYS, 0, regIH_DOORBELL_RETRY_CAM,
> -                             ih_v7_0_setup_retry_doorbell(adev-
> >irq.retry_cam_doorbell_index));
> -
>               /* Enable IH Retry CAM */
>               tmp = RREG32_SOC15(OSSSYS, 0,
> regIH_RETRY_INT_CAM_CNTL);
>               tmp = REG_SET_FIELD(tmp, IH_RETRY_INT_CAM_CNTL,
> ENABLE, 1);
> --
> 2.54.0

Reply via email to