Home
last modified time | relevance | path

Searched refs:dmab (Results 1 – 23 of 23) sorted by relevance

/Linux-v4.19/sound/core/
Dmemalloc.c120 static void snd_malloc_dev_iram(struct snd_dma_buffer *dmab, size_t size) in snd_malloc_dev_iram() argument
122 struct device *dev = dmab->dev.dev; in snd_malloc_dev_iram()
125 dmab->area = NULL; in snd_malloc_dev_iram()
126 dmab->addr = 0; in snd_malloc_dev_iram()
135 dmab->private_data = pool; in snd_malloc_dev_iram()
137 dmab->area = gen_pool_dma_alloc(pool, size, &dmab->addr); in snd_malloc_dev_iram()
144 static void snd_free_dev_iram(struct snd_dma_buffer *dmab) in snd_free_dev_iram() argument
146 struct gen_pool *pool = dmab->private_data; in snd_free_dev_iram()
148 if (pool && dmab->area) in snd_free_dev_iram()
149 gen_pool_free(pool, (unsigned long)dmab->area, dmab->bytes); in snd_free_dev_iram()
[all …]
Dsgbuf.c33 int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab) in snd_free_sgbuf_pages() argument
35 struct snd_sg_buf *sgbuf = dmab->private_data; in snd_free_sgbuf_pages()
42 vunmap(dmab->area); in snd_free_sgbuf_pages()
43 dmab->area = NULL; in snd_free_sgbuf_pages()
59 dmab->private_data = NULL; in snd_free_sgbuf_pages()
67 size_t size, struct snd_dma_buffer *dmab, in snd_malloc_sgbuf_pages() argument
76 dmab->area = NULL; in snd_malloc_sgbuf_pages()
77 dmab->addr = 0; in snd_malloc_sgbuf_pages()
78 dmab->private_data = sgbuf = kzalloc(sizeof(*sgbuf), GFP_KERNEL); in snd_malloc_sgbuf_pages()
128 dmab->area = vmap(sgbuf->page_table, sgbuf->pages, VM_MAP, PAGE_KERNEL); in snd_malloc_sgbuf_pages()
[all …]
Dpcm_memory.c53 struct snd_dma_buffer *dmab = &substream->dma_buffer; in preallocate_pcm_pages() local
58 if ((err = snd_dma_alloc_pages(dmab->dev.type, dmab->dev.dev, in preallocate_pcm_pages()
59 size, dmab)) < 0) { in preallocate_pcm_pages()
66 dmab->bytes = 0; /* tell error */ in preallocate_pcm_pages()
331 struct snd_dma_buffer *dmab = NULL; in snd_pcm_lib_malloc_pages() local
352 dmab = &substream->dma_buffer; /* use the pre-allocated buffer */ in snd_pcm_lib_malloc_pages()
354 dmab = kzalloc(sizeof(*dmab), GFP_KERNEL); in snd_pcm_lib_malloc_pages()
355 if (! dmab) in snd_pcm_lib_malloc_pages()
357 dmab->dev = substream->dma_buffer.dev; in snd_pcm_lib_malloc_pages()
360 size, dmab) < 0) { in snd_pcm_lib_malloc_pages()
[all …]
/Linux-v4.19/include/sound/
Dmemalloc.h85 size_t size, struct snd_dma_buffer *dmab,
87 int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab);
106 static inline dma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer *dmab, in snd_sgbuf_get_addr() argument
109 struct snd_sg_buf *sgbuf = dmab->private_data; in snd_sgbuf_get_addr()
118 static inline void *snd_sgbuf_get_ptr(struct snd_dma_buffer *dmab, in snd_sgbuf_get_ptr() argument
121 struct snd_sg_buf *sgbuf = dmab->private_data; in snd_sgbuf_get_ptr()
125 unsigned int snd_sgbuf_get_chunk_size(struct snd_dma_buffer *dmab,
129 static inline dma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer *dmab, in snd_sgbuf_get_addr() argument
132 return dmab->addr + offset; in snd_sgbuf_get_addr()
135 static inline void *snd_sgbuf_get_ptr(struct snd_dma_buffer *dmab, in snd_sgbuf_get_ptr() argument
[all …]
Dhdaudio.h585 struct snd_dma_buffer *dmab);
604 struct snd_dma_buffer *dmab) in snd_hdac_dsp_cleanup() argument
Demu10k1.h1882 struct snd_dma_buffer *dmab);
/Linux-v4.19/sound/pci/emu10k1/
Dmemory.c390 struct snd_dma_buffer *dmab) in snd_emu10k1_alloc_pages_maybe_wider() argument
405 snd_dma_pci_data(emu->pci), size, dmab); in snd_emu10k1_alloc_pages_maybe_wider()
491 struct snd_dma_buffer dmab; in __synth_free_pages() local
494 dmab.dev.type = SNDRV_DMA_TYPE_DEV; in __synth_free_pages()
495 dmab.dev.dev = snd_dma_pci_data(emu->pci); in __synth_free_pages()
500 dmab.area = emu->page_ptr_table[page]; in __synth_free_pages()
501 dmab.addr = emu->page_addr_table[page]; in __synth_free_pages()
507 dmab.bytes = PAGE_SIZE; in __synth_free_pages()
509 dmab.bytes *= 2; in __synth_free_pages()
511 snd_dma_free_pages(&dmab); in __synth_free_pages()
[all …]
/Linux-v4.19/drivers/scsi/lpfc/
Dlpfc_mem.c609 lpfc_sli4_rb_free(struct lpfc_hba *phba, struct hbq_dmabuf *dmab) in lpfc_sli4_rb_free() argument
611 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_rb_free()
612 dma_pool_free(phba->lpfc_drb_pool, dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_rb_free()
613 kfree(dmab); in lpfc_sli4_rb_free()
669 lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab) in lpfc_sli4_nvmet_free() argument
671 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_nvmet_free()
673 dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_nvmet_free()
674 kfree(dmab); in lpfc_sli4_nvmet_free()
Dlpfc_crtn.h252 void lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab);
/Linux-v4.19/sound/soc/stm/
Dstm32_spdifrx.c230 struct snd_dma_buffer *dmab; member
246 u32 *p_start = (u32 *)spdifrx->dmab->area; in stm32_spdifrx_dma_complete()
256 if (!spdifrx->dmab->area) in stm32_spdifrx_dma_complete()
289 spdifrx->dmab->addr, in stm32_spdifrx_dma_ctrl_start()
401 spdifrx->dmab = devm_kzalloc(dev, sizeof(struct snd_dma_buffer), in stm32_spdifrx_dma_ctrl_register()
403 if (!spdifrx->dmab) in stm32_spdifrx_dma_ctrl_register()
406 spdifrx->dmab->dev.type = SNDRV_DMA_TYPE_DEV_IRAM; in stm32_spdifrx_dma_ctrl_register()
407 spdifrx->dmab->dev.dev = dev; in stm32_spdifrx_dma_ctrl_register()
408 ret = snd_dma_alloc_pages(spdifrx->dmab->dev.type, dev, in stm32_spdifrx_dma_ctrl_register()
409 SPDIFRX_CSR_BUF_LENGTH, spdifrx->dmab); in stm32_spdifrx_dma_ctrl_register()
[all …]
/Linux-v4.19/sound/soc/intel/skylake/
Dbxt-sst.c59 struct snd_dma_buffer dmab; in bxt_load_library() local
72 stripped_fw.size, &dmab); in bxt_load_library()
81 memcpy(dmab.area, stripped_fw.data, stripped_fw.size); in bxt_load_library()
90 ctx->dsp_ops.cleanup(ctx->dev, &dmab, stream_tag); in bxt_load_library()
110 stream_tag = ctx->dsp_ops.prepare(ctx->dev, 0x40, fwsize, &ctx->dmab); in sst_bxt_prepare_fw()
118 memcpy(ctx->dmab.area, fwdata, fwsize); in sst_bxt_prepare_fw()
172 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag); in sst_bxt_prepare_fw()
187 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, ctx->dsp_ops.stream_tag); in sst_transfer_fw_host_dma()
Dskl-sst-dsp.h165 struct snd_dma_buffer *dmab, size_t size);
167 struct snd_dma_buffer *dmab);
173 int (*cleanup)(struct device *dev, struct snd_dma_buffer *dmab,
Dcnl-sst.c60 stream_tag = ctx->dsp_ops.prepare(ctx->dev, 0x40, fwsize, &ctx->dmab); in cnl_prepare_fw()
67 memcpy(ctx->dmab.area, fwdata, fwsize); in cnl_prepare_fw()
96 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag); in cnl_prepare_fw()
112 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, ctx->dsp_ops.stream_tag); in sst_transfer_fw_host_dma()
Dskl-messages.c34 struct snd_dma_buffer *dmab, size_t size) in skl_alloc_dma_buf() argument
41 return bus->io_ops->dma_alloc_pages(bus, SNDRV_DMA_TYPE_DEV, size, dmab); in skl_alloc_dma_buf()
44 static int skl_free_dma_buf(struct device *dev, struct snd_dma_buffer *dmab) in skl_free_dma_buf() argument
51 bus->io_ops->dma_free_pages(bus, dmab); in skl_free_dma_buf()
109 unsigned int size, struct snd_dma_buffer *dmab) in skl_dsp_prepare() argument
131 ret = snd_hdac_dsp_prepare(stream, format, size, dmab); in skl_dsp_prepare()
159 struct snd_dma_buffer *dmab, int stream_tag) in skl_dsp_cleanup() argument
177 snd_hdac_dsp_cleanup(stream, dmab); in skl_dsp_cleanup()
/Linux-v4.19/sound/hda/
Dhdac_stream.c315 struct snd_dma_buffer *dmab, in setup_bdle() argument
328 addr = snd_sgbuf_get_addr(dmab, ofs); in setup_bdle()
333 chunk = snd_sgbuf_get_chunk_size(dmab, ofs, size); in setup_bdle()
695 struct snd_dma_buffer *dmab) in snd_hdac_dsp_cleanup() argument
699 if (!dmab->area || !azx_dev->locked) in snd_hdac_dsp_cleanup()
711 bus->io_ops->dma_free_pages(bus, dmab); in snd_hdac_dsp_cleanup()
712 dmab->area = NULL; in snd_hdac_dsp_cleanup()
/Linux-v4.19/sound/soc/intel/haswell/
Dsst-haswell-pcm.c143 struct snd_dma_buffer dmab[HSW_PCM_COUNT][2]; member
443 struct snd_dma_buffer *dmab = snd_pcm_get_dma_buf(substream); in create_adsp_page_table() local
453 u32 pfn = snd_sgbuf_get_addr(dmab, i * PAGE_SIZE) >> PAGE_SHIFT; in create_adsp_page_table()
458 pg_table = (u32 *)(pdata->dmab[pcm][stream].area + idx); in create_adsp_page_table()
481 struct snd_dma_buffer *dmab; in hsw_pcm_hw_params() local
611 dmab = snd_pcm_get_dma_buf(substream); in hsw_pcm_hw_params()
627 pdata->dmab[rtd->cpu_dai->id][substream->stream].addr, in hsw_pcm_hw_params()
629 snd_sgbuf_get_addr(dmab, 0) >> PAGE_SHIFT); in hsw_pcm_hw_params()
1080 PAGE_SIZE, &priv_data->dmab[i][0]); in hsw_pcm_probe()
1089 PAGE_SIZE, &priv_data->dmab[i][1]); in hsw_pcm_probe()
[all …]
/Linux-v4.19/sound/pci/hda/
Dhda_intel.c403 static void __mark_pages_wc(struct azx *chip, struct snd_dma_buffer *dmab, bool on) in __mark_pages_wc() argument
409 if (!dmab || !dmab->area || !dmab->bytes) in __mark_pages_wc()
413 if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_SG) { in __mark_pages_wc()
414 struct snd_sg_buf *sgbuf = dmab->private_data; in __mark_pages_wc()
425 pages = (dmab->bytes + PAGE_SIZE - 1) >> PAGE_SHIFT; in __mark_pages_wc()
427 set_memory_wc((unsigned long)dmab->area, pages); in __mark_pages_wc()
429 set_memory_wb((unsigned long)dmab->area, pages); in __mark_pages_wc()
Dhda_codec.h518 struct snd_dma_buffer *dmab);
531 struct snd_dma_buffer *dmab) {} in snd_hda_codec_load_dsp_cleanup() argument
Dpatch_ca0132.c2468 struct snd_dma_buffer *dmab; member
2503 if (dma->dmab->area) in dma_reset()
2504 snd_hda_codec_load_dsp_cleanup(codec, dma->dmab); in dma_reset()
2509 dma->dmab); in dma_reset()
2537 return dma->dmab->bytes; in dma_get_buffer_size()
2542 return dma->dmab->area; in dma_get_buffer_addr()
2549 memcpy(dma->dmab->area, data, count); in dma_xfer()
2874 dma_engine->dmab = kzalloc(sizeof(*dma_engine->dmab), GFP_KERNEL); in dspxfr_image()
2875 if (!dma_engine->dmab) { in dspxfr_image()
2899 dma_engine->dmab); in dspxfr_image()
[all …]
Dhda_controller.c1069 struct snd_dma_buffer *dmab) in snd_hda_codec_load_dsp_cleanup() argument
1076 if (!dmab->area || !hstr->locked) in snd_hda_codec_load_dsp_cleanup()
1079 snd_hdac_dsp_cleanup(hstr, dmab); in snd_hda_codec_load_dsp_cleanup()
/Linux-v4.19/sound/pci/rme9652/
Drme9652.c294 static int snd_hammerfall_get_buffer(struct pci_dev *pci, struct snd_dma_buffer *dmab, size_t size) in snd_hammerfall_get_buffer() argument
296 dmab->dev.type = SNDRV_DMA_TYPE_DEV; in snd_hammerfall_get_buffer()
297 dmab->dev.dev = snd_dma_pci_data(pci); in snd_hammerfall_get_buffer()
299 size, dmab) < 0) in snd_hammerfall_get_buffer()
304 static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_dev *pci) in snd_hammerfall_free_buffer() argument
306 if (dmab->area) in snd_hammerfall_free_buffer()
307 snd_dma_free_pages(dmab); in snd_hammerfall_free_buffer()
Dhdsp.c583 static int snd_hammerfall_get_buffer(struct pci_dev *pci, struct snd_dma_buffer *dmab, size_t size) in snd_hammerfall_get_buffer() argument
585 dmab->dev.type = SNDRV_DMA_TYPE_DEV; in snd_hammerfall_get_buffer()
586 dmab->dev.dev = snd_dma_pci_data(pci); in snd_hammerfall_get_buffer()
588 size, dmab) < 0) in snd_hammerfall_get_buffer()
593 static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_dev *pci) in snd_hammerfall_free_buffer() argument
595 if (dmab->area) in snd_hammerfall_free_buffer()
596 snd_dma_free_pages(dmab); in snd_hammerfall_free_buffer()
/Linux-v4.19/sound/soc/intel/common/
Dsst-dsp-priv.h324 struct snd_dma_buffer dmab; member