xref: /linux/drivers/gpu/drm/Kconfig.debug (revision f088104d837a991c65e51fa30bb4196169b3244d)
18e623137STvrtko Ursulinconfig DRM_USE_DYNAMIC_DEBUG
28e623137STvrtko Ursulin	bool "use dynamic debug to implement drm.debug"
38e623137STvrtko Ursulin	default n
48e623137STvrtko Ursulin	depends on BROKEN
58e623137STvrtko Ursulin	depends on DRM
68e623137STvrtko Ursulin	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
78e623137STvrtko Ursulin	depends on JUMP_LABEL
88e623137STvrtko Ursulin	help
98e623137STvrtko Ursulin	 Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
108e623137STvrtko Ursulin	 Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
118e623137STvrtko Ursulin	 bytes per callsite, the .data costs can be substantial, and
128e623137STvrtko Ursulin	 are therefore configurable.
138e623137STvrtko Ursulin
148e623137STvrtko Ursulinconfig DRM_WERROR
158e623137STvrtko Ursulin	bool "Compile the drm subsystem with warnings as errors"
168e623137STvrtko Ursulin	depends on DRM && EXPERT
178e623137STvrtko Ursulin	depends on !WERROR
188e623137STvrtko Ursulin	default n
198e623137STvrtko Ursulin	help
208e623137STvrtko Ursulin	  A kernel build should not cause any compiler warnings, and this
218e623137STvrtko Ursulin	  enables the '-Werror' flag to enforce that rule in the drm subsystem.
228e623137STvrtko Ursulin
238e623137STvrtko Ursulin	  The drm subsystem enables more warnings than the kernel default, so
248e623137STvrtko Ursulin	  this config option is disabled by default.
258e623137STvrtko Ursulin
268e623137STvrtko Ursulin	  If in doubt, say N.
278e623137STvrtko Ursulin
288e623137STvrtko Ursulinconfig DRM_HEADER_TEST
298e623137STvrtko Ursulin	bool "Ensure DRM headers are self-contained and pass kernel-doc"
300ac7ad5eSThomas Zimmermann	depends on DRM && EXPERT && BROKEN
318e623137STvrtko Ursulin	default n
328e623137STvrtko Ursulin	help
338e623137STvrtko Ursulin	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
348e623137STvrtko Ursulin	  include/drm compile, are self-contained, have header guards, and have
358e623137STvrtko Ursulin	  no kernel-doc warnings.
368e623137STvrtko Ursulin
378e623137STvrtko Ursulin	  If in doubt, say N.
388e623137STvrtko Ursulin
398e623137STvrtko Ursulinconfig DRM_DEBUG_MM
408e623137STvrtko Ursulin	bool "Insert extra checks and debug info into the DRM range managers"
418e623137STvrtko Ursulin	default n
428e623137STvrtko Ursulin	depends on DRM
438e623137STvrtko Ursulin	depends on STACKTRACE_SUPPORT
448e623137STvrtko Ursulin	select STACKDEPOT
458e623137STvrtko Ursulin	help
468e623137STvrtko Ursulin	  Enable allocation tracking of memory manager and leak detection on
478e623137STvrtko Ursulin	  shutdown.
488e623137STvrtko Ursulin
498e623137STvrtko Ursulin	  Recommended for driver developers only.
508e623137STvrtko Ursulin
518e623137STvrtko Ursulin	  If in doubt, say "N".
528e623137STvrtko Ursulin
538e623137STvrtko Ursulinconfig DRM_KUNIT_TEST_HELPERS
548e623137STvrtko Ursulin	tristate
558e623137STvrtko Ursulin	depends on DRM && KUNIT
568e623137STvrtko Ursulin	select DRM_KMS_HELPER
578e623137STvrtko Ursulin	help
588e623137STvrtko Ursulin	  KUnit Helpers for KMS drivers.
598e623137STvrtko Ursulin
608e623137STvrtko Ursulinconfig DRM_KUNIT_TEST
618e623137STvrtko Ursulin	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
628e623137STvrtko Ursulin	depends on DRM && KUNIT && MMU
638e623137STvrtko Ursulin	select DRM_BRIDGE_CONNECTOR
648e623137STvrtko Ursulin	select DRM_BUDDY
658e623137STvrtko Ursulin	select DRM_DISPLAY_DP_HELPER
668e623137STvrtko Ursulin	select DRM_DISPLAY_HDMI_STATE_HELPER
678e623137STvrtko Ursulin	select DRM_DISPLAY_HELPER
688e623137STvrtko Ursulin	select DRM_EXEC
698e623137STvrtko Ursulin	select DRM_EXPORT_FOR_TESTS if m
708e623137STvrtko Ursulin	select DRM_GEM_SHMEM_HELPER
718e623137STvrtko Ursulin	select DRM_KUNIT_TEST_HELPERS
728e623137STvrtko Ursulin	select DRM_LIB_RANDOM
73*1a45ef02SThomas Zimmermann	select DRM_SYSFB_HELPER
748e623137STvrtko Ursulin	select PRIME_NUMBERS
758e623137STvrtko Ursulin	default KUNIT_ALL_TESTS
768e623137STvrtko Ursulin	help
778e623137STvrtko Ursulin	  This builds unit tests for DRM. This option is not useful for
788e623137STvrtko Ursulin	  distributions or general kernels, but only for kernel
798e623137STvrtko Ursulin	  developers working on DRM and associated drivers.
808e623137STvrtko Ursulin
818e623137STvrtko Ursulin	  For more information on KUnit and unit tests in general,
828e623137STvrtko Ursulin	  please refer to the KUnit documentation in
838e623137STvrtko Ursulin	  Documentation/dev-tools/kunit/.
848e623137STvrtko Ursulin
858e623137STvrtko Ursulin	  If in doubt, say "N".
868e623137STvrtko Ursulin
878e623137STvrtko Ursulinconfig DRM_TTM_KUNIT_TEST
888e623137STvrtko Ursulin	tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS
898e623137STvrtko Ursulin	default n
908e623137STvrtko Ursulin	depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST)
918e623137STvrtko Ursulin	select DRM_TTM
928e623137STvrtko Ursulin	select DRM_BUDDY
938e623137STvrtko Ursulin	select DRM_EXPORT_FOR_TESTS if m
948e623137STvrtko Ursulin	select DRM_KUNIT_TEST_HELPERS
958e623137STvrtko Ursulin	default KUNIT_ALL_TESTS
968e623137STvrtko Ursulin	help
978e623137STvrtko Ursulin	  Enables unit tests for TTM, a GPU memory manager subsystem used
988e623137STvrtko Ursulin	  to manage memory buffers. This option is mostly useful for kernel
998e623137STvrtko Ursulin	  developers. It depends on (UML || COMPILE_TEST) since no other driver
1008e623137STvrtko Ursulin	  which uses TTM can be loaded while running the tests.
1018e623137STvrtko Ursulin
1028e623137STvrtko Ursulin	  If in doubt, say "N".
1038e623137STvrtko Ursulin
1045a993507STvrtko Ursulinconfig DRM_SCHED_KUNIT_TEST
1055a993507STvrtko Ursulin	tristate "KUnit tests for the DRM scheduler" if !KUNIT_ALL_TESTS
1065a993507STvrtko Ursulin	select DRM_SCHED
1075a993507STvrtko Ursulin	depends on DRM && KUNIT
1085a993507STvrtko Ursulin	default KUNIT_ALL_TESTS
1095a993507STvrtko Ursulin	help
1105a993507STvrtko Ursulin	  Choose this option to build unit tests for the DRM scheduler.
1115a993507STvrtko Ursulin
1125a993507STvrtko Ursulin	  Recommended for driver developers only.
1135a993507STvrtko Ursulin
1145a993507STvrtko Ursulin	  If in doubt, say "N".
1155a993507STvrtko Ursulin
1168e623137STvrtko Ursulinconfig DRM_EXPORT_FOR_TESTS
1178e623137STvrtko Ursulin	bool
118