projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set correct debug pins for A
[bertos.git]
/
cpu
/
arm
/
drv
/
ser_at91.c
diff --git
a/cpu/arm/drv/ser_at91.c
b/cpu/arm/drv/ser_at91.c
index 9f3ed4b9f1ac64a75bb0f7237b737c29cc6b25ef..37a4f1b695470b281c1e61188d32159bd5928a3c 100644
(file)
--- a/
cpu/arm/drv/ser_at91.c
+++ b/
cpu/arm/drv/ser_at91.c
@@
-703,18
+703,17
@@
static void uart0_irq_rx(void)
/**
* Serial IRQ dispatcher for USART0.
*/
/**
* Serial IRQ dispatcher for USART0.
*/
-static void uart0_irq_dispatcher(void) __attribute__ ((
naked
));
+static void uart0_irq_dispatcher(void) __attribute__ ((
interrupt
));
static void uart0_irq_dispatcher(void)
{
static void uart0_irq_dispatcher(void)
{
- IRQ_ENTRY();
-
if (US0_CSR & BV(US_RXRDY))
uart0_irq_rx();
if (US0_CSR & BV(US_TXRDY))
uart0_irq_tx();
if (US0_CSR & BV(US_RXRDY))
uart0_irq_rx();
if (US0_CSR & BV(US_TXRDY))
uart0_irq_tx();
- IRQ_EXIT();
+ /* Inform hw that we have served the IRQ */
+ AIC_EOICR = 0;
}
/**
}
/**
@@
-764,16
+763,15
@@
static void uart1_irq_rx(void)
/**
* Serial IRQ dispatcher for USART1.
*/
/**
* Serial IRQ dispatcher for USART1.
*/
-static void uart1_irq_dispatcher(void) __attribute__ ((
naked
));
+static void uart1_irq_dispatcher(void) __attribute__ ((
interrupt
));
static void uart1_irq_dispatcher(void)
{
static void uart1_irq_dispatcher(void)
{
- IRQ_ENTRY();
-
if (US1_CSR & BV(US_RXRDY))
uart1_irq_rx();
if (US1_CSR & BV(US_TXRDY))
uart1_irq_tx();
if (US1_CSR & BV(US_RXRDY))
uart1_irq_rx();
if (US1_CSR & BV(US_TXRDY))
uart1_irq_tx();
- IRQ_EXIT();
+ /* Inform hw that we have served the IRQ */
+ AIC_EOICR = 0;
}
}