Commit 43535b0a authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jason Gunthorpe
Browse files

mm: remove the HMM config option



All the mm/hmm.c code is better keyed off HMM_MIRROR.  Also let nouveau
depend on it instead of the mix of a dummy dependency symbol plus the
actually selected one.  Drop various odd dependencies, as the code is
pretty portable.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
Reviewed-by: default avatarJason Gunthorpe <jgg@mellanox.com>
Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 7328d9cc
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -84,11 +84,10 @@ config DRM_NOUVEAU_BACKLIGHT

config DRM_NOUVEAU_SVM
	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
	depends on ARCH_HAS_HMM
	depends on DEVICE_PRIVATE
	depends on DRM_NOUVEAU
	depends on HMM_MIRROR
	depends on STAGING
	select HMM_MIRROR
	default n
	help
	  Say Y here if you want to enable experimental support for
+1 −4
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@
#include <linux/kconfig.h>
#include <asm/pgtable.h>

#if IS_ENABLED(CONFIG_HMM)
#ifdef CONFIG_HMM_MIRROR

#include <linux/device.h>
#include <linux/migrate.h>
@@ -332,9 +332,6 @@ static inline uint64_t hmm_pfn_from_pfn(const struct hmm_range *range,
	return hmm_device_entry_from_pfn(range, pfn);
}



#if IS_ENABLED(CONFIG_HMM_MIRROR)
/*
 * Mirroring: how to synchronize device page table with CPU page table.
 *
+1 −1
Original line number Diff line number Diff line
@@ -501,7 +501,7 @@ struct mm_struct {
#endif
		struct work_struct async_put_work;

#if IS_ENABLED(CONFIG_HMM)
#ifdef CONFIG_HMM_MIRROR
		/* HMM needs to track a few things per mm */
		struct hmm *hmm;
#endif
+4 −23
Original line number Diff line number Diff line
@@ -669,37 +669,18 @@ config ZONE_DEVICE

	  If FS_DAX is enabled, then say Y.

config ARCH_HAS_HMM_MIRROR
	bool
	default y
	depends on (X86_64 || PPC64)
	depends on MMU && 64BIT

config ARCH_HAS_HMM
	bool
	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
	default y

config MIGRATE_VMA_HELPER
	bool

config DEV_PAGEMAP_OPS
	bool

config HMM
	bool
	select MMU_NOTIFIER
	select MIGRATE_VMA_HELPER

config HMM_MIRROR
	bool "HMM mirror CPU page table into a device page table"
	depends on ARCH_HAS_HMM
	select HMM
	depends on (X86_64 || PPC64)
	depends on MMU && 64BIT
	select MMU_NOTIFIER
	select MIGRATE_VMA_HELPER
	help
	  Select HMM_MIRROR if you want to mirror range of the CPU page table of a
	  process into a device page table. Here, mirror means "keep synchronized".
+1 −1
Original line number Diff line number Diff line
@@ -102,5 +102,5 @@ obj-$(CONFIG_FRAME_VECTOR) += frame_vector.o
obj-$(CONFIG_DEBUG_PAGE_REF) += debug_page_ref.o
obj-$(CONFIG_HARDENED_USERCOPY) += usercopy.o
obj-$(CONFIG_PERCPU_STATS) += percpu-stats.o
obj-$(CONFIG_HMM) += hmm.o
obj-$(CONFIG_HMM_MIRROR) += hmm.o
obj-$(CONFIG_MEMFD_CREATE) += memfd.o
Loading