]> git.karo-electronics.de Git - karo-tx-linux.git/commit
s390: convert interrupt handling to use generic hardirq
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 27 Jun 2013 07:01:09 +0000 (09:01 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 8 Aug 2013 14:32:07 +0000 (16:32 +0200)
commite15a9dcfdec29786d1830c5b7beaf02a288a89e1
tree910a5d930cca0bf3a9245d3a53314f00628b2a88
parent79a2cb352a3ba7faba9eec3f5f5256985494339c
s390: convert interrupt handling to use generic hardirq

With the introduction of PCI it became apparent that s390 should
convert to generic hardirqs as too many drivers do not have the
correct dependency for GENERIC_HARDIRQS. On the architecture
level s390 does not have irq lines. It has external interrupts,
I/O interrupts and adapter interrupts. This patch hard-codes all
external interrupts as irq #1, all I/O interrupts as irq #2 and
all adapter interrupts as irq #3. The additional information from
the lowcore associated with the interrupt is stored in the
pt_regs of the interrupt frame, where the interrupt handler can
pick it up. For PCI/MSI interrupts the adapter interrupt handler
scans the relevant bit fields and calls generic_handle_irq with
the virtual irq number for the MSI interrupt.

Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
15 files changed:
arch/s390/Kconfig
arch/s390/include/asm/hardirq.h
arch/s390/include/asm/hw_irq.h
arch/s390/include/asm/irq.h
arch/s390/include/asm/pci.h
arch/s390/include/asm/serial.h [new file with mode: 0644]
arch/s390/kernel/entry.S
arch/s390/kernel/entry64.S
arch/s390/kernel/irq.c
arch/s390/pci/Makefile
arch/s390/pci/pci.c
arch/s390/pci/pci_msi.c [deleted file]
drivers/s390/cio/airq.c
drivers/s390/cio/cio.c
drivers/s390/cio/cio.h