/Linux-v5.15/sound/core/ |
D | memalloc.c | 20 static const struct snd_malloc_ops *snd_dma_get_ops(struct snd_dma_buffer *dmab); 23 static inline gfp_t snd_mem_get_gfp_flags(const struct snd_dma_buffer *dmab, in snd_mem_get_gfp_flags() argument 26 if (!dmab->dev.dev) in snd_mem_get_gfp_flags() 29 return (__force gfp_t)(unsigned long)dmab->dev.dev; in snd_mem_get_gfp_flags() 32 static void *__snd_dma_alloc_pages(struct snd_dma_buffer *dmab, size_t size) in __snd_dma_alloc_pages() argument 34 const struct snd_malloc_ops *ops = snd_dma_get_ops(dmab); in __snd_dma_alloc_pages() 38 return ops->alloc(dmab, size); in __snd_dma_alloc_pages() 55 struct snd_dma_buffer *dmab) in snd_dma_alloc_pages() argument 59 if (WARN_ON(!dmab)) in snd_dma_alloc_pages() 63 dmab->dev.type = type; in snd_dma_alloc_pages() [all …]
|
D | sgbuf.c | 33 static void snd_dma_sg_free(struct snd_dma_buffer *dmab) in snd_dma_sg_free() argument 35 struct snd_sg_buf *sgbuf = dmab->private_data; in snd_dma_sg_free() 42 vunmap(dmab->area); in snd_dma_sg_free() 43 dmab->area = NULL; in snd_dma_sg_free() 46 if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG) in snd_dma_sg_free() 61 dmab->private_data = NULL; in snd_dma_sg_free() 66 static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size) in snd_dma_sg_alloc() argument 77 dmab->private_data = sgbuf = kzalloc(sizeof(*sgbuf), GFP_KERNEL); in snd_dma_sg_alloc() 80 if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG) { in snd_dma_sg_alloc() 86 sgbuf->dev = dmab->dev.dev; in snd_dma_sg_alloc() [all …]
|
D | pcm_memory.c | 35 size_t size, struct snd_dma_buffer *dmab) in do_alloc_pages() argument 43 err = snd_dma_alloc_pages(type, dev, size, dmab); in do_alloc_pages() 46 card->total_pcm_alloc_bytes += dmab->bytes; in do_alloc_pages() 52 static void do_free_pages(struct snd_card *card, struct snd_dma_buffer *dmab) in do_free_pages() argument 54 if (!dmab->area) in do_free_pages() 57 WARN_ON(card->total_pcm_alloc_bytes < dmab->bytes); in do_free_pages() 58 card->total_pcm_alloc_bytes -= dmab->bytes; in do_free_pages() 60 snd_dma_free_pages(dmab); in do_free_pages() 61 dmab->area = NULL; in do_free_pages() 73 struct snd_dma_buffer *dmab = &substream->dma_buffer; in preallocate_pcm_pages() local [all …]
|
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);
|
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-v5.15/include/sound/ |
D | memalloc.h | 70 struct snd_dma_buffer *dmab); 72 struct snd_dma_buffer *dmab); 73 void snd_dma_free_pages(struct snd_dma_buffer *dmab); 74 int snd_dma_buffer_mmap(struct snd_dma_buffer *dmab, 77 dma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer *dmab, size_t offset); 78 struct page *snd_sgbuf_get_page(struct snd_dma_buffer *dmab, size_t offset); 79 unsigned int snd_sgbuf_get_chunk_size(struct snd_dma_buffer *dmab,
|
D | hda_codec.h | 515 struct snd_dma_buffer *dmab); 528 struct snd_dma_buffer *dmab) {} in snd_hda_codec_load_dsp_cleanup() argument
|
D | hdaudio.h | 613 struct snd_dma_buffer *dmab); 632 struct snd_dma_buffer *dmab) in snd_hdac_dsp_cleanup() argument
|
/Linux-v5.15/sound/pci/emu10k1/ |
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() 492 dmab.area = emu->page_ptr_table[page]; in __synth_free_pages() 493 dmab.addr = emu->page_addr_table[page]; 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() [all …]
|
/Linux-v5.15/sound/soc/sof/intel/ |
D | hda-loader.c | 30 unsigned int size, struct snd_dma_buffer *dmab, in cl_stream_prepare() argument 48 ret = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV_SG, &pci->dev, size, dmab); in cl_stream_prepare() 59 ret = hda_dsp_iccmax_stream_hw_params(sdev, dsp_stream, dmab, NULL); in cl_stream_prepare() 65 ret = hda_dsp_stream_hw_params(sdev, dsp_stream, dmab, NULL); in cl_stream_prepare() 77 snd_dma_free_pages(dmab); in cl_stream_prepare() 219 static int cl_cleanup(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab, in cl_cleanup() argument 243 snd_dma_free_pages(dmab); in cl_cleanup() 244 dmab->area = NULL; in cl_cleanup() 363 &sdev->dmab, SNDRV_PCM_STREAM_PLAYBACK); in hda_dsp_cl_boot_firmware() 369 memcpy(sdev->dmab.area, stripped_firmware.data, in hda_dsp_cl_boot_firmware() [all …]
|
D | hda-compress.c | 66 struct snd_dma_buffer *dmab; in hda_probe_compr_set_params() local 70 dmab = cstream->runtime->dma_buffer_p; in hda_probe_compr_set_params() 83 ret = hda_dsp_stream_hw_params(sdev, stream, dmab, NULL); in hda_probe_compr_set_params()
|
D | hda-stream.c | 32 struct snd_dma_buffer *dmab, in hda_setup_bdle() argument 49 addr = snd_sgbuf_get_addr(dmab, offset); in hda_setup_bdle() 54 chunk = snd_sgbuf_get_chunk_size(dmab, offset, size); in hda_setup_bdle() 83 struct snd_dma_buffer *dmab, in hda_dsp_stream_setup_bdl() argument 119 offset = hda_setup_bdle(sdev, dmab, in hda_dsp_stream_setup_bdl() 123 offset = hda_setup_bdle(sdev, dmab, in hda_dsp_stream_setup_bdl() 334 struct snd_dma_buffer *dmab, in hda_dsp_iccmax_stream_hw_params() argument 361 ret = hda_dsp_stream_setup_bdl(sdev, dmab, hstream); in hda_dsp_iccmax_stream_hw_params() 405 struct snd_dma_buffer *dmab, in hda_dsp_stream_hw_params() argument 426 if (!dmab) { in hda_dsp_stream_hw_params() [all …]
|
D | hda-trace.c | 27 struct snd_dma_buffer *dmab = &sdev->dmatb; in hda_dsp_trace_prepare() local 33 ret = hda_dsp_stream_hw_params(sdev, stream, dmab, NULL); in hda_dsp_trace_prepare()
|
D | hda-pcm.c | 97 struct snd_dma_buffer *dmab; in hda_dsp_pcm_hw_params() local 108 dmab = substream->runtime->dma_buffer_p; in hda_dsp_pcm_hw_params() 117 ret = hda_dsp_stream_hw_params(sdev, stream, dmab, params); in hda_dsp_pcm_hw_params()
|
D | hda.h | 554 struct snd_dma_buffer *dmab, 557 struct snd_dma_buffer *dmab, 563 struct snd_dma_buffer *dmab,
|
/Linux-v5.15/drivers/scsi/lpfc/ |
D | lpfc_mem.c | 591 lpfc_sli4_rb_free(struct lpfc_hba *phba, struct hbq_dmabuf *dmab) in lpfc_sli4_rb_free() argument 593 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_rb_free() 594 dma_pool_free(phba->lpfc_drb_pool, dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_rb_free() 595 kfree(dmab); in lpfc_sli4_rb_free() 649 lpfc_sli4_nvmet_free(struct lpfc_hba *phba, struct rqb_dmabuf *dmab) in lpfc_sli4_nvmet_free() argument 651 dma_pool_free(phba->lpfc_hrb_pool, dmab->hbuf.virt, dmab->hbuf.phys); in lpfc_sli4_nvmet_free() 653 dmab->dbuf.virt, dmab->dbuf.phys); in lpfc_sli4_nvmet_free() 654 kfree(dmab); in lpfc_sli4_nvmet_free()
|
/Linux-v5.15/sound/soc/stm/ |
D | stm32_spdifrx.c | 237 struct snd_dma_buffer *dmab; member 254 u32 *p_start = (u32 *)spdifrx->dmab->area; in stm32_spdifrx_dma_complete() 264 if (!spdifrx->dmab->area) in stm32_spdifrx_dma_complete() 297 spdifrx->dmab->addr, in stm32_spdifrx_dma_ctrl_start() 415 spdifrx->dmab = devm_kzalloc(dev, sizeof(struct snd_dma_buffer), in stm32_spdifrx_dma_ctrl_register() 417 if (!spdifrx->dmab) in stm32_spdifrx_dma_ctrl_register() 420 spdifrx->dmab->dev.type = SNDRV_DMA_TYPE_DEV_IRAM; in stm32_spdifrx_dma_ctrl_register() 421 spdifrx->dmab->dev.dev = dev; in stm32_spdifrx_dma_ctrl_register() 422 ret = snd_dma_alloc_pages(spdifrx->dmab->dev.type, dev, in stm32_spdifrx_dma_ctrl_register() 423 SPDIFRX_CSR_BUF_LENGTH, spdifrx->dmab); in stm32_spdifrx_dma_ctrl_register() [all …]
|
/Linux-v5.15/sound/soc/sof/ |
D | utils.c | 123 struct snd_dma_buffer *dmab, in snd_sof_create_page_table() argument 131 dmab->area, size, pages); in snd_sof_create_page_table() 142 u32 pfn = snd_sgbuf_get_addr(dmab, i * PAGE_SIZE) >> PAGE_SHIFT; in snd_sof_create_page_table()
|
D | sof-priv.h | 418 struct snd_dma_buffer dmab; member 482 struct snd_dma_buffer *dmab,
|
/Linux-v5.15/sound/soc/intel/skylake/ |
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()
|
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,
|
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()
|
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() 72 unsigned int size, struct snd_dma_buffer *dmab) in skl_dsp_prepare() argument 94 ret = snd_hdac_dsp_prepare(stream, format, size, dmab); in skl_dsp_prepare() 122 struct snd_dma_buffer *dmab, int stream_tag) in skl_dsp_cleanup() argument 140 snd_hdac_dsp_cleanup(stream, dmab); in skl_dsp_cleanup()
|
/Linux-v5.15/sound/hda/ |
D | hdac_stream.c | 367 struct snd_dma_buffer *dmab, in setup_bdle() argument 380 addr = snd_sgbuf_get_addr(dmab, ofs); in setup_bdle() 385 chunk = snd_sgbuf_get_chunk_size(dmab, ofs, size); in setup_bdle() 755 struct snd_dma_buffer *dmab) in snd_hdac_dsp_cleanup() argument 759 if (!dmab->area || !azx_dev->locked) in snd_hdac_dsp_cleanup() 771 snd_dma_free_pages(dmab); in snd_hdac_dsp_cleanup() 772 dmab->area = NULL; in snd_hdac_dsp_cleanup()
|
/Linux-v5.15/sound/soc/intel/common/ |
D | sst-dsp-priv.h | 98 struct snd_dma_buffer dmab; member
|