linux/arch/arm/kernel
Lennert Buytenhek 23759dc643 [ARM] 3439/2: xsc3: add I/O coherency support
Patch from Lennert Buytenhek

This patch adds support for the I/O coherent cache available on the
xsc3.  The approach is to provide a simple API to determine whether the
chipset supports coherency by calling arch_is_coherent() and then
setting the appropriate system memory PTE and PMD bits.  In addition,
we call this API on dma_alloc_coherent() and dma_map_single() calls.
A generic version exists that will compile out all the coherency-related
code that is not needed on the majority of ARM systems.

Note that we do not check for coherency in the dma_alloc_writecombine()
function as that still requires a special PTE setting.  We also don't
touch dma_mmap_coherent() as that is a special ARM-only API that is by
definition only used on non-coherent system.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-04-02 00:07:39 +01:00
..
apm.c [ARM] Convert kmalloc+memset to kzalloc 2006-03-21 22:06:17 +00:00
armksyms.c [ARM] 3437/1: Kill duplicate exports of string library functions 2006-04-01 12:13:30 +01:00
arthur.c
asm-offsets.c [ARM] iwmmxt thread state alignment 2006-03-12 22:36:06 +00:00
bios32.c [ARM] Convert kmalloc+memset to kzalloc 2006-03-21 22:06:17 +00:00
calls.S [ARM] 3338/1: old ABI compat: sys_socketcall 2006-02-16 22:36:13 +00:00
compat.c [ARM] 3365/1: [cleanup] header for compat.c exported functions 2006-03-15 23:17:30 +00:00
compat.h [ARM] 3365/1: [cleanup] header for compat.c exported functions 2006-03-15 23:17:30 +00:00
debug.S [ARM] Remove unnecessary asm/hardware.h includes 2006-03-21 22:05:50 +00:00
dma-isa.c [ARM] Remove '__address' from scatterlist and convert to DMA API 2006-01-04 15:08:30 +00:00
dma.c [ARM] Move DMA exports to be next to each function 2006-01-04 15:52:45 +00:00
ecard.c [ARM] Convert kmalloc+memset to kzalloc 2006-03-21 22:06:17 +00:00
entry-armv.S [ARM] 3420/1: Missing clobber in example code 2006-03-28 22:19:29 +01:00
entry-common.S [ARM] safer handling of syscall table padding 2006-01-19 12:57:01 +00:00
entry-header.S [ARM] Move enable_irq and disable_irq to assembler.h 2006-03-23 16:59:37 +00:00
fiq.c [ARM] 3256/1: Make the function-returning ldm's use sp as the base register 2006-01-12 16:53:51 +00:00
head-common.S [ARM] nommu: start-up code 2006-03-27 14:58:25 +01:00
head-nommu.S [ARM] nommu: start-up code 2006-03-27 14:58:25 +01:00
head.S Merge nommu tree 2006-03-28 22:05:10 +01:00
init_task.c
io.c
irq.c [ARM] Quieten spurious IRQ detection 2006-03-22 10:22:58 +00:00
isa.c
iwmmxt.S
Makefile [ARM] 3109/1: old ABI compat: syscall wrappers for ABI impedance matching 2006-01-14 16:35:31 +00:00
module.c [ARM] 3205/1: Handle new EABI relocations when loading kernel modules. 2005-12-14 22:04:22 +00:00
process.c [PATCH] unexport get_wchan 2006-03-31 12:19:01 -08:00
ptrace.c [ARM] Fix "thead" typo 2006-03-15 14:57:13 +00:00
ptrace.h
semaphore.c [ARM] 3103/1: ARM EABI: stack pointer must be 64-bit aligned (part 2) 2006-01-14 16:18:09 +00:00
setup.c [ARM] 3439/2: xsc3: add I/O coherency support 2006-04-02 00:07:39 +01:00
signal.c [ARM] 3270/1: ARM EABI: fix sigreturn and rt_sigreturn 2006-01-18 22:38:47 +00:00
signal.h [ARM] nommu: fixups for the exception vectors 2006-03-27 15:18:50 +01:00
smp.c [ARM] SMP: don't set cpu_*_map in smp_prepare_boot_cpu 2006-03-25 21:37:29 +00:00
sys_arm.c [ARM] noMMU: block sys_fork in nommu mode 2006-03-21 22:03:19 +00:00
sys_oabi-compat.c [ARM] 3338/1: old ABI compat: sys_socketcall 2006-02-16 22:36:13 +00:00
time.c [PATCH] fix next_timer_interrupt() for hrtimer 2006-03-06 18:40:44 -08:00
traps.c Merge nommu tree 2006-03-28 22:05:10 +01:00
vmlinux.lds.S [ARM] Make kernel link address depend on PAGE_OFFSET 2006-01-03 17:28:33 +00:00