microblaze: Fix level/edge irq sensibility
Michal Simek
maintainerPATCH 1/1 microblaze: Fix level/edge irq sensibility
Patches:
"microblaze: Convert to new irq function names"
sha (4adc192ec7d977c74c750320f289af9d61c1caca)
and
"microblaze: Use generic show_interrupts()"
sha(9d61c18b25726306c9231428c17db42e3ff29ba7)
should also setup edge/level in irq_set_chip_and_handler_name name parameter.
Error log:
~ # cat /proc/interrupts
CPU0
2: 2 Xilinx INTC-Xilinx INTC eth0 3: 2 Xilinx INTC-Xilinx INTC eth0 4: 241 Xilinx INTC-Xilinx INTC timer 6: 108 Xilinx INTC-Xilinx INTC serial
Fixed:
~ # cat /proc/interrupts
CPU0
2: 2 Xilinx INTC-edge eth0 3: 2 Xilinx INTC-edge eth0 4: 241 Xilinx INTC-level timer 6: 108 Xilinx INTC-edge serial
--- arch/microblaze/kernel/intc.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
arch/microblaze/kernel/intc.c +2 -2
@@ -158,11 +158,11 @@ void __init init_IRQ(void)for (i =0 ; i < nr_irq; ++i) {if (intr_type & (0x00000001 << i)) {irq_set_chip_and_handler_name (i, &intc_dev, - handle_edge_irq, intc_dev.name); + handle_edge_irq,"level" );irq_clear_status_flags (i,IRQ_LEVEL ); }else {irq_set_chip_and_handler_name (i, &intc_dev, - handle_level_irq, intc_dev.name); + handle_level_irq,"edge" );irq_set_status_flags (i,IRQ_LEVEL ); } }
Signature · 1 line
1.5.5.6
Michal Simek
maintainerQuoted 36 lines · Michal Simek
Patches:
"microblaze: Convert to new irq function names"
sha (4adc192ec7d977c74c750320f289af9d61c1caca)
and
"microblaze: Use genericshow_interrupts()"
sha(9d61c18b25726306c9231428c17db42e3ff29ba7)should also setup edge/level in
irq_set_chip_and_handler_namename parameter.Error log:
~ # cat/proc/interrupts
CPU02: 2 Xilinx INTC-Xilinx INTC eth0 3: 2 Xilinx INTC-Xilinx INTC eth0 4: 241 Xilinx INTC-Xilinx INTC timer 6: 108 Xilinx INTC-Xilinx INTC serialFixed:
~ # cat/proc/interrupts
CPU02: 2 Xilinx INTC-edge eth0 3: 2 Xilinx INTC-edge eth0 4: 241 Xilinx INTC-level timer 6: 108 Xilinx INTC-edge serialSigned-off-by Michal Simek <[email protected]>--- arch/microblaze/kernel/intc.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)arch/microblaze/kernel/intc.c +0
-0
arch/microblaze/kernel/intc.c void __init init_IRQ(void) · line 165
Quoted 10 lines
arch/microblaze/kernel/intc.c +2
-2@@ -158,11 +158,11 @@ void __init init_IRQ(void)for (i =0 ; i < nr_irq; ++i) {if (intr_type & (0x00000001 << i)) {irq_set_chip_and_handler_name (i, &intc_dev, - handle_edge_irq, intc_dev.name); + handle_edge_irq,"level" );irq_clear_status_flags (i,IRQ_LEVEL ); }else {irq_set_chip_and_handler_name (i, &intc_dev, - handle_level_irq, intc_dev.name); + handle_level_irq,"edge" );
oou - vice-versa - this is level and above is edge. Will send v2
M
Signature · 4 lines
Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian