| /linux-6.15/sound/core/ |
| H A D | memalloc.c | 217 if (!dmab || !dmab->dev.need_sync) in snd_dma_buffer_sync() 480 dma_free_coherent(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); in snd_dma_dev_free() 487 dmab->area, dmab->addr, dmab->bytes); in snd_dma_dev_mmap() 517 dma_unmap_single(dmab->dev.dev, dmab->addr, dmab->bytes, in snd_dma_wc_free() 527 dmab->area, dmab->addr, dmab->bytes); in snd_dma_wc_mmap() 537 dma_free_wc(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); in snd_dma_wc_free() 544 dmab->area, dmab->addr, dmab->bytes); in snd_dma_wc_mmap() 841 dmab->dev.need_sync = dma_need_sync(dmab->dev.dev, dmab->addr); in snd_dma_noncoherent_alloc() 847 dma_free_noncoherent(dmab->dev.dev, dmab->bytes, dmab->area, in snd_dma_noncoherent_free() 848 dmab->addr, dmab->dev.dir); in snd_dma_noncoherent_free() [all …]
|
| H A D | pcm_memory.c | 74 if (dmab->bytes != size) in do_alloc_pages() 85 if (!dmab->area) in do_free_pages() 88 snd_dma_free_pages(dmab); in do_free_pages() 89 dmab->area = NULL; in do_free_pages() 107 err = do_alloc_pages(card, dmab->dev.type, dmab->dev.dev, in preallocate_pcm_pages() 115 dmab->bytes = 0; /* tell error */ in preallocate_pcm_pages() 424 struct snd_dma_buffer *dmab = NULL; in snd_pcm_lib_malloc_pages() local 451 dmab = kzalloc(sizeof(*dmab), GFP_KERNEL); in snd_pcm_lib_malloc_pages() 452 if (! dmab) in snd_pcm_lib_malloc_pages() 459 size, dmab) < 0) { in snd_pcm_lib_malloc_pages() [all …]
|
| H A D | compress_offload.c | 513 struct snd_dma_buffer *dmab; in snd_compr_malloc_pages() local 518 dmab = kzalloc(sizeof(*dmab), GFP_KERNEL); in snd_compr_malloc_pages() 519 if (!dmab) in snd_compr_malloc_pages() 521 dmab->dev = stream->dma_buffer.dev; in snd_compr_malloc_pages() 522 ret = snd_dma_alloc_pages(dmab->dev.type, dmab->dev.dev, size, dmab); in snd_compr_malloc_pages() 524 kfree(dmab); in snd_compr_malloc_pages() 528 snd_compr_set_runtime_buffer(stream, dmab); in snd_compr_malloc_pages()
|
| /linux-6.15/include/sound/ |
| H A D | memalloc.h | 74 struct snd_dma_buffer *dmab); 77 size_t size, struct snd_dma_buffer *dmab) in snd_dma_alloc_pages() argument 79 return snd_dma_alloc_dir_pages(type, dev, DMA_BIDIRECTIONAL, size, dmab); in snd_dma_alloc_pages() 83 struct snd_dma_buffer *dmab); 84 void snd_dma_free_pages(struct snd_dma_buffer *dmab); 85 int snd_dma_buffer_mmap(struct snd_dma_buffer *dmab, 90 void snd_dma_buffer_sync(struct snd_dma_buffer *dmab, 93 static inline void snd_dma_buffer_sync(struct snd_dma_buffer *dmab, in snd_dma_buffer_sync() argument 99 unsigned int snd_sgbuf_get_chunk_size(struct snd_dma_buffer *dmab, 114 snd_dma_noncontig_sg_table(struct snd_dma_buffer *dmab) in snd_dma_noncontig_sg_table() argument [all …]
|
| /linux-6.15/sound/soc/sof/intel/ |
| H A D | hda-loader-skl.c | 268 struct snd_dma_buffer *dmab, in cl_stream_prepare_skl() argument 286 snd_dma_free_pages(dmab); in cl_stream_prepare_skl() 298 struct snd_dma_buffer *dmab, in cl_cleanup_skl() argument 303 snd_dma_free_pages(dmab); in cl_cleanup_skl() 308 struct snd_dma_buffer *dmab, in cl_dsp_init_skl() argument 391 struct snd_dma_buffer *dmab, in cl_skl_cldma_fill_buffer() argument 402 memcpy(dmab->area, curr_pos, size); in cl_skl_cldma_fill_buffer() 454 struct snd_dma_buffer *dmab, in cl_skl_cldma_copy_to_buf() argument 493 struct snd_dma_buffer *dmab) in cl_copy_fw_skl() argument 519 struct snd_dma_buffer dmab; in hda_dsp_cl_boot_firmware_skl() local [all …]
|
| H A D | hda-trace.c | 22 static int hda_dsp_trace_prepare(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab) in hda_dsp_trace_prepare() argument 30 hstream->bufsize = dmab->bytes; in hda_dsp_trace_prepare() 32 ret = hda_dsp_stream_hw_params(sdev, hext_stream, dmab, NULL); in hda_dsp_trace_prepare() 39 int hda_dsp_trace_init(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab, in hda_dsp_trace_init() argument 60 ret = hda_dsp_trace_prepare(sdev, dmab); in hda_dsp_trace_init()
|
| H A D | hda-loader.c | 76 if (!persistent_buffer || !dmab->area) { in hda_cl_prepare() 77 ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV_SG, dev, size, dmab); in hda_cl_prepare() 90 ret = hda_dsp_iccmax_stream_hw_params(sdev, hext_stream, dmab, NULL); in hda_cl_prepare() 96 ret = hda_dsp_stream_hw_params(sdev, hext_stream, dmab, NULL); in hda_cl_prepare() 107 snd_dma_free_pages(dmab); in hda_cl_prepare() 108 dmab->area = NULL; in hda_cl_prepare() 109 dmab->bytes = 0; in hda_cl_prepare() 275 int hda_cl_cleanup(struct device *dev, struct snd_dma_buffer *dmab, in hda_cl_cleanup() argument 302 snd_dma_free_pages(dmab); in hda_cl_cleanup() 303 dmab->area = NULL; in hda_cl_cleanup() [all …]
|
| H A D | hda-stream.c | 65 struct snd_dma_buffer *dmab, in hda_setup_bdle() argument 82 addr = snd_sgbuf_get_addr(dmab, offset); in hda_setup_bdle() 87 chunk = snd_sgbuf_get_chunk_size(dmab, offset, size); in hda_setup_bdle() 113 struct snd_dma_buffer *dmab, in hda_dsp_stream_setup_bdl() argument 175 offset = hda_setup_bdle(sdev, dmab, in hda_dsp_stream_setup_bdl() 179 offset = hda_setup_bdle(sdev, dmab, in hda_dsp_stream_setup_bdl() 445 struct snd_dma_buffer *dmab, in hda_dsp_iccmax_stream_hw_params() argument 458 if (!dmab) { in hda_dsp_iccmax_stream_hw_params() 476 ret = hda_dsp_stream_setup_bdl(sdev, dmab, hstream); in hda_dsp_iccmax_stream_hw_params() 521 struct snd_dma_buffer *dmab, in hda_dsp_stream_hw_params() argument [all …]
|
| H A D | hda-probes.c | 77 struct snd_dma_buffer *dmab; in hda_probes_compr_set_params() local 81 dmab = cstream->runtime->dma_buffer_p; in hda_probes_compr_set_params() 94 ret = hda_dsp_stream_hw_params(sdev, hext_stream, dmab, NULL); in hda_probes_compr_set_params()
|
| H A D | hda-pcm.c | 107 struct snd_dma_buffer *dmab; in hda_dsp_pcm_hw_params() local 112 dmab = substream->runtime->dma_buffer_p; in hda_dsp_pcm_hw_params() 131 ret = hda_dsp_stream_hw_params(sdev, hext_stream, dmab, params); in hda_dsp_pcm_hw_params()
|
| H A D | hda.h | 671 struct snd_dma_buffer *dmab, 675 struct snd_dma_buffer *dmab, 681 struct snd_dma_buffer *dmab, 733 unsigned int size, struct snd_dma_buffer *dmab, 738 int hda_cl_cleanup(struct device *dev, struct snd_dma_buffer *dmab, 821 int hda_dsp_trace_init(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab,
|
| /linux-6.15/sound/pci/emu10k1/ |
| H A D | memory.c | 378 struct snd_dma_buffer *dmab) in snd_emu10k1_alloc_pages_maybe_wider() argument 393 &emu->pci->dev, size, dmab); in snd_emu10k1_alloc_pages_maybe_wider() 481 struct snd_dma_buffer dmab; in __synth_free_pages() local 484 dmab.dev.type = SNDRV_DMA_TYPE_DEV; in __synth_free_pages() 485 dmab.dev.dev = &emu->pci->dev; in __synth_free_pages() 497 dmab.bytes = PAGE_SIZE; in __synth_free_pages() 499 dmab.bytes *= 2; in __synth_free_pages() 501 snd_dma_free_pages(&dmab); in __synth_free_pages() 513 struct snd_dma_buffer dmab; in synth_alloc_pages() local 520 &dmab) < 0) in synth_alloc_pages() [all …]
|
| /linux-6.15/sound/soc/sof/ |
| H A D | sof-utils.c | 26 struct snd_dma_buffer *dmab, in snd_sof_create_page_table() argument 34 dmab->area, size, pages); in snd_sof_create_page_table() 45 u32 pfn = snd_sgbuf_get_addr(dmab, i * PAGE_SIZE) >> PAGE_SHIFT; in snd_sof_create_page_table()
|
| H A D | sof-utils.h | 16 struct snd_dma_buffer *dmab,
|
| /linux-6.15/sound/hda/ |
| H A D | hdac_stream.c | 454 struct snd_dma_buffer *dmab, in setup_bdle() argument 467 addr = snd_sgbuf_get_addr(dmab, ofs); in setup_bdle() 537 ofs = setup_bdle(bus, dmab, azx_dev, in snd_hdac_stream_setup_bdle() 547 ofs = setup_bdle(bus, dmab, azx_dev, in snd_hdac_stream_setup_bdle() 550 ofs = setup_bdle(bus, dmab, azx_dev, in snd_hdac_stream_setup_bdle() 576 struct snd_dma_buffer *dmab; in snd_hdac_stream_setup_periods() local 582 dmab = snd_pcm_get_dma_buf(cstream); in snd_hdac_stream_setup_periods() 1008 struct snd_dma_buffer *dmab) in snd_hdac_dsp_cleanup() argument 1012 if (!dmab->area || !azx_dev->locked) in snd_hdac_dsp_cleanup() 1024 snd_dma_free_pages(dmab); in snd_hdac_dsp_cleanup() [all …]
|
| /linux-6.15/drivers/scsi/lpfc/ |
| H A D | lpfc_mem.c | 601 lpfc_sli4_rb_free(struct lpfc_hba *phba, struct hbq_dmabuf *dmab) in lpfc_sli4_rb_free() argument 603 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_rb_free() 604 dma_pool_free(phba->lpfc_drb_pool, dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_rb_free() 605 kfree(dmab); in lpfc_sli4_rb_free() 659 lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab) in lpfc_sli4_nvmet_free() argument 661 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_nvmet_free() 663 dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_nvmet_free() 664 kfree(dmab); in lpfc_sli4_nvmet_free()
|
| /linux-6.15/sound/soc/sof/amd/ |
| H A D | acp-trace.c | 37 int acp_sof_trace_init(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab, in acp_sof_trace_init() argument 49 stream->dmab = dmab; in acp_sof_trace_init()
|
| H A D | acp.h | 188 struct snd_dma_buffer *dmab; member 342 int acp_sof_trace_init(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab,
|
| H A D | acp-pcm.c | 31 stream->dmab = substream->runtime->dma_buffer_p; in acp_pcm_hw_params()
|
| H A D | acp-probes.c | 79 stream->dmab = cstream->runtime->dma_buffer_p; in acp_probes_compr_set_params()
|
| /linux-6.15/sound/soc/stm/ |
| H A D | stm32_spdifrx.c | 238 struct snd_dma_buffer *dmab; member 255 u32 *p_start = (u32 *)spdifrx->dmab->area; in stm32_spdifrx_dma_complete() 265 if (!spdifrx->dmab->area) in stm32_spdifrx_dma_complete() 298 spdifrx->dmab->addr, in stm32_spdifrx_dma_ctrl_start() 415 if (!spdifrx->dmab) in stm32_spdifrx_dma_ctrl_register() 418 spdifrx->dmab->dev.type = SNDRV_DMA_TYPE_DEV_IRAM; in stm32_spdifrx_dma_ctrl_register() 419 spdifrx->dmab->dev.dev = dev; in stm32_spdifrx_dma_ctrl_register() 421 SPDIFRX_CSR_BUF_LENGTH, spdifrx->dmab); in stm32_spdifrx_dma_ctrl_register() 430 spdifrx->slave_config.dst_addr = spdifrx->dmab->addr; in stm32_spdifrx_dma_ctrl_register() 945 if (spdifrx->dmab) in stm32_spdifrx_remove() [all …]
|
| /linux-6.15/sound/soc/intel/avs/ |
| H A D | loader.c | 362 struct snd_dma_buffer dmab; in avs_hda_load_basefw() local 380 ret = snd_hdac_dsp_prepare(hstream, sdfmt, fw->size, &dmab); in avs_hda_load_basefw() 390 memcpy(dmab.area, fw->data, fw->size); in avs_hda_load_basefw() 420 snd_hdac_dsp_cleanup(hstream, &dmab); in avs_hda_load_basefw() 430 struct snd_dma_buffer dmab; in avs_hda_load_library() local 448 ret = snd_hdac_dsp_prepare(stream, sdfmt, lib->size, &dmab); in avs_hda_load_library() 456 memcpy(dmab.area, lib->data, lib->size); in avs_hda_load_library() 471 snd_hdac_dsp_cleanup(stream, &dmab); in avs_hda_load_library()
|
| H A D | icl.c | 136 struct snd_dma_buffer dmab; in avs_icl_load_basefw() local 162 ret = snd_hdac_dsp_prepare(hdac_stream(host_stream), sd_fmt, fw->size, &dmab); in avs_icl_load_basefw() 178 snd_hdac_dsp_cleanup(hdac_stream(host_stream), &dmab); in avs_icl_load_basefw()
|
| H A D | cldma.c | 207 struct snd_dma_buffer *dmab = &cl->dmab_data; in cldma_setup_bdle() local 218 addr = snd_sgbuf_get_addr(dmab, offset); in cldma_setup_bdle() 221 chunk = snd_sgbuf_get_chunk_size(dmab, offset, bdle_size); in cldma_setup_bdle()
|
| /linux-6.15/sound/soc/fsl/ |
| H A D | fsl_asrc_m2m.c | 406 struct snd_dma_buffer *dmab = dmabuf->priv; in fsl_asrc_m2m_mmap() local 408 return snd_dma_buffer_mmap(dmab, vma); in fsl_asrc_m2m_mmap() 414 struct snd_dma_buffer *dmab = attachment->dmabuf->priv; in fsl_asrc_m2m_map_dma_buf() local 421 if (dma_get_sgtable(attachment->dev, sgt, dmab->area, dmab->addr, dmab->bytes) < 0) in fsl_asrc_m2m_map_dma_buf()
|