[Armadeus-commitlog] SF.net SVN: armadeus:[1225] trunk/target/linux/modules/fpga/ wishbone_example/
Brought to you by:
sszy
|
From: <th...@us...> - 2009-04-16 07:32:51
|
Revision: 1225
http://armadeus.svn.sourceforge.net/armadeus/?rev=1225&view=rev
Author: thom25
Date: 2009-04-16 07:32:43 +0000 (Thu, 16 Apr 2009)
Log Message:
-----------
[LINUX] force ISR clear before enabling the interrupt
Modified Paths:
--------------
trunk/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c
Modified: trunk/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c
===================================================================
--- trunk/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c 2009-04-15 11:54:45 UTC (rev 1224)
+++ trunk/target/linux/modules/fpga/wishbone_example/wb_irq_mngr/main.c 2009-04-16 07:32:43 UTC (rev 1225)
@@ -160,10 +160,12 @@
/* Mask all interrupts initially */
writew(0, FPGA_IMR);
- for (irq = IRQ_FPGA(0); irq < IRQ_FPGA(NB_IT-1); irq++) {
+ for (irq = IRQ_FPGA(0); irq < IRQ_FPGA(NB_IT); irq++) {
pr_debug("IRQ %d\n", irq);
set_irq_chip_and_handler(irq, &imx_fpga_chip, handle_edge_irq);
set_irq_flags(irq, IRQF_VALID);
+ /* clear pending interrrupts */
+ imx_fpga_ack_irq(irq);
}
set_irq_chained_handler(ARMADEUS_FPGA_IRQ, imx_fpga_demux_handler);
@@ -177,7 +179,7 @@
static void __exit ocore_irq_mng_exit(void)
{
unsigned int irq;
- for (irq = IRQ_FPGA(0); irq < IRQ_FPGA(NB_IT-1); irq++) {
+ for (irq = IRQ_FPGA(0); irq < IRQ_FPGA(NB_IT); irq++) {
set_irq_chip( irq, NULL);
set_irq_handler(irq,NULL);
set_irq_flags(irq, 0);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|