Home
last modified time | relevance | path

Searched refs:dma (Results 1 – 25 of 1730) sorted by relevance

12345678910>>...70

/linux/drivers/tty/serial/8250/
H A D8250_dma.c17 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
54 dma_status = dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in __dma_rx_complete()
58 count = dma->rx_size - state.residue; in __dma_rx_complete()
60 tty_insert_flip_string(tty_port, dma->rx_buf, count); in __dma_rx_complete()
62 dma->rx_running = 0; in __dma_rx_complete()
[all …]
/linux/arch/arm/kernel/
H A Ddma.c36 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()
56 dma_t *dma = dma_channel(chan); in request_dma() local
59 if (!dma) in request_dma()
62 if (xchg(&dma->lock, 1) != 0) in request_dma()
65 dma->device_id = device_id; in request_dma()
66 dma->active = 0; in request_dma()
67 dma->invalid = 1; in request_dma()
[all …]
/linux/drivers/i2c/busses/
H A Di2c-stm32.c17 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()
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()
40 ret = dmaengine_slave_config(dma->chan_tx, &dma_sconfig); in stm32_i2c_dma_request()
47 dma->chan_rx = dma_request_chan(dev, "rx"); in stm32_i2c_dma_request()
48 if (IS_ERR(dma->chan_rx)) { in stm32_i2c_dma_request()
49 ret = PTR_ERR(dma->chan_rx); in stm32_i2c_dma_request()
[all …]
H A Di2c-imx-lpi2c.c187 struct lpi2c_imx_dma *dma; member
632 time = 8 * lpi2c_imx->dma->dma_len * 1000 / lpi2c_imx->bitrate; in lpi2c_imx_dma_timeout_calculate()
643 struct lpi2c_imx_dma *dma = lpi2c_imx->dma; in lpi2c_imx_alloc_rx_cmd_buf() local
644 u16 rx_remain = dma->dma_len; in lpi2c_imx_alloc_rx_cmd_buf()
654 dma->rx_cmd_buf = kcalloc(cmd_num, sizeof(u16), GFP_KERNEL); in lpi2c_imx_alloc_rx_cmd_buf()
655 dma->rx_cmd_buf_len = cmd_num * sizeof(u16); in lpi2c_imx_alloc_rx_cmd_buf()
657 if (!dma->rx_cmd_buf) { in lpi2c_imx_alloc_rx_cmd_buf()
666 dma->rx_cmd_buf[i] = temp; in lpi2c_imx_alloc_rx_cmd_buf()
686 static void lpi2c_dma_unmap(struct lpi2c_imx_dma *dma) in lpi2c_dma_unmap() argument
688 struct dma_chan *chan = dma->dma_data_dir == DMA_FROM_DEVICE in lpi2c_dma_unmap()
[all …]
/linux/drivers/misc/bcm-vk/
H A Dbcm_vk_sg.c27 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()
63 dma->pages = kmalloc_array(dma->nr_pages, in bcm_vk_dma_alloc()
66 if (!dma->pages) in bcm_vk_dma_alloc()
70 data, vkdata->size, dma->nr_pages); in bcm_vk_dma_alloc()
72 dma->direction = direction; in bcm_vk_dma_alloc()
76 dma->nr_pages, in bcm_vk_dma_alloc()
78 dma->pages); in bcm_vk_dma_alloc()
[all …]
/linux/drivers/soc/ti/
H A Dknav_dma.c109 struct knav_dma_device *dma; member
256 static void dma_hw_enable_all(struct knav_dma_device *dma) in dma_hw_enable_all() argument
260 for (i = 0; i < dma->max_tx_chan; i++) { in dma_hw_enable_all()
261 writel_relaxed(0, &dma->reg_tx_chan[i].mode); in dma_hw_enable_all()
262 writel_relaxed(DMA_ENABLE, &dma->reg_tx_chan[i].control); in dma_hw_enable_all()
267 static void knav_dma_hw_init(struct knav_dma_device *dma) in knav_dma_hw_init() argument
272 spin_lock(&dma->lock); in knav_dma_hw_init()
273 v = dma->loopback ? DMA_LOOPBACK : 0; in knav_dma_hw_init()
274 writel_relaxed(v, &dma->reg_global->emulation_control); in knav_dma_hw_init()
276 v = readl_relaxed(&dma->reg_global->perf_control); in knav_dma_hw_init()
[all …]
/linux/drivers/media/pci/netup_unidvb/
H A Dnetup_unidvb_core.c112 static void netup_unidvb_queue_cleanup(struct netup_dma *dma);
145 struct netup_dma *dma = priv; in netup_unidvb_tuner_ctrl() local
150 ndev = dma->ndev; in netup_unidvb_tuner_ctrl()
152 __func__, dma->num, is_dvb_tc); in netup_unidvb_tuner_ctrl()
154 mask = (dma->num == 0) ? GPIO_RFA_CTL : GPIO_RFB_CTL; in netup_unidvb_tuner_ctrl()
189 static void netup_unidvb_dma_enable(struct netup_dma *dma, int enable) in netup_unidvb_dma_enable() argument
191 u32 irq_mask = (dma->num == 0 ? in netup_unidvb_dma_enable()
194 dev_dbg(&dma->ndev->pci_dev->dev, in netup_unidvb_dma_enable()
195 "%s(): DMA%d enable %d\n", __func__, dma->num, enable); in netup_unidvb_dma_enable()
197 writel(BIT_DMA_RUN, &dma->regs->ctrlstat_set); in netup_unidvb_dma_enable()
[all …]
/linux/sound/core/
H A Disadma.c27 void snd_dma_program(unsigned long dma, in snd_dma_program() argument
34 disable_dma(dma); in snd_dma_program()
35 clear_dma_ff(dma); in snd_dma_program()
36 set_dma_mode(dma, mode); in snd_dma_program()
37 set_dma_addr(dma, addr); in snd_dma_program()
38 set_dma_count(dma, size); in snd_dma_program()
40 enable_dma(dma); in snd_dma_program()
51 void snd_dma_disable(unsigned long dma) in snd_dma_disable() argument
56 clear_dma_ff(dma); in snd_dma_disable()
57 disable_dma(dma); in snd_dma_disable()
[all …]
/linux/arch/arm/mach-rpc/
H A Ddma.c26 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()
79 idma->dma_len = idma->dma.sg->length; in iomd_get_next_sg()
80 idma->dma.sgcount--; in iomd_get_next_sg()
82 idma->dma.sg = NULL; in iomd_get_next_sg()
134 static int iomd_request_dma(unsigned int chan, dma_t *dma) in iomd_request_dma() argument
136 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma); in iomd_request_dma()
[all …]
/linux/drivers/dma-buf/
H A Ddma-buf-mapping.c99 struct dma_buf_dma *dma; in dma_buf_phys_vec_to_sgt() local
111 dma = kzalloc(sizeof(*dma), GFP_KERNEL); in dma_buf_phys_vec_to_sgt()
112 if (!dma) in dma_buf_phys_vec_to_sgt()
122 dma->state = kzalloc(sizeof(*dma->state), GFP_KERNEL); in dma_buf_phys_vec_to_sgt()
123 if (!dma->state) { in dma_buf_phys_vec_to_sgt()
128 dma_iova_try_alloc(attach->dev, dma->state, 0, size); in dma_buf_phys_vec_to_sgt()
135 nents = calc_sg_nents(dma->state, phys_vec, nr_ranges, size); in dma_buf_phys_vec_to_sgt()
136 ret = sg_alloc_table(&dma->sgt, nents, GFP_KERNEL | __GFP_ZERO); in dma_buf_phys_vec_to_sgt()
140 sgl = dma->sgt.sgl; in dma_buf_phys_vec_to_sgt()
143 if (!dma->state) { in dma_buf_phys_vec_to_sgt()
[all …]
H A DMakefile2 obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \
3 dma-fence-unwrap.o dma-resv.o dma-buf-mapping.o
4 obj-$(CONFIG_DMABUF_HEAPS) += dma-heap.o
9 obj-$(CONFIG_DMABUF_SYSFS_STATS) += dma-buf-sysfs-stats.o
13 st-dma-fence.o \
14 st-dma-fence-chain.o \
15 st-dma-fence-unwrap.o \
16 st-dma-resv.o
/linux/drivers/vfio/
H A Dvfio_iommu_type1.c174 struct vfio_dma *dma = rb_entry(node, struct vfio_dma, node); in vfio_find_dma() local
176 if (start + size - 1 < dma->iova) in vfio_find_dma()
178 else if (start > dma->iova + dma->size - 1) in vfio_find_dma()
181 return dma; in vfio_find_dma()
198 struct vfio_dma *dma = rb_entry(node, struct vfio_dma, node); in vfio_find_dma_first_node() local
200 if (start <= dma->iova + dma->size - 1) { in vfio_find_dma_first_node()
202 dma_res = dma; in vfio_find_dma_first_node()
203 if (start >= dma->iova) in vfio_find_dma_first_node()
218 struct vfio_dma *dma; in vfio_link_dma() local
224 dma = rb_entry(parent, struct vfio_dma, node); in vfio_link_dma()
[all …]
/linux/drivers/crypto/qce/
H A Ddma.c14 struct qce_dma_data *dma = data; in qce_dma_release() local
16 dma_release_channel(dma->txchan); in qce_dma_release()
17 dma_release_channel(dma->rxchan); in qce_dma_release()
18 kfree(dma->result_buf); in qce_dma_release()
21 int devm_qce_dma_request(struct device *dev, struct qce_dma_data *dma) in devm_qce_dma_request() argument
25 dma->txchan = dma_request_chan(dev, "tx"); in devm_qce_dma_request()
26 if (IS_ERR(dma->txchan)) in devm_qce_dma_request()
27 return dev_err_probe(dev, PTR_ERR(dma->txchan), in devm_qce_dma_request()
30 dma->rxchan = dma_request_chan(dev, "rx"); in devm_qce_dma_request()
31 if (IS_ERR(dma->rxchan)) { in devm_qce_dma_request()
[all …]
/linux/drivers/comedi/drivers/
H A Dcomedi_isadma.c98 unsigned int comedi_isadma_poll(struct comedi_isadma *dma) in comedi_isadma_poll() argument
100 struct comedi_isadma_desc *desc = &dma->desc[dma->cur_dma]; in comedi_isadma_poll()
156 struct comedi_isadma *dma = NULL; in comedi_isadma_alloc() local
164 dma = kzalloc(sizeof(*dma), GFP_KERNEL); in comedi_isadma_alloc()
165 if (!dma) in comedi_isadma_alloc()
171 dma->desc = desc; in comedi_isadma_alloc()
172 dma->n_desc = n_desc; in comedi_isadma_alloc()
174 dma->dev = dev->hw_dev; in comedi_isadma_alloc()
184 dma->dev = dev->class_dev; in comedi_isadma_alloc()
195 dma->chan = dma_chans[0]; in comedi_isadma_alloc()
[all …]
/linux/drivers/net/ethernet/i825xx/
H A Dlib82596.c314 struct i596_dma *dma; member
369 return lp->dma_addr + ((unsigned long)v - (unsigned long)lp->dma); in virt_to_dma()
399 static inline int wait_istat(struct net_device *dev, struct i596_dma *dma, int delcnt, char *str) in wait_istat() argument
401 dma_sync_cpu(dev, &(dma->iscp), sizeof(struct i596_iscp)); in wait_istat()
402 while (--delcnt && dma->iscp.stat) { in wait_istat()
404 dma_sync_cpu(dev, &(dma->iscp), sizeof(struct i596_iscp)); in wait_istat()
408 dev->name, str, SWAP16(dma->iscp.stat)); in wait_istat()
415 static inline int wait_cmd(struct net_device *dev, struct i596_dma *dma, int delcnt, char *str) in wait_cmd() argument
417 dma_sync_cpu(dev, &(dma->scb), sizeof(struct i596_scb)); in wait_cmd()
418 while (--delcnt && dma->scb.command) { in wait_cmd()
[all …]
/linux/drivers/scsi/arm/
H A Dcumana_1.c49 u8 __iomem *dma = hostdata->pdma_io + 0x2000; in cumanascsi_pwrite() local
64 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
65 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
66 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
67 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
68 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
69 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
70 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
71 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite()
88 writeb(*addr++, dma); in cumanascsi_pwrite()
[all …]
/linux/Documentation/devicetree/bindings/usb/
H A Dux500-usb.txt11 - dmas : A list of dma channels;
12 dma-controller, event-line, fixed-channel, flags
13 - dma-names : An ordered list of channel names affiliated to the above
25 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
26 <&dma 38 0 0x0>, /* Logical - MemToDev */
27 <&dma 37 0 0x2>, /* Logical - DevToMem */
28 <&dma 37 0 0x0>, /* Logical - MemToDev */
29 <&dma 36 0 0x2>, /* Logical - DevToMem */
30 <&dma 36 0 0x0>, /* Logical - MemToDev */
31 <&dma 19 0 0x2>, /* Logical - DevToMem */
[all …]
/linux/sound/pci/au88x0/
H A Dau88x0_core.c1072 stream_t *dma = &vortex->dma_adb[adbdma]; in vortex_adbdma_setfirstbuffer() local
1075 dma->dma_ctrl); in vortex_adbdma_setfirstbuffer()
1080 stream_t *dma = &vortex->dma_adb[adbdma]; in vortex_adbdma_setstartbuffer() local
1084 dma->period_real = dma->period_virt = sb; in vortex_adbdma_setstartbuffer()
1091 stream_t *dma = &vortex->dma_adb[adbdma]; in vortex_adbdma_setbuffers() local
1093 dma->period_bytes = psize; in vortex_adbdma_setbuffers()
1094 dma->nr_periods = count; in vortex_adbdma_setbuffers()
1096 dma->cfg0 = 0; in vortex_adbdma_setbuffers()
1097 dma->cfg1 = 0; in vortex_adbdma_setbuffers()
1102 dma->cfg1 |= 0x88000000 | 0x44000000 | 0x30000000 | (psize - 1); in vortex_adbdma_setbuffers()
[all …]
/linux/arch/arm/boot/dts/broadcom/
H A Dbcm-nsp-ax.dtsi12 &dma {
13 /delete-property/ dma-coherent;
17 /delete-property/ dma-coherent;
21 /delete-property/ dma-coherent;
25 /delete-property/ dma-coherent;
29 /delete-property/ dma-coherent;
33 /delete-property/ dma-coherent;
37 /delete-property/ dma-coherent;
41 /delete-property/ dma-coherent;
45 /delete-property/ dma-coherent;
[all …]
/linux/drivers/iio/adc/
H A Dti_am335x_adc.c43 struct tiadc_dma dma; member
217 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_dma_rx_complete() local
221 data = dma->buf + dma->current_period * dma->period_size; in tiadc_dma_rx_complete()
222 dma->current_period = 1 - dma->current_period; /* swap the buffer ID */ in tiadc_dma_rx_complete()
224 for (i = 0; i < dma->period_size; i += indio_dev->scan_bytes) { in tiadc_dma_rx_complete()
233 struct tiadc_dma *dma = &adc_dev->dma; in tiadc_start_dma() local
236 dma->current_period = 0; /* We start to fill period 0 */ in tiadc_start_dma()
245 dma->fifo_thresh = rounddown(FIFO1_THRESHOLD + 1, in tiadc_start_dma()
249 dma->period_size = rounddown(DMA_BUFFER_SIZE / 2, in tiadc_start_dma()
250 (dma->fifo_thresh + 1) * sizeof(u16)); in tiadc_start_dma()
[all …]
/linux/Documentation/devicetree/bindings/dma/
H A Dti-dma-crossbar.txt4 - 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
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
23 When requesting channel via ti,dra7-dma-crossbar, the DMA client must request
34 sdma: dma-controller@4a056000 {
[all …]
/linux/sound/soc/renesas/rcar/
H A Ddma.c42 } 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
93 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_cleanup() local
94 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_cleanup()
113 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_prepare() local
114 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_prepare()
127 dma->mod_from, in rsnd_dmaen_prepare()
128 dma->mod_to); in rsnd_dmaen_prepare()
[all …]
/linux/drivers/tty/serial/
H A Dsamsung_tty.c154 struct s3c24xx_uart_dma *dma; member
288 struct s3c24xx_uart_dma *dma = ourport->dma; in s3c24xx_serial_stop_tx() local
307 if (dma && dma->tx_chan && ourport->tx_in_progress == S3C24XX_TX_DMA) { in s3c24xx_serial_stop_tx()
308 dmaengine_pause(dma->tx_chan); in s3c24xx_serial_stop_tx()
309 dmaengine_tx_status(dma->tx_chan, dma->tx_cookie, &state); in s3c24xx_serial_stop_tx()
310 dmaengine_terminate_all(dma->tx_chan); in s3c24xx_serial_stop_tx()
311 dma_sync_single_for_cpu(dma->tx_chan->device->dev, in s3c24xx_serial_stop_tx()
312 dma->tx_transfer_addr, dma->tx_size, in s3c24xx_serial_stop_tx()
314 async_tx_ack(dma->tx_desc); in s3c24xx_serial_stop_tx()
315 count = dma->tx_bytes_requested - state.residue; in s3c24xx_serial_stop_tx()
[all …]
/linux/arch/arm/mach-footbridge/
H A Ddma-isa.c44 static int isa_get_dma_residue(unsigned int chan, dma_t *dma) in isa_get_dma_residue() argument
61 static void isa_enable_dma(unsigned int chan, dma_t *dma) in isa_enable_dma() argument
63 if (dma->invalid) { in isa_enable_dma()
68 mode = (chan & 3) | dma->dma_mode; in isa_enable_dma()
69 switch (dma->dma_mode & DMA_MODE_MASK) { in isa_enable_dma()
87 if (!dma->sg) { in isa_enable_dma()
92 dma->sg = &dma->buf; in isa_enable_dma()
93 dma->sgcount = 1; in isa_enable_dma()
94 dma->buf.length = dma->count; in isa_enable_dma()
95 dma->buf.dma_address = dma_map_single(&isa_dma_dev, in isa_enable_dma()
[all …]
/linux/drivers/media/pci/ddbridge/
H A Dddbridge-core.c126 struct ddb_dma *dma = io->dma; in ddb_set_dma_table() local
130 if (!dma) in ddb_set_dma_table()
132 for (i = 0; i < dma->num; i++) { in ddb_set_dma_table()
133 mem = dma->pbuf[i]; in ddb_set_dma_table()
134 ddbwritel(dev, mem & 0xffffffff, dma->bufregs + i * 8); in ddb_set_dma_table()
135 ddbwritel(dev, mem >> 32, dma->bufregs + i * 8 + 4); in ddb_set_dma_table()
137 dma->bufval = ((dma->div & 0x0f) << 16) | in ddb_set_dma_table()
138 ((dma->num & 0x1f) << 11) | in ddb_set_dma_table()
139 ((dma->size >> 7) & 0x7ff); in ddb_set_dma_table()
185 if (port->output->dma->running) { in ddb_unredirect()
[all …]

12345678910>>...70