# SPDX-License-Identifier: GPL-2.0-only
config DRM_NOUVEAU
	tristate "Nouveau (NVIDIA) cards"
	depends on DRM && PCI && MMU
        select FW_LOADER
	select DRM_KMS_HELPER
	select DRM_TTM
	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
	select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
	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
	help
	  Choose this option for open-source NVIDIA support.

config NOUVEAU_LEGACY_CTX_SUPPORT
	bool "Nouveau legacy context support"
	depends on DRM_NOUVEAU
	select DRM_LEGACY
	default y
	help
	  There was a version of the nouveau DDX that relied on legacy
	  ctx ioctls not erroring out. But that was back in time a long
	  ways, so offer a way to disable it now. For uapi compat with
	  old nouveau ddx this should be on by default, but modern distros
	  should consider turning it off.

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 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).
