Hi Christian,

Thanks, understood.

To make sure I rework this in the right direction: would you expect
this reset path to do

  ring->wptr = 0;
  amdgpu_ring_set_wptr(ring);

instead of writing wptr_cpu_addr directly?

I am asking because amdgpu_ring_set_wptr() also updates the doorbell,
so I want to confirm that this is the intended sequence for the
reset/suspend case here.

Thanks,
Runyu

On Tue, Jun 2, 2026 at 11:49:05AM +0200, Christian König wrote:
> Clear NAK.
>
> The atomic64_t cast hack is just something we did for older
> generations and is not something which is necessary nor should
> be done here.
>
> What could be possible is that we need to use amdgpu_ring_set_wptr()
> here to correctly distinguish between queues with 32bit and 64bit
> wptrs.