Browse Source

arch: define the ARCH_DMA_ADDR_T_64BIT config symbol in lib/Kconfig

Define this symbol if the architecture either uses 64-bit pointers or the
PHYS_ADDR_T_64BIT is set.  This covers 95% of the old arch magic.  We only
need an additional select for Xen on ARM (why anyway?), and we now always
set ARCH_DMA_ADDR_T_64BIT on mips boards with 64-bit physical addressing
instead of only doing it when highmem is set.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: James Hogan <jhogan@kernel.org>
Christoph Hellwig 7 years ago
parent
commit
4965a68780

+ 0 - 3
arch/alpha/Kconfig

@@ -66,9 +66,6 @@ config ZONE_DMA
 	bool
 	bool
 	default y
 	default y
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool y
-
 config GENERIC_ISA_DMA
 config GENERIC_ISA_DMA
 	bool
 	bool
 	default y
 	default y

+ 0 - 3
arch/arc/Kconfig

@@ -458,9 +458,6 @@ config ARC_HAS_PAE40
 	  Enable access to physical memory beyond 4G, only supported on
 	  Enable access to physical memory beyond 4G, only supported on
 	  ARC cores with 40 bit Physical Addressing support
 	  ARC cores with 40 bit Physical Addressing support
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	bool
-
 config ARC_KVADDR_SIZE
 config ARC_KVADDR_SIZE
 	int "Kernel Virtual Address Space size (MB)"
 	int "Kernel Virtual Address Space size (MB)"
 	range 0 512
 	range 0 512

+ 0 - 1
arch/arm/mach-axxia/Kconfig

@@ -2,7 +2,6 @@
 config ARCH_AXXIA
 config ARCH_AXXIA
 	bool "LSI Axxia platforms"
 	bool "LSI Axxia platforms"
 	depends on ARCH_MULTI_V7 && ARM_LPAE
 	depends on ARCH_MULTI_V7 && ARM_LPAE
-	select ARCH_DMA_ADDR_T_64BIT
 	select ARM_AMBA
 	select ARM_AMBA
 	select ARM_GIC
 	select ARM_GIC
 	select ARM_TIMER_SP804
 	select ARM_TIMER_SP804

+ 0 - 1
arch/arm/mach-bcm/Kconfig

@@ -211,7 +211,6 @@ config ARCH_BRCMSTB
 	select BRCMSTB_L2_IRQ
 	select BRCMSTB_L2_IRQ
 	select BCM7120_L2_IRQ
 	select BCM7120_L2_IRQ
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_HAS_HOLES_MEMORYMODEL
-	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select ZONE_DMA if ARM_LPAE
 	select ZONE_DMA if ARM_LPAE
 	select SOC_BRCMSTB
 	select SOC_BRCMSTB
 	select SOC_BUS
 	select SOC_BUS

+ 0 - 1
arch/arm/mach-exynos/Kconfig

@@ -112,7 +112,6 @@ config SOC_EXYNOS5440
 	bool "SAMSUNG EXYNOS5440"
 	bool "SAMSUNG EXYNOS5440"
 	default y
 	default y
 	depends on ARCH_EXYNOS5
 	depends on ARCH_EXYNOS5
-	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select HAVE_ARM_ARCH_TIMER
 	select HAVE_ARM_ARCH_TIMER
 	select AUTO_ZRELADDR
 	select AUTO_ZRELADDR
 	select PINCTRL_EXYNOS5440
 	select PINCTRL_EXYNOS5440

+ 0 - 1
arch/arm/mach-highbank/Kconfig

@@ -1,7 +1,6 @@
 config ARCH_HIGHBANK
 config ARCH_HIGHBANK
 	bool "Calxeda ECX-1000/2000 (Highbank/Midway)"
 	bool "Calxeda ECX-1000/2000 (Highbank/Midway)"
 	depends on ARCH_MULTI_V7
 	depends on ARCH_MULTI_V7
-	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_HAS_HOLES_MEMORYMODEL
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select ARM_AMBA
 	select ARM_AMBA

+ 0 - 1
arch/arm/mach-rockchip/Kconfig

@@ -3,7 +3,6 @@ config ARCH_ROCKCHIP
 	depends on ARCH_MULTI_V7
 	depends on ARCH_MULTI_V7
 	select PINCTRL
 	select PINCTRL
 	select PINCTRL_ROCKCHIP
 	select PINCTRL_ROCKCHIP
-	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select ARCH_HAS_RESET_CONTROLLER
 	select ARCH_HAS_RESET_CONTROLLER
 	select ARM_AMBA
 	select ARM_AMBA
 	select ARM_GIC
 	select ARM_GIC

+ 0 - 1
arch/arm/mach-shmobile/Kconfig

@@ -29,7 +29,6 @@ config ARCH_RMOBILE
 menuconfig ARCH_RENESAS
 menuconfig ARCH_RENESAS
 	bool "Renesas ARM SoCs"
 	bool "Renesas ARM SoCs"
 	depends on ARCH_MULTI_V7 && MMU
 	depends on ARCH_MULTI_V7 && MMU
