| /Linux-v4.19/drivers/tty/serial/8250/ |
| 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 xmit->tail += dma->tx_size; in __dma_tx_complete() 31 p->port.icount.tx += dma->tx_size; in __dma_tx_complete() 48 struct uart_8250_dma *dma = p->dma; in __dma_rx_complete() local 53 dma->rx_running = 0; in __dma_rx_complete() 54 dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); in __dma_rx_complete() 56 count = dma->rx_size - state.residue; in __dma_rx_complete() 58 tty_insert_flip_string(tty_port, dma->rx_buf, count); in __dma_rx_complete() [all …]
|
| /Linux-v4.19/arch/arm/kernel/ |
| D | dma.c | 39 int __init isa_dma_add(unsigned int chan, dma_t *dma) in isa_dma_add() argument 41 if (!dma->d_ops) in isa_dma_add() 44 sg_init_table(&dma->buf, 1); in isa_dma_add() 48 dma_chan[chan] = dma; in isa_dma_add() 59 dma_t *dma = dma_channel(chan); in request_dma() local 62 if (!dma) in request_dma() 65 if (xchg(&dma->lock, 1) != 0) in request_dma() 68 dma->device_id = device_id; in request_dma() 69 dma->active = 0; in request_dma() 70 dma->invalid = 1; in request_dma() [all …]
|
| /Linux-v4.19/drivers/media/platform/xilinx/ |
| D | xilinx-dma.c | 61 static int xvip_dma_verify_format(struct xvip_dma *dma) in xvip_dma_verify_format() argument 67 subdev = xvip_dma_remote_subdev(&dma->pad, &fmt.pad); in xvip_dma_verify_format() 76 if (dma->fmtinfo->code != fmt.format.code || in xvip_dma_verify_format() 77 dma->format.height != fmt.format.height || in xvip_dma_verify_format() 78 dma->format.width != fmt.format.width || in xvip_dma_verify_format() 79 dma->format.colorspace != fmt.format.colorspace) in xvip_dma_verify_format() 102 struct xvip_dma *dma = pipe->output; in xvip_pipeline_start_stop() local 108 entity = &dma->video.entity; in xvip_pipeline_start_stop() 199 struct xvip_dma *dma; in xvip_pipeline_validate() local 204 dma = to_xvip_dma(media_entity_to_video_device(entity)); in xvip_pipeline_validate() [all …]
|
| /Linux-v4.19/drivers/i2c/busses/ |
| D | i2c-stm32.c | 18 struct stm32_i2c_dma *dma; in stm32_i2c_dma_request() local 22 dma = devm_kzalloc(dev, sizeof(*dma), GFP_KERNEL); in stm32_i2c_dma_request() 23 if (!dma) in stm32_i2c_dma_request() 27 dma->chan_tx = dma_request_slave_channel(dev, "tx"); in stm32_i2c_dma_request() 28 if (!dma->chan_tx) { in stm32_i2c_dma_request() 39 ret = dmaengine_slave_config(dma->chan_tx, &dma_sconfig); in stm32_i2c_dma_request() 46 dma->chan_rx = dma_request_slave_channel(dev, "rx"); in stm32_i2c_dma_request() 47 if (!dma->chan_rx) { in stm32_i2c_dma_request() 58 ret = dmaengine_slave_config(dma->chan_rx, &dma_sconfig); in stm32_i2c_dma_request() 64 init_completion(&dma->dma_complete); in stm32_i2c_dma_request() [all …]
|
| /Linux-v4.19/drivers/media/v4l2-core/ |
| D | videobuf-dma-sg.c | 144 return &mem->dma; in videobuf_to_dma() 148 static void videobuf_dma_init(struct videobuf_dmabuf *dma) in videobuf_dma_init() argument 150 memset(dma, 0, sizeof(*dma)); in videobuf_dma_init() 151 dma->magic = MAGIC_DMABUF; in videobuf_dma_init() 154 static int videobuf_dma_init_user_locked(struct videobuf_dmabuf *dma, in videobuf_dma_init_user_locked() argument 161 dma->direction = direction; in videobuf_dma_init_user_locked() 162 switch (dma->direction) { in videobuf_dma_init_user_locked() 175 dma->offset = data & ~PAGE_MASK; in videobuf_dma_init_user_locked() 176 dma->size = size; in videobuf_dma_init_user_locked() 177 dma->nr_pages = last-first+1; in videobuf_dma_init_user_locked() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/ |
| D | drm_dma.c | 59 dev->dma = kzalloc(sizeof(*dev->dma), GFP_KERNEL); in drm_legacy_dma_setup() 60 if (!dev->dma) in drm_legacy_dma_setup() 64 memset(&dev->dma->bufs[i], 0, sizeof(dev->dma->bufs[0])); in drm_legacy_dma_setup() 79 struct drm_device_dma *dma = dev->dma; in drm_legacy_dma_takedown() local 86 if (!dma) in drm_legacy_dma_takedown() 91 if (dma->bufs[i].seg_count) { in drm_legacy_dma_takedown() 95 dma->bufs[i].buf_count, in drm_legacy_dma_takedown() 96 dma->bufs[i].seg_count); in drm_legacy_dma_takedown() 97 for (j = 0; j < dma->bufs[i].seg_count; j++) { in drm_legacy_dma_takedown() 98 if (dma->bufs[i].seglist[j]) { in drm_legacy_dma_takedown() [all …]
|
| /Linux-v4.19/drivers/soc/ti/ |
| D | knav_dma.c | 117 struct knav_dma_device *dma; member 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() 281 v = dma->loopback ? DMA_LOOPBACK : 0; in knav_dma_hw_init() 282 writel_relaxed(v, &dma->reg_global->emulation_control); in knav_dma_hw_init() 284 v = readl_relaxed(&dma->reg_global->perf_control); in knav_dma_hw_init() [all …]
|
| /Linux-v4.19/drivers/media/pci/netup_unidvb/ |
| D | netup_unidvb_core.c | 121 static void netup_unidvb_queue_cleanup(struct netup_dma *dma); 154 struct netup_dma *dma = priv; in netup_unidvb_tuner_ctrl() local 159 ndev = dma->ndev; in netup_unidvb_tuner_ctrl() 161 __func__, dma->num, is_dvb_tc); in netup_unidvb_tuner_ctrl() 163 mask = (dma->num == 0) ? GPIO_RFA_CTL : GPIO_RFB_CTL; in netup_unidvb_tuner_ctrl() 198 static void netup_unidvb_dma_enable(struct netup_dma *dma, int enable) in netup_unidvb_dma_enable() argument 200 u32 irq_mask = (dma->num == 0 ? in netup_unidvb_dma_enable() 203 dev_dbg(&dma->ndev->pci_dev->dev, in netup_unidvb_dma_enable() 204 "%s(): DMA%d enable %d\n", __func__, dma->num, enable); in netup_unidvb_dma_enable() 206 writel(BIT_DMA_RUN, &dma->regs->ctrlstat_set); in netup_unidvb_dma_enable() [all …]
|
| /Linux-v4.19/drivers/media/pci/ivtv/ |
| D | ivtv-udma.c | 37 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 52 if (PageHighMem(dma->map[map_offset])) { in ivtv_udma_fill_sg_list() 55 if (dma->bouncemap[map_offset] == NULL) in ivtv_udma_fill_sg_list() 56 dma->bouncemap[map_offset] = alloc_page(GFP_KERNEL); in ivtv_udma_fill_sg_list() 57 if (dma->bouncemap[map_offset] == NULL) in ivtv_udma_fill_sg_list() 60 src = kmap_atomic(dma->map[map_offset]) + offset; in ivtv_udma_fill_sg_list() 61 memcpy(page_address(dma->bouncemap[map_offset]) + offset, src, len); in ivtv_udma_fill_sg_list() 64 sg_set_page(&dma->SGlist[map_offset], dma->bouncemap[map_offset], len, offset); in ivtv_udma_fill_sg_list() 67 sg_set_page(&dma->SGlist[map_offset], dma->map[map_offset], len, offset); in ivtv_udma_fill_sg_list() 75 void ivtv_udma_fill_sg_array (struct ivtv_user_dma *dma, u32 buffer_offset, u32 buffer_offset_2, u3… in ivtv_udma_fill_sg_array() argument [all …]
|
| /Linux-v4.19/drivers/gpu/drm/nouveau/ |
| D | nouveau_dma.c | 38 mem = &mem[chan->dma.cur]; in OUT_RINGp() 43 chan->dma.cur += nr_dwords; in OUT_RINGp() 78 val > chan->push.addr + (chan->dma.max << 2)) in READ_GET() 89 int ip = (chan->dma.ib_put * 2) + chan->dma.ib_base; in nv50_dma_push() 91 BUG_ON(chan->dma.ib_free < 1); in nv50_dma_push() 96 chan->dma.ib_put = (chan->dma.ib_put + 1) & chan->dma.ib_max; in nv50_dma_push() 102 nvif_wr32(&chan->user, 0x8c, chan->dma.ib_put); in nv50_dma_push() 105 chan->dma.ib_free--; in nv50_dma_push() 113 while (chan->dma.ib_free < count) { in nv50_dma_push_wait() 126 chan->dma.ib_free = get - chan->dma.ib_put; in nv50_dma_push_wait() [all …]
|
| /Linux-v4.19/arch/arm/mach-rpc/ |
| D | dma.c | 29 struct dma_struct dma; member 60 if (idma->dma.sg) { in iomd_get_next_sg() 78 if (idma->dma.sgcount > 1) { in iomd_get_next_sg() 79 idma->dma.sg = sg_next(idma->dma.sg); in iomd_get_next_sg() 80 idma->dma_addr = idma->dma.sg->dma_address; in iomd_get_next_sg() 81 idma->dma_len = idma->dma.sg->length; in iomd_get_next_sg() 82 idma->dma.sgcount--; in iomd_get_next_sg() 84 idma->dma.sg = NULL; in iomd_get_next_sg() 139 static int iomd_request_dma(unsigned int chan, dma_t *dma) in iomd_request_dma() argument 141 struct iomd_dma *idma = container_of(dma, struct iomd_dma, dma); in iomd_request_dma() [all …]
|
| /Linux-v4.19/drivers/crypto/qce/ |
| D | dma.c | 19 int qce_dma_request(struct device *dev, struct qce_dma_data *dma) in qce_dma_request() argument 23 dma->txchan = dma_request_slave_channel_reason(dev, "tx"); in qce_dma_request() 24 if (IS_ERR(dma->txchan)) in qce_dma_request() 25 return PTR_ERR(dma->txchan); in qce_dma_request() 27 dma->rxchan = dma_request_slave_channel_reason(dev, "rx"); in qce_dma_request() 28 if (IS_ERR(dma->rxchan)) { in qce_dma_request() 29 ret = PTR_ERR(dma->rxchan); in qce_dma_request() 33 dma->result_buf = kmalloc(QCE_RESULT_BUF_SZ + QCE_IGNORE_BUF_SZ, in qce_dma_request() 35 if (!dma->result_buf) { in qce_dma_request() 40 dma->ignore_buf = dma->result_buf + QCE_RESULT_BUF_SZ; in qce_dma_request() [all …]
|
| /Linux-v4.19/Documentation/devicetree/bindings/powerpc/fsl/ |
| D | dma.txt | 9 - compatible : must include "fsl,elo-dma" 18 - compatible : must include "fsl,elo-dma-channel" 29 dma@82a8 { 32 compatible = "fsl,mpc8349-dma", "fsl,elo-dma"; 38 dma-channel@0 { 39 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 45 dma-channel@80 { 46 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; 52 dma-channel@100 { 53 compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; [all …]
|
| /Linux-v4.19/drivers/net/ethernet/i825xx/ |
| D | lib82596.c | 315 struct i596_dma *dma; member 369 static inline int wait_istat(struct net_device *dev, struct i596_dma *dma, int delcnt, char *str) in wait_istat() argument 371 DMA_INV(dev, &(dma->iscp), sizeof(struct i596_iscp)); in wait_istat() 372 while (--delcnt && dma->iscp.stat) { in wait_istat() 374 DMA_INV(dev, &(dma->iscp), sizeof(struct i596_iscp)); in wait_istat() 378 dev->name, str, SWAP16(dma->iscp.stat)); in wait_istat() 385 static inline int wait_cmd(struct net_device *dev, struct i596_dma *dma, int delcnt, char *str) in wait_cmd() argument 387 DMA_INV(dev, &(dma->scb), sizeof(struct i596_scb)); in wait_cmd() 388 while (--delcnt && dma->scb.command) { in wait_cmd() 390 DMA_INV(dev, &(dma->scb), sizeof(struct i596_scb)); in wait_cmd() [all …]
|
| /Linux-v4.19/Documentation/devicetree/bindings/dma/ |
| D | sun6i-dma.txt | 3 This driver follows the generic DMA bindings defined in dma.txt. 8 "allwinner,sun6i-a31-dma" 9 "allwinner,sun8i-a23-dma" 10 "allwinner,sun8i-a83t-dma" 11 "allwinner,sun8i-h3-dma" 12 "allwinner,sun8i-v3s-dma" 18 - #dma-cells : Should be 1, a single cell holding a line request number 21 dma: dma-controller@1c02000 { 22 compatible = "allwinner,sun6i-a31-dma"; 27 #dma-cells = <1>; [all …]
|
| D | stm32-dmamux.txt | 6 - #dma-cells: Should be set to <3>. 11 stm32-dma.txt documentation binding file 12 - dma-masters: Phandle pointing to the DMA controllers. 13 Several controllers are allowed. Only "st,stm32-dma" DMA 17 - dma-channels : Number of DMA requests supported. 18 - dma-requests : Number of DMAMUX requests supported. 25 dma1: dma-controller@40020000 { 26 compatible = "st,stm32-dma"; 37 #dma-cells = <4>; 40 dma-channels = <8>; [all …]
|
| /Linux-v4.19/drivers/vfio/ |
| D | vfio_iommu_type1.c | 129 struct vfio_dma *dma = rb_entry(node, struct vfio_dma, node); in vfio_find_dma() local 131 if (start + size <= dma->iova) in vfio_find_dma() 133 else if (start >= dma->iova + dma->size) in vfio_find_dma() 136 return dma; in vfio_find_dma() 145 struct vfio_dma *dma; in vfio_link_dma() local 149 dma = rb_entry(parent, struct vfio_dma, node); in vfio_link_dma() 151 if (new->iova + new->size <= dma->iova) in vfio_link_dma() 169 static struct vfio_pfn *vfio_find_vpfn(struct vfio_dma *dma, dma_addr_t iova) in vfio_find_vpfn() argument 172 struct rb_node *node = dma->pfn_list.rb_node; in vfio_find_vpfn() 187 static void vfio_link_pfn(struct vfio_dma *dma, in vfio_link_pfn() argument [all …]
|
| /Linux-v4.19/drivers/thunderbolt/ |
| D | dma_port.c | 206 struct tb_dma_port *dma; in dma_port_alloc() local 213 dma = kzalloc(sizeof(*dma), GFP_KERNEL); in dma_port_alloc() 214 if (!dma) in dma_port_alloc() 217 dma->buf = kmalloc_array(MAIL_DATA_DWORDS, sizeof(u32), GFP_KERNEL); in dma_port_alloc() 218 if (!dma->buf) { in dma_port_alloc() 219 kfree(dma); in dma_port_alloc() 223 dma->sw = sw; in dma_port_alloc() 224 dma->port = port; in dma_port_alloc() 225 dma->base = DMA_PORT_CAP; in dma_port_alloc() 227 return dma; in dma_port_alloc() [all …]
|
| /Linux-v4.19/sound/core/ |
| D | isadma.c | 42 void snd_dma_program(unsigned long dma, in snd_dma_program() argument 49 disable_dma(dma); in snd_dma_program() 50 clear_dma_ff(dma); in snd_dma_program() 51 set_dma_mode(dma, mode); in snd_dma_program() 52 set_dma_addr(dma, addr); in snd_dma_program() 53 set_dma_count(dma, size); in snd_dma_program() 55 enable_dma(dma); in snd_dma_program() 66 void snd_dma_disable(unsigned long dma) in snd_dma_disable() argument 71 clear_dma_ff(dma); in snd_dma_disable() 72 disable_dma(dma); in snd_dma_disable() [all …]
|
| /Linux-v4.19/Documentation/devicetree/bindings/usb/ |
| 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-v4.19/drivers/staging/comedi/drivers/ |
| D | comedi_isadma.c | 100 unsigned int comedi_isadma_poll(struct comedi_isadma *dma) in comedi_isadma_poll() argument 102 struct comedi_isadma_desc *desc = &dma->desc[dma->cur_dma]; in comedi_isadma_poll() 158 struct comedi_isadma *dma = NULL; in comedi_isadma_alloc() local 166 dma = kzalloc(sizeof(*dma), GFP_KERNEL); in comedi_isadma_alloc() 167 if (!dma) in comedi_isadma_alloc() 173 dma->desc = desc; in comedi_isadma_alloc() 174 dma->n_desc = n_desc; in comedi_isadma_alloc() 184 dma->chan = dma_chans[0]; in comedi_isadma_alloc() 189 dma->chan2 = dma_chans[1]; in comedi_isadma_alloc() 192 desc = &dma->desc[i]; in comedi_isadma_alloc() [all …]
|
| /Linux-v4.19/drivers/scsi/arm/ |
| D | cumana_1.c | 48 u8 __iomem *dma = hostdata->pdma_io + 0x2000; in cumanascsi_pwrite() local 63 v=*laddr++; writew(L(v), dma); writew(H(v), dma); in cumanascsi_pwrite() 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() 87 writeb(*addr++, dma); in cumanascsi_pwrite() [all …]
|
| /Linux-v4.19/sound/pci/cs5535audio/ |
| D | cs5535audio_pcm.c | 119 struct cs5535audio_dma *dma, in cs5535audio_build_dma_packets() argument 131 if (dma->desc_buf.area == NULL) { in cs5535audio_build_dma_packets() 135 &dma->desc_buf) < 0) in cs5535audio_build_dma_packets() 137 dma->period_bytes = dma->periods = 0; in cs5535audio_build_dma_packets() 140 if (dma->periods == periods && dma->period_bytes == period_bytes) in cs5535audio_build_dma_packets() 146 desc_addr = (u32) dma->desc_buf.addr; in cs5535audio_build_dma_packets() 149 &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[i]; in cs5535audio_build_dma_packets() 157 lastdesc = &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[periods]; in cs5535audio_build_dma_packets() 158 lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr); in cs5535audio_build_dma_packets() 161 jmpprd_addr = (u32)dma->desc_buf.addr + in cs5535audio_build_dma_packets() [all …]
|
| /Linux-v4.19/drivers/block/rsxx/ |
| D | dma.c | 88 struct rsxx_dma *dma; member 128 static unsigned int get_dma_size(struct rsxx_dma *dma) in get_dma_size() argument 130 if (dma->sub_page.cnt) in get_dma_size() 131 return dma->sub_page.cnt << 9; in get_dma_size() 140 struct rsxx_dma *dma) in set_tracker_dma() argument 142 trackers->list[tag].dma = dma; in set_tracker_dma() 148 return trackers->list[tag].dma; in get_tracker_dma() 171 trackers->list[tag].dma = NULL; in push_tracker() 224 static void rsxx_free_dma(struct rsxx_dma_ctrl *ctrl, struct rsxx_dma *dma) in rsxx_free_dma() argument 226 if (dma->cmd != HW_CMD_BLK_DISCARD) { in rsxx_free_dma() [all …]
|
| /Linux-v4.19/sound/pci/au88x0/ |
| D | au88x0_core.c | 1084 stream_t *dma = &vortex->dma_adb[adbdma]; in vortex_adbdma_setfirstbuffer() local 1087 dma->dma_ctrl); in vortex_adbdma_setfirstbuffer() 1092 stream_t *dma = &vortex->dma_adb[adbdma]; in vortex_adbdma_setstartbuffer() local 1096 dma->period_real = dma->period_virt = sb; in vortex_adbdma_setstartbuffer() 1103 stream_t *dma = &vortex->dma_adb[adbdma]; in vortex_adbdma_setbuffers() local 1105 dma->period_bytes = psize; in vortex_adbdma_setbuffers() 1106 dma->nr_periods = count; in vortex_adbdma_setbuffers() 1108 dma->cfg0 = 0; in vortex_adbdma_setbuffers() 1109 dma->cfg1 = 0; in vortex_adbdma_setbuffers() 1114 dma->cfg1 |= 0x88000000 | 0x44000000 | 0x30000000 | (psize - 1); in vortex_adbdma_setbuffers() [all …]
|