From 81948262c8a1c2bbe84e39df67aef69ec2aeb8fa Mon Sep 17 00:00:00 2001 From: "Michael (XIAO Xufeng)" Date: Sat, 27 Nov 2021 15:02:17 +0000 Subject: [PATCH] sdio_slave: fixed the issue DMA desc not capable --- components/driver/sdio_slave.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/driver/sdio_slave.c b/components/driver/sdio_slave.c index 8083159ebf..52879e73dd 100644 --- a/components/driver/sdio_slave.c +++ b/components/driver/sdio_slave.c @@ -241,7 +241,7 @@ static esp_err_t init_context(const sdio_slave_config_t *config) sdio_ringbuf_t *buf = &(context.hal->send_desc_queue); //one item is not used. buf->size = SDIO_SLAVE_SEND_DESC_SIZE * (config->send_queue_size+1); - buf->data = (uint8_t*)heap_caps_malloc(buf->size, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT); + buf->data = (uint8_t*)heap_caps_malloc(buf->size, MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT | MALLOC_CAP_DMA); if (buf->data == NULL) goto no_mem; sdio_slave_hal_init(context.hal); @@ -695,7 +695,7 @@ sdio_slave_buf_handle_t sdio_slave_recv_register_buf(uint8_t *start) { SDIO_SLAVE_CHECK(esp_ptr_dma_capable(start) && (uint32_t)start%4==0, "buffer to register should be DMA capable and 32-bit aligned", NULL); - recv_desc_t *desc = (recv_desc_t*)heap_caps_malloc(sizeof(recv_desc_t), MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT); + recv_desc_t *desc = (recv_desc_t*)heap_caps_malloc(sizeof(recv_desc_t), MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT | MALLOC_CAP_DMA); if (desc == NULL) { SDIO_SLAVE_LOGE("cannot allocate lldesc for new buffer"); return NULL;