Home
last modified time | relevance | path

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

123

/sound/core/
Disadma.c42 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()
67 void snd_dma_disable(unsigned long dma) in snd_dma_disable() argument
72 clear_dma_ff(dma); in snd_dma_disable()
73 disable_dma(dma); in snd_dma_disable()
[all …]
Dmemalloc.c83 static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *dma) in snd_malloc_dev_pages() argument
88 if (WARN_ON(!dma)) in snd_malloc_dev_pages()
95 return dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags); in snd_malloc_dev_pages()
100 dma_addr_t dma) in snd_free_dev_pages() argument
107 dma_free_coherent(dev, PAGE_SIZE << pg, ptr, dma); in snd_free_dev_pages()
/sound/soc/sh/rcar/
Ddma.c32 void (*start)(struct rsnd_dai_stream *io, struct rsnd_dma *dma);
33 void (*stop)(struct rsnd_dai_stream *io, struct rsnd_dma *dma);
34 int (*init)(struct rsnd_dai_stream *io, struct rsnd_dma *dma, int id,
36 void (*quit)(struct rsnd_dai_stream *io, struct rsnd_dma *dma);
39 #define rsnd_priv_to_dmac(p) ((struct rsnd_dma_ctrl *)(p)->dma)
80 static void rsnd_dmaen_stop(struct rsnd_dai_stream *io, struct rsnd_dma *dma) in rsnd_dmaen_stop() argument
82 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_stop()
87 static void rsnd_dmaen_start(struct rsnd_dai_stream *io, struct rsnd_dma *dma) in rsnd_dmaen_start() argument
89 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_start()
90 struct rsnd_mod *mod = rsnd_dma_to_mod(dma); in rsnd_dmaen_start()
[all …]
Drsnd.h214 } dma; member
216 #define rsnd_dma_to_dmaen(dma) (&(dma)->dma.en) argument
217 #define rsnd_dma_to_dmapp(dma) (&(dma)->dma.pp) argument
218 #define rsnd_dma_to_mod(_dma) container_of((_dma), struct rsnd_mod, dma)
220 void rsnd_dma_start(struct rsnd_dai_stream *io, struct rsnd_dma *dma);
221 void rsnd_dma_stop(struct rsnd_dai_stream *io, struct rsnd_dma *dma);
222 int rsnd_dma_init(struct rsnd_dai_stream *io, struct rsnd_dma *dma, int id);
223 void rsnd_dma_quit(struct rsnd_dai_stream *io, struct rsnd_dma *dma);
282 struct rsnd_dma dma; member
332 #define rsnd_mod_to_dma(mod) (&(mod)->dma)
[all …]
/sound/pci/cs5535audio/
Dcs5535audio_pcm.c119 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 …]
Dcs5535audio_pm.c68 struct cs5535audio_dma *dma = &cs5535au->dmas[i]; in snd_cs5535audio_suspend() local
69 if (dma && dma->substream) in snd_cs5535audio_suspend()
70 dma->saved_prd = dma->ops->read_prd(cs5535au); in snd_cs5535audio_suspend()
101 struct cs5535audio_dma *dma = &cs5535au->dmas[i]; in snd_cs5535audio_resume() local
102 if (dma && dma->substream) { in snd_cs5535audio_resume()
103 dma->substream->ops->prepare(dma->substream); in snd_cs5535audio_resume()
104 dma->ops->setup_prd(cs5535au, dma->saved_prd); in snd_cs5535audio_resume()
/sound/pci/au88x0/
Dau88x0_core.c1084 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 …]
Dau88x0_pcm.c240 int dma, type = VORTEX_PCM_TYPE(substream->pcm); in snd_vortex_pcm_hw_params() local
243 vortex_adb_allocroute(chip, stream->dma, in snd_vortex_pcm_hw_params()
248 dma = in snd_vortex_pcm_hw_params()
253 if (dma < 0) { in snd_vortex_pcm_hw_params()
255 return dma; in snd_vortex_pcm_hw_params()
257 stream = substream->runtime->private_data = &chip->dma_adb[dma]; in snd_vortex_pcm_hw_params()
260 vortex_adbdma_setbuffers(chip, dma, in snd_vortex_pcm_hw_params()
277 stream->dma = substream->number; in snd_vortex_pcm_hw_params()
304 vortex_adb_allocroute(chip, stream->dma, in snd_vortex_pcm_hw_free()
313 vortex_wt_allocroute(chip, stream->dma, 0); in snd_vortex_pcm_hw_free()
[all …]
/sound/soc/au1x/
Ddma.c32 int dma; member
105 disable_dma(stream->dma); in au1000_dma_stop()
113 init_dma(stream->dma); in au1000_dma_start()
114 if (get_dma_active_buffer(stream->dma) == 0) { in au1000_dma_start()
115 clear_dma_done0(stream->dma); in au1000_dma_start()
116 set_dma_addr0(stream->dma, stream->buffer->start); in au1000_dma_start()
117 set_dma_count0(stream->dma, stream->period_size >> 1); in au1000_dma_start()
118 set_dma_addr1(stream->dma, stream->buffer->next->start); in au1000_dma_start()
119 set_dma_count1(stream->dma, stream->period_size >> 1); in au1000_dma_start()
121 clear_dma_done1(stream->dma); in au1000_dma_start()
[all …]
/sound/pci/
Datiixp.c356 static int atiixp_build_dma_packets(struct atiixp *chip, struct atiixp_dma *dma, in atiixp_build_dma_packets() argument
368 if (dma->desc_buf.area == NULL) { in atiixp_build_dma_packets()
372 &dma->desc_buf) < 0) in atiixp_build_dma_packets()
374 dma->period_bytes = dma->periods = 0; /* clear */ in atiixp_build_dma_packets()
377 if (dma->periods == periods && dma->period_bytes == period_bytes) in atiixp_build_dma_packets()
382 writel(0, chip->remap_addr + dma->ops->llp_offset); in atiixp_build_dma_packets()
383 dma->ops->enable_dma(chip, 0); in atiixp_build_dma_packets()
384 dma->ops->enable_dma(chip, 1); in atiixp_build_dma_packets()
389 desc_addr = (u32)dma->desc_buf.addr; in atiixp_build_dma_packets()
392 desc = &((struct atiixp_dma_desc *)dma->desc_buf.area)[i]; in atiixp_build_dma_packets()
[all …]
Datiixp_modem.c325 struct atiixp_dma *dma, in atiixp_build_dma_packets() argument
337 if (dma->desc_buf.area == NULL) { in atiixp_build_dma_packets()
339 ATI_DESC_LIST_SIZE, &dma->desc_buf) < 0) in atiixp_build_dma_packets()
341 dma->period_bytes = dma->periods = 0; /* clear */ in atiixp_build_dma_packets()
344 if (dma->periods == periods && dma->period_bytes == period_bytes) in atiixp_build_dma_packets()
349 writel(0, chip->remap_addr + dma->ops->llp_offset); in atiixp_build_dma_packets()
350 dma->ops->enable_dma(chip, 0); in atiixp_build_dma_packets()
351 dma->ops->enable_dma(chip, 1); in atiixp_build_dma_packets()
356 desc_addr = (u32)dma->desc_buf.addr; in atiixp_build_dma_packets()
359 desc = &((struct atiixp_dma_desc *)dma->desc_buf.area)[i]; in atiixp_build_dma_packets()
[all …]
Dcs4281.c473 struct cs4281_dma dma[4]; member
670 struct cs4281_dma *dma = substream->runtime->private_data; in snd_cs4281_trigger() local
676 dma->valDCR |= BA0_DCR_MSK; in snd_cs4281_trigger()
677 dma->valFCR |= BA0_FCR_FEN; in snd_cs4281_trigger()
680 dma->valDCR &= ~BA0_DCR_MSK; in snd_cs4281_trigger()
681 dma->valFCR &= ~BA0_FCR_FEN; in snd_cs4281_trigger()
685 snd_cs4281_pokeBA0(chip, dma->regDMR, dma->valDMR & ~BA0_DMR_DMA); in snd_cs4281_trigger()
686 dma->valDMR |= BA0_DMR_DMA; in snd_cs4281_trigger()
687 dma->valDCR &= ~BA0_DCR_MSK; in snd_cs4281_trigger()
688 dma->valFCR |= BA0_FCR_FEN; in snd_cs4281_trigger()
[all …]
/sound/oss/
Dpas2_card.c186 if (hw_config->dma < 0 || hw_config->dma > 7) in config_pas_hw()
188 printk(KERN_ERR "PAS16: Invalid DMA selection %d", hw_config->dma); in config_pas_hw()
189 hw_config->dma=-1; in config_pas_hw()
194 pas_write(dma_bits[hw_config->dma], 0xF389); in config_pas_hw()
195 if (!dma_bits[hw_config->dma]) in config_pas_hw()
197 printk(KERN_ERR "PAS16: Invalid DMA selection %d", hw_config->dma); in config_pas_hw()
198 hw_config->dma=-1; in config_pas_hw()
203 if (sound_alloc_dma(hw_config->dma, "PAS16")) in config_pas_hw()
206 hw_config->dma=-1; in config_pas_hw()
261 if (!sb_dma_bits[sb_config->dma]) in config_pas_hw()
[all …]
Dsb_card.c45 static int __initdata dma = -1; variable
68 module_param(dma, int, 000);
69 MODULE_PARM_DESC(dma, "8-bit DMA channel (0,1,3)");
148 legacy->conf.dma = dma; in sb_init_legacy()
154 legacy->mpucnf.dma = -1; in sb_init_legacy()
171 scc->conf.dma = -1; in sb_dev2cfg()
175 scc->mpucnf.dma = -1; in sb_dev2cfg()
183 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
191 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
198 scc->conf.dma = pnp_dma(dev,0); in sb_dev2cfg()
[all …]
Dtrix.c130 int dma1 = hw_config->dma, dma2 = hw_config->dma2; in init_trix_wss()
294 tmp = hw_config->dma; in probe_trix_sb()
306 if (hw_config->dma == 3) in probe_trix_sb()
376 dma2 = hw_config->dma; in unload_trix_wss()
383 hw_config->dma, in unload_trix_wss()
408 static int __initdata dma = -1; variable
418 module_param(dma, int, 0);
433 cfg.dma = dma; in init_trix()
438 cfg2.dma = sb_dma; in init_trix()
443 if (cfg.io_base == -1 || cfg.dma == -1 || cfg.irq == -1) { in init_trix()
[all …]
Dsb_audio.c107 audio_devs[dev]->dmap_out->dma = devc->dma8; in sb_audio_close()
108 audio_devs[dev]->dmap_in->dma = ( devc->duplex ) ? in sb_audio_close()
177 if (audio_devs[dev]->dmap_out->dma > 3) in sb1_audio_output_block()
207 if (audio_devs[dev]->dmap_out->dma > 3) in sb1_audio_start_input()
343 if (audio_devs[dev]->dmap_out->dma > 3) in sb20_audio_output_block()
382 if (audio_devs[dev]->dmap_out->dma > 3) in sb20_audio_start_input()
472 audio_devs[dev]->dmap_out->dma = audio_devs[dev]->dmap_in->dma = in sbpro_audio_prepare_for_input()
501 …audio_devs[dev]->dmap_out->dma = audio_devs[dev]->dmap_in->dma = devc->bits == 16 ? devc->dma16 : … in sbpro_audio_prepare_for_output()
637 audio_devs[dev]->dmap_out->dma = in sb16_audio_prepare_for_input()
638 audio_devs[dev]->dmap_in->dma = in sb16_audio_prepare_for_input()
[all …]
Dpss.c137 int dma; member
180 int irq, dma; in probe_pss() local
184 dma = devc->dma = hw_config->dma; in probe_pss()
243 static int set_dma(struct pss_confdata *devc, int dev, int dma) in set_dma() argument
253 if (dma < 0 || dma > 7) in set_dma()
258 if ((bits = dma_bits[dma]) == 0 && dma != 4) in set_dma()
260 printk(KERN_ERR "PSS: Invalid DMA %d\n", dma); in set_dma()
694 devc->dma = hw_config->dma; in attach_pss()
710 if (sound_alloc_dma(hw_config->dma, "PSS")) in attach_pss()
724 if (!set_dma(devc, CONF_PSS, devc->dma)) in attach_pss()
[all …]
/sound/mips/
Dau1x00.c85 int dma; member
198 disable_dma(stream->dma); in au1000_dma_stop()
207 init_dma(stream->dma); in au1000_dma_start()
208 if (get_dma_active_buffer(stream->dma) == 0) { in au1000_dma_start()
209 clear_dma_done0(stream->dma); in au1000_dma_start()
210 set_dma_addr0(stream->dma, stream->buffer->start); in au1000_dma_start()
211 set_dma_count0(stream->dma, stream->period_size >> 1); in au1000_dma_start()
212 set_dma_addr1(stream->dma, stream->buffer->next->start); in au1000_dma_start()
213 set_dma_count1(stream->dma, stream->period_size >> 1); in au1000_dma_start()
215 clear_dma_done1(stream->dma); in au1000_dma_start()
[all …]
/sound/soc/fsl/
Dfsl_dma.c390 struct dma_object *dma = in fsl_dma_open() local
415 if (dma->assigned) { in fsl_dma_open()
427 dma_private->ssi_sxx_phys = dma->ssi_stx_phys; in fsl_dma_open()
429 dma_private->ssi_sxx_phys = dma->ssi_srx_phys; in fsl_dma_open()
431 dma_private->ssi_fifo_depth = dma->ssi_fifo_depth; in fsl_dma_open()
432 dma_private->dma_channel = dma->channel; in fsl_dma_open()
433 dma_private->irq = dma->irq; in fsl_dma_open()
448 dma->assigned = true; in fsl_dma_open()
804 struct dma_object *dma = in fsl_dma_close() local
817 dma->assigned = false; in fsl_dma_close()
[all …]
/sound/atmel/
Dabdac.c94 struct atmel_abdac_dma dma; member
121 struct dma_chan *chan = dac->dma.chan; in atmel_abdac_prepare_dma()
148 dac->dma.cdesc = cdesc; in atmel_abdac_prepare_dma()
208 dw_dma_cyclic_free(dac->dma.chan); in atmel_abdac_hw_params()
217 dw_dma_cyclic_free(dac->dma.chan); in atmel_abdac_hw_free()
246 retval = dw_dma_cyclic_start(dac->dma.chan); in atmel_abdac_trigger()
254 dw_dma_cyclic_stop(dac->dma.chan); in atmel_abdac_trigger()
275 bytes = dw_dma_get_src_addr(dac->dma.chan); in atmel_abdac_pointer()
479 dac->dma.chan = dma_request_channel(mask, filter, &pdata->dws); in atmel_abdac_probe()
480 if (dac->dma.chan) { in atmel_abdac_probe()
[all …]
Dac97c.c66 struct atmel_ac97c_dma dma; member
126 chan = chip->dma.tx_chan; in atmel_ac97c_prepare_dma()
128 chan = chip->dma.rx_chan; in atmel_ac97c_prepare_dma()
262 dw_dma_cyclic_free(chip->dma.tx_chan); in atmel_ac97c_playback_hw_params()
286 dw_dma_cyclic_free(chip->dma.rx_chan); in atmel_ac97c_capture_hw_params()
302 dw_dma_cyclic_free(chip->dma.tx_chan); in atmel_ac97c_playback_hw_free()
312 dw_dma_cyclic_free(chip->dma.rx_chan); in atmel_ac97c_capture_hw_free()
513 retval = dw_dma_cyclic_start(chip->dma.tx_chan); in atmel_ac97c_playback_trigger()
525 dw_dma_cyclic_stop(chip->dma.tx_chan); in atmel_ac97c_playback_trigger()
558 retval = dw_dma_cyclic_start(chip->dma.rx_chan); in atmel_ac97c_capture_trigger()
[all …]
/sound/soc/intel/common/
Dsst-firmware.c69 struct sst_dma *dma = sst->dma; in sst_dsp_dma_copy() local
71 if (dma->ch == NULL) { in sst_dsp_dma_copy()
79 desc = dma->ch->device->device_prep_dma_memcpy(dma->ch, dest_addr, in sst_dsp_dma_copy()
213 struct sst_dma *dma = dsp->dma; in sst_dsp_dma_get_channel() local
222 dma->ch = dma_request_channel(mask, dma_chan_filter, dsp); in sst_dsp_dma_get_channel()
223 if (dma->ch == NULL) { in sst_dsp_dma_get_channel()
234 ret = dmaengine_slave_config(dma->ch, &slave); in sst_dsp_dma_get_channel()
238 dma_release_channel(dma->ch); in sst_dsp_dma_get_channel()
239 dma->ch = NULL; in sst_dsp_dma_get_channel()
248 struct sst_dma *dma = dsp->dma; in sst_dsp_dma_put_channel() local
[all …]
/sound/isa/sb/
Dsb8_main.c112 int dma; in snd_sb8_playback_prepare() local
151 dma = chip->dma16; in snd_sb8_playback_prepare()
155 dma = chip->dma8; in snd_sb8_playback_prepare()
173 snd_dma_program(dma, runtime->dma_addr, 1, DMA_MODE_WRITE); in snd_sb8_playback_prepare()
201 snd_dma_program(dma, runtime->dma_addr, in snd_sb8_playback_prepare()
262 int dma; in snd_sb8_capture_prepare() local
302 dma = chip->dma16; in snd_sb8_capture_prepare()
306 dma = chip->dma8; in snd_sb8_capture_prepare()
338 snd_dma_program(dma, runtime->dma_addr, in snd_sb8_capture_prepare()
418 int dma; in snd_sb8_playback_pointer() local
[all …]
/sound/isa/
Dsscape.c56 static int dma[SNDRV_CARDS] = SNDRV_DEFAULT_DMA; variable
78 module_param_array(dma, int, NULL, 0444);
79 MODULE_PARM_DESC(dma, "DMA # for SoundScape driver.");
442 struct snd_dma_buffer dma; in upload_dma_data() local
446 if (!get_dmabuf(&dma, PAGE_ALIGN(32 * 1024))) in upload_dma_data()
477 len = min(size, dma.bytes); in upload_dma_data()
478 memcpy(dma.area, data, len); in upload_dma_data()
482 snd_dma_program(s->chip->dma1, dma.addr, len, DMA_MODE_WRITE); in upload_dma_data()
528 free_dmabuf(&dma); in upload_dma_data()
977 err = request_dma(dma[dev], "SoundScape"); in create_sscape()
[all …]
/sound/sparc/
Ddbri.c306 struct dbri_dma *dma; /* Pointer to our DMA block */ member
663 if (dbri->cmdptr - dbri->dma->cmd + len < DBRI_NO_CMDS - 2) in dbri_cmdlock()
666 return dbri->dma->cmd; in dbri_cmdlock()
692 addr = dbri->dma_dvma + (cmd - len - dbri->dma->cmd) * sizeof(s32); in dbri_cmdsend()
709 for (ptr = dbri->dma->cmd; ptr < cmd+2; ptr++) in dbri_cmdsend()
768 dbri->dma->intr[0] = dma_addr; in dbri_initialize()
774 cmd = dbri->cmdptr = dbri->dma->cmd; in dbri_initialize()
841 dbri->dma->desc[desc].ba = 0; in reset_pipe()
842 dbri->dma->desc[desc].nda = 0; in reset_pipe()
1130 dbri->dma->desc[desc].ba = 0; in setup_descs()
[all …]

123