/linux/arch/sparc/kernel/ |
H A D | iommu-common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * IOMMU mmap management and range allocation functions. 4 * Based almost entirely upon the powerpc iommu allocator. 10 #include <linux/iommu-helper.h> 11 #include <linux/dma-mapping.h> 13 #include <asm/iommu-common.h> 19 static inline bool need_flush(struct iommu_map_table *iommu) in need_flush() argument 21 return ((iommu->flags & IOMMU_NEED_FLUSH) != 0); in need_flush() 24 static inline void set_flush(struct iommu_map_table *iommu) in set_flush() argument 26 iommu->flags |= IOMMU_NEED_FLUSH; in set_flush() [all …]
|
H A D | pci.c | 1 // SPDX-License-Identifier: GPL-2.0 42 volatile int pci_poke_cpu = -1; 63 pci_poke_cpu = -1; in pci_config_read8() 85 pci_poke_cpu = -1; in pci_config_read16() 107 pci_poke_cpu = -1; in pci_config_read32() 128 pci_poke_cpu = -1; in pci_config_write8() 147 pci_poke_cpu = -1; in pci_config_write16() 166 pci_poke_cpu = -1; in pci_config_write32() 202 /* The of_device layer has translated all of the assigned-address properties 214 addrs = of_get_property(node, "assigned-addresses", &proplen); in pci_parse_of_addrs() [all …]
|
/linux/Documentation/devicetree/bindings/pci/ |
H A D | pci-ep.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/pci-ep.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 13 - Kishon Vijay Abraham I <kishon@kernel.org> 14 - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 18 pattern: "^pcie-ep@" 20 iommu-map: 21 $ref: /schemas/types.yaml#/definitions/uint32-matrix 24 - description: Device ID (see msi-map) base [all …]
|
H A D | apple,pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mark Kettenis <kettenis@openbsd.org> 26 the standard "reset-gpios" and "max-link-speed" properties appear on 38 - items: 39 - enum: 40 - apple,t8103-pcie 41 - apple,t8112-pcie 42 - apple,t6000-pcie [all …]
|
H A D | rcar-pci-host.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/pci/rcar-pci-host.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Renesas R-Car PCIe Host 11 - Marek Vasut <marek.vasut+renesas@gmail.com> 12 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 15 - $ref: /schemas/pci/pci-host-bridge.yaml# 20 - const: renesas,pcie-r8a7779 # R-Car H1 21 - items: [all …]
|
H A D | fsl,layerscape-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Frank Li <Frank.Li@nxp.com> 16 which is used to describe the PLL settings at the time of chip-reset. 26 - enum: 27 - fsl,ls1012a-pcie 28 - fsl,ls1021a-pcie 29 - fsl,ls1028a-pcie [all …]
|
/linux/arch/arm64/boot/dts/arm/ |
H A D | morello-sdp.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 3 * Copyright (c) 2021-2024, Arm Limited. All rights reserved. 6 /dts-v1/; 11 compatible = "arm,morello-sdp", "arm,morello"; 18 stdout-path = "serial0:115200n8"; 21 dpu_aclk: clock-350000000 { 23 compatible = "fixed-clock"; 24 #clock-cells = <0>; 25 clock-frequency = <350000000>; 26 clock-output-names = "aclk"; [all …]
|
H A D | juno-base.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include "juno-clocks.dtsi" 3 #include "juno-motherboard.dtsi" 11 compatible = "arm,armv7-timer-mem"; 13 #address-cells = <1>; 14 #size-cells = <1>; 18 frame-number = <1>; 30 #mbox-cells = <1>; 32 clock-names = "apb_pclk"; 35 smmu_gpu: iommu@2b400000 { [all …]
|
/linux/arch/powerpc/boot/dts/fsl/ |
H A D | p5020si-post.dtsi | 4 * Copyright 2011 - 2015 Freescale Semiconductor Inc. 36 compatible = "fsl,bman-fbpr"; 37 alloc-ranges = <0 0 0x10000 0>; 41 compatible = "fsl,qman-fqd"; 42 alloc-ranges = <0 0 0x10000 0>; 46 compatible = "fsl,qman-pfdr"; 47 alloc-ranges = <0 0 0x10000 0>; 51 compatible = "fsl,p5020-elbc", "fsl,elbc", "simple-bus"; 53 #address-cells = <2>; 54 #size-cells = <1>; [all …]
|
H A D | p3041si-post.dtsi | 4 * Copyright 2011 - 2015 Freescale Semiconductor Inc. 36 compatible = "fsl,bman-fbpr"; 37 alloc-ranges = <0 0 0x10 0>; 41 compatible = "fsl,qman-fqd"; 42 alloc-ranges = <0 0 0x10 0>; 46 compatible = "fsl,qman-pfdr"; 47 alloc-ranges = <0 0 0x10 0>; 51 compatible = "fsl,p3041-elbc", "fsl,elbc", "simple-bus"; 53 #address-cells = <2>; 54 #size-cells = <1>; [all …]
|
H A D | p2041si-post.dtsi | 4 * Copyright 2011 - 2015 Freescale Semiconductor Inc. 36 compatible = "fsl,bman-fbpr"; 37 alloc-ranges = <0 0 0x10 0>; 41 compatible = "fsl,qman-fqd"; 42 alloc-ranges = <0 0 0x10 0>; 46 compatible = "fsl,qman-pfdr"; 47 alloc-ranges = <0 0 0x10 0>; 51 compatible = "fsl,p2041-elbc", "fsl,elbc", "simple-bus"; 53 #address-cells = <2>; 54 #size-cells = <1>; [all …]
|
H A D | p5040si-post.dtsi | 4 * Copyright 2012 - 2015 Freescale Semiconductor Inc. 36 compatible = "fsl,bman-fbpr"; 37 alloc-ranges = <0 0 0x10000 0>; 41 compatible = "fsl,qman-fqd"; 42 alloc-ranges = <0 0 0x10000 0>; 46 compatible = "fsl,qman-pfdr"; 47 alloc-ranges = <0 0 0x10000 0>; 51 compatible = "fsl,p5040-elbc", "fsl,elbc", "simple-bus"; 53 #address-cells = <2>; 54 #size-cells = <1>; [all …]
|
H A D | p4080si-post.dtsi | 4 * Copyright 2011 - 2015 Freescale Semiconductor Inc. 36 compatible = "fsl,bman-fbpr"; 37 alloc-ranges = <0 0 0x10 0>; 41 compatible = "fsl,qman-fqd"; 42 alloc-ranges = <0 0 0x10 0>; 46 compatible = "fsl,qman-pfdr"; 47 alloc-ranges = <0 0 0x10 0>; 51 compatible = "fsl,p4080-elbc", "fsl,elbc", "simple-bus"; 53 #address-cells = <2>; 54 #size-cells = <1>; [all …]
|
H A D | t2081si-post.dtsi | 4 * Copyright 2013 - 2014 Freescale Semiconductor Inc. 36 compatible = "fsl,bman-fbpr"; 37 alloc-ranges = <0 0 0x10000 0>; 41 compatible = "fsl,qman-fqd"; 42 alloc-ranges = <0 0 0x10000 0>; 46 compatible = "fsl,qman-pfdr"; 47 alloc-ranges = <0 0 0x10000 0>; 51 #address-cells = <2>; 52 #size-cells = <1>; 59 compatible = "fsl,t2080-pcie", "fsl,qoriq-pcie-v3.0", "fsl,qoriq-pcie"; [all …]
|
H A D | t1023si-post.dtsi | 35 #include <dt-bindings/thermal/thermal.h> 38 compatible = "fsl,bman-fbpr"; 39 alloc-ranges = <0 0 0x10000 0>; 43 compatible = "fsl,qman-fqd"; 44 alloc-ranges = <0 0 0x10000 0>; 48 compatible = "fsl,qman-pfdr"; 49 alloc-ranges = <0 0 0x10000 0>; 53 #address-cells = <2>; 54 #size-cells = <1>; 60 compatible = "fsl,t1023-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie"; [all …]
|
H A D | t1040si-post.dtsi | 4 * Copyright 2013 - 2014 Freescale Semiconductor Inc. 35 #include <dt-bindings/thermal/thermal.h> 38 compatible = "fsl,bman-fbpr"; 39 alloc-ranges = <0 0 0x10000 0>; 43 compatible = "fsl,qman-fqd"; 44 alloc-ranges = <0 0 0x10000 0>; 48 compatible = "fsl,qman-pfdr"; 49 alloc-ranges = <0 0 0x10000 0>; 53 #address-cells = <2>; 54 #size-cells = <1>; [all …]
|
/linux/arch/arm64/boot/dts/marvell/ |
H A D | armada-7040.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 #include "armada-ap806-quad.dtsi" 10 #include "armada-70x0.dtsi" 13 iommu-map = 17 iommu-map-mask = <0x031f>;
|
H A D | cn9130-crb-A.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 6 #include "cn9130-crb.dtsi" 9 model = "Marvell Armada CN9130-CRB-A"; 14 num-lanes = <4>; 15 num-viewport = <8>; 21 iommu-map = 25 iommu-map-mask = <0x031f>; 30 usb-phy = <&cp0_usb3_0_phy0>; 31 phy-names = "usb"; 36 usb-phy = <&cp0_usb3_0_phy1>; [all …]
|
H A D | armada-8040.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 9 #include "armada-ap806-quad.dtsi" 10 #include "armada-80x0.dtsi" 13 iommu-map = 17 iommu-map-mask = <0x031f>;
|
/linux/drivers/iommu/ |
H A D | of_iommu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * OF helpers for IOMMU 9 #include <linux/iommu.h> 20 #include "iommu-priv.h" 28 if (!of_device_is_available(iommu_spec->np)) in of_iommu_xlate() 29 return -ENODEV; in of_iommu_xlate() 31 ret = iommu_fwspec_init(dev, of_fwnode_handle(iommu_spec->np)); in of_iommu_xlate() 35 ops = iommu_ops_from_fwnode(&iommu_spec->np->fwnode); in of_iommu_xlate() 36 if (!ops->of_xlate || !try_module_get(ops->owner)) in of_iommu_xlate() 37 return -ENODEV; in of_iommu_xlate() [all …]
|
/linux/arch/sparc/include/asm/ |
H A D | iommu-common.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 32 unsigned long *map; member 35 extern void iommu_tbl_pool_init(struct iommu_map_table *iommu, 43 struct iommu_map_table *iommu, 46 unsigned long mask, 49 extern void iommu_tbl_range_free(struct iommu_map_table *iommu,
|
/linux/arch/alpha/kernel/ |
H A D | pci_iommu.c | 1 // SPDX-License-Identifier: GPL-2.0 14 #include <linux/dma-map-ops.h> 15 #include <linux/iommu-helper.h> 44 return (paddr >> (PAGE_SHIFT-1)) | 1; in mk_iommu_pte() 71 particular systems can over-align the arena. */ in iommu_arena_new_node() 76 arena->ptes = memblock_alloc_or_panic(mem_size, align); in iommu_arena_new_node() 78 spin_lock_init(&arena->lock); in iommu_arena_new_node() 79 arena->hose = hose; in iommu_arena_new_node() 80 arena->dma_base = base; in iommu_arena_new_node() 81 arena->size = window_size; in iommu_arena_new_node() [all …]
|
/linux/arch/arm/mm/ |
H A D | dma-mapping.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * linux/arch/arm/mm/dma-mapping.c 5 * Copyright (C) 2000-2004 Russell King 17 #include <linux/dma-direct.h> 18 #include <linux/dma-map-ops.h> 22 #include <linux/iommu.h> 33 #include <asm/dma-iommu.h> 34 #include <asm/mach/map.h> 36 #include <asm/xen/xen-ops.h> 84 if (buf->virt == virt) { in arm_dma_buffer_find() [all …]
|
/linux/arch/powerpc/sysdev/ |
H A D | dart_iommu.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 13 * Dynamic DMA mapping support, Apple U3, U4 & IBM CPC925 "DART" iommu. 22 #include <linux/dma-mapping.h> 29 #include <asm/iommu.h> 30 #include <asm/pci-bridge.h> 33 #include <asm/ppc-pci.h> 182 orig_dp = dp = ((unsigned int*)tbl->it_base) + index; in dart_build() 188 while (l--) { in dart_build() 199 while (npages--) in dart_build() 215 * bad DMAs, but then no 32-bit architecture ever does either. in dart_free() [all …]
|
/linux/drivers/of/ |
H A D | device.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/dma-direct.h> /* for bus_dma_region */ 9 #include <linux/dma-map-ops.h> 19 * of_match_device - Tell if a struct device matches an of_device_id list 29 if (!matches || !dev->of_node || dev->of_node_reused) in of_match_device() 31 return of_match_node(matches, dev->of_node); in of_match_device() 38 struct device_node *of_node = dev->of_node; in of_dma_set_restricted_buffer() 46 * If dev->of_node doesn't exist or doesn't contain memory-region, try in of_dma_set_restricted_buffer() 49 if (!of_property_present(of_node, "memory-region")) in of_dma_set_restricted_buffer() 52 of_for_each_phandle(&it, rc, of_node, "memory-region", NULL, 0) { in of_dma_set_restricted_buffer() [all …]
|