ack_irq
void (*ack_irq)(unsigned long);
struct amdgpu_irq_src ack_irq;
adev->virt.ack_irq.num_types = 1;
adev->virt.ack_irq.funcs = &xgpu_ai_mailbox_ack_irq_funcs;
r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_BIF, 138, &adev->virt.ack_irq);
r = amdgpu_irq_get(adev, &adev->virt.ack_irq, 0);
amdgpu_irq_put(adev, &adev->virt.ack_irq, 0);
adev->virt.ack_irq.num_types = 1;
adev->virt.ack_irq.funcs = &xgpu_nv_mailbox_ack_irq_funcs;
r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_BIF, 138, &adev->virt.ack_irq);
r = amdgpu_irq_get(adev, &adev->virt.ack_irq, 0);
amdgpu_irq_put(adev, &adev->virt.ack_irq, 0);
adev->virt.ack_irq.num_types = 1;
adev->virt.ack_irq.funcs = &xgpu_vi_mailbox_ack_irq_funcs;
r = amdgpu_irq_add_id(adev, AMDGPU_IRQ_CLIENTID_LEGACY, 138, &adev->virt.ack_irq);
r = amdgpu_irq_get(adev, &adev->virt.ack_irq, 0);
amdgpu_irq_put(adev, &adev->virt.ack_irq, 0);
writel(BIT(mchan->ack_irq), base + MBOX_ICLR_REG);
writel(BIT(mchan->ack_irq), base + MBOX_SRC_REG);
if (val & BIT(mchan->ack_irq))
writel(BIT(mchan->ack_irq), base + MBOX_SEND_REG);
mchan->ack_irq = spec->args[2];
unsigned int ack_irq;
writel(BIT(mchan->ack_irq), ACK_INT_CLR_REG(mbox->ipc));
writel(BIT(mchan->ack_irq), ACK_INT_ENA_REG(mbox->ipc));
writel(BIT(mchan->ack_irq), ACK_INT_DIS_REG(mbox->ipc));
mbox->irq_map_chan[mchan->ack_irq] = NULL;
unsigned int ack_irq = spec->args[2];
ack_irq >= mbox->chan_num) {
i, dst_irq, ack_irq);
if (mbox->irq_map_chan[ack_irq] == (void *)chan) {
mchan->ack_irq = ack_irq;
mbox->irq_map_chan[ack_irq] = (void *)chan;
unsigned int dir, dst_irq, ack_irq;
u32 ack_irq, req;
ack_irq = IRQ_EPU_TO_APU_ACK;
ack_irq = IRQ_EPU_TO_CPU_ACK;
cx18_write_reg_expect(cx, ack_irq, SW2_INT_SET, ack_irq, ack_irq);
ack_irq(spa, r);
ack_irq(spa, ADDRESS_ERROR);
ack_irq(spa, ADDRESS_ERROR);
ack_irq(spa, ADDRESS_ERROR);
ack_irq(spa, ADDRESS_ERROR);