Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DMA: Add option to configure psram block size #1235

Open
seijikun opened this issue Mar 3, 2024 · 1 comment
Open

DMA: Add option to configure psram block size #1235

seijikun opened this issue Mar 3, 2024 · 1 comment
Labels
peripheral:dma DMA Peripheral

Comments

@seijikun
Copy link

seijikun commented Mar 3, 2024

In the current DMA abstraction, I miss the option to configure the PSRAM blocksize.
In esp-idf, this can be set to 3 possible values:

  • #define GDMA_LL_EXT_MEM_BK_SIZE_16B (0)
  • #define GDMA_LL_EXT_MEM_BK_SIZE_32B (1)
  • #define GDMA_LL_EXT_MEM_BK_SIZE_64B (2)

This is the corresponding esp-idf method:

/**
 * @brief Set DMA TX channel memory block size
 * @param size_index Supported value: GDMA_LL_EXT_MEM_BK_SIZE_16B/32B/64B
 */
static inline void gdma_ll_tx_set_block_size_psram(gdma_dev_t *dev, uint32_t channel, uint32_t size_index)
{
    dev->channel[channel].out.conf1.out_ext_mem_bk_size = size_index;
}

I would've loved to add it myself, but after some time of looking at esp-hal's DMA abstraction, I had to capitulate to the architecture, sorry.

@Dominaezzz
Copy link
Collaborator

Dominaezzz commented Oct 4, 2024

I'd argue this is largely solved by #2161 , even if all drivers don't support the buffer traits yet.

EDIT: Perhaps this can be superseded by #2269.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
peripheral:dma DMA Peripheral
Projects
Status: Todo
Development

No branches or pull requests

3 participants