xref: /openbmc/linux/drivers/gpu/drm/nouveau/Kconfig (revision 2853ccf0)
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
76ee73861SBen Skeggs	select DRM_KMS_HELPER
86ee73861SBen Skeggs	select DRM_TTM
9399382f8SBartlomiej Zolnierkiewicz	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
10a386c006SJean Delvare	select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && INPUT
11a91ed42dSBen Hutchings	select X86_PLATFORM_DEVICES if ACPI && X86
12a91ed42dSBen Hutchings	select ACPI_WMI if ACPI && X86
13a91ed42dSBen Hutchings	select MXM_WMI if ACPI && X86
1440c61046SDave Airlie	select POWER_SUPPLY
151107276cSMaarten Lankhorst	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
161107276cSMaarten Lankhorst	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
171107276cSMaarten Lankhorst	select INPUT if ACPI && X86
181107276cSMaarten Lankhorst	select THERMAL if ACPI && X86
191107276cSMaarten Lankhorst	select ACPI_VIDEO if ACPI && X86
20742db30cSTakashi Iwai	select SND_HDA_COMPONENT if SND_HDA_CORE
216ee73861SBen Skeggs	help
228ba9ff11SAlexandre Courbot	  Choose this option for open-source NVIDIA support.
238ba9ff11SAlexandre Courbot
24b30a43acSDave Airlieconfig NOUVEAU_LEGACY_CTX_SUPPORT
25b30a43acSDave Airlie	bool "Nouveau legacy context support"
26b30a43acSDave Airlie	depends on DRM_NOUVEAU
2761ae2270SDave Airlie	select DRM_LEGACY
28b30a43acSDave Airlie	default y
29b30a43acSDave Airlie	help
30b30a43acSDave Airlie	  There was a version of the nouveau DDX that relied on legacy
31b30a43acSDave Airlie	  ctx ioctls not erroring out. But that was back in time a long
32b30a43acSDave Airlie	  ways, so offer a way to disable it now. For uapi compat with
33b30a43acSDave Airlie	  old nouveau ddx this should be on by default, but modern distros
34b30a43acSDave Airlie	  should consider turning it off.
35b30a43acSDave Airlie
368ba9ff11SAlexandre Courbotconfig NOUVEAU_PLATFORM_DRIVER
37055a65d5SAlexandre Courbot	bool "Nouveau (NVIDIA) SoC GPUs"
388ba9ff11SAlexandre Courbot	depends on DRM_NOUVEAU && ARCH_TEGRA
398ba9ff11SAlexandre Courbot	default y
408ba9ff11SAlexandre Courbot	help
418ba9ff11SAlexandre Courbot	  Support for Nouveau platform driver, used for SoC GPUs as found
428ba9ff11SAlexandre Courbot	  on NVIDIA Tegra K1.
436ee73861SBen Skeggs
445999933fSBen Skeggsconfig NOUVEAU_DEBUG
455999933fSBen Skeggs	int "Maximum debug level"
465999933fSBen Skeggs	depends on DRM_NOUVEAU
475999933fSBen Skeggs	range 0 7
485999933fSBen Skeggs	default 5
495999933fSBen Skeggs	help
505999933fSBen Skeggs	  Selects the maximum debug level to compile support for.
515999933fSBen Skeggs
525999933fSBen Skeggs	  0 - fatal
535999933fSBen Skeggs	  1 - error
545999933fSBen Skeggs	  2 - warning
555999933fSBen Skeggs	  3 - info
565999933fSBen Skeggs	  4 - debug
575999933fSBen Skeggs	  5 - trace (recommended)
585999933fSBen Skeggs	  6 - paranoia
595999933fSBen Skeggs	  7 - spam
605999933fSBen Skeggs
615999933fSBen Skeggs	  The paranoia and spam levels will add a lot of extra checks which
625999933fSBen Skeggs	  may potentially slow down driver operation.
635999933fSBen Skeggs
645999933fSBen Skeggsconfig NOUVEAU_DEBUG_DEFAULT
655999933fSBen Skeggs	int "Default debug level"
665999933fSBen Skeggs	depends on DRM_NOUVEAU
675999933fSBen Skeggs	range 0 7
685999933fSBen Skeggs	default 3
695999933fSBen Skeggs	help
705999933fSBen Skeggs	  Selects the default debug level
715999933fSBen Skeggs
72eb813999SBen Skeggsconfig NOUVEAU_DEBUG_MMU
73eb813999SBen Skeggs	bool "Enable additional MMU debugging"
74eb813999SBen Skeggs	depends on DRM_NOUVEAU
75eb813999SBen Skeggs	default n
76eb813999SBen Skeggs	help
77eb813999SBen Skeggs	  Say Y here if you want to enable verbose MMU debug output.
78eb813999SBen Skeggs
792853ccf0SBen Skeggsconfig NOUVEAU_DEBUG_PUSH
802853ccf0SBen Skeggs	bool "Enable additional push buffer debugging"
812853ccf0SBen Skeggs	depends on DRM_NOUVEAU
822853ccf0SBen Skeggs	default n
832853ccf0SBen Skeggs	help
842853ccf0SBen Skeggs	  Say Y here if you want to enable verbose push buffer debug output
852853ccf0SBen Skeggs	  and sanity checks.
862853ccf0SBen Skeggs
876ee73861SBen Skeggsconfig DRM_NOUVEAU_BACKLIGHT
886ee73861SBen Skeggs	bool "Support for backlight control"
896ee73861SBen Skeggs	depends on DRM_NOUVEAU
906ee73861SBen Skeggs	default y
916ee73861SBen Skeggs	help
926ee73861SBen Skeggs	  Say Y here if you want to control the backlight of your display
936ee73861SBen Skeggs	  (e.g. a laptop panel).
94eeaf06acSBen Skeggs
95eeaf06acSBen Skeggsconfig DRM_NOUVEAU_SVM
96eeaf06acSBen Skeggs	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
977328d9ccSChristoph Hellwig	depends on DEVICE_PRIVATE
98eeaf06acSBen Skeggs	depends on DRM_NOUVEAU
999c240a7bSChristoph Hellwig	depends on MMU
100eeaf06acSBen Skeggs	depends on STAGING
1019c240a7bSChristoph Hellwig	select HMM_MIRROR
1029c240a7bSChristoph Hellwig	select MMU_NOTIFIER
103eeaf06acSBen Skeggs	default n
104eeaf06acSBen Skeggs	help
105eeaf06acSBen Skeggs	  Say Y here if you want to enable experimental support for
106eeaf06acSBen Skeggs	  Shared Virtual Memory (SVM).
107