Home
last modified time | relevance | path

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

123

/Linux-v5.10/include/linux/
Dmailbox_controller.h12 struct mbox_chan;
47 int (*send_data)(struct mbox_chan *chan, void *data);
48 int (*flush)(struct mbox_chan *chan, unsigned long timeout);
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
[all …]
Dmailbox_client.h13 struct mbox_chan;
40 struct mbox_chan *mbox_request_channel_byname(struct mbox_client *cl,
42 struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index);
43 int mbox_send_message(struct mbox_chan *chan, void *mssg);
44 int mbox_flush(struct mbox_chan *chan, unsigned long timeout);
45 void mbox_client_txdone(struct mbox_chan *chan, int r); /* atomic */
46 bool mbox_client_peek_data(struct mbox_chan *chan); /* atomic */
47 void mbox_free_channel(struct mbox_chan *chan); /* may sleep */
Domap-mailbox.h17 struct mbox_chan;
20 struct mbox_chan *omap_mbox_request_channel(struct mbox_client *cl,
23 void omap_mbox_enable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
24 void omap_mbox_disable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
/Linux-v5.10/drivers/mailbox/
Dmailbox-altera.c49 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 …]
Dmailbox-sti.c86 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 …]
Dmailbox.c26 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 …]
Darm_mhu_db.c59 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 …]
Dsun6i-msgbox.c53 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 …]
Dbcm2835-mailbox.c61 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()
Dhi3660-mailbox.c76 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()
Darm_mhu.c36 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()
Dplatform_mhu.c42 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()
Darmada-37xx-rwtm-mailbox.c43 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()
Dhi6220-mailbox.c85 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()
Dpcc.c65 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()
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 …]
Dsprd-mailbox.c63 struct mbox_chan chan[SPRD_MBOX_CHAN_MAX];
100 struct mbox_chan *chan; in sprd_mbox_outbox_isr()
133 struct mbox_chan *chan; in sprd_mbox_inbox_isr()
172 static int sprd_mbox_send_data(struct mbox_chan *chan, void *msg) in sprd_mbox_send_data()
191 static int sprd_mbox_flush(struct mbox_chan *chan, unsigned long timeout) in sprd_mbox_flush()
213 static int sprd_mbox_startup(struct mbox_chan *chan) in sprd_mbox_startup()
234 static void sprd_mbox_shutdown(struct mbox_chan *chan) in sprd_mbox_shutdown()
Dmailbox-xgene-slimpro.c45 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()
Dzynqmp-ipi-mailbox.c149 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()
/Linux-v5.10/include/acpi/
Dpcc.h14 extern struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl,
16 extern void pcc_mbox_free_channel(struct mbox_chan *chan);
18 static inline struct mbox_chan *pcc_mbox_request_channel(struct mbox_client *cl, in pcc_mbox_request_channel()
23 static inline void pcc_mbox_free_channel(struct mbox_chan *chan) { } in pcc_mbox_free_channel()
/Linux-v5.10/drivers/i2c/busses/
Di2c-xgene-slimpro.c106 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()
464 ctx->mbox_chan = mbox_request_channel(cl, MAILBOX_I2C_INDEX); in xgene_slimpro_i2c_probe()
465 if (IS_ERR(ctx->mbox_chan)) { in xgene_slimpro_i2c_probe()
467 return PTR_ERR(ctx->mbox_chan); in xgene_slimpro_i2c_probe()
487 ctx->mbox_chan = pcc_mbox_request_channel(cl, ctx->mbox_idx); in xgene_slimpro_i2c_probe()
488 if (IS_ERR(ctx->mbox_chan)) { in xgene_slimpro_i2c_probe()
490 return PTR_ERR(ctx->mbox_chan); in xgene_slimpro_i2c_probe()
499 cppc_ss = ctx->mbox_chan->con_priv; in xgene_slimpro_i2c_probe()
[all …]
/Linux-v5.10/drivers/soc/qcom/
Dsmp2p.c145 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()
482 smp2p->mbox_chan = mbox_request_channel(&smp2p->mbox_client, 0); in qcom_smp2p_probe()
483 if (IS_ERR(smp2p->mbox_chan)) { in qcom_smp2p_probe()
484 if (PTR_ERR(smp2p->mbox_chan) != -ENODEV) in qcom_smp2p_probe()
485 return PTR_ERR(smp2p->mbox_chan); in qcom_smp2p_probe()
487 smp2p->mbox_chan = NULL; in qcom_smp2p_probe()
552 mbox_free_channel(smp2p->mbox_chan); in qcom_smp2p_probe()
[all …]
Dqcom_aoss.c74 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()
540 qmp->mbox_chan = mbox_request_channel(&qmp->mbox_client, 0); in qmp_probe()
541 if (IS_ERR(qmp->mbox_chan)) { in qmp_probe()
543 return PTR_ERR(qmp->mbox_chan); in qmp_probe()
579 mbox_free_channel(qmp->mbox_chan); in qmp_probe()
593 mbox_free_channel(qmp->mbox_chan); in qmp_remove()
/Linux-v5.10/drivers/hwmon/
Dxgene-hwmon.c95 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 …]
/Linux-v5.10/drivers/remoteproc/
Dst_remoteproc.c51 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()
345 struct mbox_chan *chan; in st_rproc_probe()
405 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; in st_rproc_probe()
413 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; in st_rproc_probe()
421 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; in st_rproc_probe()
429 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan; in st_rproc_probe()
440 mbox_free_channel(ddata->mbox_chan[i]); in st_rproc_probe()
459 mbox_free_channel(ddata->mbox_chan[i]); in st_rproc_remove()

123