diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-06-27 09:01:09 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-08-22 12:20:04 +0200 |
commit | 1f44a225777e40fd9a945b09f958052c47494e1e (patch) | |
tree | c33f67424d4cb06f481883b25e75390eccd15ca7 /drivers/s390/cio/cio.h | |
parent | 5d0d8f43535bc4e19406ecf158340ccc4027a477 (diff) | |
download | op-kernel-dev-1f44a225777e40fd9a945b09f958052c47494e1e.zip op-kernel-dev-1f44a225777e40fd9a945b09f958052c47494e1e.tar.gz |
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>
Diffstat (limited to 'drivers/s390/cio/cio.h')
-rw-r--r-- | drivers/s390/cio/cio.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/s390/cio/cio.h b/drivers/s390/cio/cio.h index d62f5e7..d42f674 100644 --- a/drivers/s390/cio/cio.h +++ b/drivers/s390/cio/cio.h @@ -121,9 +121,6 @@ extern int cio_commit_config(struct subchannel *sch); int cio_tm_start_key(struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key); int cio_tm_intrg(struct subchannel *sch); -void do_adapter_IO(u8 isc); -void do_IRQ(struct pt_regs *); - /* Use with care. */ #ifdef CONFIG_CCW_CONSOLE extern struct subchannel *cio_probe_console(void); |