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 DRM_EXEC
14	select DRM_GPUVM
15	select DRM_SCHED
16	select I2C
17	select I2C_ALGOBIT
18	select BACKLIGHT_CLASS_DEVICE if DRM_NOUVEAU_BACKLIGHT
19	select X86_PLATFORM_DEVICES if ACPI && X86
20	select ACPI_WMI if ACPI && X86
21	select MXM_WMI if ACPI && X86
22	select POWER_SUPPLY
23	# Similar to i915, we need to select ACPI_VIDEO and it's dependencies
24	select BACKLIGHT_CLASS_DEVICE if ACPI && X86
25	select INPUT if ACPI && X86
26	select THERMAL if ACPI && X86
27	select ACPI_VIDEO if ACPI && X86
28	select SND_HDA_COMPONENT if SND_HDA_CORE
29	help
30	  Choose this option for open-source NVIDIA support.
31
32config NOUVEAU_PLATFORM_DRIVER
33	bool "Nouveau (NVIDIA) SoC GPUs"
34	depends on DRM_NOUVEAU && ARCH_TEGRA
35	default y
36	help
37	  Support for Nouveau platform driver, used for SoC GPUs as found
38	  on NVIDIA Tegra K1.
39
40config NOUVEAU_DEBUG
41	int "Maximum debug level"
42	depends on DRM_NOUVEAU
43	range 0 7
44	default 5
45	help
46	  Selects the maximum debug level to compile support for.
47
48	  0 - fatal
49	  1 - error
50	  2 - warning
51	  3 - info
52	  4 - debug
53	  5 - trace (recommended)
54	  6 - paranoia
55	  7 - spam
56
57	  The paranoia and spam levels will add a lot of extra checks which
58	  may potentially slow down driver operation.
59
60config NOUVEAU_DEBUG_DEFAULT
61	int "Default debug level"
62	depends on DRM_NOUVEAU
63	range 0 7
64	default 3
65	help
66	  Selects the default debug level
67
68config NOUVEAU_DEBUG_MMU
69	bool "Enable additional MMU debugging"
70	depends on DRM_NOUVEAU
71	default n
72	help
73	  Say Y here if you want to enable verbose MMU debug output.
74
75config NOUVEAU_DEBUG_PUSH
76	bool "Enable additional push buffer debugging"
77	depends on DRM_NOUVEAU
78	default n
79	help
80	  Say Y here if you want to enable verbose push buffer debug output
81	  and sanity checks.
82
83config DRM_NOUVEAU_BACKLIGHT
84	bool "Support for backlight control"
85	depends on DRM_NOUVEAU
86	default y
87	help
88	  Say Y here if you want to control the backlight of your display
89	  (e.g. a laptop panel).
90
91config DRM_NOUVEAU_SVM
92	bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support"
93	depends on DEVICE_PRIVATE
94	depends on DRM_NOUVEAU
95	depends on MMU
96	depends on STAGING
97	select HMM_MIRROR
98	select MMU_NOTIFIER
99	default n
100	help
101	  Say Y here if you want to enable experimental support for
102	  Shared Virtual Memory (SVM).
103
104config DRM_NOUVEAU_GSP_DEFAULT
105	bool "Use GSP firmware for Turing/Ampere (needs firmware installed)"
106	depends on DRM_NOUVEAU
107	default n
108	help
109	  Say Y here if you want to use the GSP codepaths by default on
110	  Turing and Ampere GPUs.
111