Home
last modified time | relevance | path

Searched full:dma (Results 1 – 25 of 5599) sorted by relevance

12345678910>>...224

/OK3568_Linux_fs/kernel/drivers/tty/serial/8250/
H A D8250_dma.c3 * 8250_dma.c - DMA Engine API support for 8250.c
10 #include <linux/dma-mapping.h>
23 struct uart_8250_dma *dma = p->dma; in __dma_tx_complete() local
28 dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr, in __dma_tx_complete()
33 dma->tx_running = 0; in __dma_tx_complete()
35 xmit->tail += dma->tx_size; in __dma_tx_complete()
37 p->port.icount.tx += dma->tx_size; in __dma_tx_complete()
54 struct uart_8250_dma *dma = p->dma; in __dma_rx_complete() local
59 dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in __dma_rx_complete()
60 cur_index = dma->rx_size - state.residue; in __dma_rx_complete()
[all …]
/OK3568_Linux_fs/kernel/arch/arm/kernel/
H A Ddma.c3 * linux/arch/arm/kernel/dma.c
7 * Front-end to the DMA handling. This handles the allocation/freeing
8 * of DMA channels, and provides a unified interface to the machines
9 * DMA facilities.
19 #include <asm/dma.h>
21 #include <asm/mach/dma.h>
36 int __init isa_dma_add(unsigned int chan, dma_t *dma) in isa_dma_add() argument
38 if (!dma->d_ops) in isa_dma_add()
41 sg_init_table(&dma->buf, 1); in isa_dma_add()
45 dma_chan[chan] = dma; in isa_dma_add()
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/powerpc/fsl/
H A Ddma.txt1 * Freescale DMA Controllers
3 ** Freescale Elo DMA Controller
4 This is a little-endian 4-channel DMA controller, used in Freescale mpc83xx
9 - compatible : must include "fsl,elo-dma"
10 - reg : DMA General Status Register, i.e. DGSR which contains
11 status for all the 4 DMA channels
13 DMA channels and the address space of the DMA controller
15 - interrupts : interrupt specifier for DMA IRQ
17 - DMA channel nodes:
18 - compatible : must include "fsl,elo-dma-channel"
[all …]
/OK3568_Linux_fs/kernel/drivers/media/platform/xilinx/
H A Dxilinx-dma.c3 * Xilinx Video DMA
12 #include <linux/dma/xilinx_dma.h>
23 #include <media/videobuf2-dma-contig.h>
25 #include "xilinx-dma.h"
58 static int xvip_dma_verify_format(struct xvip_dma *dma) in xvip_dma_verify_format() argument
64 subdev = xvip_dma_remote_subdev(&dma->pad, &fmt.pad); in xvip_dma_verify_format()
73 if (dma->fmtinfo->code != fmt.format.code || in xvip_dma_verify_format()
74 dma->format.height != fmt.format.height || in xvip_dma_verify_format()
75 dma->format.width != fmt.format.width || in xvip_dma_verify_format()
76 dma->format.colorspace != fmt.format.colorspace) in xvip_dma_verify_format()
[all …]
/OK3568_Linux_fs/kernel/drivers/dma/
H A DKconfig3 # DMA engine configuration
7 bool "DMA Engine support"
10 DMA engines can do asynchronous data transfers without
14 DMA Device drivers supported by the configured arch, it may
18 bool "DMA Engine debugging"
22 say N here. This enables DMA engine core and driver debugging.
25 bool "DMA Engine verbose debugging"
30 the DMA engine core and drivers.
35 comment "DMA Devices"
74 provide DMA engine support. This includes the original ARM
[all …]
/OK3568_Linux_fs/kernel/drivers/i2c/busses/
H A Di2c-stm32.c11 /* Functions for DMA support */
17 struct stm32_i2c_dma *dma; in stm32_i2c_dma_request() local
21 dma = devm_kzalloc(dev, sizeof(*dma), GFP_KERNEL); in stm32_i2c_dma_request()
22 if (!dma) in stm32_i2c_dma_request()
25 /* Request and configure I2C TX dma channel */ in stm32_i2c_dma_request()
26 dma->chan_tx = dma_request_chan(dev, "tx"); in stm32_i2c_dma_request()
27 if (IS_ERR(dma->chan_tx)) { in stm32_i2c_dma_request()
28 ret = PTR_ERR(dma->chan_tx); in stm32_i2c_dma_request()
31 "can't request DMA tx channel\n"); in stm32_i2c_dma_request()
40 ret = dmaengine_slave_config(dma->chan_tx, &dma_sconfig); in stm32_i2c_dma_request()
[all …]
/OK3568_Linux_fs/kernel/drivers/media/v4l2-core/
H A Dvideobuf-dma-sg.c3 * helper functions for SG DMA video4linux capture buffers
26 #include <linux/dma-mapping.h>
32 #include <media/videobuf-dma-sg.h>
47 MODULE_DESCRIPTION("helper module to manage video4linux dma sg buffers");
106 /* DMA to highmem pages might not work */ in videobuf_pages_to_sg()
141 return &mem->dma; in videobuf_to_dma()
145 static void videobuf_dma_init(struct videobuf_dmabuf *dma) in videobuf_dma_init() argument
147 memset(dma, 0, sizeof(*dma)); in videobuf_dma_init()
148 dma->magic = MAGIC_DMABUF; in videobuf_dma_init()
151 static int videobuf_dma_init_user_locked(struct videobuf_dmabuf *dma, in videobuf_dma_init_user_locked() argument
[all …]
/OK3568_Linux_fs/kernel/drivers/staging/comedi/drivers/
H A Dcomedi_isadma.c3 * COMEDI ISA DMA support functions
10 #include <linux/dma-mapping.h>
11 #include <asm/dma.h>
18 * comedi_isadma_program - program and enable an ISA DMA transfer
19 * @desc: the ISA DMA cookie to program and enable
36 * comedi_isadma_disable - disable the ISA DMA channel
37 * @dma_chan: the DMA channel to disable
39 * Returns the residue (remaining bytes) left in the DMA transfer.
56 * comedi_isadma_disable_on_sample - disable the ISA DMA channel
57 * @dma_chan: the DMA channel to disable
[all …]
/OK3568_Linux_fs/kernel/drivers/soc/ti/
H A Dknav_dma.c20 #include <linux/dma-direction.h>
117 struct knav_dma_device *dma; member
220 /* wait for the dma to shut itself down */ in chan_teardown()
248 /* teardown the dma channel */ in chan_stop()
264 static void dma_hw_enable_all(struct knav_dma_device *dma) in dma_hw_enable_all() argument
268 for (i = 0; i < dma->max_tx_chan; i++) { in dma_hw_enable_all()
269 writel_relaxed(0, &dma->reg_tx_chan[i].mode); in dma_hw_enable_all()
270 writel_relaxed(DMA_ENABLE, &dma->reg_tx_chan[i].control); in dma_hw_enable_all()
275 static void knav_dma_hw_init(struct knav_dma_device *dma) in knav_dma_hw_init() argument
280 spin_lock(&dma->lock); in knav_dma_hw_init()
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/dma/
H A Dti-dma-crossbar.txt1 Texas Instruments DMA Crossbar (DMA request router)
4 - compatible: "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
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
16 - ti,dma-safe-map: Safe routing value for unused request lines
17 - ti,reserved-dma-request-ranges: DMA request ranges which should not be used
[all …]
H A Dfsl-imx-dma.txt1 * Freescale Direct Memory Access (DMA) Controller for i.MX
3 This document will only describe differences to the generic DMA Controller and
4 DMA request bindings as described in dma/dma.txt .
6 * DMA controller
9 - compatible : Should be "fsl,<chip>-dma". chip can be imx1, imx21 or imx27
10 - reg : Should contain DMA registers location and length
11 - interrupts : First item should be DMA interrupt, second one is optional and
12 should contain DMA Error interrupt
13 - #dma-cells : Has to be 1. imx-dma does not support anything else.
16 - #dma-channels : Number of DMA channels supported. Should be 16.
[all …]
H A Darm-pl330.txt1 * ARM PrimeCell PL330 DMA Controller
3 The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
13 - dma-coherent : Present if dma operations are coherent
14 - #dma-cells: must be <1>. used to represent the number of integer
16 - dma-channels: contains the total number of DMA channels supported by the DMAC
17 - dma-requests: contains the total number of DMA requests supported by the DMAC
22 - reset-names: must contain at least "dma", and optional is "dma-ocp".
30 #dma-cells = <1>;
31 #dma-channels = <8>;
32 #dma-requests = <32>;
[all …]
/OK3568_Linux_fs/kernel/sound/core/
H A Disadma.c3 * ISA DMA support functions
9 * ISA DMA controllers.
16 #include <asm/dma.h>
19 * snd_dma_program - program an ISA DMA transfer
20 * @dma: the dma number
22 * @size: the DMA transfer size
23 * @mode: the DMA transfer mode, DMA_MODE_XXX
25 * Programs an ISA DMA transfer for the given buffer.
27 void snd_dma_program(unsigned long dma, in snd_dma_program() argument
34 disable_dma(dma); in snd_dma_program()
[all …]
/OK3568_Linux_fs/kernel/drivers/media/pci/netup_unidvb/
H A Dnetup_unidvb_core.c58 /* DMA base address */
61 /* 8 DMA blocks * 128 packets * 188 bytes*/
64 /* DMA status bits */
70 * struct netup_dma_regs - the map of DMA module registers
73 * @start_addr_lo: DMA ring buffer start address, lower part
74 * @start_addr_hi: DMA ring buffer start address, higher part
75 * @size: DMA ring buffer size register
76 * * Bits [0-7]: DMA packet size, 188 bytes
79 * @timeout: DMA timeout in units of 8ns
112 static void netup_unidvb_queue_cleanup(struct netup_dma *dma);
[all …]
/OK3568_Linux_fs/kernel/Documentation/driver-api/
H A Ddma-buf.rst4 The dma-buf subsystem provides the framework for sharing buffers for
5 hardware (DMA) access across multiple device drivers and subsystems, and
11 The three main components of this are: (1) dma-buf, representing a
17 Shared DMA Buffers
20 This document serves as a guide to device-driver writers on what is the dma-buf
23 Any device driver which wishes to be a part of DMA buffer sharing, can do so as
49 Any exporters or users of the dma-buf buffer sharing framework must have a
55 Mostly a DMA buffer file descriptor is simply an opaque object for userspace,
59 - Since kernel 3.12 the dma-buf FD supports the llseek system call, but only
64 If llseek on dma-buf FDs isn't support the kernel will report -ESPIPE for all
[all …]
/OK3568_Linux_fs/kernel/drivers/media/pci/ivtv/
H A Divtv-udma.c3 User DMA
25 int ivtv_udma_fill_sg_list (struct ivtv_user_dma *dma, struct ivtv_dma_page_info *dma_page, int map… in ivtv_udma_fill_sg_list() argument
40 if (PageHighMem(dma->map[map_offset])) { in ivtv_udma_fill_sg_list()
43 if (dma->bouncemap[map_offset] == NULL) in ivtv_udma_fill_sg_list()
44 dma->bouncemap[map_offset] = alloc_page(GFP_KERNEL); in ivtv_udma_fill_sg_list()
45 if (dma->bouncemap[map_offset] == NULL) in ivtv_udma_fill_sg_list()
48 src = kmap_atomic(dma->map[map_offset]) + offset; in ivtv_udma_fill_sg_list()
49 memcpy(page_address(dma->bouncemap[map_offset]) + offset, src, len); in ivtv_udma_fill_sg_list()
52 sg_set_page(&dma->SGlist[map_offset], dma->bouncemap[map_offset], len, offset); in ivtv_udma_fill_sg_list()
55 sg_set_page(&dma->SGlist[map_offset], dma->map[map_offset], len, offset); in ivtv_udma_fill_sg_list()
[all …]
/OK3568_Linux_fs/kernel/arch/arm/mach-rpc/
H A Ddma.c3 * linux/arch/arm/mach-rpc/dma.c
7 * DMA functions specific to RiscPC architecture
12 #include <linux/dma-mapping.h>
16 #include <asm/dma.h>
22 #include <asm/mach/dma.h>
26 struct dma_struct dma; member
58 if (idma->dma.sg) { in iomd_get_next_sg()
76 if (idma->dma.sgcount > 1) { in iomd_get_next_sg()
77 idma->dma.sg = sg_next(idma->dma.sg); in iomd_get_next_sg()
78 idma->dma_addr = idma->dma.sg->dma_address; in iomd_get_next_sg()
[all …]
/OK3568_Linux_fs/kernel/drivers/thunderbolt/
H A Ddma_port.c3 * Thunderbolt DMA configuration based mailbox support
48 * struct tb_dma_port - DMA control port
49 * @sw: Switch the DMA port belongs to
50 * @port: Switch port number where DMA capability is found
174 * The DMA (NHI) port is either 3, 5 or 7 depending on the in dma_find_port()
191 * dma_port_alloc() - Finds DMA control port from a switch pointed by route
192 * @sw: Switch from where find the DMA port
194 * Function checks if the switch NHI port supports DMA configuration
196 * DMA port structure. Returns %NULL if the capabity was not found.
198 * The DMA control port is functional also when the switch is in safe
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/soc/ti/
H A Dkeystone-navigator-dma.txt1 Keystone Navigator DMA Controller
3 This document explains the device tree bindings for the packet dma
4 on keystone devices. The Keystone Navigator DMA driver sets up the dma
8 CRYPTO Engines etc has its own instance of dma hardware. QMSS has also
9 an internal packet DMA module which is used as an infrastructure DMA
12 Navigator DMA cloud layout:
17 |-> DMA instance #0
19 |-> DMA instance #1
23 |-> DMA instance #n
25 Navigator DMA properties:
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/exynos/
H A Dregs-fimc.h24 /* Y 1st frame start address for output DMA */
26 /* Y 2nd frame start address for output DMA */
28 /* Y 3rd frame start address for output DMA */
30 /* Y 4th frame start address for output DMA */
32 /* Cb 1st frame start address for output DMA */
34 /* Cb 2nd frame start address for output DMA */
36 /* Cb 3rd frame start address for output DMA */
38 /* Cb 4th frame start address for output DMA */
40 /* Cr 1st frame start address for output DMA */
42 /* Cr 2nd frame start address for output DMA */
[all …]
/OK3568_Linux_fs/kernel/Documentation/driver-api/dmaengine/
H A Dclient.rst2 DMA Engine API Guide
7 .. note:: For DMA Engine usage in async_tx please see:
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
31 1. Allocate a DMA slave channel
33 Channel allocation is slightly different in the slave DMA context,
34 client drivers typically need a channel from a particular DMA
[all …]
/OK3568_Linux_fs/kernel/drivers/net/ethernet/
H A Dlantiq_xrx200.c22 /* DMA */
32 /* Add Ethernet header to packets from DMA to PMAC */
34 /* Add VLAN tag to Packets from DMA to PMAC */
36 /* Add CRC to packets from DMA to PMAC */
38 /* Add status header to packets from PMAC to DMA */
40 /* Remove CRC from packets from PMAC to DMA */
42 /* Remove Layer-2 header from packets from PMAC to DMA */
44 /* Status header is present from DMA to PMAC */
48 /* Remove specail Tag from PMAC to DMA */
50 /* Check CRC from DMA to PMAC */
[all …]
/OK3568_Linux_fs/kernel/drivers/video/rockchip/mpp/
H A Dmpp_iommu.c12 #include <linux/dma-buf-cache.h>
13 #include <linux/dma-iommu.h>
14 #include <linux/dma-mapping.h>
23 #include <asm/dma-iommu.h>
32 mpp_dma_find_buffer_fd(struct mpp_dma_session *dma, int fd) in mpp_dma_find_buffer_fd() argument
42 mutex_lock(&dma->list_mutex); in mpp_dma_find_buffer_fd()
44 &dma->used_list, link) { in mpp_dma_find_buffer_fd()
54 mutex_unlock(&dma->list_mutex); in mpp_dma_find_buffer_fd()
66 buffer->dma->buffer_count--; in mpp_dma_release_buffer()
67 list_move_tail(&buffer->link, &buffer->dma->unused_list); in mpp_dma_release_buffer()
[all …]
/OK3568_Linux_fs/kernel/drivers/block/rsxx/
H A Ddma.c3 * Filename: dma.c
29 /* This timeout is used to detect a stalled DMA channel */
74 struct rsxx_dma *dma; member
110 /* Reset all DMA Command/Status Queues */ in rsxx_dma_queue_reset()
114 static unsigned int get_dma_size(struct rsxx_dma *dma) in get_dma_size() argument
116 if (dma->sub_page.cnt) in get_dma_size()
117 return dma->sub_page.cnt << 9; in get_dma_size()
123 /*----------------- DMA Tracker -------------------*/
126 struct rsxx_dma *dma) in set_tracker_dma() argument
128 trackers->list[tag].dma = dma; in set_tracker_dma()
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/
H A Ddrm_dma.c3 * DMA IOCTL and function support
45 * drm_legacy_dma_setup() - Initialize the DMA data.
63 dev->dma = kzalloc(sizeof(*dev->dma), GFP_KERNEL); in drm_legacy_dma_setup()
64 if (!dev->dma) in drm_legacy_dma_setup()
68 memset(&dev->dma->bufs[i], 0, sizeof(dev->dma->bufs[0])); in drm_legacy_dma_setup()
74 * drm_legacy_dma_takedown() - Cleanup the DMA resources.
78 * Free all pages associated with DMA buffers, the buffers and pages lists, and
79 * finally the drm_device::dma structure itself.
83 struct drm_device_dma *dma = dev->dma; in drm_legacy_dma_takedown() local
90 if (!dma) in drm_legacy_dma_takedown()
[all …]

12345678910>>...224