| /linux/Documentation/devicetree/bindings/mailbox/ |
| H A D | ti,omap-mailbox.yaml | 1 # 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# 7 title: TI OMAP2+ and K3 Mailbox devices 10 - Suman Anna <s-anna@ti.com> 13 The OMAP Mailbox hardware facilitates communication between different 14 processors using a queued mailbox interrupt mechanism. The IP block is 19 Each mailbox IP block/cluster has a certain number of h/w fifo queues and 35 lines can also be routed to different processor sub-systems on DRA7xx as they [all …]
|
| H A D | hisilicon,hi6220-mailbox.txt | 1 Hisilicon Hi6220 Mailbox Driver 4 Hisilicon Hi6220 mailbox supports up to 32 channels. Each channel 9 Mailbox Device Node: 13 -------------------- 14 - compatible: Shall be "hisilicon,hi6220-mbox" 15 - reg: Contains the mailbox register address range (base 19 - #mbox-cells: Common mailbox binding property to identify the number 20 of cells required for the mailbox specifier. Must be 3. 22 phandle: Label name of mailbox controller 27 mailbox driver uses it to acknowledge interrupt [all …]
|
| H A D | mailbox.txt | 1 * Generic Mailbox Controller and client driver bindings 3 Generic binding to provide a way for Mailbox controller drivers to 4 assign appropriate mailbox channel to client drivers. 6 * Mailbox Controller 9 - #mbox-cells: Must be at least 1. Number of cells in a mailbox 13 mailbox: mailbox { 15 #mbox-cells = <1>; 19 * Mailbox Client 22 - mboxes: List of phandle and mailbox channel specifiers. 25 - mbox-names: List of identifier strings for each mailbox channel. [all …]
|
| H A D | xlnx,zynqmp-ipi-mailbox.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mailbox/xlnx,zynqmp-ipi-mailbox.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Xilinx IPI(Inter Processor Interrupt) mailbox controller 10 The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage 14 +-------------------------------------+ 16 +-------------------------------------+ 17 +--------------------------------------------------+ 18 TF-A | | [all …]
|
| H A D | altera-mailbox.txt | 1 Altera Mailbox Driver 5 - compatible : "altr,mailbox-1.0". 6 - reg : physical base address of the mailbox and length of 8 - #mbox-cells: Common mailbox binding property to identify the number 9 of cells required for the mailbox specifier. Should be 1. 12 - interrupts : interrupt number. The interrupt specifier format 16 mbox_tx: mailbox@100 { 17 compatible = "altr,mailbox-1.0"; 19 interrupt-parent = < &gic_0 >; 21 #mbox-cells = <1>; [all …]
|
| H A D | microchip,mpfs-mailbox.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mailbox/microchip,mpfs-mailbox.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Microchip PolarFire SoC (MPFS) MSS (microprocessor subsystem) mailbox controller 10 - Conor Dooley <conor.dooley@microchip.com> 14 const: microchip,mpfs-mailbox 18 - items: 19 - description: mailbox data registers 20 - items: [all …]
|
| H A D | xgene-slimpro-mailbox.txt | 1 The APM X-Gene SLIMpro mailbox is used to communicate messages between 6 There are total of 8 interrupts in this mailbox. Each used for an individual 7 door bell (or mailbox channel). 10 - compatible: Should be as "apm,xgene-slimpro-mbox". 12 - reg: Contains the mailbox register address range. 14 - interrupts: 8 interrupts must be from 0 to 7, interrupt 0 define the 15 the interrupt for mailbox channel 0 and interrupt 1 for 16 mailbox channel 1 and so likewise for the reminder. 18 - #mbox-cells: only one to specify the mailbox channel number. 22 Mailbox Node: [all …]
|
| H A D | mediatek,gce-props.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mailbox/mediatek,gce-props.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Houlong Wei <houlong.wei@mediatek.com> 13 The Global Command Engine (GCE) is an instruction based, multi-threaded, 14 single-core command dispatcher for MediaTek hardware. The Command Queue 15 (CMDQ) mailbox driver is a driver for GCE, implemented using the Linux 16 mailbox framework. It is used to receive messages from mailbox consumers 18 We use mediatek,gce-mailbox.yaml to define the properties for CMDQ mailbox [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | fw_qos.c | 16 * - Redistributions of source code must retain the above 20 * - Redistributions in binary form must reproduce the above 58 __be16 max_bw_units; /* 3-100Mbps, 4-1Gbps, other values - reserved */ 87 struct mlx4_cmd_mailbox *mailbox; in mlx4_SET_PORT_PRIO2TC() local 93 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_SET_PORT_PRIO2TC() 94 if (IS_ERR(mailbox)) in mlx4_SET_PORT_PRIO2TC() 95 return PTR_ERR(mailbox); in mlx4_SET_PORT_PRIO2TC() 97 context = mailbox->buf; in mlx4_SET_PORT_PRIO2TC() 100 context->prio2tc[i >> 1] = prio2tc[i] << 4 | prio2tc[i + 1]; in mlx4_SET_PORT_PRIO2TC() 103 err = mlx4_cmd(dev, mailbox->dma, in_mod, 1, MLX4_CMD_SET_PORT, in mlx4_SET_PORT_PRIO2TC() [all …]
|
| H A D | mcg.c | 15 * - Redistributions of source code must retain the above 19 * - Redistributions in binary form must reproduce the above 45 return 1 << dev->oper_log_mgm_entry_size; in mlx4_get_mgm_entry_size() 50 return 4 * (mlx4_get_mgm_entry_size(dev) / 16 - 2); in mlx4_get_qp_per_mgm() 54 struct mlx4_cmd_mailbox *mailbox, in mlx4_QP_FLOW_STEERING_ATTACH() argument 61 err = mlx4_cmd_imm(dev, mailbox->dma, &imm, size, 0, in mlx4_QP_FLOW_STEERING_ATTACH() 83 struct mlx4_cmd_mailbox *mailbox) in mlx4_READ_ENTRY() argument 85 return mlx4_cmd_box(dev, 0, mailbox->dma, index, 0, MLX4_CMD_READ_MCG, in mlx4_READ_ENTRY() 90 struct mlx4_cmd_mailbox *mailbox) in mlx4_WRITE_ENTRY() argument 92 return mlx4_cmd(dev, mailbox->dma, index, 0, MLX4_CMD_WRITE_MCG, in mlx4_WRITE_ENTRY() [all …]
|
| H A D | srq.c | 15 * - Redistributions of source code must retain the above 19 * - Redistributions in binary form must reproduce the above 45 struct mlx4_srq_table *srq_table = &mlx4_priv(dev)->srq_table; in mlx4_srq_event() 49 srq = radix_tree_lookup(&srq_table->tree, srqn & (dev->caps.num_srqs - 1)); in mlx4_srq_event() 52 refcount_inc(&srq->refcount); in mlx4_srq_event() 58 srq->event(srq, event_type); in mlx4_srq_event() 60 if (refcount_dec_and_test(&srq->refcount)) in mlx4_srq_event() 61 complete(&srq->free); in mlx4_srq_event() 64 static int mlx4_SW2HW_SRQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_SW2HW_SRQ() argument 67 return mlx4_cmd(dev, mailbox->dma, srq_num, 0, in mlx4_SW2HW_SRQ() [all …]
|
| H A D | fw.c | 16 * - Redistributions of source code must retain the above 20 * - Redistributions in binary form must reproduce the above 40 #include <uapi/rdma/mlx4-abi.h> 137 [7] = "FSM (MAC anti-spoofing) support", in dump_dev_cap_flags2() 140 [10] = "TCP/IP offloads/flow-steering for VXLAN support", in dump_dev_cap_flags2() 141 [11] = "MAD DEMUX (Secure-Host) support", in dump_dev_cap_flags2() 158 [28] = "RX-ALL support", in dump_dev_cap_flags2() 180 struct mlx4_cmd_mailbox *mailbox; in mlx4_MOD_STAT_CFG() local 189 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_MOD_STAT_CFG() 190 if (IS_ERR(mailbox)) in mlx4_MOD_STAT_CFG() [all …]
|
| H A D | cq.c | 18 * - Redistributions of source code must retain the above 22 * - Redistributions in binary form must reproduce the above 65 spin_lock_irqsave(&ctx->lock, flags); in mlx4_cq_tasklet_cb() 66 list_splice_tail_init(&ctx->list, &ctx->process_list); in mlx4_cq_tasklet_cb() 67 spin_unlock_irqrestore(&ctx->lock, flags); in mlx4_cq_tasklet_cb() 69 list_for_each_entry_safe(mcq, temp, &ctx->process_list, tasklet_ctx.list) { in mlx4_cq_tasklet_cb() 70 list_del_init(&mcq->tasklet_ctx.list); in mlx4_cq_tasklet_cb() 71 mcq->tasklet_ctx.comp(mcq); in mlx4_cq_tasklet_cb() 72 if (refcount_dec_and_test(&mcq->refcount)) in mlx4_cq_tasklet_cb() 73 complete(&mcq->free); in mlx4_cq_tasklet_cb() [all …]
|
| /linux/drivers/net/ethernet/wangxun/libwx/ |
| H A D | wx_mbx.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2015 - 2025 Beijing WangXun Technology Co., Ltd. */ 9 * wx_obtain_mbx_lock_pf - obtain mailbox lock 13 * Return: return 0 on success and -EBUSY on failure 18 u32 mailbox; in wx_obtain_mbx_lock_pf() local 20 while (count--) { in wx_obtain_mbx_lock_pf() 24 /* reserve mailbox for vf use */ in wx_obtain_mbx_lock_pf() 25 mailbox = rd32(wx, WX_PXMAILBOX(vf)); in wx_obtain_mbx_lock_pf() 26 if (mailbox & WX_PXMAILBOX_PFU) in wx_obtain_mbx_lock_pf() 31 wx_err(wx, "Failed to obtain mailbox lock for PF%d", vf); in wx_obtain_mbx_lock_pf() [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_vf_mbx.c | 1 // SPDX-License-Identifier: GPL-2.0 11 * @v_opcode: opcodes for VF-PF communication 17 * Send message to VF driver (0x0802) using mailbox 31 cmd->id = cpu_to_le32(vfid); in ice_aq_send_msg_to_vf() 39 return ice_sq_send_cmd(hw, &hw->mailboxq, &desc, msg, msglen, cd); in ice_aq_send_msg_to_vf() 71 u32 index = fls(link_speed) - 1; in ice_conv_link_speed_to_virtchnl() 86 /* The mailbox overflow detection algorithm helps to check if there 89 * 1. The mailbox snapshot structure, ice_mbx_snapshot, is initialized during 92 * messages within the mailbox queue while looking for a malicious VF. 94 * 2. When the caller starts processing its mailbox queue in response to an [all …]
|
| /linux/drivers/scsi/lpfc/ |
| H A D | lpfc_mbox.c | 4 * 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 69 return -ENOMEM; in lpfc_mbox_rsrc_prep() 71 mp->virt = lpfc_mbuf_alloc(phba, 0, &mp->phys); in lpfc_mbox_rsrc_prep() 72 if (!mp->virt) { in lpfc_mbox_rsrc_prep() [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | acpi_parking_protocol.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 struct parking_protocol_mailbox __iomem *mailbox; member 34 cpu_entry->mailbox_addr = p->parked_address; in acpi_set_mailbox_entry() 35 cpu_entry->version = p->parking_version; in acpi_set_mailbox_entry() 36 cpu_entry->gic_cpu_id = p->cpu_interface_number; in acpi_set_mailbox_entry() 43 return cpu_entry->mailbox_addr && cpu_entry->version; in acpi_parking_protocol_valid() 62 struct parking_protocol_mailbox __iomem *mailbox; in acpi_parking_protocol_cpu_boot() local 66 * Map mailbox memory with attribute device nGnRE (ie ioremap - in acpi_parking_protocol_cpu_boot() 71 * If the mailbox is mistakenly allocated in the linear mapping in acpi_parking_protocol_cpu_boot() 76 mailbox = ioremap(cpu_entry->mailbox_addr, sizeof(*mailbox)); in acpi_parking_protocol_cpu_boot() [all …]
|
| /linux/drivers/infiniband/hw/mthca/ |
| H A D | mthca_cmd.c | 16 * - Redistributions of source code must retain the above 20 * - Redistributions in binary form must reproduce the above 151 * commands. So we can't use strict timeouts described in PRM -- we 194 return readl(dev->hcr + HCR_STATUS_OFFSET) & in go_bit() 206 void __iomem *ptr = dev->cmd.dbell_map; in mthca_cmd_post_dbell() 207 u16 *offs = dev->cmd.dbell_offsets; in mthca_cmd_post_dbell() 249 return -EAGAIN; in mthca_cmd_post_hcr() 257 __raw_writel((__force u32) cpu_to_be32(in_param >> 32), dev->hcr + 0 * 4); in mthca_cmd_post_hcr() 258 __raw_writel((__force u32) cpu_to_be32(in_param & 0xfffffffful), dev->hcr + 1 * 4); in mthca_cmd_post_hcr() 259 __raw_writel((__force u32) cpu_to_be32(in_modifier), dev->hcr + 2 * 4); in mthca_cmd_post_hcr() [all …]
|
| H A D | mthca_mcg.c | 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 54 * If GID is found in MGM or MGM is empty, *index = *hash, *prev = -1 60 * If no AMGM exists for given gid, *index = -1, *prev = index of last 67 struct mthca_mailbox *mailbox; in find_mgm() local 68 struct mthca_mgm *mgm = mgm_mailbox->buf; in find_mgm() 72 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in find_mgm() 73 if (IS_ERR(mailbox)) in find_mgm() 74 return -ENOMEM; in find_mgm() 75 mgid = mailbox->buf; in find_mgm() [all …]
|
| /linux/drivers/net/ethernet/intel/fm10k/ |
| H A D | fm10k_mbx.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2013 - 2019 Intel Corporation. */ 7 * fm10k_fifo_init - Initialize a message FIFO 10 * @size: maximum message size to store in FIFO, must be 2^n - 1 14 fifo->buffer = buffer; in fm10k_fifo_init() 15 fifo->size = size; in fm10k_fifo_init() 16 fifo->head = 0; in fm10k_fifo_init() 17 fifo->tail = 0; in fm10k_fifo_init() 21 * fm10k_fifo_used - Retrieve used space in FIFO 28 return fifo->tail - fifo->head; in fm10k_fifo_used() [all …]
|
| H A D | fm10k_mbx.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright(c) 2013 - 2018 Intel Corporation. */ 13 /* PF Mailbox Registers */ 32 /* VF Mailbox Registers */ 43 /* PF/VF Mailbox state machine 45 * +----------+ connect() +----------+ 46 * | CLOSED | --------------> | CONNECT | 47 * +----------+ +----------+ 54 * +----------+ disconnect() +----------+ 55 * |DISCONNECT| <-------------- | OPEN | [all …]
|
| /linux/drivers/net/ethernet/intel/igb/ |
| H A D | e1000_mbx.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 2007 - 2018 Intel Corporation. */ 7 * igb_read_mbx - Reads a message from the mailbox 11 * @mbx_id: id of mailbox to read 19 struct e1000_mbx_info *mbx = &hw->mbx; in igb_read_mbx() 20 s32 ret_val = -E1000_ERR_MBX; in igb_read_mbx() 22 /* limit read to size of mailbox */ in igb_read_mbx() 23 if (size > mbx->size) in igb_read_mbx() 24 size = mbx->size; in igb_read_mbx() 26 if (mbx->ops.read) in igb_read_mbx() [all …]
|
| /linux/drivers/scsi/csiostor/ |
| H A D | csio_mb.c | 4 * Copyright (c) 2008-2012 Chelsio Communications, Inc. All rights reserved. 16 * - Redistributions of source code must retain the above 20 * - Redistributions in binary form must reproduce the above 51 * csio_mb_fw_retval - FW return value from a mailbox response. 52 * @mbp: Mailbox structure 60 hdr = (struct fw_cmd_hdr *)(mbp->mb); in csio_mb_fw_retval() 62 return FW_CMD_RETVAL_G(ntohl(hdr->lo)); in csio_mb_fw_retval() 66 * csio_mb_hello - FW HELLO command helper 68 * @mbp: Mailbox structure 69 * @m_mbox: Master mailbox number, if any. [all …]
|
| /linux/drivers/infiniband/hw/hns/ |
| H A D | hns_roce_cmd.c | 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 46 ret = hr_dev->hw->post_mbox(hr_dev, mbox_msg); in hns_roce_cmd_mbox_post_hw() 50 atomic64_inc(&hr_dev->dfx_cnt[HNS_ROCE_DFX_MBX_POSTED_CNT]); in hns_roce_cmd_mbox_post_hw() 63 dev_err_ratelimited(hr_dev->dev, in __hns_roce_cmd_mbox_poll() 64 "failed to post mailbox 0x%x in poll mode, ret = %d.\n", in __hns_roce_cmd_mbox_poll() 65 mbox_msg->cmd, ret); in __hns_roce_cmd_mbox_poll() 69 ret = hr_dev->hw->poll_mbox_done(hr_dev); in __hns_roce_cmd_mbox_poll() 73 atomic64_inc(&hr_dev->dfx_cnt[HNS_ROCE_DFX_MBX_POLLED_CNT]); in __hns_roce_cmd_mbox_poll() 83 down(&hr_dev->cmd.poll_sem); in hns_roce_cmd_mbox_poll() [all …]
|
| /linux/drivers/net/ethernet/intel/ixgbevf/ |
| H A D | mbx.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 9 #define IXGBE_VFMAILBOX_SIZE 16 /* 16 32 bit words - 64 bytes */ 14 /* Define mailbox register bits */ 17 #define IXGBE_VFMAILBOX_VFU 0x00000004 /* VF owns the mailbox buffer */ 18 #define IXGBE_VFMAILBOX_PFU 0x00000008 /* PF owns the mailbox buffer */ 30 #define IXGBE_PFMAILBOX_VFU 0x00000004 /* VF owns the mailbox buffer */ 31 #define IXGBE_PFMAILBOX_PFU 0x00000008 /* PF owns the mailbox buffer */ 32 #define IXGBE_PFMAILBOX_RVFU 0x00000010 /* Reset VFU - used when VF stuck */ 56 /* definitions to support mailbox API version negotiation */ [all …]
|