/linux/drivers/mailbox/ |
H A D | mailbox-sti.c | 1 // 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 44 * @name: Name of the mailbox 55 struct mbox_controller *mbox; member 57 const char *name; 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() [all …]
|
H A D | omap-mailbox.c | 1 // 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> 84 const char *name; member 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() [all …]
|
H A D | qcom-ipcc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 14 #include <dt-bindings/mailbox/qcom-ipcc.h> 30 * struct qcom_ipcc_chan_info - Per-mailbox-channel info 31 * @client_id: The client-id to which the interrupt has to be triggered 32 * @signal_id: The signal-id to which the interrupt has to be triggered 40 * struct qcom_ipcc - Holder for the mailbox driver 45 * @mchan: The per-mailbox channel info array 46 * @mbox: The mailbox controller 56 struct mbox_controller mbox; member [all …]
|
H A D | zynqmp-ipi-mailbox.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/arm-smccc.h> 17 #include <linux/mailbox/zynqmp-ipi-message.h> 75 * struct zynqmp_ipi_mchan - Description of a Xilinx ZynqMP IPI mailbox channel 99 * struct zynqmp_ipi_mbox - Description of a ZynqMP IPI mailbox 105 * @mbox: mailbox Controller 113 struct mbox_controller mbox; member 119 * struct zynqmp_ipi_pdata - Description of z ZynqMP IPI agent platform data. 144 .name = "zynqmp-ipi-mbox", 151 struct zynqmp_ipi_pdata *pdata = ipi_mbox->pdata; in zynqmp_ipi_fw_call() [all …]
|
H A D | mailbox.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2013-2014 Linaro Ltd. 32 spin_lock_irqsave(&chan->lock, flags); in add_to_rbuf() 35 if (chan->msg_count == MBOX_TX_QUEUE_LEN) { in add_to_rbuf() 36 spin_unlock_irqrestore(&chan->lock, flags); in add_to_rbuf() 37 return -ENOBUFS; in add_to_rbuf() 40 idx = chan->msg_free; in add_to_rbuf() 41 chan->msg_data[idx] = mssg; in add_to_rbuf() 42 chan->msg_count++; in add_to_rbuf() 44 if (idx == MBOX_TX_QUEUE_LEN - 1) in add_to_rbuf() [all …]
|
H A D | ti-msgmgr.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2015-2022 Texas Instruments Incorporated - https://www.ti.com/ 22 #include <linux/soc/ti/ti-msgmgr.h> 41 * struct ti_msgmgr_valid_queue_desc - SoC valid queues meant for this processor 53 * struct ti_msgmgr_desc - Description of message manager integration 64 * @data_region_name: Name of the proxy data region 65 * @status_region_name: Name of the proxy status region 66 * @ctrl_region_name: Name of the proxy control region 92 * struct ti_queue_inst - Description of a queue instance 93 * @name: Queue Name [all …]
|
H A D | armada-37xx-rwtm-mailbox.c | 1 // 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 D | bcm2835-mailbox.c | 1 // 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 D | mtk-adsp-mailbox.c | 1 // 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 D | mailbox-altera.c | 1 // 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 …]
|
/linux/drivers/media/platform/amphion/ |
H A D | vpu_mbox.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright 2020-2021 NXP 25 static int vpu_mbox_request_channel(struct device *dev, struct vpu_mbox *mbox) in vpu_mbox_request_channel() argument 30 if (!dev || !mbox) in vpu_mbox_request_channel() 31 return -EINVAL; in vpu_mbox_request_channel() 32 if (mbox->ch) in vpu_mbox_request_channel() 35 cl = &mbox->cl; in vpu_mbox_request_channel() 36 cl->dev = dev; in vpu_mbox_request_channel() 37 if (mbox->block) { in vpu_mbox_request_channel() 38 cl->tx_block = true; in vpu_mbox_request_channel() [all …]
|
/linux/drivers/scsi/ |
H A D | myrs.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * This driver supports the newer, SCSI-based firmware interface only. 10 * Copyright 1998-2001 by Leonard N. Zubkoff <lnz@dandelion.com> 32 char *name; member 54 return entry[i].name; in myrs_devstate_name() 61 char *name; member 85 return entry[i].name; in myrs_raid_level_name() 91 * myrs_reset_cmd - clears critical fields in struct myrs_cmdblk 95 union myrs_cmd_mbox *mbox = &cmd_blk->mbox; in myrs_reset_cmd() local 97 memset(mbox, 0, sizeof(union myrs_cmd_mbox)); in myrs_reset_cmd() [all …]
|
H A D | myrb.c | 1 // SPDX-License-Identifier: GPL-2.0 8 * Copyright 1998-2001 by Leonard N. Zubkoff <lnz@dandelion.com> 34 return shost->max_channel - 1; in myrb_logical_channel() 39 const char *name; member 56 return entry[i].name; in myrb_devstate_name() 63 const char *name; member 80 return entry[i].name; in myrb_raidlevel_name() 86 * myrb_create_mempools - allocates auxiliary data structures 95 elem_size = cb->host->sg_tablesize * elem_align; in myrb_create_mempools() 96 cb->sg_pool = dma_pool_create("myrb_sg", &pdev->dev, in myrb_create_mempools() [all …]
|
/linux/drivers/soc/apple/ |
H A D | mailbox.c | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 9 * exchange 64+32 bit messages between the main CPU and a co-processor. 13 * Both the main CPU and the co-processor see the same set of registers but 99 int apple_mbox_send(struct apple_mbox *mbox, const struct apple_mbox_msg msg, in apple_mbox_send() argument 107 spin_lock_irqsave(&mbox->tx_lock, flags); in apple_mbox_send() 108 mbox_ctrl = readl_relaxed(mbox->regs + mbox->hw->a2i_control); in apple_mbox_send() 110 while (mbox_ctrl & mbox->hw->control_full) { in apple_mbox_send() 113 mbox->regs + mbox->hw->a2i_control, mbox_ctrl, in apple_mbox_send() 114 !(mbox_ctrl & mbox->hw->control_full), 100, in apple_mbox_send() 118 spin_unlock_irqrestore(&mbox->tx_lock, flags); in apple_mbox_send() [all …]
|
/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-j721s2-som-p0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2021-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include "k3-j721s2.dtsi" 11 #include <dt-bindings/gpio/gpio.h> 16 bootph-all; 23 reserved_memory: reserved-memory { 24 #address-cells = <2>; 25 #size-cells = <2>; 31 no-map; [all …]
|
H A D | k3-j721e-som-p0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2019-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include "k3-j721e.dtsi" 15 bootph-all; 21 reserved_memory: reserved-memory { 22 #address-cells = <2>; 23 #size-cells = <2>; 29 no-map; 32 mcu_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 { [all …]
|
H A D | k3-am69-sk.dts | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/ 9 /dts-v1/; 11 #include <dt-bindings/net/ti-dp83867.h> 12 #include <dt-bindings/gpio/gpio.h> 13 #include "k3-j784s4.dtsi" 16 compatible = "ti,am69-sk", "ti,j784s4"; 20 stdout-path = "serial2:115200n8"; 36 bootph-all; 42 reserved_memory: reserved-memory { [all …]
|
H A D | k3-am64-phycore-som.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2021-2024 PHYTEC America, LLC - https://www.phytec.com 6 * Copyright (C) 2022-2024 PHYTEC Messtechnik GmbH 10 * https://www.phytec.com/product/phycore-am64x 13 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/leds/common.h> 15 #include <dt-bindings/net/ti-dp83867.h> 18 model = "PHYTEC phyCORE-AM64x"; 19 compatible = "phytec,am64-phycore-som", "ti,am642"; 32 reserved_memory: reserved-memory { [all …]
|
H A D | k3-j7200-som-p0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/ 6 /dts-v1/; 8 #include <dt-bindings/gpio/gpio.h> 10 #include "k3-j7200.dtsi" 15 bootph-all; 21 reserved_memory: reserved-memory { 22 #address-cells = <2>; 23 #size-cells = <2>; 29 no-map; [all …]
|
/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# 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 …]
|
H A D | hisilicon,hi6220-mailbox.txt | 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 22 phandle: Label name of mailbox controller 28 - interrupts: Contains the interrupt information for the mailbox 33 -------------------- 34 - hi6220,mbox-tx-noirq: Property of MCU firmware's feature, so mailbox driver 40 -------- 43 compatible = "hisilicon,hi6220-mbox"; [all …]
|
H A D | st,sti-mailbox.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mailbox/st,sti-mailbox.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 15 - Patrice Chotard <patrice.chotard@foss.st.com> 19 const: st,stih407-mailbox 24 mbox-name: 26 description: name of the mailbox IP 32 "#mbox-cells": 36 - compatible [all …]
|
H A D | hisilicon,hi3660-mailbox.txt | 9 ---------- 12 - compatible: : Shall be "hisilicon,hi3660-mbox" 13 - reg: : Offset and length of the device's register set 14 - #mbox-cells: : Must be 3 16 phandle : Label name of controller 21 - interrupts: : Contains the two IRQ lines for mailbox. 26 compatible = "hisilicon,hi3660-mbox"; 30 #mbox-cells = <3>; 34 ------ 37 - compatible : See the client docs [all …]
|
/linux/drivers/media/pci/ivtv/ |
H A D | ivtv-mailbox.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com> 6 Copyright (C) 2005-2007 Hans Verkuil <hverkuil@xs4all.nl> 10 #include "ivtv-driver.h" 11 #include "ivtv-mailbox.h" 33 const char *name; /* The name of the command */ member 133 u32 flags = readl(&mbdata->mbox[mb].flags); in try_mailbox() 137 if (is_free && !test_and_set_bit(mb, &mbdata->busy)) { in try_mailbox() 138 write_sync(IVTV_MBOX_DRIVER_BUSY, &mbdata->mbox[mb].flags); in try_mailbox() 150 int max_mbox = mbdata->max_mbox; in get_mailbox() [all …]
|
/linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_ptp.c | 1 // 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 …]
|