/linux/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ |
H A D | mem.c | 23 #include "mem.h" 35 struct page **mem; member 38 dma_addr_t *dma; member 45 return nvkm_mem(memory)->target; in nvkm_mem_target() 57 struct nvkm_mem *mem = nvkm_mem(memory); in nvkm_mem_addr() local 58 if (mem->pages == 1 && mem->mem) in nvkm_mem_addr() 59 return mem->dma[0]; in nvkm_mem_addr() 66 return nvkm_mem(memory)->pages << PAGE_SHIFT; in nvkm_mem_size() 73 struct nvkm_mem *mem = nvkm_mem(memory); in nvkm_mem_map_dma() local 75 .memory = &mem->memory, in nvkm_mem_map_dma() [all …]
|
/linux/kernel/dma/ |
H A D | coherent.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Coherent per-device memory handling. 10 #include <linux/dma-direct.h> 11 #include <linux/dma-map-ops.h> 25 if (dev && dev->dma_mem) in dev_get_coherent_memory() 26 return dev->dma_mem; in dev_get_coherent_memory() 31 struct dma_coherent_mem * mem) in dma_get_device_base() argument 33 if (mem->use_dev_dma_pfn_offset) in dma_get_device_base() 34 return phys_to_dma(dev, PFN_PHYS(mem->pfn_base)); in dma_get_device_base() 35 return mem->device_base; in dma_get_device_base() [all …]
|
H A D | swiotlb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Dynamic DMA mapping support. 6 * I/O TLBs (aka DMA address translation hardware). 9 * Copyright (C) 2000, 2003 Hewlett-Packard Co 10 * David Mosberger-Tang <davidm@hpl.hp.com> 12 * 03/05/07 davidm Switch from PCI-DMA t 231 struct io_tlb_pool *mem = &io_tlb_default_mem.defpool; swiotlb_print_info() local 260 struct io_tlb_pool *mem = &io_tlb_default_mem.defpool; swiotlb_update_mem_attributes() local 269 swiotlb_init_io_tlb_pool(struct io_tlb_pool * mem,phys_addr_t start,unsigned long nslabs,bool late_alloc,unsigned int nareas) swiotlb_init_io_tlb_pool() argument 306 add_mem_pool(struct io_tlb_mem * mem,struct io_tlb_pool * pool) add_mem_pool() argument 357 struct io_tlb_pool *mem = &io_tlb_default_mem.defpool; swiotlb_init_remap() local 433 struct io_tlb_pool *mem = &io_tlb_default_mem.defpool; swiotlb_init_late() local 527 struct io_tlb_pool *mem = &io_tlb_default_mem.defpool; swiotlb_exit() local 736 struct io_tlb_mem *mem = swiotlb_dyn_alloc() local 779 struct io_tlb_mem *mem = dev->dma_io_tlb_mem; __swiotlb_find_pool() local 860 swiotlb_bounce(struct device * dev,phys_addr_t tlb_addr,size_t size,enum dma_data_direction dir,struct io_tlb_pool * mem) swiotlb_bounce() argument 937 wrap_area_index(struct io_tlb_pool * mem,unsigned int index) wrap_area_index() argument 951 inc_used_and_hiwater(struct io_tlb_mem * mem,unsigned int nslots) inc_used_and_hiwater() argument 964 dec_used(struct io_tlb_mem * mem,unsigned int nslots) dec_used() argument 970 inc_used_and_hiwater(struct io_tlb_mem * mem,unsigned int nslots) inc_used_and_hiwater() argument 973 dec_used(struct io_tlb_mem * mem,unsigned int nslots) dec_used() argument 980 inc_transient_used(struct io_tlb_mem * mem,unsigned int nslots) inc_transient_used() argument 985 dec_transient_used(struct io_tlb_mem * mem,unsigned int nslots) dec_transient_used() argument 991 inc_transient_used(struct io_tlb_mem * mem,unsigned int nslots) inc_transient_used() argument 994 dec_transient_used(struct io_tlb_mem * mem,unsigned int nslots) dec_transient_used() argument 1145 struct io_tlb_mem *mem = dev->dma_io_tlb_mem; swiotlb_search_area() local 1185 struct io_tlb_mem *mem = dev->dma_io_tlb_mem; swiotlb_find_slots() local 1291 mem_used(struct io_tlb_mem * mem) mem_used() argument 1325 mem_used(struct io_tlb_mem * mem) mem_used() argument 1373 struct io_tlb_mem *mem = dev->dma_io_tlb_mem; swiotlb_tbl_map_single() local 1444 swiotlb_release_slots(struct device * dev,phys_addr_t tlb_addr,struct io_tlb_pool * mem) swiotlb_release_slots() argument 1631 struct io_tlb_mem *mem = dev->dma_io_tlb_mem; is_swiotlb_active() local 1665 mem_transient_used(struct io_tlb_mem * mem) mem_transient_used() argument 1672 struct io_tlb_mem *mem = data; io_tlb_transient_used_get() local 1684 struct io_tlb_mem *mem = data; io_tlb_used_get() local 1692 struct io_tlb_mem *mem = data; io_tlb_hiwater_get() local 1700 struct io_tlb_mem *mem = data; io_tlb_hiwater_set() local 1714 swiotlb_create_debugfs_files(struct io_tlb_mem * mem,const char * dirname) swiotlb_create_debugfs_files() argument 1742 swiotlb_create_debugfs_files(struct io_tlb_mem * mem,const char * dirname) swiotlb_create_debugfs_files() argument 1753 struct io_tlb_mem *mem = dev->dma_io_tlb_mem; swiotlb_alloc() local 1795 struct io_tlb_mem *mem = rmem->priv; rmem_swiotlb_device_init() local [all...] |
/linux/drivers/net/ethernet/huawei/hinic/ |
H A D | hinic_common.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 * hinic_cpu_to_be32 - convert data to big endian 32 bit format 20 u32 *mem = data; in hinic_cpu_to_be32() local 26 *mem = cpu_to_be32(*mem); in hinic_cpu_to_be32() 27 mem++; in hinic_cpu_to_be32() 32 * hinic_be32_to_cpu - convert data from big endian 32 bit format 38 u32 *mem = data; in hinic_be32_to_cpu() local 44 *mem = be32_to_cpu(*mem); in hinic_be32_to_cpu() 45 mem++; in hinic_be32_to_cpu() 50 * hinic_set_sge - set dma area in scatter gather entry [all …]
|
/linux/Documentation/devicetree/bindings/dma/ |
H A D | renesas,nbpfaxi.txt | 1 * Renesas "Type-AXI" NBPFAXI* DMA controllers 3 * DMA controller 7 - compatible: must be one of 17 - #dma-cells: must be 2: the first integer is a terminal number, to which this 26 - max-burst-mem-read: limit burst size for memory reads 29 - max-burst-mem-write: limit burst size for memory writes 32 If both max-burst-mem-read and max-burst-mem-write are set, DMA_MEM_TO_MEM 35 You can use dma-channels and dma-requests as described in dma.txt, although they 40 dma: dma-controller@48000000 { 51 #dma-cells = <2>; [all …]
|
H A D | arm-pl08x.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/dma/arm-pl08x.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: ARM PrimeCells PL080 and PL081 and derivatives DMA controller 10 - Vinod Koul <vkoul@kernel.org> 13 - $ref: /schemas/arm/primecell.yaml# 14 - $ref: dma-controller.yaml# 22 - arm,pl080 23 - arm,pl081 [all …]
|
/linux/drivers/pnp/ |
H A D | support.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * support.c - standard functions for the use of pnp protocol drivers 6 * Copyright (C) 2008 Hewlett-Packard Development Company, L.P. 16 * pnp_is_active - Determines if a device is active based on its current 24 * only clears out auto-assigned resources. in pnp_is_active() 28 pnp_irq(dev, 0) == -1 && pnp_dma(dev, 0) == -1) in pnp_is_active() 44 * According to the specs, the first three characters are five-bit in pnp_eisa_id_to_string() 45 * compressed ASCII, and the left-over high order bit should be zero. in pnp_eisa_id_to_string() 51 str[0] = 'A' + ((id >> 26) & 0x3f) - 1; in pnp_eisa_id_to_string() 52 str[1] = 'A' + ((id >> 21) & 0x1f) - 1; in pnp_eisa_id_to_string() [all …]
|
H A D | resource.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * resource.c - Contains functions for registering and analyzing resource information 7 * Copyright (C) 2008 Hewlett-Packard Development Company, L.P. 17 #include <asm/dma.h> 27 static int pnp_reserve_irq[16] = {[0 ... 15] = -1 }; /* reserve (don't use) some IRQ */ 28 static int pnp_reserve_dma[8] = {[0 ... 7] = -1 }; /* reserve (don't use) some DMA */ 29 static int pnp_reserve_io[16] = {[0 ... 15] = -1 }; /* reserve (don't use) some I/O region */ 30 static int pnp_reserve_mem[16] = {[0 ... 15] = -1 }; /* reserve (don't use) some memory region */ 45 option->flags = option_flags; in pnp_build_option() 46 option->type = type; in pnp_build_option() [all …]
|
H A D | interface.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * interface.c - contains everything related to the user interface 7 * Copyright (C) 2008 Hewlett-Packard Development Company, L.P. 42 if (buffer->stop || buffer->error) in pnp_printf() 45 res = vsnprintf(buffer->curr, buffer->len - buffer->size, fmt, args); in pnp_printf() 47 if (buffer->size + res >= buffer->len) { in pnp_printf() 48 buffer->stop = 1; in pnp_printf() 51 buffer->curr += res; in pnp_printf() 52 buffer->size += res; in pnp_printf() 59 pnp_printf(buffer, "%sport %#llx-%#llx, align %#llx, size %#llx, " in pnp_print_port() [all …]
|
/linux/drivers/media/platform/mediatek/vcodec/decoder/vdec/ |
H A D | vdec_vp8_req_if.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <media/v4l2-mem2mem.h> 9 #include <media/videobuf2-dma-contig.h> 10 #include <uapi/linux/v4l2-controls.h> 28 * struct vdec_vp8_slice_info - decode misc information 30 * @vld_wrapper_dma: vld wrapper dma address 31 * @seg_id_buf_dma: seg id dma address 32 * @wrap_y_dma: wrap y dma address 33 * @wrap_c_dma: wrap y dma address 34 * @cur_y_fb_dma: current plane Y frame buffer dma address [all …]
|
H A D | vdec_h264_if.c | 1 // SPDX-License-Identifier: GPL-2.0 35 * struct h264_fb - h264 decode frame buffer information 37 * @y_fb_dma : dma address of Y frame buffer (luma) 38 * @c_fb_dma : dma address of C frame buffer (chroma) 51 * struct h264_ring_fb_list - ring frame buffer list 67 * struct vdec_h264_dec_info - decode information 70 * @realloc_mv_buf : flag to notify driver to re-allocate mv buffer 72 * @bs_dma : Input bit-stream buffer dma address 73 * @y_fb_dma : Y frame buffer dma address 74 * @c_fb_dma : C frame buffer dma address [all …]
|
H A D | vdec_h264_req_if.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <media/v4l2-mem2mem.h> 6 #include <media/v4l2-h264.h> 7 #include <media/videobuf2-dma-contig.h> 17 * struct mtk_h264_dec_slice_param - parameters for decode current frame 28 * struct vdec_h264_dec_info - decode information 31 * @realloc_mv_buf : flag to notify driver to re-allocate mv buffer 33 * @bs_dma : Input bit-stream buffer dma address 34 * @y_fb_dma : Y frame buffer dma address 35 * @c_fb_dma : C frame buffer dma address [all …]
|
/linux/arch/mips/include/asm/sgi/ |
H A D | mc.h | 22 #define SGIMC_CCTRL0_EPERRMEM 0x00000040 /* Main mem parity error enable */ 32 #define SGIMC_CCTRL0_WRESETPMEM 0x00010000 /* Perform warm reset, preserves mem */ 33 #define SGIMC_CCTRL0_LENDIAN 0x00020000 /* Put MC in little-endian mode */ 34 #define SGIMC_CCTRL0_WRESETDMEM 0x00040000 /* Warm reset, destroys mem contents */ 35 #define SGIMC_CCTRL0_CMEMBADPAR 0x02000000 /* Generate bad perr from cpu to mem */ 36 #define SGIMC_CCTRL0_R4KNOCHKPARR 0x04000000 /* Don't chk parity on mem data reads */ 64 #define SGIMC_EEPROM_SDATAO 0x00000008 /* Serial EEPROM data-out */ 65 #define SGIMC_EEPROM_SDATAI 0x00000010 /* Serial EEPROM data-in */ 75 #define SGIMC_GIOPAR_HPC64 0x00000001 /* HPC talks to GIO using 64-bits */ 76 #define SGIMC_GIOPAR_GFX64 0x00000002 /* GFX talks to GIO using 64-bits */ [all …]
|
/linux/drivers/remoteproc/ |
H A D | remoteproc_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 8 * Ohad Ben-Cohen <ohad@wizery.com> 12 * Suman Anna <s-anna@ti.com> 26 #include <linux/dma-mapping.h> 55 struct rproc_mem_entry *mem); 57 struct rproc_mem_entry *mem); 98 return -ENOSYS; in rproc_iommu_fault() 104 struct device *dev = rproc->dev.parent; in rproc_enable_iommu() 107 if (!rproc->has_iommu) { in rproc_enable_iommu() 126 rproc->domain = domain; in rproc_enable_iommu() [all …]
|
H A D | remoteproc_virtio.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Remote processor messaging transport (OMAP platform-specific bits) 8 * Ohad Ben-Cohen <ohad@wizery.com> 12 #include <linux/dma-direct.h> 13 #include <linux/dma-map-ops.h> 14 #include <linux/dma-mapping.h> 31 const struct bus_dma_region *map = from->dma_range_map, *new_map, *r; in copy_dma_range_map() 37 for (r = map; r->size; r++) in copy_dma_range_map() 43 return -ENOMEM; in copy_dma_range_map() 44 to->dma_range_map = new_map; in copy_dma_range_map() [all …]
|
/linux/drivers/spi/ |
H A D | spi-mem.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 #include <linux/spi/spi-mem.h> 20 * spi_controller_dma_map_mem_op_data() - DMA-map the buffer attached to a 24 * @sgt: a pointer to a non-initialized sg_table that will be filled by this 27 * Some controllers might want to do DMA on the data buffer embedded in @op. 28 * This helper prepares everything for you and provides a ready-to-use 32 * op->data.buf.{in,out} is DMA-able before calling this function. 42 if (!op->data.nbytes) in spi_controller_dma_map_mem_op_data() 43 return -EINVAL; in spi_controller_dma_map_mem_op_data() 45 if (op->data.dir == SPI_MEM_DATA_OUT && ctlr->dma_tx) in spi_controller_dma_map_mem_op_data() [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 …]
|
/linux/Documentation/devicetree/bindings/display/tegra/ |
H A D | nvidia,tegra186-display.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/display/tegra/nvidia,tegra186-display.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 15 pattern: "^display-hub@[0-9a-f]+$" 19 - nvidia,tegra186-display 20 - nvidia,tegra194-display 22 '#address-cells': [all …]
|
/linux/drivers/tty/serial/ |
H A D | cpm_uart.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 28 #define IS_SMC(pinfo) (pinfo->flags & FLAG_SMC) 86 u32 mem = (u32)pinfo->mem_addr; in cpu2cpm_addr() local 88 if (likely(val >= mem && val < mem + pinfo->mem_size)) { in cpu2cpm_addr() 89 offset = val - mem; in cpu2cpm_addr() 90 return pinfo->dma_addr + offset; in cpu2cpm_addr() 102 u32 dma = (u32)pinfo->dma_addr; in cpm2cpu_addr() local 104 if (likely(val >= dma && val < dma + pinfo->mem_size)) { in cpm2cpu_addr() 105 offset = val - dma; in cpm2cpu_addr() 106 return pinfo->mem_addr + offset; in cpm2cpu_addr()
|
/linux/drivers/pnp/pnpacpi/ |
H A D | rsparser.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * pnpacpi -- PnP ACPI driver 7 * Copyright (C) 2008 Hewlett-Packard Development Company, L.P. 40 dev_err(&dev->dev, "can't encode invalid IRQ mode %#x\n", in decode_irq_flags() 76 dev_err(&dev->dev, "invalid DMA type %d\n", type); in dma_flags() 91 dev_err(&dev->dev, "invalid DMA transfer type %d\n", transfer); in dma_flags() 103 if (!(r->flags & IORESOURCE_DISABLED)) in pnpacpi_add_irqresource() 104 pcibios_penalize_isa_irq(r->start, 1); in pnpacpi_add_irqresource() 112 * marked as "consumer-only," but old versions of Windows and Linux ignore 113 * the producer/consumer flag, so HP invented a vendor-defined resource to [all …]
|
/linux/sound/soc/renesas/rcar/ |
H A D | dma.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Renesas R-Car Audio DMAC support 42 } dma; member 52 #define rsnd_priv_to_dmac(p) ((struct rsnd_dma_ctrl *)(p)->dma) 54 #define rsnd_dma_to_dmaen(dma) (&(dma)->dma.en) argument 55 #define rsnd_dma_to_dmapp(dma) (&(dma)->dma.pp) argument 59 .name = "mem", 62 static struct rsnd_mod mem = { variable 86 return snd_dmaengine_pcm_trigger(io->substream, SNDRV_PCM_TRIGGER_STOP); in rsnd_dmaen_stop() 93 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_cleanup() local [all …]
|
/linux/drivers/dma/ |
H A D | tegra186-gpc-dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * DMA driver for NVIDIA Tegra GPC DMA controller. 5 * Copyright (c) 2014-2022, NVIDIA CORPORATION. All rights reserved. 10 #include <linux/dma-mapping.h> 21 #include <dt-bindings/memory/tegra186-mc.h> 22 #include "virt-dma.h" 118 (GENMASK((fls(bs) - 2), 0) << TEGRA_GPCDMA_MMIOSEQ_BURST_SHIFT) 129 /* DMA byte count status */ 157 * If any burst is in flight and DMA paused then this is the time to complete 158 * on-flight burst and update DMA status register. [all …]
|
/linux/drivers/media/platform/mediatek/vcodec/common/ |
H A D | mtk_vcodec_util.c | 1 // SPDX-License-Identifier: GPL-2.0 37 struct mtk_vcodec_dec_dev *dev = ctx->dev; in mtk_vcodec_write_vdecsys() 39 if (dev->vdecsys_regmap) in mtk_vcodec_write_vdecsys() 40 return regmap_write(dev->vdecsys_regmap, reg, val); in mtk_vcodec_write_vdecsys() 42 writel(val, dev->reg_base[VDEC_SYS] + reg); in mtk_vcodec_write_vdecsys() 48 int mtk_vcodec_mem_alloc(void *priv, struct mtk_vcodec_mem *mem) in mtk_vcodec_mem_alloc() argument 57 plat_dev = enc_ctx->dev->plat_dev; in mtk_vcodec_mem_alloc() 58 id = enc_ctx->id; in mtk_vcodec_mem_alloc() 62 plat_dev = dec_ctx->dev->plat_dev; in mtk_vcodec_mem_alloc() 63 id = dec_ctx->id; in mtk_vcodec_mem_alloc() [all …]
|
/linux/drivers/media/common/saa7146/ |
H A D | saa7146_core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 saa7146.o - driver for generic saa7146-based hardware 5 Copyright (C) 1998-2003 Michael Hunold <michael@mihu.de> 11 #include <media/drv-intf/saa7146.h> 64 dev->name, __func__); in saa7146_wait_for_debi_done_sleep() 65 return -ETIMEDOUT; in saa7146_wait_for_debi_done_sleep() 79 dev->name, __func__); in saa7146_wait_for_debi_done_sleep() 80 return -ETIMEDOUT; in saa7146_wait_for_debi_done_sleep() 98 if (!loops--) { in saa7146_wait_for_debi_done_busyloop() 100 dev->name, __func__); in saa7146_wait_for_debi_done_busyloop() [all …]
|
/linux/drivers/net/ethernet/qlogic/qlcnic/ |
H A D | qlcnic_minidump.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2009-2013 QLogic Corporation 234 struct __mem mem; member 274 return hdr->saved_state[index]; in qlcnic_82xx_get_saved_state() 282 hdr->saved_state[index] = value; in qlcnic_82xx_set_saved_state() 289 hdr = fw_dump->tmpl_hdr; in qlcnic_82xx_cache_tmpl_hdr_values() 290 fw_dump->tmpl_hdr_size = hdr->size; in qlcnic_82xx_cache_tmpl_hdr_values() 291 fw_dump->version = hdr->version; in qlcnic_82xx_cache_tmpl_hdr_values() 292 fw_dump->num_entries = hdr->num_entries; in qlcnic_82xx_cache_tmpl_hdr_values() 293 fw_dump->offset = hdr->offset; in qlcnic_82xx_cache_tmpl_hdr_values() [all …]
|