# SPDX-License-Identifier: GPL-2.0-only
config DRM_NOUVEAU
	tristate "Nouveau (NVIDIA) cards"
	depends on DRM && PCI && MMU
	select IOMMU_API
	select FW_LOADER
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_HDMI_HELPER
	select DRM_DISPLAY_HELPER
	select DRM_KMS_HELPER
	select DRM_TTM
	select DRM_TTM_HELPER
	select DRM_EXEC
	select DRM_SCHED
	select I2C
	select I2C_ALGOBIT
	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
	select X86_PLATFORM_DEVICES if ACPI && X86
	select ACPI_WMI if ACPI && X86
	select MXM_WMI if ACPI && X86
	select POWER_SUPPLY
	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
	select INPUT if ACPI && X86
	select THERMAL if ACPI && X86
	select ACPI_VIDEO if ACPI && X86
	select SND_HDA_COMPONENT if SND_HDA_CORE
	help
	  Choose this option for open-source NVIDIA support.

config NOUVEAU_PLATFORM_DRIVER
	bool "Nouveau (NVIDIA) SoC GPUs"
	depends on DRM_NOUVEAU && ARCH_TEGRA
	default y
	help
	  Support for Nouveau platform driver, used for SoC GPUs as found
	  on NVIDIA Tegra K1.

config NOUVEAU_DEBUG
	int "Maximum debug level"
	depends on DRM_NOUVEAU
	range 0 7
	default 5
	help
	  Selects the maximum debug level to compile support for.

	  0 - fatal
	  1 - error
	  2 - warning
	  3 - info
	  4 - debug
	  5 - trace (recommended)
	  6 - paranoia
	  7 - spam

	  The paranoia and spam levels will add a lot of extra checks which
	  may potentially slow down driver operation.

config NOUVEAU_DEBUG_DEFAULT
	int "Default debug level"
	depends on DRM_NOUVEAU
	range 0 7
	default 3
	help
	  Selects the default debug level

config NOUVEAU_DEBUG_MMU
	bool "Enable additional MMU debugging"
	depends on DRM_NOUVEAU
	default n
	help
	  Say Y here if you want to enable verbose MMU debug output.

config NOUVEAU_DEBUG_PUSH
	bool "Enable additional push buffer debugging"
	depends on DRM_NOUVEAU
	default n
	help
	  Say Y here if you want to enable verbose push buffer debug output
	  and sanity checks.

config DRM_NOUVEAU_BACKLIGHT
	bool "Support for backlight control"
	depends on DRM_NOUVEAU
	default y
	help
	  Say Y here if you want to control the backlight of your display
	  (e.g. a laptop panel).

config DRM_NOUVEAU_SVM
	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
	depends on DEVICE_PRIVATE
	depends on DRM_NOUVEAU
	depends on MMU
	depends on STAGING
	select HMM_MIRROR
	select MMU_NOTIFIER
	default n
	help
	  Say Y here if you want to enable experimental support for
	  Shared Virtual Memory (SVM).