OpenCloudOS-Kernel/arch/arm
Nicolas Pitre 58edb51572 [ARM] make page_to_dma() highmem aware
If a machine class has a custom __virt_to_bus() implementation then it
must provide a __arch_page_to_dma() implementation as well which is
_not_ based on page_address() to support highmem.

This patch fixes existing __arch_page_to_dma() and provide a default
implementation otherwise.  The default implementation for highmem is
based on __pfn_to_bus() which is defined only when no custom
__virt_to_bus() is provided by the machine class.

That leaves only ebsa110 and footbridge which cannot support highmem
until they provide their own __arch_page_to_dma() implementation.
But highmem support on those legacy platforms with limited memory is
certainly not a priority.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
2009-03-15 21:01:21 -04:00
..
boot Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2008-12-02 22:07:40 +00:00
common [ARM] make page_to_dma() highmem aware 2009-03-15 21:01:21 -04:00
configs [ARM] 5390/1: AT91: Watchdog fixes 2009-02-14 16:01:57 +00:00
include/asm [ARM] make page_to_dma() highmem aware 2009-03-15 21:01:21 -04:00
kernel [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions 2009-03-12 21:33:03 +00:00
lib Merge branch 'clps7500' into devel 2008-11-27 12:39:43 +00:00
mach-aaec2000 arm: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:43 -08:00
mach-at91 [ARM] at91: fix for Atmel AT91 powersaving 2009-02-22 22:37:21 +00:00
mach-clps711x [ARM] clps711x: fix warning in edb7211-mm.c 2009-01-08 16:29:42 +00:00
mach-davinci usb: musb: make Davinci *work* in mainline 2009-02-27 14:40:51 -08:00
mach-ebsa110 [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-ep93xx [ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info 2009-03-05 17:05:22 +00:00
mach-footbridge Merge branch 'devel' 2009-01-08 22:01:49 +00:00
mach-h720x [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
mach-imx [ARM] i.MX add missing include 2009-01-12 12:14:40 +01:00
mach-integrator libata-sff: fix incorrect EH message 2009-01-26 06:36:16 -05:00
mach-iop13xx [ARM] make page_to_dma() highmem aware 2009-03-15 21:01:21 -04:00
mach-iop32x [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-iop33x [ARM] fix missing includes for iop33x and sa1100_ir 2008-12-01 23:01:19 +00:00
mach-ixp4xx Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
mach-ixp23xx [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-ixp2000 [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-kirkwood [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support 2009-02-17 22:37:09 +00:00
mach-ks8695 [ARM] make page_to_dma() highmem aware 2009-03-15 21:01:21 -04:00
mach-l7200 [ARM] Add a common typesafe __io implementation 2008-11-30 11:45:54 +00:00
mach-lh7a40x arm: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:43 -08:00
mach-loki [ARM] Hide ISA DMA API when ISA_DMA_API is unset 2008-11-29 18:42:40 +00:00
mach-msm [ARM] msm: fix build errors 2009-01-28 10:19:52 +00:00
mach-mv78xx0 [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support 2009-02-17 22:37:09 +00:00
mach-mx1 MX1 fix include 2009-03-06 17:28:10 +01:00
mach-mx2 [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
mach-mx3 [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
mach-netx [ARM] fix netx 2009-01-08 16:29:44 +00:00
mach-ns9xxx Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
mach-omap1 ARM: OMAP: Fix hsmmc init, v2 2009-01-29 08:57:16 -08:00
mach-omap2 ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz 2009-03-04 10:07:42 -08:00
mach-orion5x [ARM] orion5x: pass dram mbus data to xor driver 2009-03-03 17:59:43 -05:00
mach-pnx4008 [ARM] fix pnx4008 2009-01-08 16:29:43 +00:00
mach-pxa [ARM] pxa: stop and disable IRQ for each DMA channels at startup 2009-01-21 11:29:19 +08:00
mach-realview [ARM] Fix realview build 2009-01-08 16:29:41 +00:00
mach-rpc Add i2c_board_info for RiscPC PCF8583 2009-02-24 19:19:50 +01:00
mach-s3c24a0/include/mach [ARM] S3C24A0: Remove duplicate <mach/io.h> file 2008-12-18 16:35:59 +00:00
mach-s3c2400 [ARM] remove a common set of __virt_to_bus definitions 2008-11-28 15:36:49 +00:00
mach-s3c2410 [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
mach-s3c2412 [ARM] S3C: Remove unnecessary <linux/delay.h> includes 2008-12-18 16:36:02 +00:00
mach-s3c2440 [ARM] 5358/1: AT2440EVB: Use new include path of mci.h 2009-01-08 16:29:41 +00:00
mach-s3c2442 [ARM] Arrange for platforms to select appropriate CPU support 2008-11-27 12:38:00 +00:00
mach-s3c2443 [ARM] S3C: Remove unnecessary <linux/delay.h> includes 2008-12-18 16:36:02 +00:00
mach-s3c6400 [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
mach-s3c6410 [ARM] SMDK6410: Declare iodesc table static 2009-02-26 23:21:49 +00:00
mach-sa1100 rename platform_driver name "flash" to "sa1100-mtd" 2009-01-31 01:21:58 +01:00
mach-shark [ARM] Rename ISA mach/dma.h header to mach/isa-dma.h 2008-11-29 18:49:55 +00:00
mach-versatile arm: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:43 -08:00
mach-w90x900 [ARM] w90x900: fix build errors and warnings 2009-01-12 13:51:03 +00:00
mm [ARM] introduce dma_cache_maint_page() 2009-03-15 21:01:21 -04:00
nwfpe [ARM] Convert asm/uaccess.h to linux/uaccess.h 2008-09-06 11:35:55 +01:00
oprofile cpumask: make irq_set_affinity() take a const struct cpumask 2008-12-13 21:20:26 +10:30
plat-iop [ARM] iop: iop3xx needs registers mapped uncached+unbuffered 2008-11-09 11:18:36 +00:00
plat-mxc mmc: Add a MX2/MX3 specific SDHC driver 2009-02-02 20:57:05 +01:00
plat-omap [ARM] make page_to_dma() highmem aware 2009-03-15 21:01:21 -04:00
plat-orion [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support 2009-02-17 22:37:09 +00:00
plat-s3c [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
plat-s3c24xx [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
plat-s3c64xx Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixes 2009-03-06 17:13:52 +00:00
tools [ARM] update mach-types 2009-03-12 21:33:06 +00:00
vfp [ARM] 5349/1: VFP: Add PM code to save and restore current VFP state 2008-12-18 21:21:34 +00:00
Kconfig Staging: Kconfig for ARCH=arm,8300, cris 2009-01-06 13:51:38 -08:00
Kconfig-nommu [ARM] 4532/1: allow configuration of processor ID 2007-10-12 23:43:02 +01:00
Kconfig.debug [ARM] CONFIG_DEBUG_STACK_USAGE 2008-01-26 14:50:06 +00:00
Makefile Merge branch 'next-merged' of git://aeryn.fluff.org.uk/bjdooks/linux into devel 2008-12-18 22:15:30 +00:00