nhi_write_reg
nhi_write_reg(sc, r->rx_pici_reg, val);
nhi_write_reg(sc, TBT_INMAILDATA, data);
nhi_write_reg(sc, TBT_INMAILCMD, cmd | INMAILCMD_OPREQ);
nhi_write_reg(sc, NHI_TX_RING_ADDR_LO + idx, busaddr & 0xffffffff);
nhi_write_reg(sc, NHI_TX_RING_ADDR_HI + idx, busaddr >> 32);
nhi_write_reg(sc, NHI_TX_RING_SIZE + idx, ring->tx_ring_depth);
nhi_write_reg(sc, NHI_TX_RING_TABLE_TIMESTAMP + idx, 0x0);
nhi_write_reg(sc, NHI_RX_RING_ADDR_LO + idx, busaddr & 0xffffffff);
nhi_write_reg(sc, NHI_RX_RING_ADDR_HI + idx, busaddr >> 32);
nhi_write_reg(sc, NHI_RX_RING_SIZE + idx, val);
nhi_write_reg(sc, NHI_RX_RING_TABLE_BASE1 + idx, 0xffffffff);
nhi_write_reg(sc, NHI_TX_RING_TABLE_BASE0 + idx,
nhi_write_reg(sc, NHI_RX_RING_TABLE_BASE0 + idx,
nhi_write_reg(sc, NHI_TX_RING_TABLE_BASE0 + idx, 0);
nhi_write_reg(sc, NHI_RX_RING_TABLE_BASE0 + idx, 0);
nhi_write_reg(sc, NHI_TX_RING_SIZE + idx, 0);
nhi_write_reg(sc, NHI_RX_RING_SIZE + idx, 0);
nhi_write_reg(sc, rp->rx_pici_reg, rp->rx_ci);
nhi_write_reg(sc, NHI_DMA_MISC, val);
nhi_write_reg(sc, r->tx_pici_reg, pi << TX_RING_PI_SHIFT | r->tx_ci);
nhi_write_reg(r->sc, r->tx_pici_reg, r->tx_pi << TX_RING_PI_SHIFT | r->tx_ci);
nhi_write_reg(sc, NHI_ITR0 + i * 4, 0x1f4);
nhi_write_reg(sc, NHI_IVR0, ivr[0]);
nhi_write_reg(sc, NHI_IVR1, ivr[1]);
nhi_write_reg(sc, NHI_IVR2, ivr[2]);
nhi_write_reg(sc, NHI_IVR3, ivr[3]);
nhi_write_reg(sc, NHI_IVR4, ivr[4]);
nhi_write_reg(sc, NHI_IMR0, ivr[0]);
nhi_write_reg(sc, NHI_IMR1, ivr[1]);
nhi_write_reg(sc, NHI_IMR0, 0);
nhi_write_reg(sc, NHI_IMR1, 0);
nhi_write_reg(sc, NHI_IVR0, 0);
nhi_write_reg(sc, NHI_IVR1, 0);
nhi_write_reg(sc, NHI_IVR2, 0);
nhi_write_reg(sc, NHI_IVR3, 0);
nhi_write_reg(sc, NHI_IVR4, 0);