linux/arch/sparc64/kernel
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
..
auxio.c [SPARC64]: Get rid of fast IRQ feature. 2005-06-27 17:04:45 -07:00
binfmt_aout32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
central.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
chmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
devices.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dtlb_backend.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dtlb_base.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dtlb_prot.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ebus.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.S [SPARC64]: Add support for IRQ pre-handlers. 2005-07-04 13:24:38 -07:00
etrap.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idprom.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c [SPARC64]: Add support for IRQ pre-handlers. 2005-07-04 13:24:38 -07:00
isa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
itlb_base.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.c [PATCH] kprobes: Temporary disarming of reentrant probe for sparc64 2005-06-23 09:45:25 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c [SPARC64]: Refine PCI strbuf ctx-based flush. 2005-05-31 19:13:52 -07:00
pci_psycho.c [SPARC64]: Fix streaming buffer flushing on PCI and SBUS. 2005-05-31 16:57:59 -07:00
pci_sabre.c [SPARC64]: Add support for IRQ pre-handlers. 2005-07-04 13:24:38 -07:00
pci_schizo.c [SPARC64]: Fix streaming buffer flushing on PCI and SBUS. 2005-05-31 16:57:59 -07:00
pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
power.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c [SPARC]: Remove legacy stuff from cpu_idle(). 2005-05-05 14:53:01 -07:00
ptrace.c [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
rtrap.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sbus.c [SPARC64]: Fix streaming buffer flushing on PCI and SBUS. 2005-05-31 16:57:59 -07:00
semaphore.c [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
setup.c [SPARC64]: Add boot option to force UltraSPARC-III P-Cache on. 2005-05-23 15:52:08 -07:00
signal32.c [PATCH] compat: introduce compat_time_t 2005-06-23 09:45:32 -07:00
signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c [SPARC64]: Add boot option to force UltraSPARC-III P-Cache on. 2005-05-23 15:52:08 -07:00
sparc64_ksyms.c [SPARC64]: Get rid of fast IRQ feature. 2005-06-27 17:04:45 -07:00
starfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunos_ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys32.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_sparc32.c [PATCH] sparc64: Fix stat 2005-04-18 15:13:15 -07:00
sys_sparc.c [PATCH] Avoiding mmap fragmentation 2005-06-21 18:46:16 -07:00
sys_sunos32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
systbls.S [PATCH] sparc64: Fix stat 2005-04-18 15:13:15 -07:00
time.c [SPARC64]: Add support for IRQ pre-handlers. 2005-07-04 13:24:38 -07:00
trampoline.S [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
traps.c [SPARC64]: Add boot option to force UltraSPARC-III P-Cache on. 2005-05-23 15:52:08 -07:00
ttable.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
us2e_cpufreq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
us3_cpufreq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
winfixup.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00