| /linux/drivers/tty/serial/8250/ |
| H A D | 8250_dma.c | 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 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 D | dma.c | 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() 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 D | i2c-stm32.c | 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() 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 D | i2c-imx-lpi2c.c | 187 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 D | bcm_vk_sg.c | 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() 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 D | knav_dma.c | 109 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 D | netup_unidvb_core.c | 112 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 D | isadma.c | 27 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 D | dma.c | 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() 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 D | dma-buf-mapping.c | 99 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 D | Makefile | 2 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 D | vfio_iommu_type1.c | 174 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 D | dma.c | 14 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 D | comedi_isadma.c | 98 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 D | lib82596.c | 314 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 D | cumana_1.c | 49 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 D | ux500-usb.txt | 11 - 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 D | au88x0_core.c | 1072 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 D | bcm-nsp-ax.dtsi | 12 &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 D | ti_am335x_adc.c | 43 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 D | ti-dma-crossbar.txt | 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 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 D | dma.c | 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 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 D | samsung_tty.c | 154 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 D | dma-isa.c | 44 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 D | ddbridge-core.c | 126 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 …]
|