/Linux-v4.19/include/linux/ |
D | mailbox_controller.h | 16 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 …]
|
D | mailbox_client.h | 16 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 */
|
D | omap-mailbox.h | 15 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/ |
D | mailbox-altera.c | 60 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 …]
|
D | mailbox.c | 29 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 …]
|
D | mailbox-sti.c | 90 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 …]
|
D | bcm2835-mailbox.c | 67 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()
|
D | hi3660-mailbox.c | 75 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()
|
D | arm_mhu.c | 47 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()
|
D | platform_mhu.c | 50 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()
|
D | hi6220-mailbox.c | 94 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()
|
D | pcc.c | 74 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()
|
D | ti-msgmgr.c | 114 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 …]
|
D | imx-mailbox.c | 51 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()
|
D | mailbox-xgene-slimpro.c | 58 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()
|
D | tegra-hsp.c | 46 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()
|
D | omap-mailbox.c | 111 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 …]
|
D | qcom-apcs-ipc-mailbox.c | 28 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()
|
D | rockchip-mailbox.c | 60 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/ |
D | pcc.h | 18 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/ |
D | i2c-xgene-slimpro.c | 119 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/ |
D | st_remoteproc.c | 53 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/ |
D | smp2p.c | 153 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/ |
D | xgene-hwmon.c | 107 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/ |
D | qcom_smd.c | 132 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 …]
|