Lines Matching refs:cp
102 struct imx_mu_con_priv *cp = (struct imx_mu_con_priv *)data; in imx_mu_txdb_tasklet() local
104 mbox_chan_txdone(cp->chan, 0); in imx_mu_txdb_tasklet()
111 struct imx_mu_con_priv *cp = chan->con_priv; in imx_mu_isr() local
117 switch (cp->type) { in imx_mu_isr()
119 val &= IMX_MU_xSR_TEn(cp->idx) & in imx_mu_isr()
120 (ctrl & IMX_MU_xCR_TIEn(cp->idx)); in imx_mu_isr()
123 val &= IMX_MU_xSR_RFn(cp->idx) & in imx_mu_isr()
124 (ctrl & IMX_MU_xCR_RIEn(cp->idx)); in imx_mu_isr()
127 val &= IMX_MU_xSR_GIPn(cp->idx) & in imx_mu_isr()
128 (ctrl & IMX_MU_xCR_GIEn(cp->idx)); in imx_mu_isr()
137 if (val == IMX_MU_xSR_TEn(cp->idx)) { in imx_mu_isr()
138 imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_TIEn(cp->idx)); in imx_mu_isr()
140 } else if (val == IMX_MU_xSR_RFn(cp->idx)) { in imx_mu_isr()
141 dat = imx_mu_read(priv, IMX_MU_xRRn(cp->idx)); in imx_mu_isr()
143 } else if (val == IMX_MU_xSR_GIPn(cp->idx)) { in imx_mu_isr()
144 imx_mu_write(priv, IMX_MU_xSR_GIPn(cp->idx), IMX_MU_xSR); in imx_mu_isr()
157 struct imx_mu_con_priv *cp = chan->con_priv; in imx_mu_send_data() local
160 switch (cp->type) { in imx_mu_send_data()
162 imx_mu_write(priv, *arg, IMX_MU_xTRn(cp->idx)); in imx_mu_send_data()
163 imx_mu_xcr_rmw(priv, IMX_MU_xCR_TIEn(cp->idx), 0); in imx_mu_send_data()
166 imx_mu_xcr_rmw(priv, IMX_MU_xCR_GIRn(cp->idx), 0); in imx_mu_send_data()
167 tasklet_schedule(&cp->txdb_tasklet); in imx_mu_send_data()
170 dev_warn_ratelimited(priv->dev, "Send data on wrong channel type: %d\n", cp->type); in imx_mu_send_data()
180 struct imx_mu_con_priv *cp = chan->con_priv; in imx_mu_startup() local
183 if (cp->type == IMX_MU_TYPE_TXDB) { in imx_mu_startup()
185 tasklet_init(&cp->txdb_tasklet, imx_mu_txdb_tasklet, in imx_mu_startup()
186 (unsigned long)cp); in imx_mu_startup()
191 IRQF_NO_SUSPEND, cp->irq_desc, chan); in imx_mu_startup()
198 switch (cp->type) { in imx_mu_startup()
200 imx_mu_xcr_rmw(priv, IMX_MU_xCR_RIEn(cp->idx), 0); in imx_mu_startup()
203 imx_mu_xcr_rmw(priv, IMX_MU_xCR_GIEn(cp->idx), 0); in imx_mu_startup()
215 struct imx_mu_con_priv *cp = chan->con_priv; in imx_mu_shutdown() local
217 if (cp->type == IMX_MU_TYPE_TXDB) in imx_mu_shutdown()
218 tasklet_kill(&cp->txdb_tasklet); in imx_mu_shutdown()
220 imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_TIEn(cp->idx) | in imx_mu_shutdown()
221 IMX_MU_xCR_RIEn(cp->idx) | IMX_MU_xCR_GIEn(cp->idx)); in imx_mu_shutdown()
300 struct imx_mu_con_priv *cp = &priv->con_priv[i]; in imx_mu_probe() local
302 cp->idx = i % 4; in imx_mu_probe()
303 cp->type = i >> 2; in imx_mu_probe()
304 cp->chan = &priv->mbox_chans[i]; in imx_mu_probe()
305 priv->mbox_chans[i].con_priv = cp; in imx_mu_probe()
306 snprintf(cp->irq_desc, sizeof(cp->irq_desc), in imx_mu_probe()
307 "imx_mu_chan[%i-%i]", cp->type, cp->idx); in imx_mu_probe()