linux/drivers
Qais Yousef d7eb4f2ecc irqchip: mips-gic: Handle pending interrupts once in __gic_irq_dispatch()
When an interrupt occurs __gic_irq_dispatch() continuously reads local
and shared pending registers until all is serviced before
returning. The problem with that is that it could introduce a long
delay before returning if a piece of hardware keeps triggering while
in one of these loops.

To ensure fairness and priority doesn't get skewed a lot, read local
and shared pending registers once to service each pending IRQ once.
If another interupt triggers while servicing the current ones, then we
shall re-enter the handler after we return.

Signed-off-by: Qais Yousef <qais.yousef@imgtec.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Bresticker <abrestic@chromium.org>
Cc: <linux-mips@linux-mips.org>
Link: http://lkml.kernel.org/r/1421668289-828-1-git-send-email-qais.yousef@imgtec.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-01-26 11:38:23 +01:00
..
accessibility
acpi ACPI: pci: Do not clear pci_dev->irq in acpi_pci_irq_disable() 2015-01-20 11:44:40 +01:00
amba
android
ata libata: prevent HSM state change race between ISR and PIO 2015-01-19 14:11:23 -05:00
atm
auxdisplay
base
bcma
block NVMe: cq_vector should be signed 2015-01-15 15:19:10 -07:00
bluetooth
bus mvebu fixes for 3.19. (Part 4) 2015-01-23 14:08:13 -08:00
cdrom
char
clk clk: fix possible null pointer dereference 2015-01-17 11:33:57 -08:00
clocksource Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-01-25 17:47:34 -08:00
connector
coresight
cpufreq
cpuidle
crypto
dca
devfreq
dio
dma dmaengine: dw: balance PM runtime calls 2015-01-13 23:07:58 +05:30
dma-buf
edac
eisa
extcon
firewire
firmware
fmc
gpio A slew of fixes dealing with some irritating bugs (non-regressions) 2015-01-19 05:03:13 +12:00
gpu Merge tag 'drm-amdkfd-fixes-2015-01-13' of git://people.freedesktop.org/~gabbayo/linux into drm-fixes 2015-01-21 09:26:47 +10:00
hid HID: roccat: potential out of bounds in pyra_sysfs_write_settings() 2015-01-09 14:41:01 +01:00
hsi
hv
hwmon hwmon: (i5500_temp) Convert to use ATTRIBUTE_GROUPS macro 2015-01-24 14:16:22 +01:00
hwspinlock
i2c
ide
idle
iio First round of IIO fixes for the 3.19 cycle. 2015-01-08 17:59:04 -08:00
infiniband net/mlx4: Don't disable vxlan offloads under DMFS-A0 optimized steering 2015-01-15 19:35:30 -05:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-01-19 04:55:23 +12:00
iommu iommu/rockchip: Drop owner assignment from platform_drivers 2015-01-05 12:40:06 +01:00
ipack
irqchip irqchip: mips-gic: Handle pending interrupts once in __gic_irq_dispatch() 2015-01-26 11:38:23 +01:00
isdn isdn: fix NUL (\0 or \x00) specification in string 2015-01-12 15:31:35 -05:00
leds leds: netxbig: fix oops at probe time 2015-01-13 13:49:01 -08:00
lguest
macintosh
mailbox
mcb mcb: mcb-pci: Only remap the 1st 0x200 bytes of BAR 0 2015-01-09 15:46:37 -08:00
md dm: fix handling of multiple internal suspends 2015-01-24 14:50:08 -05:00
media media fixes for v3.19-rc6 2015-01-24 14:34:54 -08:00
memory
memstick
message
mfd - Avoid platform ID collision in da9052 2015-01-21 18:29:44 +12:00
misc Char/Misc driver fixes for 3.19-rc5 2015-01-17 08:18:08 +13:00
mmc mmc: sdhci: Set SDHCI_POWER_ON with external vmmc 2015-01-14 09:47:19 +01:00
mtd
net s2io: use snprintf() as a safety feature 2015-01-19 19:42:21 -05:00
nfc
ntb
nubus
of of/unittest: Overlays with sub-devices tests 2015-01-23 13:10:07 +00:00
oprofile
parisc parisc/PCI: Clip bridge windows to fit in upstream windows 2015-01-16 10:04:43 -06:00
parport
pci PCI: Add pci_claim_bridge_resource() to clip window if necessary 2015-01-16 10:04:42 -06:00
pcmcia
phy
pinctrl pinctrl: qcom: Don't iterate past end of function array 2015-01-19 11:17:45 +01:00
platform Revert "platform: x86: dell-laptop: Add support for keyboard backlight" 2015-01-23 11:10:32 -08:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset reset: sunxi: fix spinlock initialization 2015-01-16 19:11:31 -08:00
rpmsg
rtc
s390
sbus
scsi scsi_debug: test always evaluates to false, || should be used instead 2015-01-22 17:50:52 +01:00
sfi
sh
sn
soc
spi
spmi
ssb
staging media fixes for v3.19-rc6 2015-01-24 14:34:54 -08:00
target iscsi-target: Fix typos in enum cmd_flags_table 2015-01-09 15:25:58 -08:00
tc
thermal Merge branch 'thermal-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2015-01-15 19:20:26 +13:00
thunderbolt
tty serial: samsung: Add the support for Exynos5433 SoC 2015-01-09 13:46:02 -08:00
uio
usb usb: fixes for v3.19-rc6 2015-01-14 16:27:23 -08:00
uwb
vfio vfio-pci: Fix the check on pci device type in vfio_pci_probe() 2015-01-07 10:29:11 -07:00
vhost Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2015-01-13 15:23:26 +13:00
video fbdev/broadsheetfb: fix memory leak 2015-01-13 15:13:45 +02:00
virt
virtio virtio_pci: document why we defer kfree 2015-01-06 16:35:36 +02:00
vlynq
vme
w1
watchdog watchdog: drop owner assignment from platform_drivers 2015-01-21 14:52:34 +01:00
xen
zorro
Kconfig
Makefile