Lines Matching refs:mchan
91 struct hi6220_mbox_chan *mchan; member
120 struct hi6220_mbox_chan *mchan = chan->con_priv; in hi6220_mbox_last_tx_done() local
121 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_last_tx_done()
127 state = readl(mbox->base + MBOX_MODE_REG(mchan->slot)); in hi6220_mbox_last_tx_done()
133 struct hi6220_mbox_chan *mchan = chan->con_priv; in hi6220_mbox_send_data() local
134 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_send_data()
135 unsigned int slot = mchan->slot; in hi6220_mbox_send_data()
140 mchan->dir = MBOX_TX; in hi6220_mbox_send_data()
153 writel(BIT(mchan->dst_irq), DST_INT_RAW_REG(mbox->ipc)); in hi6220_mbox_send_data()
160 struct hi6220_mbox_chan *mchan; in hi6220_mbox_interrupt() local
183 mchan = chan->con_priv; in hi6220_mbox_interrupt()
184 if (mchan->dir == MBOX_TX) in hi6220_mbox_interrupt()
189 MBOX_DATA_REG(mchan->slot) + i * 4); in hi6220_mbox_interrupt()
195 writel(BIT(mchan->ack_irq), ACK_INT_CLR_REG(mbox->ipc)); in hi6220_mbox_interrupt()
196 mbox_set_state(mbox, mchan->slot, MBOX_STATE_IDLE); in hi6220_mbox_interrupt()
204 struct hi6220_mbox_chan *mchan = chan->con_priv; in hi6220_mbox_startup() local
205 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_startup()
207 mchan->dir = 0; in hi6220_mbox_startup()
210 writel(BIT(mchan->ack_irq), ACK_INT_ENA_REG(mbox->ipc)); in hi6220_mbox_startup()
216 struct hi6220_mbox_chan *mchan = chan->con_priv; in hi6220_mbox_shutdown() local
217 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_shutdown()
220 writel(BIT(mchan->ack_irq), ACK_INT_DIS_REG(mbox->ipc)); in hi6220_mbox_shutdown()
221 mbox->irq_map_chan[mchan->ack_irq] = NULL; in hi6220_mbox_shutdown()
235 struct hi6220_mbox_chan *mchan; in hi6220_mbox_xlate() local
257 mchan = chan->con_priv; in hi6220_mbox_xlate()
258 mchan->dst_irq = dst_irq; in hi6220_mbox_xlate()
259 mchan->ack_irq = ack_irq; in hi6220_mbox_xlate()
285 mbox->mchan = devm_kcalloc(dev, in hi6220_mbox_probe()
286 mbox->chan_num, sizeof(*mbox->mchan), GFP_KERNEL); in hi6220_mbox_probe()
287 if (!mbox->mchan) in hi6220_mbox_probe()
328 mbox->chan[i].con_priv = &mbox->mchan[i]; in hi6220_mbox_probe()
331 mbox->mchan[i].parent = mbox; in hi6220_mbox_probe()
332 mbox->mchan[i].slot = i; in hi6220_mbox_probe()