kernel-hacking-2024-linux-s.../arch
David S. Miller 088dd1f81b [SPARC64]: Add support for IRQ pre-handlers.
This allows a PCI controller to shim into IRQ delivery
so that DMA queues can be drained, if necessary.

If some bus specific code needs to run before an IRQ
handler is invoked, the bus driver simply needs to setup
the function pointer in bucket->irq_info->pre_handler and
the two args bucket->irq_info->pre_handler_arg[12].

The Schizo PCI driver is converted over to use a pre-handler
for the DMA write-sync processing it needs when a device
is behind a PCI->PCI bus deeper than the top-level APB
bridges.

While we're here, clean up all of the action allocation
and handling.  Now, we allocate the irqaction as part of
the bucket->irq_info area.  There is an array of 4 irqaction
(for PCI irq sharing) and a bitmask saying which entries
are active.

The bucket->irq_info is allocated at build_irq() time, not
at request_irq() time.  This simplifies request_irq() and
free_irq() tremendously.

The SMP dynamic IRQ retargetting code got removed in this
change too.  It was disabled for a few months now, and we
can resurrect it in the future if we want.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-07-04 13:24:38 -07:00
..
alpha [PATCH] alpha smp fix (part #2) 2005-07-01 08:20:23 -07:00
arm [PATCH] ARM: 2784/1: Fix the block cache flush operation range 2005-07-03 17:53:25 +01:00
arm26 [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
cris [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
frv Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
h8300 [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
i386 [PATCH] x86: i8253/i8259A lock cleanup 2005-06-30 08:45:10 -07:00
ia64 [IA64] Update zx1_defconfig 2005-06-29 16:01:40 -07:00
m32r [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
m68k [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
m68knommu [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
mips [PATCH] mips: fixed try_to_freeze build error 2005-06-27 15:11:42 -07:00
parisc [PATCH] Serial: Split 8250 port table (part 2) 2005-06-29 18:45:19 +01:00
ppc [PATCH] ppc32: Fix pointer check for MPC8540 ADS device 2005-06-30 08:45:09 -07:00
ppc64 Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6 2005-06-30 08:48:56 -07:00
s390 [PATCH] kexec code cleanup 2005-06-25 16:24:55 -07:00
sh [PATCH] mm/Kconfig: kill unused ARCH_FLATMEM_DISABLE 2005-06-23 09:45:03 -07:00
sh64 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
sparc [PATCH] sparc32: Kconfig fixups 2005-06-28 21:20:37 -07:00
sparc64 [SPARC64]: Add support for IRQ pre-handlers. 2005-07-04 13:24:38 -07:00
um [PATCH] uml: hot-unplug code cleanup 2005-06-25 16:24:36 -07:00
v850 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
x86_64 [PATCH] x86: i8253/i8259A lock cleanup 2005-06-30 08:45:10 -07:00
xtensa [PATCH] xtensa: Fix asm macro 2005-06-30 08:45:11 -07:00