kernel-fxtec-pro1x/arch/arm
Imre Deak ea6dedd7fb ARM: OMAP: GPIO IRQ lazy IRQ disable fix
- The current OMAP GPIO IRQ framework doesn't use the do_edge_IRQ,
  do_level_IRQ handlers, but instead calls do_simple_IRQ. This
  doesn't handle disabled interrupts properly, so drivers will
  still get interrupts after calling disable_irq. The patch solves
  this by respecting the irq_desc.disable_depth and irq_desc.running
  counters.  When one of these is non-zero the handler is not called,
  the interrupt is masked and marked as pending. The pending interrupt
  will be serviced when the running handler returns. This is according
  to the same semantics as the standard do_edge_IRQ and do_level_IRQ
  handlers have, so one day we should use them instead of do_simple_IRQ.

- Process only interrupts that are not masked. The ISR may contain
  pending interrupts that are masked these shouldn't be processed.

- Move the bank IRQ unmasking out of the IRQ dispatch loop. If there
  are further iterations we shouldn't unmask it if there are level
  triggered interrupts pending.

Signed-off-by: Imre Deak <imre.deak@nokia.com>
Signed-off-by: Juha Yrjola <juha.yrjola@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2006-06-26 16:16:00 -07:00
..
boot [ARM] 3654/1: add ajeco 1arm sbc support 2006-06-26 17:48:29 +01:00
common [PATCH] backlight: LOCOMO Backlight Driver updates 2006-06-26 09:58:28 -07:00
configs [ARM] 3654/1: add ajeco 1arm sbc support 2006-06-26 17:48:29 +01:00
kernel Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-26 15:01:05 -07:00
lib [ARM] Remove save_lr/restore_pc macros 2006-06-25 11:37:09 +01:00
mach-aaec2000 [ARM] 3507/1: Replace map_desc.physical with map_desc.pfn: aaed2000 2006-05-07 22:49:24 +01:00
mach-at91rm9200 [ARM] 3654/1: add ajeco 1arm sbc support 2006-06-26 17:48:29 +01:00
mach-clps711x [ARM] 3304/1: Add help descriptions to ARCH config items that don't have one 2006-02-08 21:09:05 +00:00
mach-clps7500 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ebsa110 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-ep93xx [ARM] 3646/1: ep93xx: instantiate ep93xx-ohci platform device 2006-06-24 10:33:03 +01:00
mach-footbridge [PATCH] RTC: Remove RTC UIP synchronization on ARM 2006-03-28 09:16:00 -08:00
mach-h720x [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-imx [ARM] 3601/1: i.MX/MX1 DMA error handling for signaled channels only 2006-06-22 22:21:03 +01:00
mach-integrator [ARM] Fix Integrator and Versatile interrupt initialisation 2006-06-10 12:42:12 +01:00
mach-iop3xx [ARM] 3391/1: use PLAT8250_DEV_PLATFORM{,1} for platform device id instead of 0/1 2006-03-23 12:59:08 +00:00
mach-ixp4xx Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-06-26 15:01:05 -07:00
mach-ixp23xx [ARM] 3620/2: ixp23xx: add uengine loader support 2006-06-22 10:30:56 +01:00
mach-ixp2000 [ARM] 3644/1: ixp2000: export gpio_line_config() 2006-06-24 10:34:29 +01:00
mach-l7200 [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-lh7a40x [ARM] 3405/1: lpd7a40x: CPLD ssp driver 2006-06-18 16:16:49 +01:00
mach-netx [ARM] Include asm/hardware.h not asm/arch/hardware.h 2006-06-20 19:53:16 +01:00
mach-omap1 ARM: OMAP: Mistral board updates (spi, ...) 2006-06-26 16:15:59 -07:00
mach-omap2 [ARM] 3460/1: ARM: OMAP: Remove unnecessary nop_release() 2006-04-09 22:21:02 +01:00
mach-pnx4008 [ARM] 3623/1: pnx4008: move GPIO-related defines to gpio.h 2006-06-22 10:26:21 +01:00
mach-pxa [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
mach-realview [ARM] 3527/1: MPCore Boot Lockup Fix 2006-05-16 16:50:21 +01:00
mach-rpc [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-s3c2410 [ARM] 3649/1: S3C24XX: Fix capitalisation of CPU on SMDK2440 2006-06-26 15:12:56 +01:00
mach-sa1100 [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
mach-shark [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2) 2006-01-13 20:51:52 +00:00
mach-versatile [ARM] Fix Integrator and Versatile interrupt initialisation 2006-06-10 12:42:12 +01:00
mm [ARM] Remove partial non-v6 binutils compatibility 2006-06-25 11:31:22 +01:00
nwfpe [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ 2006-06-25 12:01:48 +01:00
oprofile [ARM] Use kcalloc to allocate counter_config array rather than kmalloc 2006-03-21 23:30:02 +00:00
plat-omap ARM: OMAP: GPIO IRQ lazy IRQ disable fix 2006-06-26 16:16:00 -07:00
tools [ARM] Update mach-types 2006-06-26 22:50:21 +01:00
vfp [ARM] Enable VFP to be built when non-VFP capable CPUs are selected 2006-06-22 10:24:24 +01:00
Kconfig [ARM] 3651/1: S3C24XX: Make arch list more detailed 2006-06-26 15:12:58 +01:00
Kconfig-nommu [ARM] nommu: fixups for the exception vectors 2006-03-27 15:18:50 +01:00
Kconfig.debug [ARM] Trivial typo fixes 2006-06-04 21:22:11 +01:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2006-06-26 11:05:15 -07:00