Home
last modified time | relevance | path

Searched +full:mbox +full:- (Results 1 – 25 of 403) sorted by relevance

12345678910>>...17

/linux/drivers/net/ethernet/marvell/octeontx2/af/
H A Dmbox.c1 // SPDX-License-Identifier: GPL-2.0
15 #include "mbox.h"
21 void __otx2_mbox_reset(struct otx2_mbox *mbox, int devid) in __otx2_mbox_reset() argument
23 struct otx2_mbox_dev *mdev = &mbox->dev[devid]; in __otx2_mbox_reset()
25 void *hw_mbase = mdev->hwbase; 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()
30 mdev->msg_size = 0; in __otx2_mbox_reset()
31 mdev->rsp_size = 0; in __otx2_mbox_reset()
32 tx_hdr->num_msgs = 0; in __otx2_mbox_reset()
[all …]
/linux/drivers/net/ethernet/cavium/liquidio/
H A Docteon_mailbox.c7 * Copyright (c) 2003-2016 Cavium, Inc.
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
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()
[all …]
/linux/drivers/mailbox/
H A Dmailbox-altera.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright Altera Corporation (C) 2013-2014. All rights reserved
15 #define DRIVER_NAME "altera-mailbox"
40 bool is_sender; /* 1-sender, 0-receiver */
54 if (!chan || !chan->con_priv) in mbox_chan_to_altera_mbox()
57 return (struct altera_mbox *)chan->con_priv; in mbox_chan_to_altera_mbox()
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()
[all …]
H A Dhi6220-mailbox.c1 // SPDX-License-Identifier: GPL-2.0-only
57 * - direction: tx or rx
58 * - dst irq: peer core's irq number
59 * - ack irq: local irq number
60 * - slot number
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()
[all …]
H A Dbcm74110-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
10 #include <linux/io-64-nonatomic-hi-lo.h>
94 struct bcm74110_mbox *mbox; member
115 static void bcm74110_##name##_writel(struct bcm74110_mbox *mbox,\
118 writel_relaxed(val, mbox->base + offset_base + off); \
120 BCM74110_OFFSET_IO_WRITEL_MACRO(tx, BCM_MBOX_BASE(mbox->tx_chan));
121 BCM74110_OFFSET_IO_WRITEL_MACRO(irq, BCM_MBOX_IRQ_BASE(mbox->rx_chan));
124 static u32 bcm74110_##name##_readl(struct bcm74110_mbox *mbox, \
127 return readl_relaxed(mbox->base + offset_base + off); \
129 BCM74110_OFFSET_IO_READL_MACRO(tx, BCM_MBOX_BASE(mbox->tx_chan));
[all …]
H A Domap-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2006-2009 Nokia Corporation. All rights reserved.
6 * Copyright (C) 2013-2021 Texas Instruments Incorporated - https://www.ti.com
9 * Suman Anna <s-anna@ti.com>
97 return __raw_readl(mdev->mbox_base + ofs); in mbox_read_reg()
103 __raw_writel(val, mdev->mbox_base + ofs); in mbox_write_reg()
107 static u32 mbox_fifo_read(struct omap_mbox *mbox) in mbox_fifo_read() argument
109 struct omap_mbox_fifo *fifo = &mbox->rx_fifo; in mbox_fifo_read()
111 return mbox_read_reg(mbox->parent, fifo->msg); in mbox_fifo_read()
114 static void mbox_fifo_write(struct omap_mbox *mbox, u32 msg) in mbox_fifo_write() argument
[all …]
H A Dsun6i-msgbox.c1 // SPDX-License-Identifier: GPL-2.0
3 // Copyright (c) 2017-2019 Samuel Holland <samuel@sholland.org>
44 #define mbox_dbg(mbox, ...) dev_dbg((mbox)->controller.dev, __VA_ARGS__) argument
58 return chan - chan->mbox->chans; in channel_number()
63 return chan->con_priv; in to_sun6i_msgbox()
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()
[all …]
H A Darmada-37xx-rwtm-mailbox.c1 // SPDX-License-Identifier: GPL-2.0+
16 #include <linux/armada-37xx-rwtm-mailbox.h>
18 #define DRIVER_NAME "armada-37xx-rwtm-mailbox"
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()
[all …]
H A Dbcm2835-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
4 * Copyright (C) 2013-2014 Lubomir Rintel
8 * - arch/arm/mach-bcm2708/vcio.c file written by Gray Girling that was
9 * obtained from branch "rpi-3.6.y" of git://github.com/raspberrypi/
11 * - drivers/mailbox/bcm2835-ipc.c by Lubomir Rintel at
12 * https://github.com/hackerspace/rpi-linux/blob/lr-raspberry-pi/drivers/
13 * mailbox/bcm2835-ipc.c
14 * - documentation available on the following web site:
15 * https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface
19 #include <linux/dma-mapping.h>
[all …]
H A Dhi3660-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (c) 2017-2018 HiSilicon Limited.
3 // Copyright (c) 2017-2018 Linaro Limited.
25 #define MBOX_BASE(mbox, ch) ((mbox)->base + ((ch) * 0x40)) argument
48 * struct hi3660_chan_info - Hi3660 mailbox channel information
62 * struct hi3660_mbox - Hi3660 mailbox controller data
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()
87 unsigned long ch = (unsigned long)chan->con_priv; in hi3660_mbox_check_state()
88 struct hi3660_mbox *mbox = to_hi3660_mbox(chan->mbox); in hi3660_mbox_check_state() local
[all …]
H A Dmtk-adsp-mailbox.c1 // SPDX-License-Identifier: GPL-2.0
4 * Author: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
19 struct mbox_controller mbox; member
31 static inline struct mtk_adsp_mbox_priv *get_mtk_adsp_mbox_priv(struct mbox_controller *mbox) in get_mtk_adsp_mbox_priv() argument
33 return container_of(mbox, struct mtk_adsp_mbox_priv, mbox); in get_mtk_adsp_mbox_priv()
39 struct mtk_adsp_mbox_priv *priv = get_mtk_adsp_mbox_priv(chan->mbox); in mtk_adsp_mbox_irq()
40 u32 op = readl(priv->va_mboxreg + priv->cfg->set_out); in mtk_adsp_mbox_irq()
42 writel(op, priv->va_mboxreg + priv->cfg->clr_out); in mtk_adsp_mbox_irq()
56 static struct mbox_chan *mtk_adsp_mbox_xlate(struct mbox_controller *mbox, in mtk_adsp_mbox_xlate() argument
59 return mbox->chans; in mtk_adsp_mbox_xlate()
[all …]
H A Dmailbox-sti.c1 // SPDX-License-Identifier: GPL-2.0-or-later
36 #define MBOX_BASE(mdev, inst) ((mdev)->base + ((inst) * 4))
39 * struct sti_mbox_device - STi Mailbox device data
42 * @mbox: Representation of a communication channel controller
55 struct mbox_controller *mbox; member
63 * struct sti_mbox_pdata - STi Mailbox platform specific configuration
74 * struct sti_channel - STi Mailbox allocated channel information
88 struct sti_channel *chan_info = chan->con_priv; in sti_mbox_channel_is_enabled()
89 struct sti_mbox_device *mdev = chan_info->mdev; in sti_mbox_channel_is_enabled()
90 unsigned int instance = chan_info->instance; in sti_mbox_channel_is_enabled()
[all …]
/linux/drivers/net/ethernet/marvell/octeon_ep/
H A Doctep_ctrl_mbox.c1 // SPDX-License-Identifier: GPL-2.0
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 */
66 return sz - (abs(pi - ci) % sz); in octep_ctrl_mbox_circq_space()
71 return (abs(pi - ci) % sz); in octep_ctrl_mbox_circq_depth()
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()
79 return -EINVAL; in octep_ctrl_mbox_init()
81 if (!mbox->barmem) { in octep_ctrl_mbox_init()
[all …]
H A Doctep_pfvf_mbox.c1 // SPDX-License-Identifier: GPL-2.0
40 dev_dbg(&oct->pdev->dev, "VF id:%d VF version:%d PF version:%d\n", in octep_pfvf_validate_version()
43 rsp->s_version.version = vf_version; in octep_pfvf_validate_version()
45 rsp->s_version.version = OCTEP_PFVF_MBOX_VERSION_CURRENT; in octep_pfvf_validate_version()
47 oct->vf_info[vf_id].mbox_version = rsp->s_version.version; in octep_pfvf_validate_version()
48 dev_dbg(&oct->pdev->dev, "VF id:%d negotiated VF version:%d\n", in octep_pfvf_validate_version()
49 vf_id, oct->vf_info[vf_id].mbox_version); in octep_pfvf_validate_version()
51 rsp->s_version.type = OCTEP_PFVF_MBOX_TYPE_RSP_ACK; in octep_pfvf_validate_version()
62 rsp->s_link_status.type = OCTEP_PFVF_MBOX_TYPE_RSP_NACK; in octep_pfvf_get_link_status()
63 dev_err(&oct->pdev->dev, "Get VF link status failed via host control Mbox\n"); in octep_pfvf_get_link_status()
[all …]
/linux/Documentation/devicetree/bindings/mailbox/
H A Dti,omap-mailbox.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/mailbox/ti,omap-mailbox.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Suman Anna <s-anna@ti.com>
35 lines can also be routed to different processor sub-systems on DRA7xx as they
49 within a SoC. The sub-mailboxes (actual communication channels) are
56 "mbox-names" (please see Documentation/devicetree/bindings/mailbox/mailbox.txt
59 phandle to the intended sub-mailbox child node to be used for communication.
60 The equivalent "mbox-names" property value can be used to give a name to the
[all …]
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dcn20k.c1 // SPDX-License-Identifier: GPL-2.0
21 pfvf->hw_ops = &cn20k_hw_ops; in cn20k_init()
24 /* CN20K mbox AF => PFx irq handler */
28 struct mbox *mw = &pf->mbox; in cn20k_pfaf_mbox_intr_handler()
30 struct otx2_mbox *mbox; in cn20k_pfaf_mbox_intr_handler() local
40 mbox = &mw->mbox_up; in cn20k_pfaf_mbox_intr_handler()
41 mdev = &mbox->dev[0]; in cn20k_pfaf_mbox_intr_handler()
42 otx2_sync_mbox_bbuf(mbox, 0); in cn20k_pfaf_mbox_intr_handler()
44 hdr = (struct mbox_hdr *)(mdev->mbase + mbox->rx_start); in cn20k_pfaf_mbox_intr_handler()
45 if (hdr->num_msgs) in cn20k_pfaf_mbox_intr_handler()
[all …]
H A Dotx2_ptp.c1 // SPDX-License-Identifier: GPL-2.0
19 if (!ptp->nic) in is_tstmp_atomic_update_supported()
22 mutex_lock(&ptp->nic->mbox.lock); in is_tstmp_atomic_update_supported()
23 req = otx2_mbox_alloc_msg_ptp_get_cap(&ptp->nic->mbox); in is_tstmp_atomic_update_supported()
25 mutex_unlock(&ptp->nic->mbox.lock); in is_tstmp_atomic_update_supported()
29 err = otx2_sync_mbox_msg(&ptp->nic->mbox); in is_tstmp_atomic_update_supported()
31 mutex_unlock(&ptp->nic->mbox.lock); in is_tstmp_atomic_update_supported()
34 rsp = (struct ptp_get_cap_rsp *)otx2_mbox_get_rsp(&ptp->nic->mbox.mbox, 0, in is_tstmp_atomic_update_supported()
35 &req->hdr); in is_tstmp_atomic_update_supported()
36 mutex_unlock(&ptp->nic->mbox.lock); in is_tstmp_atomic_update_supported()
[all …]
H A Dotx2_vf.c1 // SPDX-License-Identifier: GPL-2.0
42 if (msg->id >= MBOX_MSG_MAX) { in otx2vf_process_vfaf_mbox_msg()
43 dev_err(vf->dev, in otx2vf_process_vfaf_mbox_msg()
44 "Mbox msg with unknown ID %d\n", msg->id); in otx2vf_process_vfaf_mbox_msg()
48 if (msg->sig != OTX2_MBOX_RSP_SIG) { in otx2vf_process_vfaf_mbox_msg()
49 dev_err(vf->dev, in otx2vf_process_vfaf_mbox_msg()
50 "Mbox msg with wrong signature %x, ID %d\n", in otx2vf_process_vfaf_mbox_msg()
51 msg->sig, msg->id); in otx2vf_process_vfaf_mbox_msg()
55 if (msg->rc == MBOX_MSG_INVALID) { in otx2vf_process_vfaf_mbox_msg()
56 dev_err(vf->dev, in otx2vf_process_vfaf_mbox_msg()
[all …]
H A Dcn10k_macsec.c1 // SPDX-License-Identifier: GPL-2.0
61 dev_err(pfvf->dev, "failed to allocate transform for ecb-aes\n"); in cn10k_ecb_aes_encrypt()
67 dev_err(pfvf->dev, "failed to allocate request for skcipher\n"); in cn10k_ecb_aes_encrypt()
68 err = -ENOMEM; in cn10k_ecb_aes_encrypt()
74 dev_err(pfvf->dev, "failed to set key for skcipher\n"); in cn10k_ecb_aes_encrypt()
101 list_for_each_entry(txsc, &cfg->txsc_list, entry) { in cn10k_mcs_get_txsc()
102 if (txsc->sw_secy == secy) in cn10k_mcs_get_txsc()
115 list_for_each_entry(rxsc, &cfg->rxsc_list, entry) { in cn10k_mcs_get_rxsc()
116 if (rxsc->sw_rxsc == rx_sc && rxsc->sw_secy == secy) in cn10k_mcs_get_rxsc()
142 struct mbox *mbox = &pfvf->mbox; in cn10k_mcs_alloc_rsrc() local
[all …]
H A Dotx2_pf.c1 // SPDX-License-Identifier: GPL-2.0
62 if (pf->xdp_prog && new_mtu > MAX_XDP_MTU) { in otx2_change_mtu()
64 netdev->mtu); in otx2_change_mtu()
65 return -EINVAL; in otx2_change_mtu()
71 netdev->mtu, new_mtu); in otx2_change_mtu()
72 WRITE_ONCE(netdev->mtu, new_mtu); in otx2_change_mtu()
82 int irq, vfs = pf->total_vfs; in otx2_disable_flr_me_intr()
86 irq = pci_irq_vector(pf->pdev, RVU_PF_INT_VEC_VFME0); in otx2_disable_flr_me_intr()
91 irq = pci_irq_vector(pf->pdev, RVU_PF_INT_VEC_VFFLR0); in otx2_disable_flr_me_intr()
97 otx2_write64(pf, RVU_PF_VFME_INT_ENA_W1CX(1), INTR_MASK(vfs - 64)); in otx2_disable_flr_me_intr()
[all …]
H A Dotx2_common.c1 // SPDX-License-Identifier: GPL-2.0
24 return IS_ENABLED(CONFIG_DCB) && !!pfvf->pfc_en; in otx2_is_pfc_enabled()
34 stats->bytes = otx2_atomic64_add(incr, ptr); in otx2_nix_rq_op_stats()
37 stats->pkts = otx2_atomic64_add(incr, ptr); in otx2_nix_rq_op_stats()
47 stats->bytes = otx2_atomic64_add(incr, ptr); in otx2_nix_sq_op_stats()
50 stats->pkts = otx2_atomic64_add(incr, ptr); in otx2_nix_sq_op_stats()
57 if (!netif_running(pfvf->netdev)) in otx2_update_lmac_stats()
60 mutex_lock(&pfvf->mbox.lock); in otx2_update_lmac_stats()
61 req = otx2_mbox_alloc_msg_cgx_stats(&pfvf->mbox); in otx2_update_lmac_stats()
63 mutex_unlock(&pfvf->mbox.lock); in otx2_update_lmac_stats()
[all …]
/linux/drivers/net/wireless/ti/wl18xx/
H A Devent.c1 // SPDX-License-Identifier: GPL-2.0-only
67 skb = cfg80211_vendor_event_alloc(wl->hw->wiphy, NULL, 20, in wlcore_smart_config_sync_event()
73 return -EMSGSIZE; in wlcore_smart_config_sync_event()
88 skb = cfg80211_vendor_event_alloc(wl->hw->wiphy, NULL, in wlcore_smart_config_decode_event()
96 return -EMSGSIZE; in wlcore_smart_config_decode_event()
118 struct wl18xx_event_mailbox *mbox = wl->mbox; in wl18xx_process_mailbox_events() local
121 vector = le32_to_cpu(mbox->events_vector); in wl18xx_process_mailbox_events()
122 wl1271_debug(DEBUG_EVENT, "MBOX vector: 0x%x", vector); in wl18xx_process_mailbox_events()
126 mbox->number_of_scan_results); in wl18xx_process_mailbox_events()
128 if (wl->scan_wlvif) in wl18xx_process_mailbox_events()
[all …]
/linux/drivers/net/wireless/ti/wl1251/
H A Devent.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (c) 1998-2007 Texas Instruments Incorporated
16 struct event_mailbox *mbox) in wl1251_event_scan_complete() argument
21 mbox->scheduled_scan_status, in wl1251_event_scan_complete()
22 mbox->scheduled_scan_channels); in wl1251_event_scan_complete()
24 if (wl->scanning) { in wl1251_event_scan_complete()
29 ieee80211_scan_completed(wl->hw, &info); in wl1251_event_scan_complete()
31 wl->scanning = false; in wl1251_event_scan_complete()
32 if (wl->hw->conf.flags & IEEE80211_CONF_IDLE) in wl1251_event_scan_complete()
41 struct event_mailbox *mbox) in wl1251_event_ps_report() argument
[all …]
/linux/drivers/rapidio/devices/
H A Dtsi721.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * RapidIO mport driver for Tsi721 PCIExpress-to-SRIO bridge
19 #include <linux/dma-mapping.h>
32 static int pcie_mrrs = -1;
39 "RIO Messaging MBOX Selection Mask (default: 0x0f = all)");
47 * tsi721_lcread - read from local SREP config space
56 * Returns: %0 on success or %-EINVAL on failure.
61 struct tsi721_device *priv = mport->priv; in tsi721_lcread()
64 return -EINVAL; /* only 32-bit access is supported */ in tsi721_lcread()
66 *data = ioread32(priv->regs + offset); in tsi721_lcread()
[all …]
/linux/drivers/scsi/lpfc/
H A Dlpfc_mbox.c4 * Copyright (C) 2017-2024 Broadcom. All Rights Reserved. The term *
6 * Copyright (C) 2004-2016 Emulex. All rights reserved. *
9 * Portions Copyright (C) 2004-2005 Christoph Hellwig *
17 * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE *
47 * lpfc_mbox_rsrc_prep - Prepare a mailbox with DMA buffer memory.
49 * @mbox: pointer to the driver internal queue element for mailbox command.
51 * A mailbox command consists of the pool memory for the command, @mbox, and
54 * @mbox. Callers should cleanup the mbox with a call to
59 * driver design is a single dmabuf/mbuf per mbox in the ctx_buf.
63 lpfc_mbox_rsrc_prep(struct lpfc_hba *phba, LPFC_MBOXQ_t *mbox) in lpfc_mbox_rsrc_prep() argument
[all …]

12345678910>>...17