linux/arch/powerpc/include/asm
Sebastien Dugue 967e012ef3 powerpc: Separate the irq radix tree insertion and lookup
irq_radix_revmap() currently serves 2 purposes, irq mapping lookup
and insertion which happen in interrupt and process context respectively.

Separate the function into its 2 components, one for lookup only and one
for insertion only.

Fix the only user of the revmap tree (XICS) to use the new functions.

Also, move the insertion into the radix tree of those irqs that were
requested before it was initialized at said tree initialization.

Mutual exclusion between the tree initialization and readers/writers is
handled via a state variable (revmap_trees_allocated) set to 1 when the tree
has been initialized and set to 2 after the already requested irqs have been
inserted in the tree by the init path. This state is checked before any reader
or writer access just like we used to check for tree.gfp_mask != 0 before.

Finally, now that we're not any longer inserting nodes into the radix-tree
in interrupt context, turn the GFP_ATOMIC allocations into GFP_KERNEL ones.

Signed-off-by: Sebastien Dugue <sebastien.dugue@bull.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-09-15 11:08:44 -07:00
..
iseries
8xx_immap.h
8253pit.h
Kbuild
a.out.h
abs_addr.h
agp.h
asm-compat.h
atomic.h
auxvec.h
backlight.h
bitops.h
bootx.h
btext.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h
clk_interface.h
code-patching.h
compat.h
cpm.h
cpm1.h
cpm2.h fs_enet: Fix SCC Ethernet on CPM2, and crash in fs_enet_rx_napi() 2008-08-27 05:16:38 -04:00
cputable.h powerpc: Add new CPU feature: CPU_FTR_CP_USE_DCBTZ 2008-09-15 11:07:38 -07:00
cputhreads.h
cputime.h
current.h
dbdma.h
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
delay.h
device.h
div64.h
dma-mapping.h
dma.h
edac.h
eeh.h
eeh_event.h
elf.h
emergency-restart.h
errno.h
exception.h powerpc: Make it possible to move the interrupt handlers away from the kernel 2008-09-15 11:08:08 -07:00
fb.h
fcntl.h
feature-fixups.h
firmware.h
fixmap.h
floppy.h
fs_pd.h
fsl_gtm.h
fsl_lbc.h
ftrace.h
futex.h
gpio.h
grackle.h
hardirq.h
heathrow.h
highmem.h
hugetlb.h
hvcall.h powerpc: Make CMO paging space pool ID and page size available 2008-08-18 14:22:34 +10:00
hvconsole.h
hvcserver.h
hw_irq.h
hydra.h
i8259.h
ibmebus.h
ide.h cleanup powerpc/include/asm/ide.h 2008-08-18 21:40:03 +02:00
immap_86xx.h
immap_cpm2.h
immap_qe.h
io-defs.h
io.h
ioctl.h
ioctls.h
iommu.h
ipcbuf.h
ipic.h
irq.h powerpc: Separate the irq radix tree insertion and lookup 2008-09-15 11:08:44 -07:00
irq_regs.h
irqflags.h powerpc: Fix lockdep IRQ tracing bug 2008-08-18 14:22:34 +10:00
kdebug.h
kdump.h
kexec.h kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
keylargo.h
kgdb.h
kmap_types.h
kprobes.h
kvm.h
kvm_asm.h
kvm_host.h
kvm_para.h
kvm_ppc.h
libata-portmap.h
linkage.h
lmb.h
local.h
lppaca.h
lv1call.h
machdep.h
macio.h
mc146818rtc.h
mediabay.h
mman.h
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-fsl-booke.h
mmu-hash32.h
mmu-hash64.h powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
mmu.h
mmu_context.h powerpc: Fix loss of vdso on fork on 32-bit 2008-08-18 14:22:34 +10:00
mmzone.h
module.h
mpc6xx.h
mpc8xx.h
mpc52xx.h
mpc52xx_psc.h
mpc86xx.h
mpc512x.h
mpc8260.h
mpic.h powerpc: Convert the MPIC MSI code to use msi_bitmap 2008-08-20 16:34:58 +10:00
msgbuf.h
msi_bitmap.h powerpc: Split-out common MSI bitmap logic into msi_bitmap.c 2008-08-20 16:34:57 +10:00
mutex.h
nvram.h
of_device.h powerpc: Remove include of linux/of_device.h from asm/of_device.h 2008-08-20 16:34:59 +10:00
of_platform.h powerpc: Remove include of linux/of_platform.h from asm/of_platform.h 2008-08-20 16:34:58 +10:00
ohare.h
oprofile_impl.h
pSeries_reconfig.h
paca.h powerpc: Make it possible to move the interrupt handlers away from the kernel 2008-09-15 11:08:08 -07:00
page.h powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
page_32.h
page_64.h
param.h
parport.h
pasemi_dma.h
pci-bridge.h
pci.h
percpu.h
pgalloc-32.h
pgalloc-64.h
pgalloc.h
pgtable-4k.h
pgtable-64k.h
pgtable-ppc32.h
pgtable-ppc64.h powerpc: Fix build error with 64K pages and !hugetlbfs 2008-09-03 20:53:42 +10:00
pgtable.h
phyp_dump.h
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
poll.h
posix_types.h
ppc-pci.h
ppc4xx.h
ppc_asm.h powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
processor.h
prom.h
ps3.h
ps3av.h
ps3fb.h
ps3stor.h
ptrace.h
qe.h
qe_ic.h
reg.h
reg_8xx.h
reg_booke.h
reg_fsl_emb.h
resource.h
rheap.h
rio.h
rtas.h
rtc.h
rwsem.h
scatterlist.h
seccomp.h
sections.h powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
sembuf.h
serial.h
setjmp.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h powerpc: Turn get/set_hard_smp_proccessor_id into inlines 2008-08-20 16:34:58 +10:00
smu.h
socket.h
sockios.h
sparsemem.h
spinlock.h
spinlock_types.h
spu.h
spu_csa.h
spu_info.h
spu_priv1.h
sstep.h
stat.h
statfs.h
string.h
suspend.h
synch.h
syscall.h
syscalls.h
systbl.h powerpc: Use sys_pause for 32-bit pause entry point 2008-09-15 11:08:39 -07:00
system.h
tce.h
termbits.h
termios.h
thread_info.h
time.h
timex.h
tlb.h
tlbflush.h
topology.h
tsi108.h
tsi108_irq.h
tsi108_pci.h
types.h
uaccess.h
ucc.h
ucc_fast.h
ucc_slow.h
ucontext.h
udbg.h
uic.h
unaligned.h
uninorth.h
unistd.h
user.h
vdso.h
vdso_datapage.h
vga.h
vio.h
xilinx_intc.h
xmon.h
xor.h