aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-06-20 13:23:44 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-06-20 15:22:03 -0400
commit7b95d3277074468dd1d22c21c4f558d04c2f7247 (patch)
tree4d4c4c52a79bafa851d486743b2d40aaea6a2240 /libmaple
parent4e54793e14cac03990e15026fd962ec495b464d0 (diff)
downloadlibrambutan-7b95d3277074468dd1d22c21c4f558d04c2f7247.tar.gz
librambutan-7b95d3277074468dd1d22c21c4f558d04c2f7247.zip
DMA: Fix non-working DMA interrupts.
libmaple/dma.c defines DMA interrupts __irq_dma_channel[1-7], consistent with what is specified by support/ld/names.inc. However, names.inc is inconsistent with what support/ld/libcs3_stm32_src/ expects. Specifically, it contradicts the files - support/ld/libcs3_stm32_src/stm32_isrs.S - support/ld/libcs3_stm32_src/stm32_vector_table.S Which use the names __irq_dma1_channel[1-7]. Change names.inc and dma.c to use the correct IRQ names. The original names.inc/libcs3_stm32_src inconsistency was introduced in 43d6921658cd29b8022af4424d340a90fbcb9a7f, but dma.c had the correct names until ec3cf2903f4b03bc1dae5e159495c9e5ef0938ca, where they were renamed for consistency with names.inc. At that point, DMA interrupts stopped working. (This was documented in the commit message). Thanks to forum user robodude666 for tracking this down.
Diffstat (limited to 'libmaple')
-rw-r--r--libmaple/dma.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libmaple/dma.c b/libmaple/dma.c
index dc8f043..969f9ca 100644
--- a/libmaple/dma.c
+++ b/libmaple/dma.c
@@ -331,31 +331,31 @@ static inline void dispatch_handler(dma_dev *dev, dma_channel channel) {
}
}
-void __irq_dma_channel1(void) {
+void __irq_dma1_channel1(void) {
dispatch_handler(DMA1, DMA_CH1);
}
-void __irq_dma_channel2(void) {
+void __irq_dma1_channel2(void) {
dispatch_handler(DMA1, DMA_CH2);
}
-void __irq_dma_channel3(void) {
+void __irq_dma1_channel3(void) {
dispatch_handler(DMA1, DMA_CH3);
}
-void __irq_dma_channel4(void) {
+void __irq_dma1_channel4(void) {
dispatch_handler(DMA1, DMA_CH4);
}
-void __irq_dma_channel5(void) {
+void __irq_dma1_channel5(void) {
dispatch_handler(DMA1, DMA_CH5);
}
-void __irq_dma_channel6(void) {
+void __irq_dma1_channel6(void) {
dispatch_handler(DMA1, DMA_CH6);
}
-void __irq_dma_channel7(void) {
+void __irq_dma1_channel7(void) {
dispatch_handler(DMA1, DMA_CH7);
}