| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/iommu/ |
| D | iommu.txt | 13 Example: 32-bit DMA to 64-bit physical addresses 15 * Implement scatter-gather at page level granularity so that the device does 18 * Provide system protection against "rogue" DMA by forcing all accesses to go 29 IOMMUs can be single-master or multiple-master. Single-master IOMMU devices 30 typically have a fixed association to the master device, whereas multiple- 34 "dma-ranges" property that describes how the physical address space of the 35 IOMMU maps to memory. An empty "dma-ranges" property means that there is a 39 -------------------- 40 - #iommu-cells: The number of cells in an IOMMU specifier needed to encode an 44 the specific IOMMU. Below are a few examples of typical use-cases: [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/iommu/ |
| D | iommu.txt | 13 Example: 32-bit DMA to 64-bit physical addresses 15 * Implement scatter-gather at page level granularity so that the device does 18 * Provide system protection against "rogue" DMA by forcing all accesses to go 29 IOMMUs can be single-master or multiple-master. Single-master IOMMU devices 30 typically have a fixed association to the master device, whereas multiple- 34 "dma-ranges" property that describes how the physical address space of the 35 IOMMU maps to memory. An empty "dma-ranges" property means that there is a 39 -------------------- 40 - #iommu-cells: The number of cells in an IOMMU specifier needed to encode an 44 the specific IOMMU. Below are a few examples of typical use-cases: [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/dma/ |
| D | dma-router.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/dma/dma-router.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: DMA Router Common Properties 10 - Vinod Koul <vkoul@kernel.org> 13 - $ref: dma-common.yaml# 16 DMA routers are transparent IP blocks used to route DMA request 17 lines from devices to the DMA controller. Some SoCs (like TI DRA7x) 18 have more peripherals integrated with DMA requests than what the DMA [all …]
|
| D | snps,dw-axi-dmac.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/snps,dw-axi-dmac.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Synopsys DesignWare AXI DMA Controller 10 - Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> 13 Synopsys DesignWare AXI DMA Controller DT Binding 16 - $ref: dma-controller.yaml# 21 - snps,axi-dma-1.01a 22 - intel,kmb-axi-dma [all …]
|
| D | renesas,rzn1-dmamux.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/renesas,rzn1-dmamux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas RZ/N1 DMA mux 10 - Miquel Raynal <miquel.raynal@bootlin.com> 13 - $ref: dma-router.yaml# 17 const: renesas,rzn1-dmamux 21 description: DMA mux first register offset within the system control parent. 23 '#dma-cells': [all …]
|
| D | st,stm32-dmamux.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/st,stm32-dmamux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 DMA MUX (DMA request router) 10 - Amelie Delaunay <amelie.delaunay@foss.st.com> 13 - $ref: dma-router.yaml# 16 "#dma-cells": 20 const: st,stm32h7-dmamux 32 - compatible [all …]
|
| D | lpc1850-dmamux.txt | 1 NXP LPC18xx/43xx DMA MUX (DMA request router) 4 - compatible: "nxp,lpc1850-dmamux" 5 - reg: Memory map for accessing module 6 - #dma-cells: Should be set to <3>. 7 * 1st cell contain the master dma request signal 8 * 2nd cell contain the mux value (0-3) for the peripheral 11 - dma-requests: Number of DMA requests for the mux 12 - dma-masters: phandle pointing to the DMA controller 14 The DMA controller node need to have the following poroperties: 15 - dma-requests: Number of DMA requests the controller can handle [all …]
|
| D | snps,dma-spear1340.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/dma/snps,dma-spear1340.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Synopsys Designware DMA Controller 10 - Viresh Kumar <vireshk@kernel.org> 11 - Andy Shevchenko <andriy.shevchenko@linux.intel.com> 14 - $ref: dma-controller.yaml# 19 - const: snps,dma-spear1340 20 - items: [all …]
|
| D | ti-dma-crossbar.txt | 1 Texas Instruments DMA Crossbar (DMA request router) 4 - compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar 5 "ti,am335x-edma-crossbar" for AM335x and AM437x 6 - reg: Memory map for accessing module 7 - #dma-cells: Should be set to match with the DMA controller's dma-cells 8 for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar. 9 - dma-requests: Number of DMA requests the crossbar can receive 10 - dma-masters: phandle pointing to the DMA controller 12 The DMA controller node need to have the following poroperties: 13 - dma-requests: Number of DMA requests the controller can handle [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/dma/ |
| D | dma-router.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/dma/dma-router.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: DMA Router Generic Binding 10 - Vinod Koul <vkoul@kernel.org> 13 - $ref: "dma-common.yaml#" 16 DMA routers are transparent IP blocks used to route DMA request 17 lines from devices to the DMA controller. Some SoCs (like TI DRA7x) 18 have more peripherals integrated with DMA requests than what the DMA [all …]
|
| D | snps,dw-axi-dmac.txt | 1 Synopsys DesignWare AXI DMA Controller 4 - compatible: "snps,axi-dma-1.01a" 5 - reg: Address range of the DMAC registers. This should include 6 all of the per-channel registers. 7 - interrupt: Should contain the DMAC interrupt number. 8 - dma-channels: Number of channels supported by hardware. 9 - snps,dma-masters: Number of AXI masters supported by the hardware. 10 - snps,data-width: Maximum AXI data width supported by hardware. 11 (0 - 8bits, 1 - 16bits, 2 - 32bits, ..., 6 - 512bits) 12 - snps,priority: Priority of channel. Array size is equal to the number of [all …]
|
| D | st,stm32-dmamux.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/st,stm32-dmamux.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 DMA MUX (DMA request router) bindings 10 - Amelie Delaunay <amelie.delaunay@st.com> 13 - $ref: "dma-router.yaml#" 16 "#dma-cells": 20 const: st,stm32h7-dmamux 32 - compatible [all …]
|
| D | lpc1850-dmamux.txt | 1 NXP LPC18xx/43xx DMA MUX (DMA request router) 4 - compatible: "nxp,lpc1850-dmamux" 5 - reg: Memory map for accessing module 6 - #dma-cells: Should be set to <3>. 7 * 1st cell contain the master dma request signal 8 * 2nd cell contain the mux value (0-3) for the peripheral 11 - dma-requests: Number of DMA requests for the mux 12 - dma-masters: phandle pointing to the DMA controller 14 The DMA controller node need to have the following poroperties: 15 - dma-requests: Number of DMA requests the controller can handle [all …]
|
| D | snps,dma-spear1340.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/dma/snps,dma-spear1340.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Synopsys Designware DMA Controller 10 - Viresh Kumar <vireshk@kernel.org> 11 - Andy Shevchenko <andriy.shevchenko@linux.intel.com> 14 - $ref: "dma-controller.yaml#" 18 const: snps,dma-spear1340 20 "#dma-cells": [all …]
|
| D | ti-dma-crossbar.txt | 1 Texas Instruments DMA Crossbar (DMA request router) 4 - compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar 5 "ti,am335x-edma-crossbar" for AM335x and AM437x 6 - reg: Memory map for accessing module 7 - #dma-cells: Should be set to to match with the DMA controller's dma-cells 8 for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar. 9 - dma-requests: Number of DMA requests the crossbar can receive 10 - dma-masters: phandle pointing to the DMA controller 12 The DMA controller node need to have the following poroperties: 13 - dma-requests: Number of DMA requests the controller can handle [all …]
|
| /kernel/linux/linux-6.6/drivers/dma/ |
| D | stm32-dmamux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Pierre-Yves Mordret <pierre-yves.mordret@st.com> 8 * DMA Router driver for STM32 DMA MUX 10 * Based on TI DMA Crossbar driver 41 u32 dma_requests; /* Number of DMA requests connected to DMAMUX */ 42 u32 dmamux_requests; /* Number of DMA requests routed toward DMAs */ 44 DECLARE_BITMAP(dma_inuse, STM32_DMAMUX_MAX_DMA_REQUESTS); /* Used DMA channel */ 48 u32 dma_reqs[]; /* Number of DMA Request per DMA masters. 49 * [0] holds number of DMA Masters. 70 /* Clear dma request */ in stm32_dmamux_free() [all …]
|
| D | lpc18xx-dmamux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * DMA Router driver for LPC18xx/43xx DMA MUX 7 * Based on TI DMA Crossbar driver by: 8 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com 48 spin_lock_irqsave(&dmamux->lock, flags); in lpc18xx_dmamux_free() 49 mux->busy = false; in lpc18xx_dmamux_free() 50 spin_unlock_irqrestore(&dmamux->lock, flags); in lpc18xx_dmamux_free() 56 struct platform_device *pdev = of_find_device_by_node(ofdma->of_node); in lpc18xx_dmamux_reserve() 61 if (dma_spec->args_count != 3) { in lpc18xx_dmamux_reserve() 62 dev_err(&pdev->dev, "invalid number of dma mux args\n"); in lpc18xx_dmamux_reserve() [all …]
|
| /kernel/linux/linux-5.10/drivers/dma/ |
| D | stm32-dmamux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Pierre-Yves Mordret <pierre-yves.mordret@st.com> 8 * DMA Router driver for STM32 DMA MUX 10 * Based on TI DMA Crossbar driver 39 u32 dma_requests; /* Number of DMA requests connected to DMAMUX */ 40 u32 dmamux_requests; /* Number of DMA requests routed toward DMAs */ 42 unsigned long *dma_inuse; /* Used DMA channel */ 46 u32 dma_reqs[]; /* Number of DMA Request per DMA masters. 47 * [0] holds number of DMA Masters. 68 /* Clear dma request */ in stm32_dmamux_free() [all …]
|
| D | lpc18xx-dmamux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * DMA Router driver for LPC18xx/43xx DMA MUX 7 * Based on TI DMA Crossbar driver by: 8 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com 46 spin_lock_irqsave(&dmamux->lock, flags); in lpc18xx_dmamux_free() 47 mux->busy = false; in lpc18xx_dmamux_free() 48 spin_unlock_irqrestore(&dmamux->lock, flags); in lpc18xx_dmamux_free() 54 struct platform_device *pdev = of_find_device_by_node(ofdma->of_node); in lpc18xx_dmamux_reserve() 59 if (dma_spec->args_count != 3) { in lpc18xx_dmamux_reserve() 60 dev_err(&pdev->dev, "invalid number of dma mux args\n"); in lpc18xx_dmamux_reserve() [all …]
|
| /kernel/linux/linux-5.10/drivers/dma/ti/ |
| D | dma-crossbar.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com 24 .compatible = "ti,dra7-dma-crossbar", 28 .compatible = "ti,am335x-edma-crossbar", 43 u32 dma_requests; /* number of DMA requests on eDMA */ 59 writeb_relaxed(val, iomem + (63 - event % 4)); in ti_am335x_xbar_write() 70 map->mux_val, map->dma_line); in ti_am335x_xbar_free() 72 ti_am335x_xbar_write(xbar->iomem, map->dma_line, 0); in ti_am335x_xbar_free() 79 struct platform_device *pdev = of_find_device_by_node(ofdma->of_node); in ti_am335x_xbar_route_allocate() 83 if (dma_spec->args_count != 3) in ti_am335x_xbar_route_allocate() [all …]
|
| /kernel/linux/linux-6.6/drivers/dma/ti/ |
| D | dma-crossbar.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com 25 .compatible = "ti,dra7-dma-crossbar", 29 .compatible = "ti,am335x-edma-crossbar", 44 u32 dma_requests; /* number of DMA requests on eDMA */ 60 writeb_relaxed(val, iomem + (63 - event % 4)); in ti_am335x_xbar_write() 71 map->mux_val, map->dma_line); in ti_am335x_xbar_free() 73 ti_am335x_xbar_write(xbar->iomem, map->dma_line, 0); in ti_am335x_xbar_free() 80 struct platform_device *pdev = of_find_device_by_node(ofdma->of_node); in ti_am335x_xbar_route_allocate() 84 if (dma_spec->args_count != 3) in ti_am335x_xbar_route_allocate() [all …]
|
| /kernel/linux/linux-6.6/drivers/dma/dw/ |
| D | rzn1-dmamux.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2022 Schneider-Electric 13 #include <linux/soc/renesas/r9a06g032-sysctrl.h> 34 dev_dbg(dev, "Unmapping DMAMUX request %u\n", map->req_idx); in rzn1_dmamux_free() 36 clear_bit(map->req_idx, dmamux->used_chans); in rzn1_dmamux_free() 44 struct platform_device *pdev = of_find_device_by_node(ofdma->of_node); in rzn1_dmamux_route_allocate() 51 if (dma_spec->args_count != RNZ1_DMAMUX_NCELLS) in rzn1_dmamux_route_allocate() 52 return ERR_PTR(-EINVAL); in rzn1_dmamux_route_allocate() 56 return ERR_PTR(-ENOMEM); in rzn1_dmamux_route_allocate() 58 chan = dma_spec->args[0]; in rzn1_dmamux_route_allocate() [all …]
|
| /kernel/linux/linux-5.10/drivers/vme/bridges/ |
| D | vme_fake.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 65 struct fake_master_window masters[FAKE_MAX_MASTER]; member 99 bridge = fake_bridge->driver_priv; in fake_VIRQ_tasklet() 101 vme_irq_handler(fake_bridge, bridge->int_level, bridge->int_statid); in fake_VIRQ_tasklet() 132 bridge = fake_bridge->driver_priv; in fake_irq_generate() 134 mutex_lock(&bridge->vme_int); in fake_irq_generate() 136 bridge->int_level = level; in fake_irq_generate() 138 bridge->int_statid = statid; in fake_irq_generate() 144 tasklet_schedule(&bridge->int_tasklet); in fake_irq_generate() 146 mutex_unlock(&bridge->vme_int); in fake_irq_generate() [all …]
|
| /kernel/linux/linux-6.6/drivers/staging/vme_user/ |
| D | vme_fake.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 65 struct fake_master_window masters[FAKE_MAX_MASTER]; member 99 bridge = fake_bridge->driver_priv; in fake_VIRQ_tasklet() 101 vme_irq_handler(fake_bridge, bridge->int_level, bridge->int_statid); in fake_VIRQ_tasklet() 132 bridge = fake_bridge->driver_priv; in fake_irq_generate() 134 mutex_lock(&bridge->vme_int); in fake_irq_generate() 136 bridge->int_level = level; in fake_irq_generate() 138 bridge->int_statid = statid; in fake_irq_generate() 144 tasklet_schedule(&bridge->int_tasklet); in fake_irq_generate() 146 mutex_unlock(&bridge->vme_int); in fake_irq_generate() [all …]
|
| /kernel/linux/linux-5.10/drivers/iommu/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 # The IOVA library may also be used by non-IOMMU_API users 6 # The IOASID library may also be used by non-IOMMU_API users 21 remap DMA requests and/or remap interrupts from other devices on the 39 sizes at both stage-1 and stage-2, as well as address spaces 40 up to 48-bits in size. 46 Enable self-tests for LPAE page table allocator. This performs 47 a series of page-table consistency checks during boot. 56 Enable support for the ARM Short-descriptor pagetable format. 57 This supports 32-bit virtual and physical addresses mapped using [all …]
|