xref: /openbmc/linux/drivers/gpu/drm/nouveau/Kconfig (revision 644edf52)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
26ee73861SBen Skeggsconfig DRM_NOUVEAU
38ba9ff11SAlexandre Courbot	tristate "Nouveau (NVIDIA) cards"
4011cda58SBenjamin Gaignard	depends on DRM && PCI && MMU
5ee864216SChen Zhou	select IOMMU_API
66ee73861SBen Skeggs	select FW_LOADER
71e0f6642SThomas Zimmermann	select DRM_DISPLAY_DP_HELPER
8*644edf52SThomas Zimmermann	select DRM_DISPLAY_HDMI_HELPER
91e0f6642SThomas Zimmermann	select DRM_DISPLAY_HELPER
106ee73861SBen Skeggs	select DRM_KMS_HELPER
116ee73861SBen Skeggs	select DRM_TTM
1249a3f51dSThomas Zimmermann	select DRM_TTM_HELPER
13399382f8SBartlomiej Zolnierkiewicz	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
14a386c006SJean Delvare	select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
15a91ed42dSBen Hutchings	select X86_PLATFORM_DEVICES if ACPI && X86
16a91ed42dSBen Hutchings	select ACPI_WMI if ACPI && X86
17a91ed42dSBen Hutchings	select MXM_WMI if ACPI && X86
1840c61046SDave Airlie	select POWER_SUPPLY
191107276cSMaarten Lankhorst	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
201107276cSMaarten Lankhorst	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
211107276cSMaarten Lankhorst	select INPUT if ACPI && X86
221107276cSMaarten Lankhorst	select THERMAL if ACPI && X86
231107276cSMaarten Lankhorst	select ACPI_VIDEO if ACPI && X86
24742db30cSTakashi Iwai	select SND_HDA_COMPONENT if SND_HDA_CORE
256ee73861SBen Skeggs	help
268ba9ff11SAlexandre Courbot	  Choose this option for open-source NVIDIA support.
278ba9ff11SAlexandre Courbot
28b30a43acSDave Airlieconfig NOUVEAU_LEGACY_CTX_SUPPORT
29b30a43acSDave Airlie	bool "Nouveau legacy context support"
30b30a43acSDave Airlie	depends on DRM_NOUVEAU
3161ae2270SDave Airlie	select DRM_LEGACY
32b30a43acSDave Airlie	default y
33b30a43acSDave Airlie	help
34b30a43acSDave Airlie	  There was a version of the nouveau DDX that relied on legacy
35b30a43acSDave Airlie	  ctx ioctls not erroring out. But that was back in time a long
36b30a43acSDave Airlie	  ways, so offer a way to disable it now. For uapi compat with
37b30a43acSDave Airlie	  old nouveau ddx this should be on by default, but modern distros
38b30a43acSDave Airlie	  should consider turning it off.
39b30a43acSDave Airlie
408ba9ff11SAlexandre Courbotconfig NOUVEAU_PLATFORM_DRIVER
41055a65d5SAlexandre Courbot	bool "Nouveau (NVIDIA) SoC GPUs"
428ba9ff11SAlexandre Courbot	depends on DRM_NOUVEAU && ARCH_TEGRA
438ba9ff11SAlexandre Courbot	default y
448ba9ff11SAlexandre Courbot	help
458ba9ff11SAlexandre Courbot	  Support for Nouveau platform driver, used for SoC GPUs as found
468ba9ff11SAlexandre Courbot	  on NVIDIA Tegra K1.
476ee73861SBen Skeggs
485999933fSBen Skeggsconfig NOUVEAU_DEBUG
495999933fSBen Skeggs	int "Maximum debug level"
505999933fSBen Skeggs	depends on DRM_NOUVEAU
515999933fSBen Skeggs	range 0 7
525999933fSBen Skeggs	default 5
535999933fSBen Skeggs	help
545999933fSBen Skeggs	  Selects the maximum debug level to compile support for.
555999933fSBen Skeggs
565999933fSBen Skeggs	  0 - fatal
575999933fSBen Skeggs	  1 - error
585999933fSBen Skeggs	  2 - warning
595999933fSBen Skeggs	  3 - info
605999933fSBen Skeggs	  4 - debug
615999933fSBen Skeggs	  5 - trace (recommended)
625999933fSBen Skeggs	  6 - paranoia
635999933fSBen Skeggs	  7 - spam
645999933fSBen Skeggs
655999933fSBen Skeggs	  The paranoia and spam levels will add a lot of extra checks which
665999933fSBen Skeggs	  may potentially slow down driver operation.
675999933fSBen Skeggs
685999933fSBen Skeggsconfig NOUVEAU_DEBUG_DEFAULT
695999933fSBen Skeggs	int "Default debug level"
705999933fSBen Skeggs	depends on DRM_NOUVEAU
715999933fSBen Skeggs	range 0 7
725999933fSBen Skeggs	default 3
735999933fSBen Skeggs	help
745999933fSBen Skeggs	  Selects the default debug level
755999933fSBen Skeggs
76eb813999SBen Skeggsconfig NOUVEAU_DEBUG_MMU
77eb813999SBen Skeggs	bool "Enable additional MMU debugging"
78eb813999SBen Skeggs	depends on DRM_NOUVEAU
79eb813999SBen Skeggs	default n
80eb813999SBen Skeggs	help
81eb813999SBen Skeggs	  Say Y here if you want to enable verbose MMU debug output.
82eb813999SBen Skeggs
832853ccf0SBen Skeggsconfig NOUVEAU_DEBUG_PUSH
842853ccf0SBen Skeggs	bool "Enable additional push buffer debugging"
852853ccf0SBen Skeggs	depends on DRM_NOUVEAU
862853ccf0SBen Skeggs	default n
872853ccf0SBen Skeggs	help
882853ccf0SBen Skeggs	  Say Y here if you want to enable verbose push buffer debug output
892853ccf0SBen Skeggs	  and sanity checks.
902853ccf0SBen Skeggs
916ee73861SBen Skeggsconfig DRM_NOUVEAU_BACKLIGHT
926ee73861SBen Skeggs	bool "Support for backlight control"
936ee73861SBen Skeggs	depends on DRM_NOUVEAU
946ee73861SBen Skeggs	default y
956ee73861SBen Skeggs	help
966ee73861SBen Skeggs	  Say Y here if you want to control the backlight of your display
976ee73861SBen Skeggs	  (e.g. a laptop panel).
98eeaf06acSBen Skeggs
99eeaf06acSBen Skeggsconfig DRM_NOUVEAU_SVM
100eeaf06acSBen Skeggs	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
1017328d9ccSChristoph Hellwig	depends on DEVICE_PRIVATE
102eeaf06acSBen Skeggs	depends on DRM_NOUVEAU
1039c240a7bSChristoph Hellwig	depends on MMU
104eeaf06acSBen Skeggs	depends on STAGING
1059c240a7bSChristoph Hellwig	select HMM_MIRROR
1069c240a7bSChristoph Hellwig	select MMU_NOTIFIER
107eeaf06acSBen Skeggs	default n
108eeaf06acSBen Skeggs	help
109eeaf06acSBen Skeggs	  Say Y here if you want to enable experimental support for
110eeaf06acSBen Skeggs	  Shared Virtual Memory (SVM).
111