config DRM_AMDGPU_USERPTR
        bool "Always enable userptr write support"
        depends on DRM_AMDGPU
-       depends on HMM_MIRROR
+       depends on MMU
+       select HMM_MIRROR
+       select MMU_NOTIFIER
        help
          This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it
          isn't already selected to enabled full userptr support.
 
        bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
        depends on DEVICE_PRIVATE
        depends on DRM_NOUVEAU
-       depends on HMM_MIRROR
+       depends on MMU
        depends on STAGING
+       select HMM_MIRROR
        select MIGRATE_VMA_HELPER
+       select MMU_NOTIFIER
        default n
        help
          Say Y here if you want to enable experimental support for
 
 config DEV_PAGEMAP_OPS
        bool
 
+#
+# Helpers to mirror range of the CPU page tables of a process into device page
+# tables.
+#
 config HMM_MIRROR
-       bool "HMM mirror CPU page table into a device page table"
+       bool
        depends on MMU
-       select MMU_NOTIFIER
-       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".
-         Prerequisites: the device must provide the ability to write-protect its
-         page tables (at PAGE_SIZE granularity), and must be able to recover from
-         the resulting potential page faults.
+       depends on MMU_NOTIFIER
 
 config DEVICE_PRIVATE
        bool "Unaddressable device memory (GPU memory, ...)"