On 7/1/26 18:17, Timur Kristóf wrote: > The doorbell is not working on Navi 31. > Use the IH_RETRY_CAM_ACK register. > > Signed-off-by: Timur Kristóf <[email protected]>
Acked-by: Christian König <[email protected]> I still haven't found any explanation why we use a doorbell for the CAM in the first place? Lijo, Alex, Felix does anybody know that? Thanks, Christian. > --- > 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)
