Code: Select all
E (508) gdma: gdma_install_rx_interrupt(776): alloc interrupt failed
E (508) gdma: gdma_register_rx_event_callbacks(436): install interrupt service failed
My application is pretty simple so far. I am using 2 i2c interfaces, 2 i2s interfaces, gptimer and gpio isr. Maybe I am exhausting all of the available interrupts but why is there not an option in the i2s driver to initialize shared interrupts? I have noticed that the i2s driver calls i2s_init_dma_intr(handle, I2S_INTR_ALLOC_FLAGS) where I2S_INTR_ALLOC_FLAGS defines ESP_INTR_FLAG_SHARED but these flags are not used when calling this api with the esp32-s3 because on the s3 platform SOC_GDMA_SUPPORTED is defines. This results in a call to gdma_install_rx_interrupt() to configure the gdma interrupts but this does not use the ESP_INTR_FLAG_SHARED flag.
What can I do to get around this problem without modifying the esp-idf?
A sample project exhibiting the problem is attached. Thank you.