Commit 8e623137 authored by Tvrtko Ursulin's avatar Tvrtko Ursulin Committed by Philipp Stanner
Browse files

drm: Move some options to separate new Kconfig



Move some options out into a new debug specific kconfig file in order to
make things a bit cleaner.

Signed-off-by: default avatarTvrtko Ursulin <tvrtko.ursulin@igalia.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Philipp Stanner <phasta@kernel.org>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarPhilipp Stanner <phasta@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250324092633.49746-2-tvrtko.ursulin@igalia.com
parent f878af62
Loading
Loading
Loading
Loading
+5 −105
Original line number Diff line number Diff line
@@ -26,6 +26,11 @@ menuconfig DRM
	  details.  You should also select and configure AGP
	  (/dev/agpgart) support if it is available for your platform.

menu "DRM debugging options"
depends on DRM
source "drivers/gpu/drm/Kconfig.debug"
endmenu

if DRM

config DRM_MIPI_DBI
@@ -37,66 +42,6 @@ config DRM_MIPI_DSI
	bool
	depends on DRM

config DRM_DEBUG_MM
	bool "Insert extra checks and debug info into the DRM range managers"
	default n
	depends on DRM
	depends on STACKTRACE_SUPPORT
	select STACKDEPOT
	help
	  Enable allocation tracking of memory manager and leak detection on
	  shutdown.

	  Recommended for driver developers only.

	  If in doubt, say "N".

config DRM_USE_DYNAMIC_DEBUG
	bool "use dynamic debug to implement drm.debug"
	default n
	depends on BROKEN
	depends on DRM
	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
	depends on JUMP_LABEL
	help
	  Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
	  Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
	  bytes per callsite, the .data costs can be substantial, and
	  are therefore configurable.

config DRM_KUNIT_TEST_HELPERS
	tristate
	depends on DRM && KUNIT
	select DRM_KMS_HELPER
	help
	  KUnit Helpers for KMS drivers.

config DRM_KUNIT_TEST
	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
	depends on DRM && KUNIT && MMU
	select DRM_BRIDGE_CONNECTOR
	select DRM_BUDDY
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_HDMI_STATE_HELPER
	select DRM_DISPLAY_HELPER
	select DRM_EXEC
	select DRM_EXPORT_FOR_TESTS if m
	select DRM_GEM_SHMEM_HELPER
	select DRM_KUNIT_TEST_HELPERS
	select DRM_LIB_RANDOM
	select PRIME_NUMBERS
	default KUNIT_ALL_TESTS
	help
	  This builds unit tests for DRM. This option is not useful for
	  distributions or general kernels, but only for kernel
	  developers working on DRM and associated drivers.

	  For more information on KUnit and unit tests in general,
	  please refer to the KUnit documentation in
	  Documentation/dev-tools/kunit/.

	  If in doubt, say "N".

config DRM_KMS_HELPER
	tristate
	depends on DRM
@@ -248,23 +193,6 @@ config DRM_TTM
	  GPU memory types. Will be enabled automatically if a device driver
	  uses it.

config DRM_TTM_KUNIT_TEST
        tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS
        default n
        depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST)
        select DRM_TTM
        select DRM_BUDDY
        select DRM_EXPORT_FOR_TESTS if m
        select DRM_KUNIT_TEST_HELPERS
        default KUNIT_ALL_TESTS
        help
          Enables unit tests for TTM, a GPU memory manager subsystem used
          to manage memory buffers. This option is mostly useful for kernel
          developers. It depends on (UML || COMPILE_TEST) since no other driver
          which uses TTM can be loaded while running the tests.

          If in doubt, say "N".

config DRM_EXEC
	tristate
	depends on DRM
@@ -466,9 +394,6 @@ config DRM_HYPERV

	 If M is selected the module will be called hyperv_drm.

config DRM_EXPORT_FOR_TESTS
	bool

# Separate option as not all DRM drivers use it
config DRM_PANEL_BACKLIGHT_QUIRKS
	tristate
@@ -481,31 +406,6 @@ config DRM_PRIVACY_SCREEN
	bool
	default n

