/drivers/mailbox/ |
D | mailbox-altera.c | 49 struct mbox_chan *chan; 52 static struct altera_mbox *mbox_chan_to_altera_mbox(struct mbox_chan *chan) in mbox_chan_to_altera_mbox() 117 static void altera_mbox_rx_data(struct mbox_chan *chan) in altera_mbox_rx_data() 143 struct mbox_chan *chan = (struct mbox_chan *)p; in altera_mbox_tx_interrupt() 154 struct mbox_chan *chan = (struct mbox_chan *)p; in altera_mbox_rx_interrupt() 160 static int altera_mbox_startup_sender(struct mbox_chan *chan) in altera_mbox_startup_sender() 179 static int altera_mbox_startup_receiver(struct mbox_chan *chan) in altera_mbox_startup_receiver() 206 static int altera_mbox_send_data(struct mbox_chan *chan, void *data) in altera_mbox_send_data() 233 static bool altera_mbox_last_tx_done(struct mbox_chan *chan) in altera_mbox_last_tx_done() 241 static bool altera_mbox_peek_data(struct mbox_chan *chan) in altera_mbox_peek_data() [all …]
|
D | mailbox-sti.c | 86 static inline bool sti_mbox_channel_is_enabled(struct mbox_chan *chan) in sti_mbox_channel_is_enabled() 97 struct mbox_chan *sti_mbox_to_channel(struct mbox_controller *mbox, in sti_mbox_to_channel() 119 static void sti_mbox_enable_channel(struct mbox_chan *chan) in sti_mbox_enable_channel() 134 static void sti_mbox_disable_channel(struct mbox_chan *chan) in sti_mbox_disable_channel() 149 static void sti_mbox_clear_irq(struct mbox_chan *chan) in sti_mbox_clear_irq() 160 static struct mbox_chan *sti_mbox_irq_to_channel(struct sti_mbox_device *mdev, in sti_mbox_irq_to_channel() 164 struct mbox_chan *chan = NULL; in sti_mbox_irq_to_channel() 195 struct mbox_chan *chan; in sti_mbox_thread_handler() 218 struct mbox_chan *chan; in sti_mbox_irq_handler() 251 static bool sti_mbox_tx_is_ready(struct mbox_chan *chan) in sti_mbox_tx_is_ready() [all …]
|
D | mailbox.c | 26 static int add_to_rbuf(struct mbox_chan *chan, void *mssg) in add_to_rbuf() 53 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() 152 void mbox_chan_received_data(struct mbox_chan *chan, void *mssg) in mbox_chan_received_data() 170 void mbox_chan_txdone(struct mbox_chan *chan, int r) in mbox_chan_txdone() 191 void mbox_client_txdone(struct mbox_chan *chan, int r) in mbox_client_txdone() 217 bool mbox_client_peek_data(struct mbox_chan *chan) in mbox_client_peek_data() 250 int mbox_send_message(struct mbox_chan *chan, void *mssg) in mbox_send_message() 299 int mbox_flush(struct mbox_chan *chan, unsigned long timeout) in mbox_flush() [all …]
|
D | arm_mhu_db.c | 59 static inline struct mbox_chan * 76 static void mhu_db_mbox_clear_irq(struct mbox_chan *chan) in mhu_db_mbox_clear_irq() 94 static struct mbox_chan * 99 struct mbox_chan *chan = NULL; in mhu_db_mbox_irq_to_channel() 126 struct mbox_chan *chan; in mhu_db_mbox_rx_handler() 138 static bool mhu_db_last_tx_done(struct mbox_chan *chan) in mhu_db_last_tx_done() 149 static int mhu_db_send_data(struct mbox_chan *chan, void *data) in mhu_db_send_data() 160 static int mhu_db_startup(struct mbox_chan *chan) in mhu_db_startup() 166 static void mhu_db_shutdown(struct mbox_chan *chan) in mhu_db_shutdown() 187 static struct mbox_chan *mhu_db_mbox_xlate(struct mbox_controller *mbox, in mhu_db_mbox_xlate() [all …]
|
D | sun6i-msgbox.c | 53 static bool sun6i_msgbox_last_tx_done(struct mbox_chan *chan); 54 static bool sun6i_msgbox_peek_data(struct mbox_chan *chan); 56 static inline int channel_number(struct mbox_chan *chan) in channel_number() 61 static inline struct sun6i_msgbox *to_sun6i_msgbox(struct mbox_chan *chan) in to_sun6i_msgbox() 80 struct mbox_chan *chan = &mbox->controller.chans[n]; in sun6i_msgbox_irq() 99 static int sun6i_msgbox_send_data(struct mbox_chan *chan, void *data) in sun6i_msgbox_send_data() 115 static int sun6i_msgbox_startup(struct mbox_chan *chan) in sun6i_msgbox_startup() 139 static void sun6i_msgbox_shutdown(struct mbox_chan *chan) in sun6i_msgbox_shutdown() 162 static bool sun6i_msgbox_last_tx_done(struct mbox_chan *chan) in sun6i_msgbox_last_tx_done() 179 static bool sun6i_msgbox_peek_data(struct mbox_chan *chan) in sun6i_msgbox_peek_data() [all …]
|
D | bcm2835-mailbox.c | 61 static struct bcm2835_mbox *bcm2835_link_mbox(struct mbox_chan *link) in bcm2835_link_mbox() 70 struct mbox_chan *link = &mbox->controller.chans[0]; in bcm2835_mbox_irq() 80 static int bcm2835_send_data(struct mbox_chan *link, void *data) in bcm2835_send_data() 92 static int bcm2835_startup(struct mbox_chan *link) in bcm2835_startup() 102 static void bcm2835_shutdown(struct mbox_chan *link) in bcm2835_shutdown() 109 static bool bcm2835_last_tx_done(struct mbox_chan *link) in bcm2835_last_tx_done() 127 static struct mbox_chan *bcm2835_mbox_index_xlate(struct mbox_controller *mbox, in bcm2835_mbox_index_xlate()
|
D | hi3660-mailbox.c | 76 struct mbox_chan chan[MBOX_CHAN_MAX]; 86 static int hi3660_mbox_check_state(struct mbox_chan *chan) in hi3660_mbox_check_state() 113 static int hi3660_mbox_unlock(struct mbox_chan *chan) in hi3660_mbox_unlock() 134 static int hi3660_mbox_acquire_channel(struct mbox_chan *chan) in hi3660_mbox_acquire_channel() 160 static int hi3660_mbox_startup(struct mbox_chan *chan) in hi3660_mbox_startup() 175 static int hi3660_mbox_send_data(struct mbox_chan *chan, void *msg) in hi3660_mbox_send_data() 212 static struct mbox_chan *hi3660_mbox_xlate(struct mbox_controller *controller, in hi3660_mbox_xlate() 242 struct mbox_chan *chan; in hi3660_mbox_probe()
|
D | arm_mhu.c | 36 struct mbox_chan chan[MHU_CHANS]; 42 struct mbox_chan *chan = p; in mhu_rx_interrupt() 57 static bool mhu_last_tx_done(struct mbox_chan *chan) in mhu_last_tx_done() 65 static int mhu_send_data(struct mbox_chan *chan, void *data) in mhu_send_data() 75 static int mhu_startup(struct mbox_chan *chan) in mhu_startup() 95 static void mhu_shutdown(struct mbox_chan *chan) in mhu_shutdown()
|
D | platform_mhu.c | 42 struct mbox_chan chan[MHU_CHANS]; 48 struct mbox_chan *chan = p; in platform_mhu_rx_interrupt() 63 static bool platform_mhu_last_tx_done(struct mbox_chan *chan) in platform_mhu_last_tx_done() 71 static int platform_mhu_send_data(struct mbox_chan *chan, void *data) in platform_mhu_send_data() 81 static int platform_mhu_startup(struct mbox_chan *chan) in platform_mhu_startup() 101 static void platform_mhu_shutdown(struct mbox_chan *chan) in platform_mhu_shutdown()
|
D | armada-37xx-rwtm-mailbox.c | 43 static void a37xx_mbox_receive(struct mbox_chan *chan) in a37xx_mbox_receive() 58 struct mbox_chan *chan = data; in a37xx_mbox_irq_handler() 77 static int a37xx_mbox_send_data(struct mbox_chan *chan, void *data) in a37xx_mbox_send_data() 103 static int a37xx_mbox_startup(struct mbox_chan *chan) in a37xx_mbox_startup() 124 static void a37xx_mbox_shutdown(struct mbox_chan *chan) in a37xx_mbox_shutdown() 146 struct mbox_chan *chans; in armada_37xx_mbox_probe()
|
D | hi6220-mailbox.c | 85 struct mbox_chan *chan; 109 static bool hi6220_mbox_last_tx_done(struct mbox_chan *chan) in hi6220_mbox_last_tx_done() 122 static int hi6220_mbox_send_data(struct mbox_chan *chan, void *msg) in hi6220_mbox_send_data() 152 struct mbox_chan *chan; in hi6220_mbox_interrupt() 193 static int hi6220_mbox_startup(struct mbox_chan *chan) in hi6220_mbox_startup() 205 static void hi6220_mbox_shutdown(struct mbox_chan *chan) in hi6220_mbox_shutdown() 222 static struct mbox_chan *hi6220_mbox_xlate(struct mbox_controller *controller, in hi6220_mbox_xlate() 227 struct mbox_chan *chan; in hi6220_mbox_xlate()
|
D | pcc.c | 65 static struct mbox_chan *pcc_mbox_channels; 83 static struct mbox_chan *get_pcc_channel(int id) in get_pcc_channel() 182 struct mbox_chan *chan = p; in pcc_mbox_irq() 230 struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl, in pcc_mbox_request_channel() 234 struct mbox_chan *chan; in pcc_mbox_request_channel() 286 void pcc_mbox_free_channel(struct mbox_chan *chan) in pcc_mbox_free_channel() 324 static int pcc_send_data(struct mbox_chan *chan, void *data) in pcc_send_data() 465 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() 416 struct mbox_chan *chan) in ti_msgmgr_queue_rx_irq_req() 459 static int ti_msgmgr_queue_startup(struct mbox_chan *chan) in ti_msgmgr_queue_startup() 505 static void ti_msgmgr_queue_shutdown(struct mbox_chan *chan) in ti_msgmgr_queue_shutdown() 523 static struct mbox_chan *ti_msgmgr_of_xlate(struct mbox_controller *mbox, in ti_msgmgr_of_xlate() [all …]
|
D | sprd-mailbox.c | 65 struct mbox_chan chan[SPRD_MBOX_CHAN_MAX]; 102 struct mbox_chan *chan; in sprd_mbox_outbox_isr() 139 struct mbox_chan *chan; in sprd_mbox_inbox_isr() 178 static int sprd_mbox_send_data(struct mbox_chan *chan, void *msg) in sprd_mbox_send_data() 197 static int sprd_mbox_flush(struct mbox_chan *chan, unsigned long timeout) in sprd_mbox_flush() 219 static int sprd_mbox_startup(struct mbox_chan *chan) in sprd_mbox_startup() 244 static void sprd_mbox_shutdown(struct mbox_chan *chan) in sprd_mbox_shutdown()
|
D | mailbox-xgene-slimpro.c | 45 struct mbox_chan *chan; 65 struct mbox_chan chans[MBOX_CNT]; 118 static int slimpro_mbox_send_data(struct mbox_chan *chan, void *msg) in slimpro_mbox_send_data() 126 static int slimpro_mbox_startup(struct mbox_chan *chan) in slimpro_mbox_startup() 151 static void slimpro_mbox_shutdown(struct mbox_chan *chan) in slimpro_mbox_shutdown()
|
D | zynqmp-ipi-mailbox.c | 149 struct mbox_chan *chan; in zynqmp_ipi_interrupt() 187 static bool zynqmp_ipi_peek_data(struct mbox_chan *chan) in zynqmp_ipi_peek_data() 227 static bool zynqmp_ipi_last_tx_done(struct mbox_chan *chan) in zynqmp_ipi_last_tx_done() 265 static int zynqmp_ipi_send_data(struct mbox_chan *chan, void *data) in zynqmp_ipi_send_data() 316 static int zynqmp_ipi_startup(struct mbox_chan *chan) in zynqmp_ipi_startup() 358 static void zynqmp_ipi_shutdown(struct mbox_chan *chan) in zynqmp_ipi_shutdown() 403 static struct mbox_chan *zynqmp_ipi_of_xlate(struct mbox_controller *mbox, in zynqmp_ipi_of_xlate() 406 struct mbox_chan *chan; in zynqmp_ipi_of_xlate() 477 struct mbox_chan *chans; in zynqmp_ipi_mbox_probe()
|
D | qcom-ipcc.c | 55 struct mbox_chan chan[IPCC_MBOX_MAX_CHAN]; 146 static int qcom_ipcc_mbox_send_data(struct mbox_chan *chan, void *data) in qcom_ipcc_mbox_send_data() 158 static void qcom_ipcc_mbox_shutdown(struct mbox_chan *chan) in qcom_ipcc_mbox_shutdown() 163 static struct mbox_chan *qcom_ipcc_mbox_xlate(struct mbox_controller *mbox, in qcom_ipcc_mbox_xlate() 168 struct mbox_chan *chan; in qcom_ipcc_mbox_xlate()
|
D | tegra-hsp.c | 58 struct mbox_chan *chan; 299 static int tegra_hsp_doorbell_send_data(struct mbox_chan *chan, void *data) in tegra_hsp_doorbell_send_data() 308 static int tegra_hsp_doorbell_startup(struct mbox_chan *chan) in tegra_hsp_doorbell_startup() 346 static void tegra_hsp_doorbell_shutdown(struct mbox_chan *chan) in tegra_hsp_doorbell_shutdown() 373 static int tegra_hsp_mailbox_send_data(struct mbox_chan *chan, void *data) in tegra_hsp_mailbox_send_data() 400 static int tegra_hsp_mailbox_flush(struct mbox_chan *chan, in tegra_hsp_mailbox_flush() 427 static int tegra_hsp_mailbox_startup(struct mbox_chan *chan) in tegra_hsp_mailbox_startup() 470 static void tegra_hsp_mailbox_shutdown(struct mbox_chan *chan) in tegra_hsp_mailbox_shutdown() 505 static struct mbox_chan *tegra_hsp_db_xlate(struct mbox_controller *mbox, in tegra_hsp_db_xlate() 512 struct mbox_chan *chan; in tegra_hsp_db_xlate() [all …]
|
D | imx-mailbox.c | 54 struct mbox_chan *chan; 64 struct mbox_chan mbox_chans[IMX_MU_CHANS]; 241 struct mbox_chan *chan = p; in imx_mu_isr() 288 static int imx_mu_send_data(struct mbox_chan *chan, void *data) in imx_mu_send_data() 296 static int imx_mu_startup(struct mbox_chan *chan) in imx_mu_startup() 339 static void imx_mu_shutdown(struct mbox_chan *chan) in imx_mu_shutdown() 374 static struct mbox_chan *imx_mu_scu_xlate(struct mbox_controller *mbox, in imx_mu_scu_xlate() 410 static struct mbox_chan * imx_mu_xlate(struct mbox_controller *mbox, in imx_mu_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() 414 struct mbox_chan *omap_mbox_request_channel(struct mbox_client *cl, in omap_mbox_request_channel() 420 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() 672 static struct mbox_chan *omap_mbox_of_xlate(struct mbox_controller *controller, in omap_mbox_of_xlate() [all …]
|
/drivers/i2c/busses/ |
D | i2c-xgene-slimpro.c | 106 struct mbox_chan *mbox_chan; member 228 rc = mbox_send_message(ctx->mbox_chan, msg); in slimpro_i2c_send_msg() 236 mbox_chan_txdone(ctx->mbox_chan, 0); in slimpro_i2c_send_msg() 467 ctx->mbox_chan = mbox_request_channel(cl, MAILBOX_I2C_INDEX); in xgene_slimpro_i2c_probe() 468 if (IS_ERR(ctx->mbox_chan)) { in xgene_slimpro_i2c_probe() 470 return PTR_ERR(ctx->mbox_chan); in xgene_slimpro_i2c_probe() 490 ctx->mbox_chan = pcc_mbox_request_channel(cl, ctx->mbox_idx); in xgene_slimpro_i2c_probe() 491 if (IS_ERR(ctx->mbox_chan)) { in xgene_slimpro_i2c_probe() 493 return PTR_ERR(ctx->mbox_chan); in xgene_slimpro_i2c_probe() 502 cppc_ss = ctx->mbox_chan->con_priv; in xgene_slimpro_i2c_probe() [all …]
|
/drivers/hwmon/ |
D | xgene-hwmon.c | 95 struct mbox_chan *mbox_chan; member 160 rc = mbox_send_message(ctx->mbox_chan, msg); in xgene_hwmon_pcc_rd() 183 mbox_chan_txdone(ctx->mbox_chan, 0); in xgene_hwmon_pcc_rd() 197 rc = mbox_send_message(ctx->mbox_chan, msg); in xgene_hwmon_rd() 647 ctx->mbox_chan = mbox_request_channel(cl, 0); in xgene_hwmon_probe() 648 if (IS_ERR(ctx->mbox_chan)) { in xgene_hwmon_probe() 674 ctx->mbox_chan = pcc_mbox_request_channel(cl, ctx->mbox_idx); in xgene_hwmon_probe() 675 if (IS_ERR(ctx->mbox_chan)) { in xgene_hwmon_probe() 688 cppc_ss = ctx->mbox_chan->con_priv; in xgene_hwmon_probe() 695 if (!ctx->mbox_chan->mbox->txdone_irq) { in xgene_hwmon_probe() [all …]
|
/drivers/soc/qcom/ |
D | smp2p.c | 145 struct mbox_chan *mbox_chan; member 156 if (smp2p->mbox_chan) { in qcom_smp2p_kick() 157 mbox_send_message(smp2p->mbox_chan, NULL); in qcom_smp2p_kick() 158 mbox_client_txdone(smp2p->mbox_chan, 0); in qcom_smp2p_kick() 484 smp2p->mbox_chan = mbox_request_channel(&smp2p->mbox_client, 0); in qcom_smp2p_probe() 485 if (IS_ERR(smp2p->mbox_chan)) { in qcom_smp2p_probe() 486 if (PTR_ERR(smp2p->mbox_chan) != -ENODEV) in qcom_smp2p_probe() 487 return PTR_ERR(smp2p->mbox_chan); in qcom_smp2p_probe() 489 smp2p->mbox_chan = NULL; in qcom_smp2p_probe() 554 mbox_free_channel(smp2p->mbox_chan); in qcom_smp2p_probe() [all …]
|
D | qcom_aoss.c | 74 struct mbox_chan *mbox_chan; member 97 mbox_send_message(qmp->mbox_chan, NULL); in qmp_kick() 98 mbox_client_txdone(qmp->mbox_chan, 0); in qmp_kick() 546 qmp->mbox_chan = mbox_request_channel(&qmp->mbox_client, 0); in qmp_probe() 547 if (IS_ERR(qmp->mbox_chan)) { in qmp_probe() 549 return PTR_ERR(qmp->mbox_chan); in qmp_probe() 585 mbox_free_channel(qmp->mbox_chan); in qmp_probe() 599 mbox_free_channel(qmp->mbox_chan); in qmp_remove()
|
/drivers/remoteproc/ |
D | st_remoteproc.c | 51 struct mbox_chan *mbox_chan[ST_RPROC_MAX_VRING * MBOX_MAX]; member 86 ret = mbox_send_message(ddata->mbox_chan[vqid * MBOX_MAX + MBOX_TX], in st_rproc_kick() 348 struct mbox_chan *chan; in st_rproc_probe() 408 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; in st_rproc_probe() 416 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; in st_rproc_probe() 424 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; in st_rproc_probe() 432 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan; in st_rproc_probe() 443 mbox_free_channel(ddata->mbox_chan[i]); in st_rproc_probe() 462 mbox_free_channel(ddata->mbox_chan[i]); in st_rproc_remove()
|