]> git.karo-electronics.de Git - karo-tx-linux.git/commit
genirq: Add untracked irq handler
authorKeith Busch <keith.busch@intel.com>
Fri, 17 Jun 2016 22:00:20 +0000 (16:00 -0600)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 18 Jun 2016 08:00:55 +0000 (10:00 +0200)
commitedd14cfebc4404698544d407ecf8eda6e19aa19e
treec8e821937f59152ba61129fdcfda0d52416302f8
parent21c57fd135894f69ba2b8acc715ca81e90eeba15
genirq: Add untracked irq handler

This adds a software irq handler for controllers that multiplex
interrupts from multiple devices, but don't know which device generated
the interrupt. For these devices, the irq handler that demuxes must
check every action for every software irq using the same h/w irq in order
to find out which device generated the interrupt. This will inevitably
trigger spurious interrupt detection if we are noting the irq.

The new irq handler does not track the handling for spurious interrupt
detection. An irq that uses this also won't get stats tracked since it
didn't generate the interrupt, nor added to randomness since they are
not random.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
Cc: Jon Derrick <jonathan.derrick@intel.com>
Link: http://lkml.kernel.org/r/1466200821-29159-1-git-send-email-keith.busch@intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/irq.h
kernel/irq/chip.c
kernel/irq/handle.c
kernel/irq/internals.h