Lines Matching refs:ih
65 adev->irq.ih.enabled = true; in tonga_ih_enable_interrupts()
85 adev->irq.ih.enabled = false; in tonga_ih_disable_interrupts()
86 adev->irq.ih.rptr = 0; in tonga_ih_disable_interrupts()
121 if (adev->irq.ih.use_bus_addr) in tonga_ih_irq_init()
122 WREG32(mmIH_RB_BASE, adev->irq.ih.rb_dma_addr >> 8); in tonga_ih_irq_init()
124 WREG32(mmIH_RB_BASE, adev->irq.ih.gpu_addr >> 8); in tonga_ih_irq_init()
126 rb_bufsz = order_base_2(adev->irq.ih.ring_size / 4); in tonga_ih_irq_init()
139 if (adev->irq.ih.use_bus_addr) in tonga_ih_irq_init()
140 wptr_off = adev->irq.ih.rb_dma_addr + (adev->irq.ih.wptr_offs * 4); in tonga_ih_irq_init()
142 wptr_off = adev->wb.gpu_addr + (adev->irq.ih.wptr_offs * 4); in tonga_ih_irq_init()
151 if (adev->irq.ih.use_doorbell) { in tonga_ih_irq_init()
153 OFFSET, adev->irq.ih.doorbell_index); in tonga_ih_irq_init()
200 if (adev->irq.ih.use_bus_addr) in tonga_ih_get_wptr()
201 wptr = le32_to_cpu(adev->irq.ih.ring[adev->irq.ih.wptr_offs]); in tonga_ih_get_wptr()
203 wptr = le32_to_cpu(adev->wb.wb[adev->irq.ih.wptr_offs]); in tonga_ih_get_wptr()
212 wptr, adev->irq.ih.rptr, (wptr + 16) & adev->irq.ih.ptr_mask); in tonga_ih_get_wptr()
213 adev->irq.ih.rptr = (wptr + 16) & adev->irq.ih.ptr_mask; in tonga_ih_get_wptr()
218 return (wptr & adev->irq.ih.ptr_mask); in tonga_ih_get_wptr()
233 u32 ring_index = adev->irq.ih.rptr >> 2; in tonga_ih_decode_iv()
236 dw[0] = le32_to_cpu(adev->irq.ih.ring[ring_index + 0]); in tonga_ih_decode_iv()
237 dw[1] = le32_to_cpu(adev->irq.ih.ring[ring_index + 1]); in tonga_ih_decode_iv()
238 dw[2] = le32_to_cpu(adev->irq.ih.ring[ring_index + 2]); in tonga_ih_decode_iv()
239 dw[3] = le32_to_cpu(adev->irq.ih.ring[ring_index + 3]); in tonga_ih_decode_iv()
248 adev->irq.ih.rptr += 16; in tonga_ih_decode_iv()
260 if (adev->irq.ih.use_doorbell) { in tonga_ih_set_rptr()
262 if (adev->irq.ih.use_bus_addr) in tonga_ih_set_rptr()
263 adev->irq.ih.ring[adev->irq.ih.rptr_offs] = adev->irq.ih.rptr; in tonga_ih_set_rptr()
265 adev->wb.wb[adev->irq.ih.rptr_offs] = adev->irq.ih.rptr; in tonga_ih_set_rptr()
266 WDOORBELL32(adev->irq.ih.doorbell_index, adev->irq.ih.rptr); in tonga_ih_set_rptr()
268 WREG32(mmIH_RB_RPTR, adev->irq.ih.rptr); in tonga_ih_set_rptr()
295 adev->irq.ih.use_doorbell = true; in tonga_ih_sw_init()
296 adev->irq.ih.doorbell_index = AMDGPU_DOORBELL_IH; in tonga_ih_sw_init()