feat(gdma): expose interrupt priority as a configurable option

- Add intr_priority field to gdma_channel_t structure
- Add intr_bind_name field to gdma_signal_conn_t for interrupt binding
- Validate intr_priority during channel allocation (must be 0-3)
- Use ESP_INTR_FLAG_SHARED_PRIVATE instead of ESP_INTR_FLAG_SHARED
- Use esp_intr_alloc_info() with bind_by.name for shared interrupts
- Add interrupt priority configuration test case
- Update all gdma_periph.c files with pair-specific bind names (gdma_gXpY)
This commit is contained in:
morris
2026-04-01 10:42:22 +08:00
parent f8f8219e13
commit f2d62bba74
20 changed files with 172 additions and 46 deletions
@@ -14,22 +14,27 @@ const gdma_signal_conn_t gdma_periph_signals = {
[0] = {
.rx_irq_id = ETS_DMA_IN_CH0_INTR_SOURCE,
.tx_irq_id = ETS_DMA_OUT_CH0_INTR_SOURCE,
.name = "gdma_g0p0",
},
[1] = {
.rx_irq_id = ETS_DMA_IN_CH1_INTR_SOURCE,
.tx_irq_id = ETS_DMA_OUT_CH1_INTR_SOURCE,
.name = "gdma_g0p1",
},
[2] = {
.rx_irq_id = ETS_DMA_IN_CH2_INTR_SOURCE,
.tx_irq_id = ETS_DMA_OUT_CH2_INTR_SOURCE,
.name = "gdma_g0p2",
},
[3] = {
.rx_irq_id = ETS_DMA_IN_CH3_INTR_SOURCE,
.tx_irq_id = ETS_DMA_OUT_CH3_INTR_SOURCE,
.name = "gdma_g0p3",
},
[4] = {
.rx_irq_id = ETS_DMA_IN_CH4_INTR_SOURCE,
.tx_irq_id = ETS_DMA_OUT_CH4_INTR_SOURCE,
.name = "gdma_g0p4",
},
}
}