/freebsd/sys/contrib/device-tree/Bindings/reserved-memory/ |
H A D | reserved-memory.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/reserved-memory.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: /reserved-memory Child Node Common 10 - devicetree-spec@vger.kernel.org 13 Reserved memory is specified as a node under the /reserved-memory node. The 19 Each child of the reserved-memory node specifies one or more regions 25 Following the generic-names recommended practice, node names should 26 reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). [all …]
|
H A D | shared-dma-pool.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: /reserved-memory DMA pool 10 - devicetree-spec@vger.kernel.org 13 - $ref: reserved-memory.yaml 18 - const: shared-dma-pool 25 - const: restricted-dma-pool 30 When using this, the no-map and reusable properties must not [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/iommu/ |
H A D | rockchip,iommu.txt | 1 Rockchip IOMMU 4 A Rockchip DRM iommu translates io virtual addresses to physical addresses for 9 - compatible : Should be "rockchip,iommu" 10 - reg : Address space for the configuration registers 11 - interrupts : Interrupt specifier for the IOMMU instance 12 - interrupt-names : Interrupt name for the IOMMU instance 13 - #iommu-cells : Should be <0>. This indicates the iommu is a 14 "single-master" device, and needs no additional information 16 Documentation/devicetree/bindings/iommu/iommu.txt 17 - clocks : A list of clocks required for the IOMMU to be accessible by [all …]
|
H A D | rockchip,iommu.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# 5 $schema: http://devicetree.org/meta-schema [all...] |
H A D | iommu.txt | 5 IOMMU device node: 8 An IOMMU can provide the following services: 13 Example: 32-bit DMA to 64-bit physical addresses 15 * Implement scatter-gather at page level granularity so that the device does 19 through the IOMMU and faulting when encountering accesses to unmapped 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- 31 master IOMMU devices can translate accesses from more than one master. 33 The device tree node of the IOMMU device's parent bus must contain a valid 34 "dma-ranges" property that describes how the physical address space of the [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/pci/ |
H A D | host-generic-pci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/host-generic-pci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Will Deacon <will@kernel.org> 13 Firmware-initialised PCI host controllers and PCI emulations, such as the 14 virtio-pci implementations found in kvmtool and other para-virtualised 21 Configuration Space is assumed to be memory-mapped (as opposed to being 26 For CAM, this 24-bit offset is: 41 - description: [all …]
|
H A D | layerscape-pci.txt | 4 and thus inherits all the common properties defined in snps,dw-pcie.yaml. 7 which is used to describe the PLL settings at the time of chip-reset. 15 - compatible: should contain the platform identifier such as: 17 "fsl,ls1021a-pcie" 18 "fsl,ls2080a-pcie", "fsl,ls2085a-pcie" 19 "fsl,ls2088a-pcie" 20 "fsl,ls1088a-pcie" 21 "fsl,ls1046a-pcie" 22 "fsl,ls1043a-pcie" 23 "fsl,ls1012a-pcie" [all …]
|
/freebsd/sys/x86/iommu/ |
H A D | intel_utils.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 64 #include <dev/iommu/busdma_iommu.h> 65 #include <x86/iommu/intel_reg.h> 66 #include <x86/iommu/x86_iommu.h> 67 #include <x86/iommu/intel_dmar.h> 102 * 6-level paging (DMAR_CAP_SAGAW_6LVL) is not supported on any 103 * current VT-d hardware and its SAGAW field value is listed as 104 * reserved in the VT-d spec. If support is added in the future, 118 if ((DMAR_CAP_SAGAW(unit->hw_cap) & sagaw_bits[i].cap) != 0) in dmar_pglvl_supported() [all …]
|
H A D | intel_idpgtbl.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 66 #include <dev/iommu/busdma_iommu.h> 67 #include <x86/iommu/intel_reg.h> 68 #include <x86/iommu/x86_iommu.h> 69 #include <x86/iommu/intel_dmar.h> 90 level, it is non-zero if superpages 104 * - lvl is the level to build; 105 * - idx is the index of the page table page in the pgtbl_obj, which is 107 * - addr is the starting address in the bus address space which is [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/display/tegra/ |
H A D | nvidia,tegra20-host1x.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-host1x.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 13 description: The host1x top-level node defines a number of children, each 19 - enum: 20 - nvidia,tegra20-host1x 21 - nvidia,tegra30-host1x [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/crypto/ |
H A D | hisilicon,hip07-sec.txt | 4 - compatible: Must contain one of 5 - "hisilicon,hip06-sec" 6 - "hisilicon,hip07-sec" 7 - reg: Memory addresses and lengths of the memory regions through which 11 Regions 2-18 have registers for the 16 individual queues which are isolated 13 - interrupts: Interrupt specifiers. 14 Refer to interrupt-controller/interrupts.txt for generic interrupt client node 19 - dma-coherent: The driver assumes coherent dma is possible. 22 - iommus: The SEC units are behind smmu-v3 iommus. 23 Refer to iommu/arm,smmu-v3.txt for more information. [all …]
|
/freebsd/sys/contrib/device-tree/Bindings/dma/ |
H A D | qcom_hidma_mgmt.txt | 18 - compatible: "qcom,hidma-mgmt-1.0"; 19 - reg: Address range for DMA device 20 - dma-channels: Number of channels supported by this DMA controller. 21 - max-write-burst-bytes: Maximum write burst in bytes that HIDMA can 26 - max-read-burst-bytes: Maximum read burst in bytes that HIDMA can 31 - max-write-transactions: This value is how many times a write burst is 34 - max-read-transactions: This value is how many times a read burst is 36 - channel-reset-timeout-cycles: Channel reset timeout in cycles for this SOC. 41 Sub-nodes: 50 - compatible: must contain "qcom,hidma-1.0" for initial HW or [all …]
|
/freebsd/sys/powerpc/ps3/ |
H A D | ps3bus.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 50 #include "ps3-hvcall.h" 128 /* IOMMU interface */ 160 if (device_find_child(parent, "ps3bus", -1) == NULL) in ps3bus_identify() 184 resource_list_init(&dinfo->resources); in ps3bus_resources_init() 187 thread = 32 - fls(mfctrl()); in ps3bus_resources_init() 204 lv1_connect_interrupt_event_receive_port(dinfo->bus, in ps3bus_resources_init() 205 dinfo->dev, outlet, irq); in ps3bus_resources_init() 215 irq_type, dinfo->bus, dinfo->dev); in ps3bus_resources_init() [all …]
|
/freebsd/sys/amd64/vmm/amd/ |
H A D | amdvi_hw.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 55 #include "io/iommu.h" 63 #define MOD_DEC(a, s, m) (((a) - (s)) % ((m) * (s))) 127 return (pci_cfgregread(softc->pci_seg, PCI_RID2BUS(softc->pci_rid), in amdvi_pci_read() 128 PCI_RID2SLOT(softc->pci_rid), PCI_RID2FUNC(softc->pci_rid), in amdvi_pci_read() 136 * If ATS is absent or disabled, return (-1), otherwise ATS 144 int qlen = -1; in amdvi_find_ats_qlen() 150 return (-1); in amdvi_find_ats_qlen() 158 printf("AMD-Vi: PCI device %d.%d.%d ATS %s qlen=%d\n", in amdvi_find_ats_qlen() [all …]
|
/freebsd/sys/dev/iommu/ |
H A D | iommu_gas.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 60 #include <dev/iommu/iommu.h> 61 #include <dev/iommu/iommu_gas.h> 62 #include <dev/iommu/iommu_msi.h> 66 #include <machine/iommu.h> 67 #include <dev/iommu/busdma_iommu.h> 100 SLIST_INIT(&res->pgtbl_free); in iommu_gas_alloc_entry() 102 res->domain = domain; in iommu_gas_alloc_entry() 103 atomic_add_int(&domain->entries_cnt, 1); in iommu_gas_alloc_entry() [all …]
|
/freebsd/sys/contrib/device-tree/src/arm64/qcom/ |
H A D | msm8939.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2020-2023, Linaro Limited 7 #include <dt-bindings/clock/qcom,gcc-msm8939.h> 8 #include <dt-bindings/clock/qcom,rpmcc.h> 9 #include <dt-bindings/interconnect/qcom,msm8939.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/power/qcom-rpmpd.h> 12 #include <dt-bindings/reset/qcom,gcc-msm8939.h> 13 #include <dt-bindings/soc/qcom,apr.h> [all …]
|
H A D | msm8916.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 6 #include <dt-bindings/arm/coresight-cti-dt.h> 7 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 8 #include <dt-bindings/clock/qcom,rpmcc.h> 9 #include <dt-bindings/interconnect/qcom,msm8916.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/power/qcom-rpmpd.h> 12 #include <dt-bindings/reset/qcom,gcc-msm8916.h> 13 #include <dt-bindings/soc/qcom,apr.h> [all …]
|
/freebsd/sys/contrib/device-tree/src/arm64/nvidia/ |
H A D | tegra194.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra194-clock.h> 3 #include <dt-bindings/gpio/tegra194-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gi [all...] |
H A D | tegra234.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 #include <dt-bindings/clock/tegra234-clock.h> 4 #include <dt-bindings/gpio/tegra234-gpio.h> 5 #include <dt-bindings/interrupt-controller/arm-gic.h> 6 #include <dt-bindings/mailbox/tegra186-hsp.h> 7 #include <dt-bindings/memory/tegra234-mc.h> 8 #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> 9 #include <dt-bindings/power/tegra234-powergate.h> 10 #include <dt-bindings/reset/tegra234-reset.h> 11 #include <dt-bindings/thermal/tegra234-bpmp-thermal.h> [all …]
|
H A D | tegra186.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <dt-bindings/clock/tegra186-clock.h> 3 #include <dt-bindings/gpio/tegra186-gpio.h> 4 #include <dt-bindings/interrupt-controller/arm-gi [all...] |
/freebsd/sys/amd64/vmm/intel/ |
H A D | vtd.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 42 #include "io/iommu.h" 132 nd = VTD_CAP_ND(vtdmap->cap); in vtd_max_domains() 160 /* Skip domain id 0 - it is reserved when Caching Mode field is set */ in domain_id() 163 if (dom->id == id) in domain_id() 189 if (VTD_DRHD_INCLUDE_PCI_ALL(drhd->Flags)) { in vtd_device_scope() 191 * From Intel VT-d arch spec, version 3.0: in vtd_device_scope() 200 end = (char *)drhd + drhd->Header.Length; in vtd_device_scope() 201 remaining = drhd->Header.Length - sizeof(ACPI_DMAR_HARDWARE_UNIT); in vtd_device_scope() [all …]
|
/freebsd/sys/dev/virtio/block/ |
H A D | virtio_blk.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 208 #define vtblk_modern(_sc) (((_sc)->vtblk_features & VIRTIO_F_VERSION_1) != 0) 219 static int vtblk_writecache_mode = -1; 237 #define VTBLK_MTX(_sc) &(_sc)->vtblk_mtx 253 * Each block request uses at least two segments - one for the header 321 sc->vtblk_de in vtblk_attach() [all...] |
/freebsd/sys/dev/ofw/ |
H A D | ofw_bus_subr.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 4 * Copyright (c) 2001 - 2003 by Thomas Moestl <tmm@FreeBSD.org>. 59 if ((OF_getprop_alloc(node, "name", (void **)&obd->obd_name)) == -1) in ofw_bus_gen_setup_devinfo() 61 OF_getprop_alloc(node, "compatible", (void **)&obd->obd_compat); in ofw_bus_gen_setup_devinfo() 62 OF_getprop_alloc(node, "device_type", (void **)&obd->obd_type); in ofw_bus_gen_setup_devinfo() 63 OF_getprop_alloc(node, "model", (void **)&obd->obd_model); in ofw_bus_gen_setup_devinfo() 64 OF_getprop_alloc(node, "status", (void **)&obd->obd_status); in ofw_bus_gen_setup_devinfo() 65 obd->obd_node = node; in ofw_bus_gen_setup_devinfo() 75 if (obd->obd_compat != NULL) in ofw_bus_gen_destroy_devinfo() [all …]
|
/freebsd/sys/kern/ |
H A D | subr_bus_dma.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 109 for (; sglist_cnt > 0 && length != 0; sglist_cnt--, list++) { in _bus_dmamap_load_vlist() 113 KASSERT((offset < list->ds_len), in _bus_dmamap_load_vlist() 114 ("Invalid mid-segment offset")); in _bus_dmamap_load_vlist() 115 addr = (char *)(uintptr_t)list->ds_addr + offset; in _bus_dmamap_load_vlist() 116 ds_len = list->ds_len - offset; in _bus_dmamap_load_vlist() 120 length -= ds_len; in _bus_dmamap_load_vlist() 131 * Load a list of physical addresses. 140 for (; sglist_cnt > 0; sglist_cnt--, list++) { in _bus_dmamap_load_plist() [all …]
|
/freebsd/sys/dev/netmap/ |
H A D | netmap_mem2.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 4 * Copyright (C) 2012-2014 Matteo Landi 5 * Copyright (C) 2012-2016 Luigi Rizzo 6 * Copyright (C) 2012-2016 Giuseppe Lettieri 98 /* ---------------------------------------------------*/ 103 struct lut_entry *lut; /* virt,phys addresses, objtotal entries */ 113 /* ---------------------------------------------------*/ 134 #define NMA_LOCK_INIT(n) NM_MTX_INIT((n)->nm_mtx) 135 #define NMA_LOCK_DESTROY(n) NM_MTX_DESTROY((n)->nm_mtx) [all …]
|