Home
last modified time | relevance | path

Searched refs:mbox_chan (Results 1 – 25 of 45) sorted by relevance

12

/Linux-v4.19/include/linux/
Dmailbox_controller.h16 struct mbox_chan;
48 int (*send_data)(struct mbox_chan *chan, void *data);
49 int (*startup)(struct mbox_chan *chan);
50 void (*shutdown)(struct mbox_chan *chan);
51 bool (*last_tx_done)(struct mbox_chan *chan);
52 bool (*peek_data)(struct mbox_chan *chan);
77 struct mbox_chan *chans;
82 struct mbox_chan *(*of_xlate)(struct mbox_controller *mbox,
117 struct mbox_chan { struct
131 void mbox_chan_received_data(struct mbox_chan *chan, void *data); /* atomic */ argument
[all …]
Dmailbox_client.h16 struct mbox_chan;
43 struct mbox_chan *mbox_request_channel_byname(struct mbox_client *cl,
45 struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index);
46 int mbox_send_message(struct mbox_chan *chan, void *mssg);
47 void mbox_client_txdone(struct mbox_chan *chan, int r); /* atomic */
48 bool mbox_client_peek_data(struct mbox_chan *chan); /* atomic */
49 void mbox_free_channel(struct mbox_chan *chan); /* may sleep */
Domap-mailbox.h15 struct mbox_chan;
18 struct mbox_chan *omap_mbox_request_channel(struct mbox_client *cl,
21 void omap_mbox_enable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
22 void omap_mbox_disable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
/Linux-v4.19/drivers/mailbox/
Dmailbox-altera.c60 struct mbox_chan *chan;
63 static struct altera_mbox *mbox_chan_to_altera_mbox(struct mbox_chan *chan) in mbox_chan_to_altera_mbox()
128 static void altera_mbox_rx_data(struct mbox_chan *chan) in altera_mbox_rx_data()
154 struct mbox_chan *chan = (struct mbox_chan *)p; in altera_mbox_tx_interrupt()
165 struct mbox_chan *chan = (struct mbox_chan *)p; in altera_mbox_rx_interrupt()
171 static int altera_mbox_startup_sender(struct mbox_chan *chan) in altera_mbox_startup_sender()
190 static int altera_mbox_startup_receiver(struct mbox_chan *chan) in altera_mbox_startup_receiver()
217 static int altera_mbox_send_data(struct mbox_chan *chan, void *data) in altera_mbox_send_data()
244 static bool altera_mbox_last_tx_done(struct mbox_chan *chan) in altera_mbox_last_tx_done()
252 static bool altera_mbox_peek_data(struct mbox_chan *chan) in altera_mbox_peek_data()
[all …]
Dmailbox.c29 static int add_to_rbuf(struct mbox_chan *chan, void *mssg) in add_to_rbuf()
56 static void msg_submit(struct mbox_chan *chan) in msg_submit()
93 static void tx_tick(struct mbox_chan *chan, int r) in tx_tick()
125 struct mbox_chan *chan = &mbox->chans[i]; in txdone_hrtimer()
153 void mbox_chan_received_data(struct mbox_chan *chan, void *mssg) in mbox_chan_received_data()
171 void mbox_chan_txdone(struct mbox_chan *chan, int r) in mbox_chan_txdone()
192 void mbox_client_txdone(struct mbox_chan *chan, int r) in mbox_client_txdone()
218 bool mbox_client_peek_data(struct mbox_chan *chan) in mbox_client_peek_data()
251 int mbox_send_message(struct mbox_chan *chan, void *mssg) in mbox_send_message()
303 struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index) in mbox_request_channel()
[all …]
Dmailbox-sti.c90 static inline bool sti_mbox_channel_is_enabled(struct mbox_chan *chan) in sti_mbox_channel_is_enabled()
101 struct mbox_chan *sti_mbox_to_channel(struct mbox_controller *mbox, in sti_mbox_to_channel()
123 static void sti_mbox_enable_channel(struct mbox_chan *chan) in sti_mbox_enable_channel()
138 static void sti_mbox_disable_channel(struct mbox_chan *chan) in sti_mbox_disable_channel()
153 static void sti_mbox_clear_irq(struct mbox_chan *chan) in sti_mbox_clear_irq()
164 static struct mbox_chan *sti_mbox_irq_to_channel(struct sti_mbox_device *mdev, in sti_mbox_irq_to_channel()
168 struct mbox_chan *chan = NULL; in sti_mbox_irq_to_channel()
199 struct mbox_chan *chan; in sti_mbox_thread_handler()
222 struct mbox_chan *chan; in sti_mbox_irq_handler()
255 static bool sti_mbox_tx_is_ready(struct mbox_chan *chan) in sti_mbox_tx_is_ready()
[all …]
Dbcm2835-mailbox.c67 static struct bcm2835_mbox *bcm2835_link_mbox(struct mbox_chan *link) in bcm2835_link_mbox()
76 struct mbox_chan *link = &mbox->controller.chans[0]; in bcm2835_mbox_irq()
86 static int bcm2835_send_data(struct mbox_chan *link, void *data) in bcm2835_send_data()
98 static int bcm2835_startup(struct mbox_chan *link) in bcm2835_startup()
108 static void bcm2835_shutdown(struct mbox_chan *link) in bcm2835_shutdown()
115 static bool bcm2835_last_tx_done(struct mbox_chan *link) in bcm2835_last_tx_done()
133 static struct mbox_chan *bcm2835_mbox_index_xlate(struct mbox_controller *mbox, in bcm2835_mbox_index_xlate()
Dhi3660-mailbox.c75 struct mbox_chan chan[MBOX_CHAN_MAX];
85 static int hi3660_mbox_check_state(struct mbox_chan *chan) in hi3660_mbox_check_state()
112 static int hi3660_mbox_unlock(struct mbox_chan *chan) in hi3660_mbox_unlock()
133 static int hi3660_mbox_acquire_channel(struct mbox_chan *chan) in hi3660_mbox_acquire_channel()
159 static int hi3660_mbox_startup(struct mbox_chan *chan) in hi3660_mbox_startup()
178 static int hi3660_mbox_send_data(struct mbox_chan *chan, void *msg) in hi3660_mbox_send_data()
214 static struct mbox_chan *hi3660_mbox_xlate(struct mbox_controller *controller, in hi3660_mbox_xlate()
244 struct mbox_chan *chan; in hi3660_mbox_probe()
Darm_mhu.c47 struct mbox_chan chan[MHU_CHANS];
53 struct mbox_chan *chan = p; in mhu_rx_interrupt()
68 static bool mhu_last_tx_done(struct mbox_chan *chan) in mhu_last_tx_done()
76 static int mhu_send_data(struct mbox_chan *chan, void *data) in mhu_send_data()
86 static int mhu_startup(struct mbox_chan *chan) in mhu_startup()
106 static void mhu_shutdown(struct mbox_chan *chan) in mhu_shutdown()
Dplatform_mhu.c50 struct mbox_chan chan[MHU_CHANS];
56 struct mbox_chan *chan = p; in platform_mhu_rx_interrupt()
71 static bool platform_mhu_last_tx_done(struct mbox_chan *chan) in platform_mhu_last_tx_done()
79 static int platform_mhu_send_data(struct mbox_chan *chan, void *data) in platform_mhu_send_data()
89 static int platform_mhu_startup(struct mbox_chan *chan) in platform_mhu_startup()
109 static void platform_mhu_shutdown(struct mbox_chan *chan) in platform_mhu_shutdown()
Dhi6220-mailbox.c94 struct mbox_chan *chan;
118 static bool hi6220_mbox_last_tx_done(struct mbox_chan *chan) in hi6220_mbox_last_tx_done()
131 static int hi6220_mbox_send_data(struct mbox_chan *chan, void *msg) in hi6220_mbox_send_data()
161 struct mbox_chan *chan; in hi6220_mbox_interrupt()
202 static int hi6220_mbox_startup(struct mbox_chan *chan) in hi6220_mbox_startup()
214 static void hi6220_mbox_shutdown(struct mbox_chan *chan) in hi6220_mbox_shutdown()
231 static struct mbox_chan *hi6220_mbox_xlate(struct mbox_controller *controller, in hi6220_mbox_xlate()
236 struct mbox_chan *chan; in hi6220_mbox_xlate()
Dpcc.c74 static struct mbox_chan *pcc_mbox_channels;
92 static struct mbox_chan *get_pcc_channel(int id) in get_pcc_channel()
191 struct mbox_chan *chan = p; in pcc_mbox_irq()
239 struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl, in pcc_mbox_request_channel()
243 struct mbox_chan *chan; in pcc_mbox_request_channel()
295 void pcc_mbox_free_channel(struct mbox_chan *chan) in pcc_mbox_free_channel()
333 static int pcc_send_data(struct mbox_chan *chan, void *data) in pcc_send_data()
469 pcc_mbox_channels = kcalloc(count, sizeof(struct mbox_chan), in acpi_pcc_probe()
Dti-msgmgr.c114 struct mbox_chan *chan;
141 struct mbox_chan *chans;
204 struct mbox_chan *chan = p; in ti_msgmgr_queue_rx_interrupt()
285 static bool ti_msgmgr_queue_peek_data(struct mbox_chan *chan) in ti_msgmgr_queue_peek_data()
312 static bool ti_msgmgr_last_tx_done(struct mbox_chan *chan) in ti_msgmgr_last_tx_done()
346 static int ti_msgmgr_send_data(struct mbox_chan *chan, void *data) in ti_msgmgr_send_data()
410 struct mbox_chan *chan) in ti_msgmgr_queue_rx_irq_req()
453 static int ti_msgmgr_queue_startup(struct mbox_chan *chan) in ti_msgmgr_queue_startup()
499 static void ti_msgmgr_queue_shutdown(struct mbox_chan *chan) in ti_msgmgr_queue_shutdown()
517 static struct mbox_chan *ti_msgmgr_of_xlate(struct mbox_controller *mbox, in ti_msgmgr_of_xlate()
[all …]
Dimx-mailbox.c51 struct mbox_chan *chan;
61 struct mbox_chan mbox_chans[IMX_MU_CHANS];
109 struct mbox_chan *chan = p; in imx_mu_isr()
154 static int imx_mu_send_data(struct mbox_chan *chan, void *data) in imx_mu_send_data()
177 static int imx_mu_startup(struct mbox_chan *chan) in imx_mu_startup()
212 static void imx_mu_shutdown(struct mbox_chan *chan) in imx_mu_shutdown()
232 static struct mbox_chan * imx_mu_xlate(struct mbox_controller *mbox, in imx_mu_xlate()
Dmailbox-xgene-slimpro.c58 struct mbox_chan *chan;
78 struct mbox_chan chans[MBOX_CNT];
131 static int slimpro_mbox_send_data(struct mbox_chan *chan, void *msg) in slimpro_mbox_send_data()
139 static int slimpro_mbox_startup(struct mbox_chan *chan) in slimpro_mbox_startup()
164 static void slimpro_mbox_shutdown(struct mbox_chan *chan) in slimpro_mbox_shutdown()
Dtegra-hsp.c46 struct mbox_chan *chan;
221 static int tegra_hsp_doorbell_send_data(struct mbox_chan *chan, void *data) in tegra_hsp_doorbell_send_data()
230 static int tegra_hsp_doorbell_startup(struct mbox_chan *chan) in tegra_hsp_doorbell_startup()
263 static void tegra_hsp_doorbell_shutdown(struct mbox_chan *chan) in tegra_hsp_doorbell_shutdown()
290 static struct mbox_chan *of_tegra_hsp_xlate(struct mbox_controller *mbox, in of_tegra_hsp_xlate()
298 struct mbox_chan *chan; in of_tegra_hsp_xlate()
Domap-mailbox.c111 struct mbox_chan *chan;
123 static struct omap_mbox *mbox_chan_to_omap_mbox(struct mbox_chan *chan) in mbox_chan_to_omap_mbox()
230 void omap_mbox_enable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq) in omap_mbox_enable_irq()
241 void omap_mbox_disable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq) in omap_mbox_disable_irq()
412 struct mbox_chan *omap_mbox_request_channel(struct mbox_client *cl, in omap_mbox_request_channel()
418 struct mbox_chan *chan; in omap_mbox_request_channel()
519 static int omap_mbox_chan_startup(struct mbox_chan *chan) in omap_mbox_chan_startup()
534 static void omap_mbox_chan_shutdown(struct mbox_chan *chan) in omap_mbox_chan_shutdown()
577 static int omap_mbox_chan_send_data(struct mbox_chan *chan, void *data) in omap_mbox_chan_send_data()
667 static struct mbox_chan *omap_mbox_of_xlate(struct mbox_controller *controller, in omap_mbox_of_xlate()
[all …]
Dqcom-apcs-ipc-mailbox.c28 struct mbox_chan mbox_chans[QCOM_APCS_IPC_BITS];
43 static int qcom_apcs_ipc_send_data(struct mbox_chan *chan, void *data) in qcom_apcs_ipc_send_data()
Drockchip-mailbox.c60 static int rockchip_mbox_send_data(struct mbox_chan *chan, void *data) in rockchip_mbox_send_data()
87 static int rockchip_mbox_startup(struct mbox_chan *chan) in rockchip_mbox_startup()
98 static void rockchip_mbox_shutdown(struct mbox_chan *chan) in rockchip_mbox_shutdown()
/Linux-v4.19/include/acpi/
Dpcc.h18 extern struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl,
20 extern void pcc_mbox_free_channel(struct mbox_chan *chan);
22 static inline struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl, in pcc_mbox_request_channel()
27 static inline void pcc_mbox_free_channel(struct mbox_chan *chan) { } in pcc_mbox_free_channel()
/Linux-v4.19/drivers/i2c/busses/
Di2c-xgene-slimpro.c119 struct mbox_chan *mbox_chan; member
241 rc = mbox_send_message(ctx->mbox_chan, msg); in slimpro_i2c_send_msg()
249 mbox_chan_txdone(ctx->mbox_chan, 0); in slimpro_i2c_send_msg()
477 ctx->mbox_chan = mbox_request_channel(cl, MAILBOX_I2C_INDEX); in xgene_slimpro_i2c_probe()
478 if (IS_ERR(ctx->mbox_chan)) { in xgene_slimpro_i2c_probe()
480 return PTR_ERR(ctx->mbox_chan); in xgene_slimpro_i2c_probe()
500 ctx->mbox_chan = pcc_mbox_request_channel(cl, ctx->mbox_idx); in xgene_slimpro_i2c_probe()
501 if (IS_ERR(ctx->mbox_chan)) { in xgene_slimpro_i2c_probe()
503 return PTR_ERR(ctx->mbox_chan); in xgene_slimpro_i2c_probe()
512 cppc_ss = ctx->mbox_chan->con_priv; in xgene_slimpro_i2c_probe()
[all …]
/Linux-v4.19/drivers/remoteproc/
Dst_remoteproc.c53 struct mbox_chan *mbox_chan[ST_RPROC_MAX_VRING * MBOX_MAX]; member
88 ret = mbox_send_message(ddata->mbox_chan[vqid * MBOX_MAX + MBOX_TX], in st_rproc_kick()
277 struct mbox_chan *chan; in st_rproc_probe()
337 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; in st_rproc_probe()
345 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; in st_rproc_probe()
353 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; in st_rproc_probe()
361 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan; in st_rproc_probe()
372 mbox_free_channel(ddata->mbox_chan[i]); in st_rproc_probe()
393 mbox_free_channel(ddata->mbox_chan[i]); in st_rproc_remove()
/Linux-v4.19/drivers/soc/qcom/
Dsmp2p.c153 struct mbox_chan *mbox_chan; member
164 if (smp2p->mbox_chan) { in qcom_smp2p_kick()
165 mbox_send_message(smp2p->mbox_chan, NULL); in qcom_smp2p_kick()
166 mbox_client_txdone(smp2p->mbox_chan, 0); in qcom_smp2p_kick()
492 smp2p->mbox_chan = mbox_request_channel(&smp2p->mbox_client, 0); in qcom_smp2p_probe()
493 if (IS_ERR(smp2p->mbox_chan)) { in qcom_smp2p_probe()
494 if (PTR_ERR(smp2p->mbox_chan) != -ENODEV) in qcom_smp2p_probe()
495 return PTR_ERR(smp2p->mbox_chan); in qcom_smp2p_probe()
497 smp2p->mbox_chan = NULL; in qcom_smp2p_probe()
562 mbox_free_channel(smp2p->mbox_chan); in qcom_smp2p_probe()
[all …]
/Linux-v4.19/drivers/hwmon/
Dxgene-hwmon.c107 struct mbox_chan *mbox_chan; member
172 rc = mbox_send_message(ctx->mbox_chan, msg); in xgene_hwmon_pcc_rd()
195 mbox_chan_txdone(ctx->mbox_chan, 0); in xgene_hwmon_pcc_rd()
209 rc = mbox_send_message(ctx->mbox_chan, msg); in xgene_hwmon_rd()
659 ctx->mbox_chan = mbox_request_channel(cl, 0); in xgene_hwmon_probe()
660 if (IS_ERR(ctx->mbox_chan)) { in xgene_hwmon_probe()
686 ctx->mbox_chan = pcc_mbox_request_channel(cl, ctx->mbox_idx); in xgene_hwmon_probe()
687 if (IS_ERR(ctx->mbox_chan)) { in xgene_hwmon_probe()
700 cppc_ss = ctx->mbox_chan->con_priv; in xgene_hwmon_probe()
707 if (!ctx->mbox_chan->mbox->txdone_irq) { in xgene_hwmon_probe()
[all …]
/Linux-v4.19/drivers/rpmsg/
Dqcom_smd.c132 struct mbox_chan *mbox_chan; member
374 if (edge->mbox_chan) { in qcom_smd_signal_channel()
380 mbox_send_message(edge->mbox_chan, NULL); in qcom_smd_signal_channel()
381 mbox_client_txdone(edge->mbox_chan, 0); in qcom_smd_signal_channel()
1347 edge->mbox_chan = mbox_request_channel(&edge->mbox_client, 0); in qcom_smd_parse_edge()
1348 if (IS_ERR(edge->mbox_chan)) { in qcom_smd_parse_edge()
1349 if (PTR_ERR(edge->mbox_chan) != -ENODEV) in qcom_smd_parse_edge()
1350 return PTR_ERR(edge->mbox_chan); in qcom_smd_parse_edge()
1352 edge->mbox_chan = NULL; in qcom_smd_parse_edge()
1482 if (!IS_ERR_OR_NULL(edge->mbox_chan)) in qcom_smd_register_edge()
[all …]

12