162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig DRM_NOUVEAU
362306a36Sopenharmony_ci	tristate "Nouveau (NVIDIA) cards"
462306a36Sopenharmony_ci	depends on DRM && PCI && MMU
562306a36Sopenharmony_ci	select IOMMU_API
662306a36Sopenharmony_ci	select FW_LOADER
762306a36Sopenharmony_ci	select DRM_DISPLAY_DP_HELPER
862306a36Sopenharmony_ci	select DRM_DISPLAY_HDMI_HELPER
962306a36Sopenharmony_ci	select DRM_DISPLAY_HELPER
1062306a36Sopenharmony_ci	select DRM_KMS_HELPER
1162306a36Sopenharmony_ci	select DRM_TTM
1262306a36Sopenharmony_ci	select DRM_TTM_HELPER
1362306a36Sopenharmony_ci	select DRM_EXEC
1462306a36Sopenharmony_ci	select DRM_SCHED
1562306a36Sopenharmony_ci	select I2C
1662306a36Sopenharmony_ci	select I2C_ALGOBIT
1762306a36Sopenharmony_ci	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
1862306a36Sopenharmony_ci	select X86_PLATFORM_DEVICES if ACPI && X86
1962306a36Sopenharmony_ci	select ACPI_WMI if ACPI && X86
2062306a36Sopenharmony_ci	select MXM_WMI if ACPI && X86
2162306a36Sopenharmony_ci	select POWER_SUPPLY
2262306a36Sopenharmony_ci	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
2362306a36Sopenharmony_ci	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
2462306a36Sopenharmony_ci	select INPUT if ACPI && X86
2562306a36Sopenharmony_ci	select THERMAL if ACPI && X86
2662306a36Sopenharmony_ci	select ACPI_VIDEO if ACPI && X86
2762306a36Sopenharmony_ci	select SND_HDA_COMPONENT if SND_HDA_CORE
2862306a36Sopenharmony_ci	help
2962306a36Sopenharmony_ci	  Choose this option for open-source NVIDIA support.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig NOUVEAU_PLATFORM_DRIVER
3262306a36Sopenharmony_ci	bool "Nouveau (NVIDIA) SoC GPUs"
3362306a36Sopenharmony_ci	depends on DRM_NOUVEAU && ARCH_TEGRA
3462306a36Sopenharmony_ci	default y
3562306a36Sopenharmony_ci	help
3662306a36Sopenharmony_ci	  Support for Nouveau platform driver, used for SoC GPUs as found
3762306a36Sopenharmony_ci	  on NVIDIA Tegra K1.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig NOUVEAU_DEBUG
4062306a36Sopenharmony_ci	int "Maximum debug level"
4162306a36Sopenharmony_ci	depends on DRM_NOUVEAU
4262306a36Sopenharmony_ci	range 0 7
4362306a36Sopenharmony_ci	default 5
4462306a36Sopenharmony_ci	help
4562306a36Sopenharmony_ci	  Selects the maximum debug level to compile support for.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	  0 - fatal
4862306a36Sopenharmony_ci	  1 - error
4962306a36Sopenharmony_ci	  2 - warning
5062306a36Sopenharmony_ci	  3 - info
5162306a36Sopenharmony_ci	  4 - debug
5262306a36Sopenharmony_ci	  5 - trace (recommended)
5362306a36Sopenharmony_ci	  6 - paranoia
5462306a36Sopenharmony_ci	  7 - spam
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	  The paranoia and spam levels will add a lot of extra checks which
5762306a36Sopenharmony_ci	  may potentially slow down driver operation.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig NOUVEAU_DEBUG_DEFAULT
6062306a36Sopenharmony_ci	int "Default debug level"
6162306a36Sopenharmony_ci	depends on DRM_NOUVEAU
6262306a36Sopenharmony_ci	range 0 7
6362306a36Sopenharmony_ci	default 3
6462306a36Sopenharmony_ci	help
6562306a36Sopenharmony_ci	  Selects the default debug level
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciconfig NOUVEAU_DEBUG_MMU
6862306a36Sopenharmony_ci	bool "Enable additional MMU debugging"
6962306a36Sopenharmony_ci	depends on DRM_NOUVEAU
7062306a36Sopenharmony_ci	default n
7162306a36Sopenharmony_ci	help
7262306a36Sopenharmony_ci	  Say Y here if you want to enable verbose MMU debug output.
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciconfig NOUVEAU_DEBUG_PUSH
7562306a36Sopenharmony_ci	bool "Enable additional push buffer debugging"
7662306a36Sopenharmony_ci	depends on DRM_NOUVEAU
7762306a36Sopenharmony_ci	default n
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  Say Y here if you want to enable verbose push buffer debug output
8062306a36Sopenharmony_ci	  and sanity checks.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciconfig DRM_NOUVEAU_BACKLIGHT
8362306a36Sopenharmony_ci	bool "Support for backlight control"
8462306a36Sopenharmony_ci	depends on DRM_NOUVEAU
8562306a36Sopenharmony_ci	default y
8662306a36Sopenharmony_ci	help
8762306a36Sopenharmony_ci	  Say Y here if you want to control the backlight of your display
8862306a36Sopenharmony_ci	  (e.g. a laptop panel).
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ciconfig DRM_NOUVEAU_SVM
9162306a36Sopenharmony_ci	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
9262306a36Sopenharmony_ci	depends on DEVICE_PRIVATE
9362306a36Sopenharmony_ci	depends on DRM_NOUVEAU
9462306a36Sopenharmony_ci	depends on MMU
9562306a36Sopenharmony_ci	depends on STAGING
9662306a36Sopenharmony_ci	select HMM_MIRROR
9762306a36Sopenharmony_ci	select MMU_NOTIFIER
9862306a36Sopenharmony_ci	default n
9962306a36Sopenharmony_ci	help
10062306a36Sopenharmony_ci	  Say Y here if you want to enable experimental support for
10162306a36Sopenharmony_ci	  Shared Virtual Memory (SVM).
102