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