config DRM_WERROR
	bool "Compile the drm subsystem with warnings as errors"
	depends on DRM && EXPERT
	depends on !WERROR
	default n
	help
	  A kernel build should not cause any compiler warnings, and this
	  enables the '-Werror' flag to enforce that rule in the drm subsystem.

	  The drm subsystem enables more warnings than the kernel default, so
	  this config option is disabled by default.

	  If in doubt, say N.

config DRM_HEADER_TEST
	bool "Ensure DRM headers are self-contained and pass kernel-doc"
	depends on DRM && EXPERT
	default n
	help
	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
	  include/drm compile, are self-contained, have header guards, and have
	  no kernel-doc warnings.

	  If in doubt, say N.

endif

# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
+104 −0
Original line number Diff line number Diff line
config DRM_USE_DYNAMIC_DEBUG
	bool "use dynamic debug to implement drm.debug"
	default n
	depends on BROKEN
	depends on DRM
	depends on DYNAMIC_DEBUG || DYNAMIC_DEBUG_CORE
	depends on JUMP_LABEL
	help
	 Use dynamic-debug to avoid drm_debug_enabled() runtime overheads.
	 Due to callsite counts in DRM drivers (~4k in amdgpu) and 56
	 bytes per callsite, the .data costs can be substantial, and
	 are therefore configurable.

config DRM_WERROR
	bool "Compile the drm subsystem with warnings as errors"
	depends on DRM && EXPERT
	depends on !WERROR
	default n
	help
	  A kernel build should not cause any compiler warnings, and this
	  enables the '-Werror' flag to enforce that rule in the drm subsystem.

	  The drm subsystem enables more warnings than the kernel default, so
	  this config option is disabled by default.

	  If in doubt, say N.

config DRM_HEADER_TEST
	bool "Ensure DRM headers are self-contained and pass kernel-doc"
	depends on DRM && EXPERT
	default n
	help
	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
	  include/drm compile, are self-contained, have header guards, and have
	  no kernel-doc warnings.

	  If in doubt, say N.

config DRM_DEBUG_MM
	bool "Insert extra checks and debug info into the DRM range managers"
	default n
	depends on DRM
	depends on STACKTRACE_SUPPORT
	select STACKDEPOT
	help
	  Enable allocation tracking of memory manager and leak detection on
	  shutdown.

	  Recommended for driver developers only.

	  If in doubt, say "N".

config DRM_KUNIT_TEST_HELPERS
	tristate
	depends on DRM && KUNIT
	select DRM_KMS_HELPER
	help
	  KUnit Helpers for KMS drivers.

config DRM_KUNIT_TEST
	tristate "KUnit tests for DRM" if !KUNIT_ALL_TESTS
	depends on DRM && KUNIT && MMU
	select DRM_BRIDGE_CONNECTOR
	select DRM_BUDDY
	select DRM_DISPLAY_DP_HELPER
	select DRM_DISPLAY_HDMI_STATE_HELPER
	select DRM_DISPLAY_HELPER
	select DRM_EXEC
	select DRM_EXPORT_FOR_TESTS if m
	select DRM_GEM_SHMEM_HELPER
	select DRM_KUNIT_TEST_HELPERS
	select DRM_LIB_RANDOM
	select PRIME_NUMBERS
	default KUNIT_ALL_TESTS
	help
	  This builds unit tests for DRM. This option is not useful for
	  distributions or general kernels, but only for kernel
	  developers working on DRM and associated drivers.

	  For more information on KUnit and unit tests in general,
	  please refer to the KUnit documentation in
	  Documentation/dev-tools/kunit/.

	  If in doubt, say "N".

config DRM_TTM_KUNIT_TEST
	tristate "KUnit tests for TTM" if !KUNIT_ALL_TESTS
	default n
	depends on DRM && KUNIT && MMU && (UML || COMPILE_TEST)
	select DRM_TTM
	select DRM_BUDDY
	select DRM_EXPORT_FOR_TESTS if m
	select DRM_KUNIT_TEST_HELPERS
	default KUNIT_ALL_TESTS
	help
	  Enables unit tests for TTM, a GPU memory manager subsystem used
	  to manage memory buffers. This option is mostly useful for kernel
	  developers. It depends on (UML || COMPILE_TEST) since no other driver
	  which uses TTM can be loaded while running the tests.

	  If in doubt, say "N".

config DRM_EXPORT_FOR_TESTS
	bool