| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | fw_qos.c | 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() 103 err = mlx4_cmd(dev, mailbox->dma, in_mod, 1, MLX4_CMD_SET_PORT, in mlx4_SET_PORT_PRIO2TC() 106 mlx4_free_cmd_mailbox(dev, mailbox); in mlx4_SET_PORT_PRIO2TC() 114 struct mlx4_cmd_mailbox *mailbox; in mlx4_SET_PORT_SCHEDULER() local 120 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_SET_PORT_SCHEDULER() 121 if (IS_ERR(mailbox)) in mlx4_SET_PORT_SCHEDULER() [all …]
|
| H A D | srq.c | 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() 72 static int mlx4_HW2SW_SRQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_HW2SW_SRQ() argument 75 return mlx4_cmd_box(dev, 0, mailbox ? mailbox->dma : 0, srq_num, in mlx4_HW2SW_SRQ() 76 mailbox ? 0 : 1, MLX4_CMD_HW2SW_SRQ, in mlx4_HW2SW_SRQ() 86 static int mlx4_QUERY_SRQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_QUERY_SRQ() argument 89 return mlx4_cmd_box(dev, 0, mailbox->dma, srq_num, 0, MLX4_CMD_QUERY_SRQ, in mlx4_QUERY_SRQ() 166 struct mlx4_cmd_mailbox *mailbox; in mlx4_srq_alloc() local 181 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_srq_alloc() 182 if (IS_ERR(mailbox)) { in mlx4_srq_alloc() [all …]
|
| H A D | mcg.c | 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() 97 struct mlx4_cmd_mailbox *mailbox) in mlx4_WRITE_PROMISC() argument 102 return mlx4_cmd(dev, mailbox->dma, in_mod, 0x1, in mlx4_WRITE_PROMISC() 107 static int mlx4_GID_HASH(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_GID_HASH() argument 113 err = mlx4_cmd_imm(dev, mailbox->dma, &imm, 0, op_mod, in mlx4_GID_HASH() [all …]
|
| H A D | fw.c | 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() 191 return PTR_ERR(mailbox); in mlx4_MOD_STAT_CFG() 192 inbox = mailbox->buf; in mlx4_MOD_STAT_CFG() 197 err = mlx4_cmd(dev, mailbox->dma, 0, 0, MLX4_CMD_MOD_STAT_CFG, in mlx4_MOD_STAT_CFG() 200 mlx4_free_cmd_mailbox(dev, mailbox); in mlx4_MOD_STAT_CFG() 206 struct mlx4_cmd_mailbox *mailbox; in mlx4_QUERY_FUNC() local 221 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_QUERY_FUNC() 222 if (IS_ERR(mailbox)) in mlx4_QUERY_FUNC() [all …]
|
| H A D | cq.c | 146 static int mlx4_SW2HW_CQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_SW2HW_CQ() argument 149 return mlx4_cmd(dev, mailbox->dma, cq_num, opmod, in mlx4_SW2HW_CQ() 154 static int mlx4_MODIFY_CQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_MODIFY_CQ() argument 157 return mlx4_cmd(dev, mailbox->dma, cq_num, opmod, MLX4_CMD_MODIFY_CQ, in mlx4_MODIFY_CQ() 161 static int mlx4_HW2SW_CQ(struct mlx4_dev *dev, struct mlx4_cmd_mailbox *mailbox, in mlx4_HW2SW_CQ() argument 164 return mlx4_cmd_box(dev, 0, mailbox ? mailbox->dma : 0, in mlx4_HW2SW_CQ() 165 cq_num, mailbox ? 0 : 1, MLX4_CMD_HW2SW_CQ, in mlx4_HW2SW_CQ() 172 struct mlx4_cmd_mailbox *mailbox; in mlx4_cq_modify() local 176 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_cq_modify() 177 if (IS_ERR(mailbox)) in mlx4_cq_modify() [all …]
|
| H A D | port.c | 130 struct mlx4_cmd_mailbox *mailbox; in mlx4_set_port_mac_table() local 134 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_set_port_mac_table() 135 if (IS_ERR(mailbox)) in mlx4_set_port_mac_table() 136 return PTR_ERR(mailbox); in mlx4_set_port_mac_table() 138 memcpy(mailbox->buf, entries, MLX4_MAC_TABLE_SIZE); in mlx4_set_port_mac_table() 142 err = mlx4_cmd(dev, mailbox->dma, in_mod, MLX4_SET_PORT_ETH_OPCODE, in mlx4_set_port_mac_table() 146 mlx4_free_cmd_mailbox(dev, mailbox); in mlx4_set_port_mac_table() 519 struct mlx4_cmd_mailbox *mailbox; in mlx4_set_port_vlan_table() local 523 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_set_port_vlan_table() 524 if (IS_ERR(mailbox)) in mlx4_set_port_vlan_table() [all …]
|
| H A D | en_port.c | 46 struct mlx4_cmd_mailbox *mailbox; in mlx4_SET_VLAN_FLTR() local 54 mailbox = mlx4_alloc_cmd_mailbox(dev); in mlx4_SET_VLAN_FLTR() 55 if (IS_ERR(mailbox)) in mlx4_SET_VLAN_FLTR() 56 return PTR_ERR(mailbox); in mlx4_SET_VLAN_FLTR() 58 filter = mailbox->buf; in mlx4_SET_VLAN_FLTR() 66 err = mlx4_cmd(dev, mailbox->dma, priv->port, 0, MLX4_CMD_SET_VLAN_FLTR, in mlx4_SET_VLAN_FLTR() 68 mlx4_free_cmd_mailbox(dev, mailbox); in mlx4_SET_VLAN_FLTR() 77 struct mlx4_cmd_mailbox *mailbox; in mlx4_en_QUERY_PORT() local 80 mailbox = mlx4_alloc_cmd_mailbox(mdev->dev); in mlx4_en_QUERY_PORT() 81 if (IS_ERR(mailbox)) in mlx4_en_QUERY_PORT() [all …]
|
| H A D | qp.c | 139 struct mlx4_cmd_mailbox *mailbox; in __mlx4_qp_modify() local 164 mailbox = mlx4_alloc_cmd_mailbox(dev); in __mlx4_qp_modify() 165 if (IS_ERR(mailbox)) in __mlx4_qp_modify() 166 return PTR_ERR(mailbox); in __mlx4_qp_modify() 181 *(__be32 *) mailbox->buf = cpu_to_be32(optpar); in __mlx4_qp_modify() 182 memcpy(mailbox->buf + 8, context, sizeof(*context)); in __mlx4_qp_modify() 184 ((struct mlx4_qp_context *) (mailbox->buf + 8))->local_qpn = in __mlx4_qp_modify() 187 ret = mlx4_cmd(dev, mailbox->dma, in __mlx4_qp_modify() 209 mlx4_free_cmd_mailbox(dev, mailbox); in __mlx4_qp_modify() 447 struct mlx4_cmd_mailbox *mailbox; in mlx4_update_qp() local [all …]
|
| /linux/drivers/infiniband/hw/mthca/ |
| H A D | mthca_cmd.c | 611 struct mthca_mailbox *mailbox; in mthca_alloc_mailbox() local 613 mailbox = kmalloc_obj(*mailbox, gfp_mask); in mthca_alloc_mailbox() 614 if (!mailbox) in mthca_alloc_mailbox() 617 mailbox->buf = dma_pool_alloc(dev->cmd.pool, gfp_mask, &mailbox->dma); in mthca_alloc_mailbox() 618 if (!mailbox->buf) { in mthca_alloc_mailbox() 619 kfree(mailbox); in mthca_alloc_mailbox() 623 return mailbox; in mthca_alloc_mailbox() 626 void mthca_free_mailbox(struct mthca_dev *dev, struct mthca_mailbox *mailbox) in mthca_free_mailbox() argument 628 if (!mailbox) in mthca_free_mailbox() 631 dma_pool_free(dev->cmd.pool, mailbox->buf, mailbox->dma); in mthca_free_mailbox() [all …]
|
| H A D | mthca_mcg.c | 67 struct mthca_mailbox *mailbox; in find_mgm() local 72 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in find_mgm() 73 if (IS_ERR(mailbox)) in find_mgm() 75 mgid = mailbox->buf; in find_mgm() 79 err = mthca_MGID_HASH(dev, mailbox, hash); in find_mgm() 116 mthca_free_mailbox(dev, mailbox); in find_mgm() 123 struct mthca_mailbox *mailbox; in mthca_multicast_attach() local 131 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_multicast_attach() 132 if (IS_ERR(mailbox)) in mthca_multicast_attach() 133 return PTR_ERR(mailbox); in mthca_multicast_attach() [all …]
|
| H A D | mthca_cmd.h | 253 void mthca_free_mailbox(struct mthca_dev *dev, struct mthca_mailbox *mailbox); 283 int mthca_SW2HW_MPT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 285 int mthca_HW2SW_MPT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 287 int mthca_WRITE_MTT(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 292 int mthca_SW2HW_EQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 294 int mthca_HW2SW_EQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 296 int mthca_SW2HW_CQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 298 int mthca_HW2SW_CQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 301 int mthca_SW2HW_SRQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, 303 int mthca_HW2SW_SRQ(struct mthca_dev *dev, struct mthca_mailbox *mailbox, [all …]
|
| H A D | mthca_srq.c | 210 struct mthca_mailbox *mailbox; in mthca_alloc_srq() local 256 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_alloc_srq() 257 if (IS_ERR(mailbox)) { in mthca_alloc_srq() 258 err = PTR_ERR(mailbox); in mthca_alloc_srq() 272 mthca_arbel_init_srq_context(dev, pd, srq, mailbox->buf, udata); in mthca_alloc_srq() 274 mthca_tavor_init_srq_context(dev, pd, srq, mailbox->buf, udata); in mthca_alloc_srq() 276 err = mthca_SW2HW_SRQ(dev, mailbox, srq->srqn); in mthca_alloc_srq() 292 mthca_free_mailbox(dev, mailbox); in mthca_alloc_srq() 303 err = mthca_HW2SW_SRQ(dev, mailbox, srq->srqn); in mthca_alloc_srq() 312 mthca_free_mailbox(dev, mailbox); in mthca_alloc_srq() [all …]
|
| H A D | mthca_mr.c | 254 struct mthca_mailbox *mailbox; in __mthca_write_mtt() local 259 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in __mthca_write_mtt() 260 if (IS_ERR(mailbox)) in __mthca_write_mtt() 261 return PTR_ERR(mailbox); in __mthca_write_mtt() 262 mtt_entry = mailbox->buf; in __mthca_write_mtt() 280 err = mthca_WRITE_MTT(dev, mailbox, (i + 1) & ~1); in __mthca_write_mtt() 292 mthca_free_mailbox(dev, mailbox); in __mthca_write_mtt() 429 struct mthca_mailbox *mailbox; in mthca_mr_alloc() local 449 mailbox = mthca_alloc_mailbox(dev, GFP_KERNEL); in mthca_mr_alloc() 450 if (IS_ERR(mailbox)) { in mthca_mr_alloc() [all …]
|
| /linux/arch/arm64/kernel/ |
| H A D | acpi_parking_protocol.c | 21 struct parking_protocol_mailbox __iomem *mailbox; member 62 struct parking_protocol_mailbox __iomem *mailbox; in acpi_parking_protocol_cpu_boot() local 76 mailbox = ioremap(cpu_entry->mailbox_addr, sizeof(*mailbox)); in acpi_parking_protocol_cpu_boot() 77 if (!mailbox) in acpi_parking_protocol_cpu_boot() 80 cpu_id = readl_relaxed(&mailbox->cpu_id); in acpi_parking_protocol_cpu_boot() 86 iounmap(mailbox); in acpi_parking_protocol_cpu_boot() 94 cpu_entry->mailbox = mailbox; in acpi_parking_protocol_cpu_boot() 103 &mailbox->entry_point); in acpi_parking_protocol_cpu_boot() 104 writel_relaxed(cpu_entry->gic_cpu_id, &mailbox->cpu_id); in acpi_parking_protocol_cpu_boot() 115 struct parking_protocol_mailbox __iomem *mailbox = cpu_entry->mailbox; in acpi_parking_protocol_cpu_postboot() local [all …]
|
| /linux/Documentation/devicetree/bindings/mailbox/ |
| H A D | mailbox.txt | 4 assign appropriate mailbox channel to client drivers. 9 - #mbox-cells: Must be at least 1. Number of cells in a mailbox 13 mailbox: mailbox { 22 - mboxes: List of phandle and mailbox channel specifiers. 25 - mbox-names: List of identifier strings for each mailbox channel. 27 users of these mailboxes for IPC, one for each mailbox. This shared 29 communication between the mailbox client and the remote. 36 mboxes = <&mailbox 0 &mailbox 1>; 57 mboxes = <&mailbox 0>;
|
| H A D | altera-mailbox.txt | 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. 16 mbox_tx: mailbox@100 { 17 compatible = "altr,mailbox-1.0"; 24 mbox_rx: mailbox@200 { 25 compatible = "altr,mailbox-1.0"; 35 Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value 36 of the mboxes property should contain a phandle to the mailbox controller
|
| H A D | hisilicon,hi6220-mailbox.txt | 4 Hisilicon Hi6220 mailbox supports up to 32 channels. Each channel 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 28 - interrupts: Contains the interrupt information for the mailbox 34 - hi6220,mbox-tx-noirq: Property of MCU firmware's feature, so mailbox driver 42 mailbox: mailbox@f7510000 { 58 - mboxes: Standard property to specify a Mailbox (See ./mailbox.txt) [all …]
|
| H A D | hisilicon,hi3660-mailbox.txt | 3 Hisilicon Hi3660 mailbox controller supports up to 32 channels. Messages 21 - interrupts: : Contains the two IRQ lines for mailbox. 25 mailbox: mailbox@e896b000 { 38 - mboxes : Standard property to specify a Mailbox (See ./mailbox.txt) 50 mboxes = <&mailbox 13 3 0>;
|
| /linux/drivers/infiniband/hw/hns/ |
| H A D | hns_roce_cmd.c | 255 struct hns_roce_cmd_mailbox *mailbox; in hns_roce_alloc_cmd_mailbox() local 257 mailbox = kmalloc_obj(*mailbox); in hns_roce_alloc_cmd_mailbox() 258 if (!mailbox) in hns_roce_alloc_cmd_mailbox() 261 mailbox->buf = in hns_roce_alloc_cmd_mailbox() 262 dma_pool_alloc(hr_dev->cmd.pool, GFP_KERNEL, &mailbox->dma); in hns_roce_alloc_cmd_mailbox() 263 if (!mailbox->buf) { in hns_roce_alloc_cmd_mailbox() 264 kfree(mailbox); in hns_roce_alloc_cmd_mailbox() 268 return mailbox; in hns_roce_alloc_cmd_mailbox() 272 struct hns_roce_cmd_mailbox *mailbox) in hns_roce_free_cmd_mailbox() argument 274 if (!mailbox) in hns_roce_free_cmd_mailbox() [all …]
|
| /linux/drivers/net/ethernet/wangxun/libwx/ |
| H A D | wx_mbx.c | 18 u32 mailbox; in wx_obtain_mbx_lock_pf() local 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() 180 u32 mailbox = rd32(wx, WX_VXMAILBOX); in wx_read_v2p_mailbox() local 182 mailbox |= wx->mbx.mailbox; in wx_read_v2p_mailbox() 183 wx->mbx.mailbox |= mailbox & WX_VXMAILBOX_R2C_BITS; in wx_read_v2p_mailbox() 185 return mailbox; in wx_read_v2p_mailbox() 203 u32 mailbox; in wx_obtain_mbx_lock_vf() local 205 ret = readx_poll_timeout_atomic(wx_mailbox_get_lock_vf, wx, mailbox, in wx_obtain_mbx_lock_vf() 206 (mailbox & WX_VXMAILBOX_VFU), in wx_obtain_mbx_lock_vf() [all …]
|
| /linux/drivers/gpib/include/ |
| H A D | amccs5933.h | 16 extern inline int INCOMING_MAILBOX_REG(unsigned int mailbox) in INCOMING_MAILBOX_REG() argument 18 return (0x10 + 4 * mailbox); in INCOMING_MAILBOX_REG() 38 extern inline int INBOX_SELECT_BITS(unsigned int mailbox) in INBOX_SELECT_BITS() argument 40 return (mailbox & 0x3) << 10; in INBOX_SELECT_BITS() 50 extern inline int OUTBOX_SELECT_BITS(unsigned int mailbox) in OUTBOX_SELECT_BITS() argument 52 return (mailbox & 0x3) << 2; in OUTBOX_SELECT_BITS()
|
| /linux/drivers/scsi/smartpqi/ |
| H A D | smartpqi_sis.c | 179 u32 mailbox[6]; /* mailboxes 0-5 */ member 201 writel(params->mailbox[i], ®isters->sis_mailbox[i]); in sis_send_sync_cmd() 248 params->mailbox[0] = cmd_status; in sis_send_sync_cmd() 249 for (i = 1; i < ARRAY_SIZE(params->mailbox); i++) in sis_send_sync_cmd() 250 params->mailbox[i] = readl(®isters->sis_mailbox[i]); in sis_send_sync_cmd() 273 properties = params.mailbox[1]; in sis_get_ctrl_properties() 278 extended_properties = params.mailbox[4]; in sis_get_ctrl_properties() 302 ctrl_info->max_sg_entries = params.mailbox[1]; in sis_get_pqi_capabilities() 303 ctrl_info->max_transfer_size = params.mailbox[2]; in sis_get_pqi_capabilities() 304 ctrl_info->max_outstanding_requests = params.mailbox[3]; in sis_get_pqi_capabilities() [all …]
|
| /linux/drivers/char/ |
| H A D | applicom.c | 362 struct mailbox tmpmailbox; in ac_write() 368 if (count != sizeof(struct st_ram_io) + sizeof(struct mailbox)) { in ac_write() 372 count, sizeof(struct st_ram_io) + sizeof(struct mailbox)); in ac_write() 382 sizeof(struct mailbox))) in ac_write() 411 for (c = 0; c < sizeof(struct mailbox);) { in ac_write() 414 for (c++; c % 8 && c < sizeof(struct mailbox); c++) { in ac_write() 468 for (c = 0; c < sizeof(struct mailbox); c++) in ac_write() 484 struct st_ram_io *st_loc, struct mailbox *mailbox) in do_ac_read() argument 487 unsigned char *to = (unsigned char *)mailbox; in do_ac_read() 499 for (c = 0; c < sizeof(struct mailbox); c++) in do_ac_read() [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/marvell/ |
| H A D | octeon_ep.rst | 36 done by writing command to mailbox command queue, a mailbox interface 38 This driver writes the commands into the mailbox and the firmware on the 41 implemented as part of mailbox interface.
|
| /linux/Documentation/networking/device_drivers/can/freescale/ |
| H A D | flexcan.rst | 16 - mailbox 23 while the mailbox mode uses a software FIFO with a depth of up to 62 24 CAN frames. With the help of the bigger buffer, the mailbox mode 40 more performant "RX mailbox" mode and will use "RX FIFO" mode 47 This mode activates the "RX mailbox mode" for better performance, on
|