/linux-6.3-rc2/sound/core/ |
A D | memalloc.c | 211 if (!dmab || !dmab->dev.need_sync) in snd_dma_buffer_sync() 474 dma_free_coherent(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); in snd_dma_dev_free() 481 dmab->area, dmab->addr, dmab->bytes); in snd_dma_dev_mmap() 519 dma_free_wc(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); in snd_dma_wc_free() 526 dmab->area, dmab->addr, dmab->bytes); in snd_dma_wc_mmap() 573 dma_free_noncontiguous(dmab->dev.dev, dmab->bytes, dmab->private_data, in snd_dma_noncontig_free() 876 dmab->dev.need_sync = dma_need_sync(dmab->dev.dev, dmab->addr); in snd_dma_noncoherent_alloc() 882 dma_free_noncoherent(dmab->dev.dev, dmab->bytes, dmab->area, in snd_dma_noncoherent_free() 883 dmab->addr, dmab->dev.dir); in snd_dma_noncoherent_free() 901 dmab->bytes, dmab->dev.dir); in snd_dma_noncoherent_sync() [all …]
|
A D | memalloc_local.h | 6 void *(*alloc)(struct snd_dma_buffer *dmab, size_t size); 7 void (*free)(struct snd_dma_buffer *dmab); 8 dma_addr_t (*get_addr)(struct snd_dma_buffer *dmab, size_t offset); 9 struct page *(*get_page)(struct snd_dma_buffer *dmab, size_t offset); 10 unsigned int (*get_chunk_size)(struct snd_dma_buffer *dmab, 12 int (*mmap)(struct snd_dma_buffer *dmab, struct vm_area_struct *area); 13 void (*sync)(struct snd_dma_buffer *dmab, enum snd_dma_sync_mode mode);
|
A D | pcm_memory.c | 59 if (!dmab->area) in do_free_pages() 65 snd_dma_free_pages(dmab); in do_free_pages() 66 dmab->area = NULL; in do_free_pages() 84 err = do_alloc_pages(card, dmab->dev.type, dmab->dev.dev, in preallocate_pcm_pages() 85 substream->stream, size, dmab); in preallocate_pcm_pages() 92 dmab->bytes = 0; /* tell error */ in preallocate_pcm_pages() 400 struct snd_dma_buffer *dmab = NULL; in snd_pcm_lib_malloc_pages() local 427 dmab = kzalloc(sizeof(*dmab), GFP_KERNEL); in snd_pcm_lib_malloc_pages() 428 if (! dmab) in snd_pcm_lib_malloc_pages() 435 size, dmab) < 0) { in snd_pcm_lib_malloc_pages() [all …]
|
A D | compress_offload.c | 491 struct snd_dma_buffer *dmab; in snd_compr_malloc_pages() local 496 dmab = kzalloc(sizeof(*dmab), GFP_KERNEL); in snd_compr_malloc_pages() 497 if (!dmab) in snd_compr_malloc_pages() 499 dmab->dev = stream->dma_buffer.dev; in snd_compr_malloc_pages() 500 ret = snd_dma_alloc_pages(dmab->dev.type, dmab->dev.dev, size, dmab); in snd_compr_malloc_pages() 502 kfree(dmab); in snd_compr_malloc_pages() 506 snd_compr_set_runtime_buffer(stream, dmab); in snd_compr_malloc_pages()
|
/linux-6.3-rc2/include/sound/ |
A D | memalloc.h | 79 struct snd_dma_buffer *dmab); 82 size_t size, struct snd_dma_buffer *dmab) in snd_dma_alloc_pages() argument 84 return snd_dma_alloc_dir_pages(type, dev, DMA_BIDIRECTIONAL, size, dmab); in snd_dma_alloc_pages() 88 struct snd_dma_buffer *dmab); 89 void snd_dma_free_pages(struct snd_dma_buffer *dmab); 90 int snd_dma_buffer_mmap(struct snd_dma_buffer *dmab, 95 void snd_dma_buffer_sync(struct snd_dma_buffer *dmab, 98 static inline void snd_dma_buffer_sync(struct snd_dma_buffer *dmab, in snd_dma_buffer_sync() argument 104 unsigned int snd_sgbuf_get_chunk_size(struct snd_dma_buffer *dmab, 119 snd_dma_noncontig_sg_table(struct snd_dma_buffer *dmab) in snd_dma_noncontig_sg_table() argument [all …]
|
/linux-6.3-rc2/sound/soc/sof/intel/ |
A D | hda-loader-skl.c | 269 struct snd_dma_buffer *dmab, in cl_stream_prepare_skl() argument 287 snd_dma_free_pages(dmab); in cl_stream_prepare_skl() 299 struct snd_dma_buffer *dmab, in cl_cleanup_skl() argument 304 snd_dma_free_pages(dmab); in cl_cleanup_skl() 309 struct snd_dma_buffer *dmab, in cl_dsp_init_skl() argument 392 struct snd_dma_buffer *dmab, in cl_skl_cldma_fill_buffer() argument 403 memcpy(dmab->area, curr_pos, size); in cl_skl_cldma_fill_buffer() 455 struct snd_dma_buffer *dmab, in cl_skl_cldma_copy_to_buf() argument 494 struct snd_dma_buffer *dmab) in cl_copy_fw_skl() argument 520 struct snd_dma_buffer dmab; in hda_dsp_cl_boot_firmware_skl() local [all …]
|
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()
|
A D | hda-loader.c | 47 unsigned int size, struct snd_dma_buffer *dmab, in hda_cl_stream_prepare() argument 93 snd_dma_free_pages(dmab); in hda_cl_stream_prepare() 273 snd_dma_free_pages(dmab); in hda_cl_cleanup() 274 dmab->area = NULL; in hda_cl_cleanup() 389 struct snd_dma_buffer dmab; in hda_dsp_cl_boot_firmware() local 422 &dmab, SNDRV_PCM_STREAM_PLAYBACK); in hda_dsp_cl_boot_firmware() 428 memcpy(dmab.area, stripped_firmware.data, in hda_dsp_cl_boot_firmware() 495 ret1 = hda_cl_cleanup(sdev, &dmab, hext_stream); in hda_dsp_cl_boot_firmware() 525 struct snd_dma_buffer dmab; in hda_dsp_ipc4_load_library() local 539 &dmab, SNDRV_PCM_STREAM_PLAYBACK); in hda_dsp_ipc4_load_library() [all …]
|
A D | hda-stream.c | 60 struct snd_dma_buffer *dmab, in hda_setup_bdle() argument 77 addr = snd_sgbuf_get_addr(dmab, offset); in hda_setup_bdle() 82 chunk = snd_sgbuf_get_chunk_size(dmab, offset, size); in hda_setup_bdle() 108 struct snd_dma_buffer *dmab, in hda_dsp_stream_setup_bdl() argument 144 offset = hda_setup_bdle(sdev, dmab, in hda_dsp_stream_setup_bdl() 148 offset = hda_setup_bdle(sdev, dmab, in hda_dsp_stream_setup_bdl() 398 struct snd_dma_buffer *dmab, in hda_dsp_iccmax_stream_hw_params() argument 411 if (!dmab) { in hda_dsp_iccmax_stream_hw_params() 429 ret = hda_dsp_stream_setup_bdl(sdev, dmab, hstream); in hda_dsp_iccmax_stream_hw_params() 474 struct snd_dma_buffer *dmab, in hda_dsp_stream_hw_params() argument [all …]
|
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()
|
A D | hda-pcm.c | 102 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() 121 ret = hda_dsp_stream_hw_params(sdev, hext_stream, dmab, params); in hda_dsp_pcm_hw_params()
|
A D | hda.h | 633 struct snd_dma_buffer *dmab, 637 struct snd_dma_buffer *dmab, 643 struct snd_dma_buffer *dmab, 684 unsigned int size, struct snd_dma_buffer *dmab, 686 int hda_cl_cleanup(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab, 789 int hda_dsp_trace_init(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab,
|
/linux-6.3-rc2/sound/pci/emu10k1/ |
A D | memory.c | 380 struct snd_dma_buffer *dmab) in snd_emu10k1_alloc_pages_maybe_wider() argument 395 &emu->pci->dev, size, dmab); in snd_emu10k1_alloc_pages_maybe_wider() 483 struct snd_dma_buffer dmab; in __synth_free_pages() local 486 dmab.dev.type = SNDRV_DMA_TYPE_DEV; in __synth_free_pages() 487 dmab.dev.dev = &emu->pci->dev; in __synth_free_pages() 499 dmab.bytes = PAGE_SIZE; in __synth_free_pages() 501 dmab.bytes *= 2; in __synth_free_pages() 503 snd_dma_free_pages(&dmab); in __synth_free_pages() 515 struct snd_dma_buffer dmab; in synth_alloc_pages() local 522 &dmab) < 0) in synth_alloc_pages() [all …]
|
/linux-6.3-rc2/sound/soc/sof/ |
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()
|
A D | sof-utils.h | 16 struct snd_dma_buffer *dmab,
|
/linux-6.3-rc2/drivers/scsi/lpfc/ |
A D | lpfc_mem.c | 594 lpfc_sli4_rb_free(struct lpfc_hba *phba, struct hbq_dmabuf *dmab) in lpfc_sli4_rb_free() argument 596 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_rb_free() 597 dma_pool_free(phba->lpfc_drb_pool, dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_rb_free() 598 kfree(dmab); in lpfc_sli4_rb_free() 652 lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab) in lpfc_sli4_nvmet_free() argument 654 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_nvmet_free() 656 dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_nvmet_free() 657 kfree(dmab); in lpfc_sli4_nvmet_free()
|
/linux-6.3-rc2/sound/soc/sof/amd/ |
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()
|
/linux-6.3-rc2/sound/hda/ |
A D | hdac_stream.c | 437 struct snd_dma_buffer *dmab, in setup_bdle() argument 450 addr = snd_sgbuf_get_addr(dmab, ofs); in setup_bdle() 490 struct snd_dma_buffer *dmab; in snd_hdac_stream_setup_periods() local 499 dmab = snd_pcm_get_dma_buf(cstream); in snd_hdac_stream_setup_periods() 531 ofs = setup_bdle(bus, dmab, azx_dev, in snd_hdac_stream_setup_periods() 541 ofs = setup_bdle(bus, dmab, azx_dev, in snd_hdac_stream_setup_periods() 544 ofs = setup_bdle(bus, dmab, azx_dev, in snd_hdac_stream_setup_periods() 978 struct snd_dma_buffer *dmab) in snd_hdac_dsp_cleanup() argument 982 if (!dmab->area || !azx_dev->locked) in snd_hdac_dsp_cleanup() 994 snd_dma_free_pages(dmab); in snd_hdac_dsp_cleanup() [all …]
|
/linux-6.3-rc2/sound/soc/stm/ |
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() 949 if (spdifrx->dmab) in stm32_spdifrx_remove() [all …]
|
/linux-6.3-rc2/sound/soc/intel/skylake/ |
A D | bxt-sst.c | 48 struct snd_dma_buffer dmab; in bxt_load_library() local 61 stripped_fw.size, &dmab); in bxt_load_library() 70 memcpy(dmab.area, stripped_fw.data, stripped_fw.size); in bxt_load_library() 79 ctx->dsp_ops.cleanup(ctx->dev, &dmab, stream_tag); in bxt_load_library() 99 stream_tag = ctx->dsp_ops.prepare(ctx->dev, 0x40, fwsize, &ctx->dmab); in sst_bxt_prepare_fw() 107 memcpy(ctx->dmab.area, fwdata, fwsize); in sst_bxt_prepare_fw() 161 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag); in sst_bxt_prepare_fw() 176 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, ctx->dsp_ops.stream_tag); in sst_transfer_fw_host_dma()
|
A D | skl-sst-dsp.h | 159 struct snd_dma_buffer *dmab, size_t size); 161 struct snd_dma_buffer *dmab); 167 int (*cleanup)(struct device *dev, struct snd_dma_buffer *dmab,
|
A D | cnl-sst.c | 51 stream_tag = ctx->dsp_ops.prepare(ctx->dev, 0x40, fwsize, &ctx->dmab); in cnl_prepare_fw() 58 memcpy(ctx->dmab.area, fwdata, fwsize); in cnl_prepare_fw() 103 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag); in cnl_prepare_fw() 119 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, ctx->dsp_ops.stream_tag); in sst_transfer_fw_host_dma()
|
A D | skl-messages.c | 26 struct snd_dma_buffer *dmab, size_t size) in skl_alloc_dma_buf() argument 28 return snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, dev, size, dmab); in skl_alloc_dma_buf() 31 static int skl_free_dma_buf(struct device *dev, struct snd_dma_buffer *dmab) in skl_free_dma_buf() argument 33 snd_dma_free_pages(dmab); in skl_free_dma_buf() 70 unsigned int size, struct snd_dma_buffer *dmab) in skl_dsp_prepare() argument 92 ret = snd_hdac_dsp_prepare(stream, format, size, dmab); in skl_dsp_prepare() 120 struct snd_dma_buffer *dmab, int stream_tag) in skl_dsp_cleanup() argument 138 snd_hdac_dsp_cleanup(stream, dmab); in skl_dsp_cleanup()
|
/linux-6.3-rc2/sound/soc/intel/avs/ |
A D | loader.c | 357 struct snd_dma_buffer dmab; in avs_hda_load_basefw() local 375 ret = snd_hdac_dsp_prepare(hstream, sdfmt, fw->size, &dmab); in avs_hda_load_basefw() 385 memcpy(dmab.area, fw->data, fw->size); in avs_hda_load_basefw() 414 snd_hdac_dsp_cleanup(hstream, &dmab); in avs_hda_load_basefw() 424 struct snd_dma_buffer dmab; in avs_hda_load_library() local 442 ret = snd_hdac_dsp_prepare(stream, sdfmt, lib->size, &dmab); in avs_hda_load_library() 450 memcpy(dmab.area, lib->data, lib->size); in avs_hda_load_library() 465 snd_hdac_dsp_cleanup(stream, &dmab); in avs_hda_load_library()
|
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()
|