-	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select ARCH_SHMOBILE
 	select ARCH_SHMOBILE
 	select ARM_GIC
 	select ARM_GIC
 	select GPIOLIB
 	select GPIOLIB

+ 0 - 1
arch/arm/mach-tegra/Kconfig

@@ -15,6 +15,5 @@ menuconfig ARCH_TEGRA
 	select RESET_CONTROLLER
 	select RESET_CONTROLLER
 	select SOC_BUS
 	select SOC_BUS
 	select ZONE_DMA if ARM_LPAE
 	select ZONE_DMA if ARM_LPAE
-	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	help
 	help
 	  This enables support for NVIDIA Tegra based systems.
 	  This enables support for NVIDIA Tegra based systems.

+ 0 - 3
arch/arm/mm/Kconfig

@@ -674,9 +674,6 @@ config ARM_PV_FIXUP
 	def_bool y
 	def_bool y
 	depends on ARM_LPAE && ARM_PATCH_PHYS_VIRT && ARCH_KEYSTONE
 	depends on ARM_LPAE && ARM_PATCH_PHYS_VIRT && ARCH_KEYSTONE
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	bool
-
 config ARM_THUMB
 config ARM_THUMB
 	bool "Support Thumb user binaries" if !CPU_THUMBONLY && EXPERT
 	bool "Support Thumb user binaries" if !CPU_THUMBONLY && EXPERT
 	depends on CPU_THUMB_CAPABLE
 	depends on CPU_THUMB_CAPABLE

+ 0 - 3
arch/arm64/Kconfig

@@ -235,9 +235,6 @@ config ZONE_DMA32
 config HAVE_GENERIC_GUP
 config HAVE_GENERIC_GUP
 	def_bool y
 	def_bool y
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool y
-
 config SMP
 config SMP
 	def_bool y
 	def_bool y
 
 

+ 0 - 3
arch/ia64/Kconfig

@@ -79,9 +79,6 @@ config MMU
 	bool
 	bool
 	default y
 	default y
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool y
-
 config SWIOTLB
 config SWIOTLB
        bool
        bool
 
 

+ 0 - 3
arch/mips/Kconfig

@@ -1100,9 +1100,6 @@ config GPIO_TXX9
 config FW_CFE
 config FW_CFE
 	bool
 	bool
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool (HIGHMEM && PHYS_ADDR_T_64BIT) || 64BIT
-
 config ARCH_SUPPORTS_UPROBES
 config ARCH_SUPPORTS_UPROBES
 	bool
 	bool
 
 

+ 0 - 3
arch/powerpc/Kconfig

@@ -13,9 +13,6 @@ config 64BIT
 	bool
 	bool
 	default y if PPC64
 	default y if PPC64
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool PHYS_ADDR_T_64BIT
-
 config MMU
 config MMU
 	bool
 	bool
 	default y
 	default y

+ 0 - 3
arch/riscv/Kconfig

@@ -44,9 +44,6 @@ config ZONE_DMA32
 	bool
 	bool
 	default y
 	default y
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool y
-
 config PAGE_OFFSET
 config PAGE_OFFSET
 	hex
 	hex
 	default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
 	default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB

+ 0 - 3
arch/s390/Kconfig

@@ -35,9 +35,6 @@ config GENERIC_BUG
 config GENERIC_BUG_RELATIVE_POINTERS
 config GENERIC_BUG_RELATIVE_POINTERS
 	def_bool y
 	def_bool y
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool y
-
 config GENERIC_LOCKBREAK
 config GENERIC_LOCKBREAK
 	def_bool y if SMP && PREEMPT
 	def_bool y if SMP && PREEMPT
 
 

+ 0 - 4
arch/sparc/Kconfig

@@ -104,10 +104,6 @@ config ARCH_ATU
 	bool
 	bool
 	default y if SPARC64
 	default y if SPARC64
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	bool
-	default y if ARCH_ATU
-
 config STACKTRACE_SUPPORT
 config STACKTRACE_SUPPORT
 	bool
 	bool
 	default y if SPARC64
 	default y if SPARC64

+ 0 - 4
arch/x86/Kconfig

@@ -1479,10 +1479,6 @@ config X86_5LEVEL
 
 
 	  Say N if unsure.
 	  Say N if unsure.
 
 
-config ARCH_DMA_ADDR_T_64BIT
-	def_bool y
-	depends on X86_64 || HIGHMEM64G
-
 config X86_DIRECT_GBPAGES
 config X86_DIRECT_GBPAGES
 	def_bool y
 	def_bool y
 	depends on X86_64 && !DEBUG_PAGEALLOC
 	depends on X86_64 && !DEBUG_PAGEALLOC

+ 3 - 0
lib/Kconfig

@@ -435,6 +435,9 @@ config NEED_SG_DMA_LENGTH
 config NEED_DMA_MAP_STATE
 config NEED_DMA_MAP_STATE
 	bool
 	bool
 
 
+config ARCH_DMA_ADDR_T_64BIT
+	def_bool 64BIT || PHYS_ADDR_T_64BIT
+
 config IOMMU_HELPER
 config IOMMU_HELPER
 	bool
 	bool