Home
last modified time | relevance | path

Searched refs:mbox (Results 1 - 25 of 371) sorted by relevance

12345678910>>...15

/kernel/linux/linux-5.10/drivers/net/ethernet/cavium/liquidio/
H A Docteon_mailbox.c31 * @mbox: Pointer mailbox
33 * Reads the 8-bytes of data from the mbox register
36 int octeon_mbox_read(struct octeon_mbox *mbox) in octeon_mbox_read() argument
41 spin_lock(&mbox->lock); in octeon_mbox_read()
43 msg.u64 = readq(mbox->mbox_read_reg); in octeon_mbox_read()
46 spin_unlock(&mbox->lock); in octeon_mbox_read()
50 if (mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVING) { in octeon_mbox_read()
51 mbox->mbox_req.data[mbox->mbox_req.recv_len - 1] = msg.u64; in octeon_mbox_read()
52 mbox in octeon_mbox_read()
134 struct octeon_mbox *mbox = oct->mbox[mbox_cmd->q_no]; octeon_mbox_write() local
236 octeon_mbox_process_cmd(struct octeon_mbox *mbox, struct octeon_mbox_cmd *mbox_cmd) octeon_mbox_process_cmd() argument
293 octeon_mbox_process_message(struct octeon_mbox *mbox) octeon_mbox_process_message() argument
357 struct octeon_mbox *mbox = oct->mbox[q_no]; octeon_mbox_cancel() local
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/cavium/liquidio/
H A Docteon_mailbox.c31 * @mbox: Pointer mailbox
33 * Reads the 8-bytes of data from the mbox register
36 int octeon_mbox_read(struct octeon_mbox *mbox) in octeon_mbox_read() argument
41 spin_lock(&mbox->lock); in octeon_mbox_read()
43 msg.u64 = readq(mbox->mbox_read_reg); in octeon_mbox_read()
46 spin_unlock(&mbox->lock); in octeon_mbox_read()
50 if (mbox->state & OCTEON_MBOX_STATE_REQUEST_RECEIVING) { in octeon_mbox_read()
51 mbox->mbox_req.data[mbox->mbox_req.recv_len - 1] = msg.u64; in octeon_mbox_read()
52 mbox in octeon_mbox_read()
134 struct octeon_mbox *mbox = oct->mbox[mbox_cmd->q_no]; octeon_mbox_write() local
236 octeon_mbox_process_cmd(struct octeon_mbox *mbox, struct octeon_mbox_cmd *mbox_cmd) octeon_mbox_process_cmd() argument
293 octeon_mbox_process_message(struct octeon_mbox *mbox) octeon_mbox_process_message() argument
357 struct octeon_mbox *mbox = oct->mbox[q_no]; octeon_mbox_cancel() local
[all...]
/kernel/linux/linux-5.10/drivers/mailbox/
H A Dmailbox-altera.c60 static inline int altera_mbox_full(struct altera_mbox *mbox) in altera_mbox_full() argument
64 status = readl_relaxed(mbox->mbox_base + MAILBOX_STS_REG); in altera_mbox_full()
68 static inline int altera_mbox_pending(struct altera_mbox *mbox) in altera_mbox_pending() argument
72 status = readl_relaxed(mbox->mbox_base + MAILBOX_STS_REG); in altera_mbox_pending()
76 static void altera_mbox_rx_intmask(struct altera_mbox *mbox, bool enable) in altera_mbox_rx_intmask() argument
80 mask = readl_relaxed(mbox->mbox_base + MAILBOX_INTMASK_REG); in altera_mbox_rx_intmask()
85 writel_relaxed(mask, mbox->mbox_base + MAILBOX_INTMASK_REG); in altera_mbox_rx_intmask()
88 static void altera_mbox_tx_intmask(struct altera_mbox *mbox, bool enable) in altera_mbox_tx_intmask() argument
92 mask = readl_relaxed(mbox->mbox_base + MAILBOX_INTMASK_REG); in altera_mbox_tx_intmask()
97 writel_relaxed(mask, mbox in altera_mbox_tx_intmask()
100 altera_mbox_is_sender(struct altera_mbox *mbox) altera_mbox_is_sender() argument
119 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_rx_data() local
133 struct altera_mbox *mbox = from_timer(mbox, t, rxpoll_timer); altera_mbox_poll_rx() local
144 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_tx_interrupt() local
163 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_startup_sender() local
182 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_startup_receiver() local
208 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_send_data() local
235 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_last_tx_done() local
243 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_peek_data() local
250 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_startup() local
266 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_shutdown() local
287 struct altera_mbox *mbox; altera_mbox_probe() local
[all...]
H A Dsun6i-msgbox.c44 #define mbox_dbg(mbox, ...) dev_dbg((mbox)->controller.dev, __VA_ARGS__)
58 return chan - chan->mbox->chans; in channel_number()
68 struct sun6i_msgbox *mbox = dev_id; in sun6i_msgbox_irq() local
73 status = readl(mbox->regs + LOCAL_IRQ_EN_REG) & in sun6i_msgbox_irq()
74 readl(mbox->regs + LOCAL_IRQ_STAT_REG); in sun6i_msgbox_irq()
80 struct mbox_chan *chan = &mbox->controller.chans[n]; in sun6i_msgbox_irq()
86 uint32_t msg = readl(mbox->regs + MSG_DATA_REG(n)); in sun6i_msgbox_irq()
88 mbox_dbg(mbox, "Channel %d received 0x%08x\n", n, msg); in sun6i_msgbox_irq()
93 writel(RX_IRQ(n), mbox in sun6i_msgbox_irq()
101 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_send_data() local
117 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_startup() local
141 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_shutdown() local
164 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_last_tx_done() local
181 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_peek_data() local
201 struct sun6i_msgbox *mbox; sun6i_msgbox_probe() local
299 struct sun6i_msgbox *mbox = platform_get_drvdata(pdev); sun6i_msgbox_remove() local
[all...]
H A Dhi6220-mailbox.c89 static void mbox_set_state(struct hi6220_mbox *mbox, in mbox_set_state() argument
94 status = readl(mbox->base + MBOX_MODE_REG(slot)); in mbox_set_state()
96 writel(status, mbox->base + MBOX_MODE_REG(slot)); in mbox_set_state()
99 static void mbox_set_mode(struct hi6220_mbox *mbox, in mbox_set_mode() argument
104 mode = readl(mbox->base + MBOX_MODE_REG(slot)); in mbox_set_mode()
106 writel(mode, mbox->base + MBOX_MODE_REG(slot)); in mbox_set_mode()
112 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_last_tx_done() local
116 BUG_ON(mbox->tx_irq_mode); in hi6220_mbox_last_tx_done()
118 state = readl(mbox->base + MBOX_MODE_REG(mchan->slot)); in hi6220_mbox_last_tx_done()
125 struct hi6220_mbox *mbox in hi6220_mbox_send_data() local
150 struct hi6220_mbox *mbox = p; hi6220_mbox_interrupt() local
196 struct hi6220_mbox *mbox = mchan->parent; hi6220_mbox_startup() local
208 struct hi6220_mbox *mbox = mchan->parent; hi6220_mbox_shutdown() local
225 struct hi6220_mbox *mbox = dev_get_drvdata(controller->dev); hi6220_mbox_xlate() local
266 struct hi6220_mbox *mbox; hi6220_mbox_probe() local
[all...]
H A Domap-mailbox.c68 struct omap_mbox *mbox; member
144 static u32 mbox_fifo_read(struct omap_mbox *mbox) in mbox_fifo_read() argument
146 struct omap_mbox_fifo *fifo = &mbox->rx_fifo; in mbox_fifo_read()
148 return mbox_read_reg(mbox->parent, fifo->msg); in mbox_fifo_read()
151 static void mbox_fifo_write(struct omap_mbox *mbox, u32 msg) in mbox_fifo_write() argument
153 struct omap_mbox_fifo *fifo = &mbox->tx_fifo; in mbox_fifo_write()
155 mbox_write_reg(mbox->parent, msg, fifo->msg); in mbox_fifo_write()
158 static int mbox_fifo_empty(struct omap_mbox *mbox) in mbox_fifo_empty() argument
160 struct omap_mbox_fifo *fifo = &mbox->rx_fifo; in mbox_fifo_empty()
162 return (mbox_read_reg(mbox in mbox_fifo_empty()
165 mbox_fifo_full(struct omap_mbox *mbox) mbox_fifo_full() argument
173 ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) ack_mbox_irq() argument
186 is_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) is_mbox_irq() argument
200 _omap_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) _omap_mbox_enable_irq() argument
213 _omap_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) _omap_mbox_disable_irq() argument
232 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_enable_irq() local
243 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_disable_irq() local
281 __mbox_tx_interrupt(struct omap_mbox *mbox) __mbox_tx_interrupt() argument
288 __mbox_rx_interrupt(struct omap_mbox *mbox) __mbox_rx_interrupt() argument
315 struct omap_mbox *mbox = p; mbox_interrupt() local
326 mbox_queue_alloc(struct omap_mbox *mbox, void (*work)(struct work_struct *)) mbox_queue_alloc() argument
357 omap_mbox_startup(struct omap_mbox *mbox) omap_mbox_startup() argument
387 omap_mbox_fini(struct omap_mbox *mbox) omap_mbox_fini() argument
398 struct omap_mbox *_mbox, *mbox = NULL; omap_mbox_device_find() local
418 struct omap_mbox *mbox = NULL; omap_mbox_request_channel() local
477 struct omap_mbox *mbox = mboxes[i]; omap_mbox_register() local
521 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_chan_startup() local
536 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_chan_shutdown() local
545 omap_mbox_chan_send_noirq(struct omap_mbox *mbox, u32 msg) omap_mbox_chan_send_noirq() argument
563 omap_mbox_chan_send(struct omap_mbox *mbox, u32 msg) omap_mbox_chan_send() argument
579 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_chan_send_data() local
678 struct omap_mbox *mbox; omap_mbox_of_xlate() local
701 struct omap_mbox **list, *mbox, *mboxblk; omap_mbox_probe() local
[all...]
H A Darmada-37xx-rwtm-mailbox.c45 struct a37xx_mbox *mbox = chan->con_priv; in a37xx_mbox_receive() local
49 rx_msg.retval = readl(mbox->base + RWTM_MBOX_RETURN_STATUS); in a37xx_mbox_receive()
51 rx_msg.status[i] = readl(mbox->base + RWTM_MBOX_STATUS(i)); in a37xx_mbox_receive()
59 struct a37xx_mbox *mbox = chan->con_priv; in a37xx_mbox_irq_handler() local
62 reg = readl(mbox->base + RWTM_HOST_INT_RESET); in a37xx_mbox_irq_handler()
68 dev_err(mbox->dev, "Secure processor command queue full\n"); in a37xx_mbox_irq_handler()
70 writel(reg, mbox->base + RWTM_HOST_INT_RESET); in a37xx_mbox_irq_handler()
79 struct a37xx_mbox *mbox = chan->con_priv; in a37xx_mbox_send_data() local
87 reg = readl(mbox->base + RWTM_MBOX_FIFO_STATUS); in a37xx_mbox_send_data()
89 dev_warn(mbox in a37xx_mbox_send_data()
105 struct a37xx_mbox *mbox = chan->con_priv; a37xx_mbox_startup() local
127 struct a37xx_mbox *mbox = chan->con_priv; a37xx_mbox_shutdown() local
145 struct a37xx_mbox *mbox; armada_37xx_mbox_probe() local
[all...]
H A Dbcm2835-mailbox.c63 return container_of(link->mbox, struct bcm2835_mbox, controller); in bcm2835_link_mbox()
68 struct bcm2835_mbox *mbox = dev_id; in bcm2835_mbox_irq() local
69 struct device *dev = mbox->controller.dev; in bcm2835_mbox_irq()
70 struct mbox_chan *link = &mbox->controller.chans[0]; in bcm2835_mbox_irq()
72 while (!(readl(mbox->regs + MAIL0_STA) & ARM_MS_EMPTY)) { in bcm2835_mbox_irq()
73 u32 msg = readl(mbox->regs + MAIL0_RD); in bcm2835_mbox_irq()
82 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); in bcm2835_send_data() local
85 spin_lock(&mbox->lock); in bcm2835_send_data()
86 writel(msg, mbox->regs + MAIL1_WRT); in bcm2835_send_data()
87 dev_dbg(mbox in bcm2835_send_data()
94 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); bcm2835_startup() local
104 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); bcm2835_shutdown() local
111 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); bcm2835_last_tx_done() local
127 bcm2835_mbox_index_xlate(struct mbox_controller *mbox, const struct of_phandle_args *sp) bcm2835_mbox_index_xlate() argument
141 struct bcm2835_mbox *mbox; bcm2835_mbox_probe() local
[all...]
H A Dmailbox.c77 err = chan->mbox->ops->send_data(chan, data); in msg_submit()
87 spin_lock_irqsave(&chan->mbox->poll_hrt_lock, flags); in msg_submit()
88 hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); in msg_submit()
89 spin_unlock_irqrestore(&chan->mbox->poll_hrt_lock, flags); in msg_submit()
119 struct mbox_controller *mbox = in txdone_hrtimer() local
125 for (i = 0; i < mbox->num_chans; i++) { in txdone_hrtimer()
126 struct mbox_chan *chan = &mbox->chans[i]; in txdone_hrtimer()
129 txdone = chan->mbox->ops->last_tx_done(chan); in txdone_hrtimer()
138 spin_lock_irqsave(&mbox->poll_hrt_lock, flags); in txdone_hrtimer()
140 hrtimer_forward_now(hrtimer, ms_to_ktime(mbox in txdone_hrtimer()
340 struct mbox_controller *mbox; mbox_request_channel() local
467 of_mbox_index_xlate(struct mbox_controller *mbox, const struct of_phandle_args *sp) of_mbox_index_xlate() argument
484 mbox_controller_register(struct mbox_controller *mbox) mbox_controller_register() argument
536 mbox_controller_unregister(struct mbox_controller *mbox) mbox_controller_unregister() argument
559 struct mbox_controller **mbox = res; __devm_mbox_controller_unregister() local
566 struct mbox_controller **mbox = res; devm_mbox_controller_match() local
586 devm_mbox_controller_register(struct device *dev, struct mbox_controller *mbox) devm_mbox_controller_register() argument
620 devm_mbox_controller_unregister(struct device *dev, struct mbox_controller *mbox) devm_mbox_controller_unregister() argument
[all...]
H A Dhi3660-mailbox.c24 #define MBOX_BASE(mbox, ch) ((mbox)->base + ((ch) * 0x40))
81 static struct hi3660_mbox *to_hi3660_mbox(struct mbox_controller *mbox) in to_hi3660_mbox() argument
83 return container_of(mbox, struct hi3660_mbox, controller); in to_hi3660_mbox()
89 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); in hi3660_mbox_check_state() local
90 struct hi3660_chan_info *mchan = &mbox->mchan[ch]; in hi3660_mbox_check_state()
91 void __iomem *base = MBOX_BASE(mbox, ch); in hi3660_mbox_check_state()
103 dev_err(mbox->dev, "%s: timeout for receiving ack\n", __func__); in hi3660_mbox_check_state()
115 struct hi3660_mbox *mbox in hi3660_mbox_unlock() local
137 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); hi3660_mbox_acquire_channel() local
178 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); hi3660_mbox_send_data() local
215 struct hi3660_mbox *mbox = to_hi3660_mbox(controller); hi3660_mbox_xlate() local
241 struct hi3660_mbox *mbox; hi3660_mbox_probe() local
[all...]
/kernel/linux/linux-6.6/drivers/mailbox/
H A Dmailbox-altera.c60 static inline int altera_mbox_full(struct altera_mbox *mbox) in altera_mbox_full() argument
64 status = readl_relaxed(mbox->mbox_base + MAILBOX_STS_REG); in altera_mbox_full()
68 static inline int altera_mbox_pending(struct altera_mbox *mbox) in altera_mbox_pending() argument
72 status = readl_relaxed(mbox->mbox_base + MAILBOX_STS_REG); in altera_mbox_pending()
76 static void altera_mbox_rx_intmask(struct altera_mbox *mbox, bool enable) in altera_mbox_rx_intmask() argument
80 mask = readl_relaxed(mbox->mbox_base + MAILBOX_INTMASK_REG); in altera_mbox_rx_intmask()
85 writel_relaxed(mask, mbox->mbox_base + MAILBOX_INTMASK_REG); in altera_mbox_rx_intmask()
88 static void altera_mbox_tx_intmask(struct altera_mbox *mbox, bool enable) in altera_mbox_tx_intmask() argument
92 mask = readl_relaxed(mbox->mbox_base + MAILBOX_INTMASK_REG); in altera_mbox_tx_intmask()
97 writel_relaxed(mask, mbox in altera_mbox_tx_intmask()
100 altera_mbox_is_sender(struct altera_mbox *mbox) altera_mbox_is_sender() argument
119 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_rx_data() local
133 struct altera_mbox *mbox = from_timer(mbox, t, rxpoll_timer); altera_mbox_poll_rx() local
144 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_tx_interrupt() local
163 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_startup_sender() local
182 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_startup_receiver() local
208 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_send_data() local
235 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_last_tx_done() local
243 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_peek_data() local
250 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_startup() local
266 struct altera_mbox *mbox = mbox_chan_to_altera_mbox(chan); altera_mbox_shutdown() local
287 struct altera_mbox *mbox; altera_mbox_probe() local
[all...]
H A Dsun6i-msgbox.c44 #define mbox_dbg(mbox, ...) dev_dbg((mbox)->controller.dev, __VA_ARGS__)
58 return chan - chan->mbox->chans; in channel_number()
68 struct sun6i_msgbox *mbox = dev_id; in sun6i_msgbox_irq() local
73 status = readl(mbox->regs + LOCAL_IRQ_EN_REG) & in sun6i_msgbox_irq()
74 readl(mbox->regs + LOCAL_IRQ_STAT_REG); in sun6i_msgbox_irq()
80 struct mbox_chan *chan = &mbox->controller.chans[n]; in sun6i_msgbox_irq()
86 uint32_t msg = readl(mbox->regs + MSG_DATA_REG(n)); in sun6i_msgbox_irq()
88 mbox_dbg(mbox, "Channel %d received 0x%08x\n", n, msg); in sun6i_msgbox_irq()
93 writel(RX_IRQ(n), mbox in sun6i_msgbox_irq()
101 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_send_data() local
117 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_startup() local
141 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_shutdown() local
164 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_last_tx_done() local
181 struct sun6i_msgbox *mbox = to_sun6i_msgbox(chan); sun6i_msgbox_peek_data() local
200 struct sun6i_msgbox *mbox; sun6i_msgbox_probe() local
292 struct sun6i_msgbox *mbox = platform_get_drvdata(pdev); sun6i_msgbox_remove() local
[all...]
H A Dbcm2835-mailbox.c63 return container_of(link->mbox, struct bcm2835_mbox, controller); in bcm2835_link_mbox()
68 struct bcm2835_mbox *mbox = dev_id; in bcm2835_mbox_irq() local
69 struct device *dev = mbox->controller.dev; in bcm2835_mbox_irq()
70 struct mbox_chan *link = &mbox->controller.chans[0]; in bcm2835_mbox_irq()
72 while (!(readl(mbox->regs + MAIL0_STA) & ARM_MS_EMPTY)) { in bcm2835_mbox_irq()
73 u32 msg = readl(mbox->regs + MAIL0_RD); in bcm2835_mbox_irq()
82 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); in bcm2835_send_data() local
85 spin_lock(&mbox->lock); in bcm2835_send_data()
86 writel(msg, mbox->regs + MAIL1_WRT); in bcm2835_send_data()
87 dev_dbg(mbox in bcm2835_send_data()
94 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); bcm2835_startup() local
104 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); bcm2835_shutdown() local
111 struct bcm2835_mbox *mbox = bcm2835_link_mbox(link); bcm2835_last_tx_done() local
127 bcm2835_mbox_index_xlate(struct mbox_controller *mbox, const struct of_phandle_args *sp) bcm2835_mbox_index_xlate() argument
140 struct bcm2835_mbox *mbox; bcm2835_mbox_probe() local
[all...]
H A Dhi6220-mailbox.c90 static void mbox_set_state(struct hi6220_mbox *mbox, in mbox_set_state() argument
95 status = readl(mbox->base + MBOX_MODE_REG(slot)); in mbox_set_state()
97 writel(status, mbox->base + MBOX_MODE_REG(slot)); in mbox_set_state()
100 static void mbox_set_mode(struct hi6220_mbox *mbox, in mbox_set_mode() argument
105 mode = readl(mbox->base + MBOX_MODE_REG(slot)); in mbox_set_mode()
107 writel(mode, mbox->base + MBOX_MODE_REG(slot)); in mbox_set_mode()
113 struct hi6220_mbox *mbox = mchan->parent; in hi6220_mbox_last_tx_done() local
117 BUG_ON(mbox->tx_irq_mode); in hi6220_mbox_last_tx_done()
119 state = readl(mbox->base + MBOX_MODE_REG(mchan->slot)); in hi6220_mbox_last_tx_done()
126 struct hi6220_mbox *mbox in hi6220_mbox_send_data() local
151 struct hi6220_mbox *mbox = p; hi6220_mbox_interrupt() local
197 struct hi6220_mbox *mbox = mchan->parent; hi6220_mbox_startup() local
209 struct hi6220_mbox *mbox = mchan->parent; hi6220_mbox_shutdown() local
226 struct hi6220_mbox *mbox = dev_get_drvdata(controller->dev); hi6220_mbox_xlate() local
267 struct hi6220_mbox *mbox; hi6220_mbox_probe() local
[all...]
H A Dmailbox-mpfs.c74 static bool mpfs_mbox_busy(struct mpfs_mbox *mbox) in mpfs_mbox_busy() argument
78 status = readl_relaxed(mbox->ctrl_base + SERVICES_SR_OFFSET); in mpfs_mbox_busy()
85 struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; in mpfs_mbox_last_tx_done() local
86 struct mpfs_mss_response *response = mbox->response; in mpfs_mbox_last_tx_done()
89 if (mpfs_mbox_busy(mbox)) in mpfs_mbox_last_tx_done()
98 val = readl_relaxed(mbox->ctrl_base + SERVICES_SR_OFFSET); in mpfs_mbox_last_tx_done()
106 struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; in mpfs_mbox_send_data() local
112 mbox->response = msg->response; in mpfs_mbox_send_data()
113 mbox->resp_offset = msg->resp_offset; in mpfs_mbox_send_data()
115 if (mpfs_mbox_busy(mbox)) in mpfs_mbox_send_data()
153 struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; mpfs_mbox_rx_data() local
186 struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; mpfs_mbox_inbox_isr() local
197 struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; mpfs_mbox_startup() local
212 struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; mpfs_mbox_shutdown() local
226 struct mpfs_mbox *mbox; mpfs_mbox_probe() local
[all...]
H A Domap-mailbox.c68 struct omap_mbox *mbox; member
144 static u32 mbox_fifo_read(struct omap_mbox *mbox) in mbox_fifo_read() argument
146 struct omap_mbox_fifo *fifo = &mbox->rx_fifo; in mbox_fifo_read()
148 return mbox_read_reg(mbox->parent, fifo->msg); in mbox_fifo_read()
151 static void mbox_fifo_write(struct omap_mbox *mbox, u32 msg) in mbox_fifo_write() argument
153 struct omap_mbox_fifo *fifo = &mbox->tx_fifo; in mbox_fifo_write()
155 mbox_write_reg(mbox->parent, msg, fifo->msg); in mbox_fifo_write()
158 static int mbox_fifo_empty(struct omap_mbox *mbox) in mbox_fifo_empty() argument
160 struct omap_mbox_fifo *fifo = &mbox->rx_fifo; in mbox_fifo_empty()
162 return (mbox_read_reg(mbox in mbox_fifo_empty()
165 mbox_fifo_full(struct omap_mbox *mbox) mbox_fifo_full() argument
173 ack_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) ack_mbox_irq() argument
186 is_mbox_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) is_mbox_irq() argument
200 _omap_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) _omap_mbox_enable_irq() argument
213 _omap_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq) _omap_mbox_disable_irq() argument
232 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_enable_irq() local
243 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_disable_irq() local
281 __mbox_tx_interrupt(struct omap_mbox *mbox) __mbox_tx_interrupt() argument
288 __mbox_rx_interrupt(struct omap_mbox *mbox) __mbox_rx_interrupt() argument
315 struct omap_mbox *mbox = p; mbox_interrupt() local
326 mbox_queue_alloc(struct omap_mbox *mbox, void (*work)(struct work_struct *)) mbox_queue_alloc() argument
357 omap_mbox_startup(struct omap_mbox *mbox) omap_mbox_startup() argument
387 omap_mbox_fini(struct omap_mbox *mbox) omap_mbox_fini() argument
398 struct omap_mbox *_mbox, *mbox = NULL; omap_mbox_device_find() local
418 struct omap_mbox *mbox = NULL; omap_mbox_request_channel() local
463 struct omap_mbox *mbox = mboxes[i]; omap_mbox_register() local
507 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_chan_startup() local
522 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_chan_shutdown() local
531 omap_mbox_chan_send_noirq(struct omap_mbox *mbox, u32 msg) omap_mbox_chan_send_noirq() argument
549 omap_mbox_chan_send(struct omap_mbox *mbox, u32 msg) omap_mbox_chan_send() argument
565 struct omap_mbox *mbox = mbox_chan_to_omap_mbox(chan); omap_mbox_chan_send_data() local
668 struct omap_mbox *mbox; omap_mbox_of_xlate() local
690 struct omap_mbox **list, *mbox, *mboxblk; omap_mbox_probe() local
[all...]
H A Darmada-37xx-rwtm-mailbox.c45 struct a37xx_mbox *mbox = chan->con_priv; in a37xx_mbox_receive() local
49 rx_msg.retval = readl(mbox->base + RWTM_MBOX_RETURN_STATUS); in a37xx_mbox_receive()
51 rx_msg.status[i] = readl(mbox->base + RWTM_MBOX_STATUS(i)); in a37xx_mbox_receive()
59 struct a37xx_mbox *mbox = chan->con_priv; in a37xx_mbox_irq_handler() local
62 reg = readl(mbox->base + RWTM_HOST_INT_RESET); in a37xx_mbox_irq_handler()
68 dev_err(mbox->dev, "Secure processor command queue full\n"); in a37xx_mbox_irq_handler()
70 writel(reg, mbox->base + RWTM_HOST_INT_RESET); in a37xx_mbox_irq_handler()
79 struct a37xx_mbox *mbox = chan->con_priv; in a37xx_mbox_send_data() local
87 reg = readl(mbox->base + RWTM_MBOX_FIFO_STATUS); in a37xx_mbox_send_data()
89 dev_warn(mbox in a37xx_mbox_send_data()
105 struct a37xx_mbox *mbox = chan->con_priv; a37xx_mbox_startup() local
127 struct a37xx_mbox *mbox = chan->con_priv; a37xx_mbox_shutdown() local
145 struct a37xx_mbox *mbox; armada_37xx_mbox_probe() local
[all...]
H A Dmailbox.c78 err = chan->mbox->ops->send_data(chan, data); in msg_submit()
88 spin_lock_irqsave(&chan->mbox->poll_hrt_lock, flags); in msg_submit()
89 hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); in msg_submit()
90 spin_unlock_irqrestore(&chan->mbox->poll_hrt_lock, flags); in msg_submit()
120 struct mbox_controller *mbox = in txdone_hrtimer() local
126 for (i = 0; i < mbox->num_chans; i++) { in txdone_hrtimer()
127 struct mbox_chan *chan = &mbox->chans[i]; in txdone_hrtimer()
130 txdone = chan->mbox->ops->last_tx_done(chan); in txdone_hrtimer()
139 spin_lock_irqsave(&mbox->poll_hrt_lock, flags); in txdone_hrtimer()
141 hrtimer_forward_now(hrtimer, ms_to_ktime(mbox in txdone_hrtimer()
406 struct mbox_controller *mbox; mbox_request_channel() local
508 of_mbox_index_xlate(struct mbox_controller *mbox, const struct of_phandle_args *sp) of_mbox_index_xlate() argument
525 mbox_controller_register(struct mbox_controller *mbox) mbox_controller_register() argument
577 mbox_controller_unregister(struct mbox_controller *mbox) mbox_controller_unregister() argument
600 struct mbox_controller **mbox = res; __devm_mbox_controller_unregister() local
607 struct mbox_controller **mbox = res; devm_mbox_controller_match() local
627 devm_mbox_controller_register(struct device *dev, struct mbox_controller *mbox) devm_mbox_controller_register() argument
661 devm_mbox_controller_unregister(struct device *dev, struct mbox_controller *mbox) devm_mbox_controller_unregister() argument
[all...]
H A Dhi3660-mailbox.c25 #define MBOX_BASE(mbox, ch) ((mbox)->base + ((ch) * 0x40))
80 static struct hi3660_mbox *to_hi3660_mbox(struct mbox_controller *mbox) in to_hi3660_mbox() argument
82 return container_of(mbox, struct hi3660_mbox, controller); in to_hi3660_mbox()
88 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); in hi3660_mbox_check_state() local
89 struct hi3660_chan_info *mchan = &mbox->mchan[ch]; in hi3660_mbox_check_state()
90 void __iomem *base = MBOX_BASE(mbox, ch); in hi3660_mbox_check_state()
102 dev_err(mbox->dev, "%s: timeout for receiving ack\n", __func__); in hi3660_mbox_check_state()
114 struct hi3660_mbox *mbox in hi3660_mbox_unlock() local
136 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); hi3660_mbox_acquire_channel() local
177 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); hi3660_mbox_send_data() local
214 struct hi3660_mbox *mbox = to_hi3660_mbox(controller); hi3660_mbox_xlate() local
240 struct hi3660_mbox *mbox; hi3660_mbox_probe() local
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeontx2/af/
H A Dmbox.c13 #include "mbox.h"
18 void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid) in __otx2_mbox_reset() argument
20 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in __otx2_mbox_reset()
24 tx_hdr = hw_mbase + mbox->tx_start; in __otx2_mbox_reset()
25 rx_hdr = hw_mbase + mbox->rx_start; in __otx2_mbox_reset()
36 void otx2_mbox_reset(struct otx2_mbox *mbox, int devid) in otx2_mbox_reset() argument
38 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_reset()
41 __otx2_mbox_reset(mbox, devid); in otx2_mbox_reset()
46 void otx2_mbox_destroy(struct otx2_mbox *mbox) in otx2_mbox_destroy() argument
48 mbox in otx2_mbox_destroy()
56 otx2_mbox_setup(struct otx2_mbox *mbox, struct pci_dev *pdev, void *reg_base, int direction, int ndevs) otx2_mbox_setup() argument
130 otx2_mbox_init(struct otx2_mbox *mbox, void *hwbase, struct pci_dev *pdev, void *reg_base, int direction, int ndevs) otx2_mbox_init() argument
158 otx2_mbox_regions_init(struct otx2_mbox *mbox, void **hwbase, struct pci_dev *pdev, void *reg_base, int direction, int ndevs, unsigned long *pf_bmap) otx2_mbox_regions_init() argument
187 otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid) otx2_mbox_wait_for_rsp() argument
203 otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid) otx2_mbox_busy_poll_for_rsp() argument
217 otx2_mbox_msg_send_data(struct otx2_mbox *mbox, int devid, u64 data) otx2_mbox_msg_send_data() argument
270 otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid) otx2_mbox_msg_send() argument
276 otx2_mbox_msg_send_up(struct otx2_mbox *mbox, int devid) otx2_mbox_msg_send_up() argument
282 otx2_mbox_wait_for_zero(struct otx2_mbox *mbox, int devid) otx2_mbox_wait_for_zero() argument
304 otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid, int size, int size_rsp) otx2_mbox_alloc_msg_rsp() argument
339 otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid, struct mbox_msghdr *msg) otx2_mbox_get_rsp() argument
373 otx2_mbox_check_rsp_msgs(struct otx2_mbox *mbox, int devid) otx2_mbox_check_rsp_msgs() argument
413 otx2_reply_invalid_msg(struct otx2_mbox *mbox, int devid, u16 pcifunc, u16 id) otx2_reply_invalid_msg() argument
429 otx2_mbox_nonempty(struct otx2_mbox *mbox, int devid) otx2_mbox_nonempty() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/marvell/octeontx2/af/
H A Dmbox.c16 #include "mbox.h"
21 void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid) in __otx2_mbox_reset() argument
23 void *hw_mbase = mbox->hwbase + (devid * MBOX_SIZE); in __otx2_mbox_reset()
24 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in __otx2_mbox_reset()
27 tx_hdr = hw_mbase + mbox->tx_start; in __otx2_mbox_reset()
28 rx_hdr = hw_mbase + mbox->rx_start; in __otx2_mbox_reset()
39 void otx2_mbox_reset(struct otx2_mbox *mbox, int devid) in otx2_mbox_reset() argument
41 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in otx2_mbox_reset()
44 __otx2_mbox_reset(mbox, devid); in otx2_mbox_reset()
49 void otx2_mbox_destroy(struct otx2_mbox *mbox) in otx2_mbox_destroy() argument
59 otx2_mbox_init(struct otx2_mbox *mbox, void *hwbase, struct pci_dev *pdev, void *reg_base, int direction, int ndevs) otx2_mbox_init() argument
146 otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid) otx2_mbox_wait_for_rsp() argument
162 otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid) otx2_mbox_busy_poll_for_rsp() argument
176 otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid) otx2_mbox_msg_send() argument
224 otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid, int size, int size_rsp) otx2_mbox_alloc_msg_rsp() argument
259 otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid, struct mbox_msghdr *msg) otx2_mbox_get_rsp() argument
293 otx2_mbox_check_rsp_msgs(struct otx2_mbox *mbox, int devid) otx2_mbox_check_rsp_msgs() argument
333 otx2_reply_invalid_msg(struct otx2_mbox *mbox, int devid, u16 pcifunc, u16 id) otx2_reply_invalid_msg() argument
349 otx2_mbox_nonempty(struct otx2_mbox *mbox, int devid) otx2_mbox_nonempty() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeon_ep/
H A Doctep_ctrl_mbox.c27 /* Size of mbox info in bytes */
29 /* Size of mbox host to fw queue info in bytes */
31 /* Size of mbox fw to host queue info in bytes */
74 int octep_ctrl_mbox_init(struct octep_ctrl_mbox *mbox) in octep_ctrl_mbox_init() argument
78 if (!mbox) in octep_ctrl_mbox_init()
81 if (!mbox->barmem) { in octep_ctrl_mbox_init()
82 pr_info("octep_ctrl_mbox : Invalid barmem %p\n", mbox->barmem); in octep_ctrl_mbox_init()
86 magic_num = readq(OCTEP_CTRL_MBOX_INFO_MAGIC_NUM(mbox->barmem)); in octep_ctrl_mbox_init()
92 status = readq(OCTEP_CTRL_MBOX_INFO_FW_STATUS(mbox->barmem)); in octep_ctrl_mbox_init()
98 fw_versions = readq(OCTEP_CTRL_MBOX_INFO_FW_VERSION(mbox in octep_ctrl_mbox_init()
160 octep_ctrl_mbox_send(struct octep_ctrl_mbox *mbox, struct octep_ctrl_mbox_msg *msg) octep_ctrl_mbox_send() argument
225 octep_ctrl_mbox_recv(struct octep_ctrl_mbox *mbox, struct octep_ctrl_mbox_msg *msg) octep_ctrl_mbox_recv() argument
260 octep_ctrl_mbox_uninit(struct octep_ctrl_mbox *mbox) octep_ctrl_mbox_uninit() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_dmac_flt.c17 mutex_lock(&pf->mbox.lock); in otx2_dmacflt_do_add()
19 req = otx2_mbox_alloc_msg_cgx_mac_addr_add(&pf->mbox); in otx2_dmacflt_do_add()
21 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_do_add()
26 err = otx2_sync_mbox_msg(&pf->mbox); in otx2_dmacflt_do_add()
30 otx2_mbox_get_rsp(&pf->mbox.mbox, 0, &req->hdr); in otx2_dmacflt_do_add()
34 mutex_unlock(&pf->mbox.lock); in otx2_dmacflt_do_add()
44 mutex_lock(&pf->mbox.lock); in otx2_dmacflt_add_pfmac()
46 req = otx2_mbox_alloc_msg_cgx_mac_addr_set(&pf->mbox); in otx2_dmacflt_add_pfmac()
48 mutex_unlock(&pf->mbox in otx2_dmacflt_add_pfmac()
[all...]
/kernel/linux/linux-6.6/drivers/crypto/marvell/octeontx2/
H A Dotx2_cpt_mbox_common.c7 int otx2_cpt_send_mbox_msg(struct otx2_mbox *mbox, struct pci_dev *pdev) in otx2_cpt_send_mbox_msg() argument
11 otx2_mbox_msg_send(mbox, 0); in otx2_cpt_send_mbox_msg()
12 ret = otx2_mbox_wait_for_rsp(mbox, 0); in otx2_cpt_send_mbox_msg()
24 int otx2_cpt_send_ready_msg(struct otx2_mbox *mbox, struct pci_dev *pdev) in otx2_cpt_send_ready_msg() argument
28 req = otx2_mbox_alloc_msg_rsp(mbox, 0, sizeof(*req), in otx2_cpt_send_ready_msg()
38 return otx2_cpt_send_mbox_msg(mbox, pdev); in otx2_cpt_send_ready_msg()
42 int otx2_cpt_send_af_reg_requests(struct otx2_mbox *mbox, struct pci_dev *pdev) in otx2_cpt_send_af_reg_requests() argument
44 return otx2_cpt_send_mbox_msg(mbox, pdev); in otx2_cpt_send_af_reg_requests()
48 static int otx2_cpt_add_read_af_reg(struct otx2_mbox *mbox, in otx2_cpt_add_read_af_reg() argument
55 otx2_mbox_alloc_msg_rsp(mbox, in otx2_cpt_add_read_af_reg()
74 otx2_cpt_add_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, u64 reg, u64 val, int blkaddr) otx2_cpt_add_write_af_reg() argument
100 otx2_cpt_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, u64 reg, u64 *val, int blkaddr) otx2_cpt_read_af_reg() argument
113 otx2_cpt_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, u64 reg, u64 val, int blkaddr) otx2_cpt_write_af_reg() argument
128 struct otx2_mbox *mbox = lfs->mbox; otx2_cpt_attach_rscrs_msg() local
158 struct otx2_mbox *mbox = lfs->mbox; otx2_cpt_detach_rsrcs_msg() local
187 struct otx2_mbox *mbox = lfs->mbox; otx2_cpt_msix_offset_msg() local
218 otx2_cpt_sync_mbox_msg(struct otx2_mbox *mbox) otx2_cpt_sync_mbox_msg() argument
[all...]
/kernel/linux/linux-5.10/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_vf.c86 struct otx2_mbox *mbox; in otx2vf_vfaf_mbox_handler() local
87 struct mbox *af_mbox; in otx2vf_vfaf_mbox_handler()
90 af_mbox = container_of(work, struct mbox, mbox_wrk); in otx2vf_vfaf_mbox_handler()
91 mbox = &af_mbox->mbox; in otx2vf_vfaf_mbox_handler()
92 mdev = &mbox->dev[0]; in otx2vf_vfaf_mbox_handler()
93 rsp_hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in otx2vf_vfaf_mbox_handler()
96 offset = mbox->rx_start + ALIGN(sizeof(*rsp_hdr), MBOX_MSG_ALIGN); in otx2vf_vfaf_mbox_handler()
101 offset = mbox->rx_start + msg->next_msgoff; in otx2vf_vfaf_mbox_handler()
103 __otx2_mbox_reset(mbox, in otx2vf_vfaf_mbox_handler()
147 struct otx2_mbox *mbox; otx2vf_vfaf_mbox_up_handler() local
176 struct otx2_mbox *mbox; otx2vf_vfaf_mbox_intr_handler() local
272 struct mbox *mbox = &vf->mbox; otx2vf_vfaf_mbox_destroy() local
289 struct mbox *mbox = &vf->mbox; otx2vf_vfaf_mbox_init() local
[all...]

Completed in 13 milliseconds

12345678910>>...15