18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig DRM_NOUVEAU
38c2ecf20Sopenharmony_ci	tristate "Nouveau (NVIDIA) cards"
48c2ecf20Sopenharmony_ci	depends on DRM && PCI && MMU
58c2ecf20Sopenharmony_ci	select IOMMU_API
68c2ecf20Sopenharmony_ci	select FW_LOADER
78c2ecf20Sopenharmony_ci	select DRM_KMS_HELPER
88c2ecf20Sopenharmony_ci	select DRM_TTM
98c2ecf20Sopenharmony_ci	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
108c2ecf20Sopenharmony_ci	select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
118c2ecf20Sopenharmony_ci	select X86_PLATFORM_DEVICES if ACPI && X86
128c2ecf20Sopenharmony_ci	select ACPI_WMI if ACPI && X86
138c2ecf20Sopenharmony_ci	select MXM_WMI if ACPI && X86
148c2ecf20Sopenharmony_ci	select POWER_SUPPLY
158c2ecf20Sopenharmony_ci	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
168c2ecf20Sopenharmony_ci	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
178c2ecf20Sopenharmony_ci	select INPUT if ACPI && X86
188c2ecf20Sopenharmony_ci	select THERMAL if ACPI && X86
198c2ecf20Sopenharmony_ci	select ACPI_VIDEO if ACPI && X86
208c2ecf20Sopenharmony_ci	select SND_HDA_COMPONENT if SND_HDA_CORE
218c2ecf20Sopenharmony_ci	help
228c2ecf20Sopenharmony_ci	  Choose this option for open-source NVIDIA support.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciconfig NOUVEAU_LEGACY_CTX_SUPPORT
258c2ecf20Sopenharmony_ci	bool "Nouveau legacy context support"
268c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
278c2ecf20Sopenharmony_ci	select DRM_LEGACY
288c2ecf20Sopenharmony_ci	default y
298c2ecf20Sopenharmony_ci	help
308c2ecf20Sopenharmony_ci	  There was a version of the nouveau DDX that relied on legacy
318c2ecf20Sopenharmony_ci	  ctx ioctls not erroring out. But that was back in time a long
328c2ecf20Sopenharmony_ci	  ways, so offer a way to disable it now. For uapi compat with
338c2ecf20Sopenharmony_ci	  old nouveau ddx this should be on by default, but modern distros
348c2ecf20Sopenharmony_ci	  should consider turning it off.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig NOUVEAU_PLATFORM_DRIVER
378c2ecf20Sopenharmony_ci	bool "Nouveau (NVIDIA) SoC GPUs"
388c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU && ARCH_TEGRA
398c2ecf20Sopenharmony_ci	default y
408c2ecf20Sopenharmony_ci	help
418c2ecf20Sopenharmony_ci	  Support for Nouveau platform driver, used for SoC GPUs as found
428c2ecf20Sopenharmony_ci	  on NVIDIA Tegra K1.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ciconfig NOUVEAU_DEBUG
458c2ecf20Sopenharmony_ci	int "Maximum debug level"
468c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
478c2ecf20Sopenharmony_ci	range 0 7
488c2ecf20Sopenharmony_ci	default 5
498c2ecf20Sopenharmony_ci	help
508c2ecf20Sopenharmony_ci	  Selects the maximum debug level to compile support for.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	  0 - fatal
538c2ecf20Sopenharmony_ci	  1 - error
548c2ecf20Sopenharmony_ci	  2 - warning
558c2ecf20Sopenharmony_ci	  3 - info
568c2ecf20Sopenharmony_ci	  4 - debug
578c2ecf20Sopenharmony_ci	  5 - trace (recommended)
588c2ecf20Sopenharmony_ci	  6 - paranoia
598c2ecf20Sopenharmony_ci	  7 - spam
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci	  The paranoia and spam levels will add a lot of extra checks which
628c2ecf20Sopenharmony_ci	  may potentially slow down driver operation.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig NOUVEAU_DEBUG_DEFAULT
658c2ecf20Sopenharmony_ci	int "Default debug level"
668c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
678c2ecf20Sopenharmony_ci	range 0 7
688c2ecf20Sopenharmony_ci	default 3
698c2ecf20Sopenharmony_ci	help
708c2ecf20Sopenharmony_ci	  Selects the default debug level
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciconfig NOUVEAU_DEBUG_MMU
738c2ecf20Sopenharmony_ci	bool "Enable additional MMU debugging"
748c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
758c2ecf20Sopenharmony_ci	default n
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  Say Y here if you want to enable verbose MMU debug output.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciconfig NOUVEAU_DEBUG_PUSH
808c2ecf20Sopenharmony_ci	bool "Enable additional push buffer debugging"
818c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
828c2ecf20Sopenharmony_ci	default n
838c2ecf20Sopenharmony_ci	help
848c2ecf20Sopenharmony_ci	  Say Y here if you want to enable verbose push buffer debug output
858c2ecf20Sopenharmony_ci	  and sanity checks.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciconfig DRM_NOUVEAU_BACKLIGHT
888c2ecf20Sopenharmony_ci	bool "Support for backlight control"
898c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
908c2ecf20Sopenharmony_ci	default y
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Say Y here if you want to control the backlight of your display
938c2ecf20Sopenharmony_ci	  (e.g. a laptop panel).
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ciconfig DRM_NOUVEAU_SVM
968c2ecf20Sopenharmony_ci	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
978c2ecf20Sopenharmony_ci	depends on DEVICE_PRIVATE
988c2ecf20Sopenharmony_ci	depends on DRM_NOUVEAU
998c2ecf20Sopenharmony_ci	depends on MMU
1008c2ecf20Sopenharmony_ci	depends on STAGING
1018c2ecf20Sopenharmony_ci	select HMM_MIRROR
1028c2ecf20Sopenharmony_ci	select MMU_NOTIFIER
1038c2ecf20Sopenharmony_ci	default n
1048c2ecf20Sopenharmony_ci	help
1058c2ecf20Sopenharmony_ci	  Say Y here if you want to enable experimental support for
1068c2ecf20Sopenharmony_ci	  Shared Virtual Memory (SVM).
107