mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	sdio_slave: fixed the issue DMA desc not capable
This commit is contained in:
		@@ -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;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user