/kernel/linux/linux-5.10/drivers/net/ethernet/cavium/liquidio/ |
H A D | octeon_mailbox.c | 31 * @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 D | octeon_mailbox.c | 31 * @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 D | mailbox-altera.c | 60 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 D | sun6i-msgbox.c | 44 #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 D | hi6220-mailbox.c | 89 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 D | omap-mailbox.c | 68 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 D | armada-37xx-rwtm-mailbox.c | 45 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 D | bcm2835-mailbox.c | 63 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 D | mailbox.c | 77 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 D | hi3660-mailbox.c | 24 #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 D | mailbox-altera.c | 60 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 D | sun6i-msgbox.c | 44 #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 D | bcm2835-mailbox.c | 63 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 D | hi6220-mailbox.c | 90 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 D | mailbox-mpfs.c | 74 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 D | omap-mailbox.c | 68 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 D | armada-37xx-rwtm-mailbox.c | 45 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 D | mailbox.c | 78 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 D | hi3660-mailbox.c | 25 #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 D | mbox.c | 13 #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 D | mbox.c | 16 #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 D | octep_ctrl_mbox.c | 27 /* 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 D | otx2_dmac_flt.c | 17 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 D | otx2_cpt_mbox_common.c | 7 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 D | otx2_vf.c | 86 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...] |