diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-05-26 23:50:33 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-05-27 02:33:59 -0400 |
commit | 8b31e49d1d75729c1da9009664ba52abd1adc628 (patch) | |
tree | 046095a0cce051a471c7af93784c024c29a4f99b /arch/powerpc/Kconfig | |
parent | f637a49e507c88354ab32b5d914e06acfb7ee00d (diff) |
powerpc: Fix up dma_alloc_coherent() on platforms without cache coherency.
The implementation we just revived has issues, such as using a
Kconfig-defined virtual address area in kernel space that nothing
actually carves out (and thus will overlap whatever is there),
or having some dependencies on being self contained in a single
PTE page which adds unnecessary constraints on the kernel virtual
address space.
This fixes it by using more classic PTE accessors and automatically
locating the area for consistent memory, carving an appropriate hole
in the kernel virtual address space, leaving only the size of that
area as a Kconfig option. It also brings some dma-mask related fixes
from the ARM implementation which was almost identical initially but
grew its own fixes.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 3bb43adce44d..cdc9a6ff4be8 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -868,19 +868,6 @@ config TASK_SIZE | |||
868 | default "0x80000000" if PPC_PREP || PPC_8xx | 868 | default "0x80000000" if PPC_PREP || PPC_8xx |
869 | default "0xc0000000" | 869 | default "0xc0000000" |
870 | 870 | ||
871 | config CONSISTENT_START_BOOL | ||
872 | bool "Set custom consistent memory pool address" | ||
873 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | ||
874 | help | ||
875 | This option allows you to set the base virtual address | ||
876 | of the consistent memory pool. This pool of virtual | ||
877 | memory is used to make consistent memory allocations. | ||
878 | |||
879 | config CONSISTENT_START | ||
880 | hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL | ||
881 | default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx) | ||
882 | default "0xff100000" if NOT_COHERENT_CACHE | ||
883 | |||
884 | config CONSISTENT_SIZE_BOOL | 871 | config CONSISTENT_SIZE_BOOL |
885 | bool "Set custom consistent memory pool size" | 872 | bool "Set custom consistent memory pool size" |
886 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | 873 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE |