[PATCH] mm/hmm: kconfig split HMM address space mirroring from device memory

From: jglisse
Date: Thu Apr 11 2019 - 14:03:36 EST


From: JÃrÃme Glisse <jglisse@xxxxxxxxxx>

To allow building device driver that only care about address space
mirroring (like RDMA ODP) on platform that do not have all the pre-
requisite for HMM device memory (like ZONE_DEVICE on ARM) split the
HMM_MIRROR option dependency from the HMM_DEVICE dependency.

Signed-off-by: JÃrÃme Glisse <jglisse@xxxxxxxxxx>
Cc: Leon Romanovsky <leonro@xxxxxxxxxxxx>
Cc: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Ralph Campbell <rcampbell@xxxxxxxxxx>
Cc: John Hubbard <jhubbard@xxxxxxxxxx>
---
mm/Kconfig | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/mm/Kconfig b/mm/Kconfig
index 2e6d24d783f7..00d9febbc775 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -679,12 +679,13 @@ config ZONE_DEVICE
config ARCH_HAS_HMM
bool
default y
- depends on (X86_64 || PPC64)
- depends on ZONE_DEVICE
depends on MMU && 64BIT
- depends on MEMORY_HOTPLUG
- depends on MEMORY_HOTREMOVE
- depends on SPARSEMEM_VMEMMAP
+
+config ARCH_HAS_HMM_DEVICE
+ bool
+ default y
+ depends on (X86_64 || PPC64)
+ depends on ARCH_HAS_ZONE_DEVICE

config MIGRATE_VMA_HELPER
bool
@@ -710,7 +711,8 @@ config HMM_MIRROR

config DEVICE_PRIVATE
bool "Unaddressable device memory (GPU memory, ...)"
- depends on ARCH_HAS_HMM
+ depends on ARCH_HAS_HMM_DEVICE
+ depends on ZONE_DEVICE
select HMM
select DEV_PAGEMAP_OPS

@@ -721,7 +723,8 @@ config DEVICE_PRIVATE

config DEVICE_PUBLIC
bool "Addressable device memory (like GPU memory)"
- depends on ARCH_HAS_HMM
+ depends on ARCH_HAS_HMM_DEVICE
+ depends on ZONE_DEVICE
select HMM
select DEV_PAGEMAP_OPS

--
2.20.1