|
Sound Open Firmware
|


Go to the source code of this file.
Data Structures | |
| struct | dma_sg_elem |
| Element of SG list (as array item). More... | |
| struct | dma_cb_data |
| Data used in DMA callbacks. More... | |
| struct | dma_sg_elem_array |
| SG elem array. More... | |
| struct | dma_sg_config |
| struct | dma_chan_status |
| struct | dma_plat_data |
| struct | dma |
| struct | dma_chan_data |
| struct | dma_info |
| struct | dma_copy |
Macros | |
| #define | SOF_DMA_DIR_MEM_TO_MEM BIT(0) |
| local memory copy | |
| #define | SOF_DMA_DIR_HMEM_TO_LMEM BIT(1) |
| host memory to local mem copy | |
| #define | SOF_DMA_DIR_LMEM_TO_HMEM BIT(2) |
| local mem to host mem copy | |
| #define | SOF_DMA_DIR_MEM_TO_DEV BIT(3) |
| local mem to dev copy | |
| #define | SOF_DMA_DIR_DEV_TO_MEM BIT(4) |
| dev to local mem copy | |
| #define | SOF_DMA_DIR_DEV_TO_DEV BIT(5) |
| dev to dev copy | |
| #define | SOF_DMA_CAP_HDA BIT(0) |
| HDA DMA. | |
| #define | SOF_DMA_CAP_GP_LP BIT(1) |
| GP LP DMA. | |
| #define | SOF_DMA_CAP_GP_HP BIT(2) |
| GP HP DMA. | |
| #define | SOF_DMA_CAP_BT BIT(3) |
| BT DMA. | |
| #define | SOF_DMA_CAP_SP BIT(4) |
| SP DMA. | |
| #define | SOF_DMA_CAP_DMIC BIT(5) |
| ACP DMA DMIC >. | |
| #define | SOF_DMA_CAP_SP_VIRTUAL BIT(6) |
| SP VIRTUAL DMA. | |
| #define | SOF_DMA_CAP_HS_VIRTUAL BIT(7) |
| HS VIRTUAL DMA. | |
| #define | SOF_DMA_CAP_HS BIT(8) |
| HS DMA. | |
| #define | SOF_DMA_CAP_SW BIT(9) |
| SW DMA. | |
| #define | SOF_DMA_CAP_TDM BIT(10) |
| connectable to ACP TDM I2S | |
| #define | SOF_DMA_DEV_HOST BIT(0) |
| connectable to host | |
| #define | SOF_DMA_DEV_HDA BIT(1) |
| connectable to HD/A link | |
| #define | SOF_DMA_DEV_SSP BIT(2) |
| connectable to SSP fifo | |
| #define | SOF_DMA_DEV_DMIC BIT(3) |
| connectable to DMIC fifo | |
| #define | SOF_DMA_DEV_SSI BIT(4) |
| connectable to SSI / SPI fifo | |
| #define | SOF_DMA_DEV_ALH BIT(5) |
| connectable to ALH link | |
| #define | SOF_DMA_DEV_SAI BIT(6) |
| connectable to SAI fifo | |
| #define | SOF_DMA_DEV_ESAI BIT(7) |
| connectable to ESAI fifo | |
| #define | SOF_DMA_DEV_BT BIT(8) |
| connectable to ACP BT I2S | |
| #define | SOF_DMA_DEV_SP BIT(9) |
| connectable to ACP SP I2S | |
| #define | SOF_DMA_DEV_AFE_MEMIF BIT(10) |
| connectable to AFE fifo | |
| #define | SOF_DMA_DEV_SP_VIRTUAL BIT(11) |
| connectable to ACP SP VIRTUAL I2S | |
| #define | SOF_DMA_DEV_HS_VIRTUAL BIT(12) |
| connectable to ACP HS VIRTUAL I2S | |
| #define | SOF_DMA_DEV_HS BIT(13) |
| connectable to ACP HS I2S | |
| #define | SOF_DMA_DEV_MICFIL BIT(14) |
| connectable to MICFIL fifo | |
| #define | SOF_DMA_DEV_SW BIT(15) |
| connectable to ACP SW | |
| #define | SOF_DMA_DEV_TDM BIT(16) |
| connectable to ACP TDM I2S | |
| #define | SOF_DMA_ACCESS_EXCLUSIVE 1 |
| #define | SOF_DMA_ACCESS_SHARED 0 |
| #define | SOF_DMA_COPY_BLOCKING BIT(0) |
| #define | SOF_DMA_COPY_ONE_SHOT BIT(1) |
| #define | SOF_DMA_CHAN_INVALID 0xFFFFFFFF |
| #define | SOF_DMA_CORE_INVALID 0xFFFFFFFF |
Typedefs | |
| typedef int(* | dma_process_func) (const struct cir_buf_source *source, uint32_t src_channels, struct cir_buf_sink *sink, uint32_t sink_channels, size_t source_samples, uint32_t chmap) |
Enumerations | |
| enum | sof_dma_cb_status { SOF_DMA_CB_STATUS_RELOAD = 0 , SOF_DMA_CB_STATUS_END } |
Functions | |
| int | dmac_init (struct sof *sof) |
| API to initialize a platform DMA controllers. | |
| static void | dma_sg_init (struct dma_sg_elem_array *ea) |
| int | dma_sg_alloc (struct k_heap *heap, struct dma_sg_elem_array *ea, uint32_t flags, uint32_t direction, uint32_t buffer_count, uint32_t buffer_bytes, uintptr_t dma_buffer_addr, uintptr_t external_addr) |
| void | dma_sg_free (struct k_heap *heap, struct dma_sg_elem_array *ea) |
| static uint32_t | dma_sg_get_size (struct dma_sg_elem_array *ea) |
| Get the total size of SG buffer. | |
| int | dma_buffer_copy_from (struct comp_buffer *source, struct comp_buffer *sink, dma_process_func process, uint32_t source_bytes, uint32_t chmap) |
| int | stream_copy_from_no_consume (struct comp_dev *dev, struct comp_buffer *source, struct comp_buffer *sink, dma_process_func process, uint32_t source_bytes, uint32_t chmap) |
| int | dma_buffer_copy_to (struct comp_buffer *source, struct comp_buffer *sink, dma_process_func process, uint32_t sink_bytes, uint32_t chmap) |
| static const struct dma_info * | dma_info_get (void) |