linux/arch/arm
Christoph Lameter 5ac6da669e [PATCH] Set CONFIG_ZONE_DMA for arches with GENERIC_ISA_DMA
As Andi pointed out: CONFIG_GENERIC_ISA_DMA only disables the ISA DMA
channel management.  Other functionality may still expect GFP_DMA to
provide memory below 16M.  So we need to make sure that CONFIG_ZONE_DMA is
set independent of CONFIG_GENERIC_ISA_DMA.  Undo the modifications to
mm/Kconfig where we made ZONE_DMA dependent on GENERIC_ISA_DMA and set
theses explicitly in each arches Kconfig.

Reviews must occur for each arch in order to determine if ZONE_DMA can be
switched off.  It can only be switched off if we know that all devices
supported by a platform are capable of performing DMA transfers to all of
memory (Some arches already support this: uml, avr32, sh sh64, parisc and
IA64/Altix).

In order to switch ZONE_DMA off conditionally, one would have to establish
a scheme by which one can assure that no drivers are enabled that are only
capable of doing I/O to a part of memory, or one needs to provide an
alternate means of performing an allocation from a specific range of memory
(like provided by alloc_pages_range()) and insure that all drivers use that
call.  In that case the arches alloc_dma_coherent() may need to be modified
to call alloc_pages_range() instead of relying on GFP_DMA.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:19 -08:00
..
boot fix file specification in comments 2006-10-03 23:01:26 +02:00
common [APM] ARM: Convert to use shared APM emulation. 2007-02-09 17:08:58 +00:00
configs [ARM] 4084/1: Remove CONFIG_DEBUG_WAITQ 2007-01-24 11:59:53 +00:00
kernel [APM] ARM: Convert to use shared APM emulation. 2007-02-09 17:08:58 +00:00
lib Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mach-aaec2000 [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-at91rm9200 [ARM] 4089/1: AT91: GPIO wake IRQ cleanup 2007-01-24 11:59:56 +00:00
mach-clps711x [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-clps7500 [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-ebsa110 [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-ep93xx [ARM] 4054/1: ep93xx: add HWCAP_CRUNCH 2006-12-18 00:14:54 +00:00
mach-footbridge [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-h720x [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-imx [ARM] 4092/1: i.MX/MX1 CPU Frequency scaling latency definition 2007-01-24 11:59:56 +00:00
mach-integrator [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-iop13xx [ARM] 4077/1: iop13xx: fix __io() macro 2006-12-30 17:05:08 +00:00
mach-iop32x [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-iop33x [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-ixp4xx Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-12-07 15:40:39 -08:00
mach-ixp23xx [ARM] 3994/1: ixp23xx: fix handling of pci master aborts 2006-12-07 16:16:19 +00:00
mach-ixp2000 [ARM] 3965/1: ixp2000: fix handling of pci master aborts 2006-12-01 16:55:22 +00:00
mach-l7200 [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-lh7a40x Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-12-07 15:40:39 -08:00
mach-netx [ARM] 4013/1: clocksource driver for netx 2006-12-13 14:37:27 +00:00
mach-omap1 [PATCH] another build fix, header rearrangements (OSK) 2006-12-13 09:05:46 -08:00
mach-omap2 [PATCH] ARM: OMAP: fix missing header on apollon board 2006-12-30 10:56:42 -08:00
mach-pnx4008 i2c: New Philips PNX bus driver 2006-12-10 21:21:29 +01:00
mach-pxa [APM] ARM: Convert to use shared APM emulation. 2007-02-09 17:08:58 +00:00
mach-realview i2c: New ARM Versatile/Realview bus driver 2006-12-10 21:21:32 +01:00
mach-rpc [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-s3c2410 [ARM] 4117/1: S3C2412: Fix writel() usage in selection code 2007-01-29 10:09:17 +00:00
mach-sa1100 [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c 2006-12-13 22:43:37 +00:00
mach-shark [ARM] Remove compatibility layer for ARM irqs 2006-11-30 12:24:47 +00:00
mach-versatile i2c: New ARM Versatile/Realview bus driver 2006-12-10 21:21:32 +01:00
mm [ARM] 4112/1: Only ioremap to supersections if DOMAIN_IO is zero 2007-01-25 16:35:26 +00:00
nwfpe [ARM] 3729/3: EABI padding rules necessitate the packed attribute of floatx80 2006-07-13 13:04:24 +01:00
oprofile [ARM] Remove OP_MAX_COUNTER 2006-11-14 15:15:40 +00:00
plat-iop Initial blind fixup for arm for irq changes 2006-10-06 10:59:54 -07:00
plat-omap kconfig: Standardize "depends" -> "depends on" in Kconfig files 2006-12-12 20:04:19 +01:00
tools [ARM] Update mach-types 2007-01-24 11:59:57 +00:00
vfp [ARM] 4111/1: Allow VFP to work with thread migration on SMP 2007-01-25 16:35:29 +00:00
Kconfig [PATCH] Set CONFIG_ZONE_DMA for arches with GENERIC_ISA_DMA 2007-02-11 10:51:19 -08:00
Kconfig-nommu [ARM] nommu: manage the CP15 things 2006-09-27 17:34:30 +01:00
Kconfig.debug [ARM] Remove DEBUG_WAITQ 2006-11-30 12:24:47 +00:00
Makefile [ARM] Merge individual ARM sub-trees 2006-12-07 23:07:26 +00:00