Home
last modified time | relevance | path

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

12345678910>>...326

/kernel/linux/linux-5.10/arch/arm/kernel/
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 …]
/kernel/linux/linux-6.6/arch/arm/kernel/
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 …]
/kernel/linux/linux-6.6/drivers/tty/serial/8250/
D8250_dma.c3 * 8250_dma.c - DMA Engine API support for 8250.c
10 #include <linux/dma-mapping.h>
17 struct uart_8250_dma *dma = p->dma; in __dma_tx_complete() local
22 dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr, in __dma_tx_complete()
27 dma->tx_running = 0; in __dma_tx_complete()
29 uart_xmit_advance(&p->port, dma->tx_size); in __dma_tx_complete()
35 if (ret || !dma->tx_running) in __dma_tx_complete()
43 struct uart_8250_dma *dma = p->dma; in __dma_rx_complete() local
50 * New DMA Rx can be started during the completion handler before it in __dma_rx_complete()
54 dma_status = dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in __dma_rx_complete()
[all …]
/kernel/linux/linux-5.10/drivers/tty/serial/8250/
D8250_dma.c3 * 8250_dma.c - DMA Engine API support for 8250.c
10 #include <linux/dma-mapping.h>
17 struct uart_8250_dma *dma = p->dma; in __dma_tx_complete() local
22 dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr, in __dma_tx_complete()
27 dma->tx_running = 0; in __dma_tx_complete()
29 xmit->tail += dma->tx_size; in __dma_tx_complete()
31 p->port.icount.tx += dma->tx_size; in __dma_tx_complete()
46 struct uart_8250_dma *dma = p->dma; in __dma_rx_complete() local
53 * New DMA Rx can be started during the completion handler before it in __dma_rx_complete()
57 dma_status = dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in __dma_rx_complete()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/powerpc/fsl/
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 …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/powerpc/fsl/
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 …]
/kernel/linux/linux-5.10/drivers/i2c/busses/
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 …]
/kernel/linux/linux-6.6/drivers/i2c/busses/
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 …]
/kernel/linux/linux-5.10/drivers/media/platform/xilinx/
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 …]
/kernel/linux/linux-6.6/drivers/media/platform/xilinx/
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"
57 static int xvip_dma_verify_format(struct xvip_dma *dma) in xvip_dma_verify_format() argument
65 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 …]
/kernel/linux/linux-5.10/drivers/dma/
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 …]
/kernel/linux/linux-6.6/drivers/dma/
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 …]
/kernel/linux/linux-6.6/sound/core/
Disadma.c3 * ISA DMA support functions
9 * ISA DMA controllers.
15 #include <linux/isa-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 …]
/kernel/linux/linux-6.6/drivers/media/v4l2-core/
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 …]
/kernel/linux/linux-5.10/drivers/media/v4l2-core/
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 …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/dma/
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 …]
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 …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/dma/
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 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 …]
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 …]
Dqcom,gpi.yaml4 $id: http://devicetree.org/schemas/dma/qcom,gpi.yaml#
7 title: Qualcomm Technologies Inc GPI DMA controller
13 QCOM GPI DMA controller provides DMA capabilities for
17 - $ref: dma-controller.yaml#
23 - qcom,sdm845-gpi-dma
24 - qcom,sm6350-gpi-dma
27 - qcom,qcm2290-gpi-dma
28 - qcom,qdu1000-gpi-dma
29 - qcom,sc7280-gpi-dma
30 - qcom,sm6115-gpi-dma
[all …]
/kernel/linux/linux-5.10/drivers/staging/comedi/drivers/
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 …]
/kernel/linux/linux-6.6/drivers/comedi/drivers/
Dcomedi_isadma.c3 * COMEDI ISA DMA support functions
10 #include <linux/dma-mapping.h>
11 #include <linux/isa-dma.h>
16 * comedi_isadma_program - program and enable an ISA DMA transfer
17 * @desc: the ISA DMA cookie to program and enable
34 * comedi_isadma_disable - disable the ISA DMA channel
35 * @dma_chan: the DMA channel to disable
37 * Returns the residue (remaining bytes) left in the DMA transfer.
54 * comedi_isadma_disable_on_sample - disable the ISA DMA channel
55 * @dma_chan: the DMA channel to disable
[all …]
/kernel/linux/linux-6.6/Documentation/driver-api/
Ddma-buf.rst1 Buffer Sharing and Synchronization (dma-buf)
4 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
[all …]
/kernel/linux/linux-5.10/sound/core/
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 …]
/kernel/linux/linux-6.6/drivers/misc/bcm-vk/
Dbcm_vk_sg.c5 #include <linux/dma-mapping.h>
27 struct bcm_vk_dma *dma,
30 static int bcm_vk_dma_free(struct device *dev, struct bcm_vk_dma *dma);
36 struct bcm_vk_dma *dma, in bcm_vk_dma_alloc() argument
60 dma->nr_pages = last - first + 1; in bcm_vk_dma_alloc()
62 /* Allocate DMA pages */ in bcm_vk_dma_alloc()
63 dma->pages = kmalloc_array(dma->nr_pages, in bcm_vk_dma_alloc()
66 if (!dma->pages) in bcm_vk_dma_alloc()
69 dev_dbg(dev, "Alloc DMA Pages [0x%llx+0x%x => %d pages]\n", in bcm_vk_dma_alloc()
70 data, vkdata->size, dma->nr_pages); in bcm_vk_dma_alloc()
[all …]

12345678910>>...326