linux/arch
Jake Moilanen 618d3adc35 [POWERPC] DMA 4GB boundary protection
There are many adapters which can not handle DMAing acrosss any 4 GB
boundary.  For instance the latest Emulex adapters.

This normally is not an issue as firmware gives us dma-windows under
4gigs.  However, some of the new System-P boxes have dma-windows above
4gigs, and this present a problem.

I propose fixing it in the IOMMU allocation instead of making each
driver protect against it as it is more efficient, and won't require
changing every driver which has not considered this issue.

This patch checks to see if the mapping spans a 4 gig boundary, and if
it does, retries the allocation.  It tries the next allocation at the
start of the crossed 4 gig boundary.

Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-03-09 15:03:25 +11:00
..
alpha [PATCH] Dynamic kernel command-line: alpha 2007-02-12 09:48:37 -08:00
arm [PATCH] add CONFIG_GENERIC_GPIO 2007-03-05 07:57:51 -08:00
arm26 [PATCH] arch/arm26/kernel/entry.S: remove dead code 2007-03-01 14:53:35 -08:00
avr32 [PATCH] add CONFIG_GENERIC_GPIO 2007-03-05 07:57:51 -08:00
cris [PATCH] fix memory leak in dma_declare_coherent_memory() 2007-03-01 14:53:39 -08:00
frv [PATCH] FRV: No ZONE_DMA 2007-03-01 14:53:36 -08:00
h8300 [PATCH] Declare init_irq_proc before we use it. 2007-02-19 14:21:50 -08:00
i386 [PATCH] remove arch/i386/kernel/tsc.c:custom_sched_clock 2007-03-06 09:30:25 -08:00
ia64 [IA64] kexec: Use EFI_LOADER_DATA for ELF core header 2007-03-06 14:50:33 -08:00
m32r Various typo fixes. 2007-02-17 19:07:33 +01:00
m68k [PATCH] Declare init_irq_proc before we use it. 2007-02-19 14:21:50 -08:00
m68knommu [PATCH] m68knommu: remove local_bh_count 2007-03-06 18:08:38 -08:00
mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2007-03-06 18:02:46 -08:00
parisc [PARISC] clocksource: Move update_cr16_clocksource later in boot 2007-02-26 22:21:22 -05:00
powerpc [POWERPC] DMA 4GB boundary protection 2007-03-09 15:03:25 +11:00
ppc mv643xx_eth: Place explicit port number in mv643xx_eth_platform_data 2007-03-06 06:14:54 -05:00
s390 [S390] Fixed handling of access register mode faults. 2007-03-05 23:35:54 +01:00
sh Storage class should be before const qualifier 2007-02-17 20:11:19 +01:00
sh64 [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
sparc [SPARC]: Provide pci_device_to_OF_node() just like powerpc. 2007-03-02 15:22:51 -08:00
sparc64 [SPARC]: Provide pci_device_to_OF_node() just like powerpc. 2007-03-02 15:22:51 -08:00
um [PATCH] uml: comment the initialization of a global 2007-03-06 09:30:26 -08:00
v850 kbuild: Replace remaining "depends" with "depends on" 2007-02-17 19:05:24 +01:00
x86_64 [PATCH] clocksource init adjustments (fix bug #7426) 2007-03-05 07:57:53 -08:00
xtensa [PATCH] Dynamic kernel command-line: xtensa 2007-02-12 09:48:39 -08:00