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