software: remove unnecessary IRQ acks

This commit is contained in:
Sebastien Bourdeauducq 2012-02-07 00:07:25 +01:00
parent b6b1901bb8
commit 494c383fa8
3 changed files with 2 additions and 10 deletions

View File

@ -49,9 +49,4 @@ static inline unsigned int irq_pending(void)
return pending;
}
static inline void irq_ack(unsigned int mask)
{
__asm__ __volatile__("wcsr IP, %0" : : "r" (mask));
}
#endif /* __IRQ_H */

View File

@ -44,7 +44,7 @@ __attribute__((noreturn)) void reboot(void)
{
uart_sync();
irq_setmask(0);
irq_enable(0);
irq_setie(0);
CSR_SYSTEM_ID = 1; /* Writing to CSR_SYSTEM_ID causes a system reset */
while(1);
}
@ -61,7 +61,7 @@ __attribute__((noreturn)) void reconf(void)
{
uart_sync();
irq_setmask(0);
irq_enable(0);
irq_setie(0);
icap_write(0, 0xffff); /* dummy word */
icap_write(0, 0xffff); /* dummy word */
icap_write(0, 0xffff); /* dummy word */

View File

@ -62,7 +62,6 @@ void uart_isr(void)
}
CSR_UART_EV_PENDING = stat;
irq_ack(IRQ_UART);
}
/* Do not use in interrupt handlers! */
@ -108,8 +107,6 @@ void uart_init(void)
tx_consume = 0;
tx_cts = 1;
irq_ack(IRQ_UART);
/* ack any events */
CSR_UART_EV_PENDING = CSR_UART_EV_PENDING;