^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate "Nouveau (NVIDIA) cards"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on DRM && PCI && MMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) select IOMMU_API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select FW_LOADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select DRM_KMS_HELPER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select DRM_TTM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) select X86_PLATFORM_DEVICES if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) select ACPI_WMI if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) select MXM_WMI if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) select POWER_SUPPLY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) # Similar to i915, we need to select ACPI_VIDEO and it's dependencies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) select BACKLIGHT_CLASS_DEVICE if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) select INPUT if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) select THERMAL if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) select ACPI_VIDEO if ACPI && X86
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) select SND_HDA_COMPONENT if SND_HDA_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Choose this option for open-source NVIDIA support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) config NOUVEAU_LEGACY_CTX_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) bool "Nouveau legacy context support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) select DRM_LEGACY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) There was a version of the nouveau DDX that relied on legacy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) ctx ioctls not erroring out. But that was back in time a long
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) ways, so offer a way to disable it now. For uapi compat with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) old nouveau ddx this should be on by default, but modern distros
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) should consider turning it off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) config NOUVEAU_PLATFORM_DRIVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) bool "Nouveau (NVIDIA) SoC GPUs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) depends on DRM_NOUVEAU && ARCH_TEGRA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Support for Nouveau platform driver, used for SoC GPUs as found
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) on NVIDIA Tegra K1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) config NOUVEAU_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) int "Maximum debug level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) range 0 7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) default 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Selects the maximum debug level to compile support for.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 0 - fatal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 1 - error
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 2 - warning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 3 - info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 4 - debug
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 5 - trace (recommended)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) 6 - paranoia
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 7 - spam
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) The paranoia and spam levels will add a lot of extra checks which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) may potentially slow down driver operation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) config NOUVEAU_DEBUG_DEFAULT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) int "Default debug level"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) range 0 7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) default 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Selects the default debug level
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) config NOUVEAU_DEBUG_MMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) bool "Enable additional MMU debugging"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) Say Y here if you want to enable verbose MMU debug output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) config NOUVEAU_DEBUG_PUSH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) bool "Enable additional push buffer debugging"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Say Y here if you want to enable verbose push buffer debug output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) and sanity checks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) config DRM_NOUVEAU_BACKLIGHT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) bool "Support for backlight control"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) Say Y here if you want to control the backlight of your display
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) (e.g. a laptop panel).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) config DRM_NOUVEAU_SVM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) depends on DEVICE_PRIVATE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) depends on DRM_NOUVEAU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) depends on MMU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) depends on STAGING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) select HMM_MIRROR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) select MMU_NOTIFIER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) Say Y here if you want to enable experimental support for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) Shared Virtual Memory (SVM).