Lines Matching refs:mlink
49 struct platform_mhu_link mlink[MHU_CHANS]; member
57 struct platform_mhu_link *mlink = chan->con_priv; in platform_mhu_rx_interrupt() local
60 val = readl_relaxed(mlink->rx_reg + INTR_STAT_OFS); in platform_mhu_rx_interrupt()
66 writel_relaxed(val, mlink->rx_reg + INTR_CLR_OFS); in platform_mhu_rx_interrupt()
73 struct platform_mhu_link *mlink = chan->con_priv; in platform_mhu_last_tx_done() local
74 u32 val = readl_relaxed(mlink->tx_reg + INTR_STAT_OFS); in platform_mhu_last_tx_done()
81 struct platform_mhu_link *mlink = chan->con_priv; in platform_mhu_send_data() local
84 writel_relaxed(*arg, mlink->tx_reg + INTR_SET_OFS); in platform_mhu_send_data()
91 struct platform_mhu_link *mlink = chan->con_priv; in platform_mhu_startup() local
95 val = readl_relaxed(mlink->tx_reg + INTR_STAT_OFS); in platform_mhu_startup()
96 writel_relaxed(val, mlink->tx_reg + INTR_CLR_OFS); in platform_mhu_startup()
98 ret = request_irq(mlink->irq, platform_mhu_rx_interrupt, in platform_mhu_startup()
102 "Unable to acquire IRQ %d\n", mlink->irq); in platform_mhu_startup()
111 struct platform_mhu_link *mlink = chan->con_priv; in platform_mhu_shutdown() local
113 free_irq(mlink->irq, chan); in platform_mhu_shutdown()
146 mhu->chan[i].con_priv = &mhu->mlink[i]; in platform_mhu_probe()
147 mhu->mlink[i].irq = platform_get_irq(pdev, i); in platform_mhu_probe()
148 if (mhu->mlink[i].irq < 0) { in platform_mhu_probe()
150 return mhu->mlink[i].irq; in platform_mhu_probe()
152 mhu->mlink[i].rx_reg = mhu->base + platform_mhu_reg[i]; in platform_mhu_probe()
153 mhu->mlink[i].tx_reg = mhu->mlink[i].rx_reg + TX_REG_OFFSET; in platform_mhu_probe()