/linux/drivers/gpu/drm/nouveau/nvkm/engine/dma/ |
H A D | Kbuild | 1 # SPDX-License-Identifier: MIT 2 nvkm-y += nvkm/engine/dma/base.o 3 nvkm-y += nvkm/engine/dma/nv04.o 4 nvkm-y += nvkm/engine/dma/nv50.o 5 nvkm-y += nvkm/engine/dma/gf100.o 6 nvkm-y += nvkm/engine/dma/gf119.o 7 nvkm-y += nvkm/engine/dma/gv100.o 9 nvkm-y += nvkm/engine/dma/user.o 10 nvkm-y += nvkm/engine/dma/usernv04.o 11 nvkm-y += nvkm/engine/dma/usernv50.o [all …]
|
H A D | base.c | 27 #include <engine/fifo.h> 36 struct nvkm_dma *dma = nvkm_dma(oclass->engine); in nvkm_dma_oclass_new() local 40 ret = dma->func->class_new(dma, oclass, data, size, &dmaobj); in nvkm_dma_oclass_new() 42 *pobject = &dmaobj->object; in nvkm_dma_oclass_new() 55 return nvkm_dma_oclass_new(oclass->engine->subdev.device, in nvkm_dma_oclass_fifo_new() 73 sclass->base = oclass[0]; in nvkm_dma_oclass_base_get() 74 sclass->engn = oclass; in nvkm_dma_oclass_base_get() 86 oclass->base = nvkm_dma_sclass[index]; in nvkm_dma_oclass_fifo_get() 93 nvkm_dma_dtor(struct nvkm_engine *engine) in nvkm_dma_dtor() argument 95 return nvkm_dma(engine); in nvkm_dma_dtor() [all …]
|
/linux/Documentation/driver-api/dmaengine/ |
H A D | client.rst | 2 DMA Engine API Guide 7 .. note:: For DMA Engine usage in async_tx please see: 8 ``Documentation/crypto/async-tx-api.rst`` 11 Below is a guide to device driver writers on how to use the Slave-DMA API of the 12 DMA Engine. This is applicable only for slave DMA usage only. 14 DMA usage 17 The slave DMA usage consists of following steps: 19 - Allocate a DMA slave channel 21 - Set slave and controller specific parameters 23 - Get a descriptor for transaction [all …]
|
/linux/drivers/gpu/drm/radeon/ |
H A D | r600_dma.c | 31 * DMA 33 * DMA engine. The programming model is very similar 34 * to the 3D engine (ring buffer, IBs, etc.), but the 35 * DMA controller has it's own packet format that is 36 * different form the PM4 format used by the 3D engine. 43 * r600_dma_get_rptr - get the current read pointer 55 if (rdev->wb.enabled) in r600_dma_get_rptr() 56 rptr = rdev->wb.wb[ring->rptr_offs/4]; in r600_dma_get_rptr() 64 * r600_dma_get_wptr - get the current write pointer 78 * r600_dma_set_wptr - commit the write pointer [all …]
|
H A D | evergreen_dma.c | 31 * evergreen_dma_fence_ring_emit - emit a fence on the DMA ring 36 * Add a DMA fence packet to the ring to write 37 * the fence seq number and DMA trap packet to generate 38 * an interrupt if needed (evergreen-SI). 43 struct radeon_ring *ring = &rdev->ring[fence->ring]; in evergreen_dma_fence_ring_emit() 44 u64 addr = rdev->fence_drv[fence->ring].gpu_addr; in evergreen_dma_fence_ring_emit() 49 radeon_ring_write(ring, fence->seq); in evergreen_dma_fence_ring_emit() 59 * evergreen_dma_ring_ib_execute - schedule an IB on the DMA engine 64 * Schedule an IB in the DMA ring (evergreen). 69 struct radeon_ring *ring = &rdev->ring[ib->ring]; in evergreen_dma_ring_ib_execute() [all …]
|
H A D | ni_dma.c | 32 * DMA 34 * DMA engine. The programming model is very similar 35 * to the 3D engine (ring buffer, IBs, etc.), but the 36 * DMA controller has it's own packet format that is 37 * different form the PM4 format used by the 3D engine. 41 * Cayman and newer support two asynchronous DMA engines. 45 * cayman_dma_get_rptr - get the current read pointer 57 if (rdev->wb.enabled) { in cayman_dma_get_rptr() 58 rptr = rdev->wb.wb[ring->rptr_offs/4]; in cayman_dma_get_rptr() 60 if (ring->idx == R600_RING_TYPE_DMA_INDEX) in cayman_dma_get_rptr() [all …]
|
/linux/Documentation/devicetree/bindings/mips/cavium/ |
H A D | dma-engine.txt | 1 * DMA Engine. 3 The Octeon DMA Engine transfers between the Boot Bus and main memory. 4 The DMA Engine will be referred to by phandle by any device that is 8 - compatible: "cavium,octeon-5750-bootbus-dma" 12 - reg: The base address of the DMA Engine's register bank. 14 - interrupts: A single interrupt specifier. 17 dma0: dma-engine@1180000000100 { 18 compatible = "cavium,octeon-5750-bootbus-dma";
|
/linux/drivers/soc/sunxi/ |
H A D | sunxi_mbus.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <linux/dma-map-ops.h> 13 * The display engine virtual devices are not strictly speaking 15 * memory allocations and DMA operations through that device, we 18 "allwinner,sun4i-a10-display-engine", 19 "allwinner,sun5i-a10s-display-engine", 20 "allwinner,sun5i-a13-display-engine", 21 "allwinner,sun6i-a31-display-engine", 22 "allwinner,sun6i-a31s-display-engine", 23 "allwinner,sun7i-a20-display-engine", [all …]
|
/linux/drivers/crypto/marvell/cesa/ |
H A D | cesa.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 #include <linux/dma-direction.h> 70 * in Errata 4.12. It looks like that it was part of an IRQ-controller in FPGA 124 * /-----------\ 0 126 * |-----------| 0x20 128 * |-----------| 0x40 130 * |-----------| 0x40 (inplace) 132 * |-----------| 0x80 133 * | DATA IN | 16 * x (max ->max_req_size) 134 * |-----------| 0x80 (inplace operation) [all …]
|
H A D | tdma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Author: Boris Brezillon <boris.brezillon@free-electrons.com> 19 if (!sgiter->sg) in mv_cesa_req_dma_iter_next_transfer() 22 sgiter->op_offset += len; in mv_cesa_req_dma_iter_next_transfer() 23 sgiter->offset += len; in mv_cesa_req_dma_iter_next_transfer() 24 if (sgiter->offset == sg_dma_len(sgiter->sg)) { in mv_cesa_req_dma_iter_next_transfer() 25 if (sg_is_last(sgiter->sg)) in mv_cesa_req_dma_iter_next_transfer() 27 sgiter->offset = 0; in mv_cesa_req_dma_iter_next_transfer() 28 sgiter->sg = sg_next(sgiter->sg); in mv_cesa_req_dma_iter_next_transfer() 31 if (sgiter->op_offset == iter->op_len) in mv_cesa_req_dma_iter_next_transfer() [all …]
|
/linux/drivers/dma/ti/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Texas Instruments DMA drivers 7 tristate "Texas Instruments CPPI 4.1 DMA support" 11 The Communications Port Programming Interface (CPPI) 4.1 DMA engine 22 Enable support for the TI EDMA (Enhanced DMA) controller. This DMA 23 engine is found on TI DaVinci, AM33xx, AM43xx, DRA7xx and Keystone 2 27 tristate "Texas Instruments sDMA (omap-dma) support" 34 Enable support for the TI sDMA (System DMA or DMA4) controller. This 35 DMA engine is found on OMAP and DRA7xx parts. 47 Enable support for the TI UDMA (Unified DMA) controller. This [all …]
|
/linux/arch/powerpc/platforms/powernv/ |
H A D | opal-hmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 62 "Hypervisor Resource error - core check stop" }, in print_core_checkstop_reason() 74 if (!hmi_evt->u.xstop_error.xstop_reason) { in print_core_checkstop_reason() 80 be32_to_cpu(hmi_evt->u.xstop_error.u.pir)); in print_core_checkstop_reason() 82 if (be32_to_cpu(hmi_evt->u.xstop_error.xstop_reason) & in print_core_checkstop_reason() 84 printk("%s [Unit: %-3s] %s\n", level, in print_core_checkstop_reason() 94 { NX_CHECKSTOP_SHM_INVAL_STATE_ERR, "DMA & Engine", in print_nx_checkstop_reason() 96 { NX_CHECKSTOP_DMA_INVAL_STATE_ERR_1, "DMA & Engine", in print_nx_checkstop_reason() 97 "DMA invalid state error bit 15" }, in print_nx_checkstop_reason() 98 { NX_CHECKSTOP_DMA_INVAL_STATE_ERR_2, "DMA & Engine", in print_nx_checkstop_reason() [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_vm_doc.h | 1 /* SPDX-License-Identifier: MIT */ 16 * bind engine, and return a handle to the user. 19 * ------------ 33 * ---------- 35 * DRM_XE_VM_BIND_OP_MAP - Create mapping for a BO 36 * DRM_XE_VM_BIND_OP_UNMAP - Destroy mapping for a BO / userptr 37 * DRM_XE_VM_BIND_OP_MAP_USERPTR - Create mapping for userptr 54 * .. code-block:: 56 * bind BO0 0x0-0x1000 62 * bind BO1 0x201000-0x202000 [all …]
|
/linux/Documentation/devicetree/bindings/dma/xilinx/ |
H A D | xilinx_dma.txt | 1 Xilinx AXI VDMA engine, it does transfers between memory and video devices. 6 Xilinx AXI DMA engine, it does transfers between memory and AXI4 stream 11 Xilinx AXI CDMA engine, it does transfers between memory-mapped source 12 address and a memory-mapped destination address. 14 Xilinx AXI MCDMA engine, it does transfer between memory and AXI4 stream 19 - compatible: Should be one of- 20 "xlnx,axi-vdma-1.00.a" 21 "xlnx,axi-dma-1.00.a" 22 "xlnx,axi-cdma-1.00.a" 23 "xlnx,axi-mcdma-1.00.a" [all …]
|
/linux/drivers/ata/ |
H A D | pata_sl82c105.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * pata_sl82c105.c - SL82C105 PATA for new ATA layer 14 * PIO and DMA. We thus flip to the DMA timings in dma_start and flip back 45 * sl82c105_pre_reset - probe begin 58 struct ata_port *ap = link->ap; in sl82c105_pre_reset() 59 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in sl82c105_pre_reset() 61 if (ap->port_no && !pci_test_config_bits(pdev, &sl82c105_enable_bits[ap->port_no])) in sl82c105_pre_reset() 62 return -ENOENT; in sl82c105_pre_reset() 68 * sl82c105_configure_piomode - set chip PIO timing 80 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in sl82c105_configure_piomode() [all …]
|
/linux/Documentation/devicetree/bindings/gpu/host1x/ |
H A D | nvidia,tegra210-nvenc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvenc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 15 - Thierry Reding <treding@gmail.com> 16 - Mikko Perttunen <mperttunen@nvidia.com> 20 pattern: "^nvenc@[0-9a-f]*$" 24 - nvidia,tegra210-nvenc 25 - nvidia,tegra186-nvenc 26 - nvidia,tegra194-nvenc [all …]
|
H A D | nvidia,tegra210-nvdec.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpu/host1x/nvidia,tegra210-nvdec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 15 - Thierry Reding <treding@gmail.com> 16 - Mikko Perttunen <mperttunen@nvidia.com> 20 pattern: "^nvdec@[0-9a-f]*$" 24 - nvidia,tegra210-nvdec 25 - nvidia,tegra186-nvdec 26 - nvidia,tegra194-nvdec [all …]
|
/linux/Documentation/misc-devices/ |
H A D | mrvl_cn10k_dpi.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Marvell CN10K DMA packet interface (DPI) driver 10 DPI is a DMA packet interface hardware block in Marvell's CN10K silicon. 12 mailbox logic, and a set of DMA engines & DMA command queues. 15 requests from its VF functions and provisions DMA engine resources to 20 the DMA engines and VF device's DMA command queues. Also, driver creates 21 /dev/mrvl-cn10k-dpi node to set DMA engine and PEM (PCIe interface) port 26 DMA operations. Only VF devices are provisioned with DMA capabilities. 38 a pem port to which DMA engines are wired. 42 ioctl that sets DMA engine's fifo sizes & max outstanding load request [all …]
|
/linux/Documentation/devicetree/bindings/soc/intel/ |
H A D | intel,hps-copy-engine.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/soc/intel/intel,hps-copy-engine.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Intel HPS Copy Engine 11 - Matthew Gerlach <matthew.gerlach@linux.intel.com> 14 The Intel Hard Processor System (HPS) Copy Engine is an IP block used to copy 17 well as a keep-a-live indication to the host. 21 const: intel,hps-copy-engine 23 '#dma-cells': [all …]
|
/linux/sound/pci/ |
H A D | cs4281.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 29 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 57 #define BA0_HISR_DMAI (1<<18) /* DMA interrupt (half or end) */ 59 #define BA0_HISR_DMA(c) (1<<(8+(c))) /* DMA channel interrupt */ 77 #define BA0_HDSR0 0x00f0 /* Host DMA Engine 0 Status Register */ 78 #define BA0_HDSR1 0x00f4 /* Host DMA Engine 1 Status Register */ 79 #define BA0_HDSR2 0x00f8 /* Host DMA Engine 2 Status Register */ 80 #define BA0_HDSR3 0x00fc /* Host DMA Engine 3 Status Register */ 84 #define BA0_HDSR_DHTC (1<<17) /* DMA Half Terminal Count */ 85 #define BA0_HDSR_DTC (1<<16) /* DMA Terminal Count */ [all …]
|
/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_migrate.c | 1 // SPDX-License-Identifier: MIT 23 static bool engine_supports_migration(struct intel_engine_cs *engine) in engine_supports_migration() argument 25 if (!engine) in engine_supports_migration() 33 GEM_BUG_ON(engine->class != COPY_ENGINE_CLASS); in engine_supports_migration() 48 vm->insert_page(vm, 0, d->offset, in xehp_toggle_pdes() 49 i915_gem_get_pat_index(vm->i915, I915_CACHE_NONE), in xehp_toggle_pdes() 51 GEM_BUG_ON(!pt->is_compact); in xehp_toggle_pdes() 52 d->offset += SZ_2M; in xehp_toggle_pdes() 68 vm->insert_page(vm, px_dma(pt), d->offset, in xehp_insert_pte() 69 i915_gem_get_pat_index(vm->i915, I915_CACHE_NONE), in xehp_insert_pte() [all …]
|
H A D | selftest_reset.c | 1 // SPDX-License-Identifier: MIT 22 struct i915_ggtt *ggtt = gt->ggtt; in __igt_reset_stolen() 23 const struct resource *dsm = >->i915->dsm.stolen; in __igt_reset_stolen() 25 struct intel_engine_cs *engine; in __igt_reset_stolen() local 34 if (!drm_mm_node_allocated(&ggtt->error_capture)) in __igt_reset_stolen() 43 return -ENOMEM; in __igt_reset_stolen() 47 err = -ENOMEM; in __igt_reset_stolen() 52 wakeref = intel_runtime_pm_get(gt->uncore->rpm); in __igt_reset_stolen() 58 for_each_engine(engine, gt, id) { in __igt_reset_stolen() 62 if (!(mask & engine->mask)) in __igt_reset_stolen() [all …]
|
/linux/drivers/dma/ptdma/ |
H A D | ptdma.h |
|
/linux/drivers/crypto/intel/keembay/ |
H A D | ocs-aes.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2018-2020 Intel Corporation 11 #include <linux/dma-mapping.h> 35 * struct ocs_aes_dev - AES device context. 42 * @dma_err_mask: Error reported by OCS DMA interrupts. 43 * @engine: Crypto engine for the device. 52 struct crypto_engine *engine; member 56 * struct ocs_dll_desc - Descriptor of an OCS DMA Linked List. 58 * @dma_addr: DMA address of the linked list head. 81 * ocs_aes_bypass_op() - Use OCS DMA to copy data. [all …]
|
H A D | ocs-aes.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2018-2020 Intel Corporation 8 #include <linux/dma-mapping.h> 20 #include "ocs-aes.h" 76 * This bit activates the DMA. When the DMA finishes, it resets 81 * this bit is reset by the DMA. 84 * terminated this bit is reset by the DMA. 131 * 11-bit value, but it is actually 10-bits. 137 * before the tag is written. For 128-bit mode this required delay is 28 OCS 138 * clock cycles. For 256-bit mode it is 36 OCS clock cycles. [all …]
|