Message ID | 20250311092339.52199-2-tvrtko.ursulin@igalia.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | DRM scheduler kunit tests | expand |
Am 11.03.25 um 10:23 schrieb Tvrtko Ursulin: > Move some options out into a new debug specific kconfig file in order to > make things a bit cleaner. > > Signed-off-by: Tvrtko 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> I only skimmed over the patches but feel free to add Acked-by: Christian König <christian.koenig@amd.com> to the whole series. Regards, Christian. > --- > drivers/gpu/drm/Kconfig | 109 ++-------------------------------- > drivers/gpu/drm/Kconfig.debug | 103 ++++++++++++++++++++++++++++++++ > 2 files changed, 108 insertions(+), 104 deletions(-) > create mode 100644 drivers/gpu/drm/Kconfig.debug > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > index d9986fd52194..46ba24592553 100644 > --- a/drivers/gpu/drm/Kconfig > +++ b/drivers/gpu/drm/Kconfig > @@ -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,65 +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_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 > @@ -247,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 > @@ -463,9 +392,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 > @@ -478,31 +404,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 > diff --git a/drivers/gpu/drm/Kconfig.debug b/drivers/gpu/drm/Kconfig.debug > new file mode 100644 > index 000000000000..601d7e07d421 > --- /dev/null > +++ b/drivers/gpu/drm/Kconfig.debug > @@ -0,0 +1,103 @@ > +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_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
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index d9986fd52194..46ba24592553 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -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,65 +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_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 @@ -247,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 @@ -463,9 +392,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 @@ -478,31 +404,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 diff --git a/drivers/gpu/drm/Kconfig.debug b/drivers/gpu/drm/Kconfig.debug new file mode 100644 index 000000000000..601d7e07d421 --- /dev/null +++ b/drivers/gpu/drm/Kconfig.debug @@ -0,0 +1,103 @@ +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_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
Move some options out into a new debug specific kconfig file in order to make things a bit cleaner. Signed-off-by: Tvrtko 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> --- drivers/gpu/drm/Kconfig | 109 ++-------------------------------- drivers/gpu/drm/Kconfig.debug | 103 ++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+), 104 deletions(-) create mode 100644 drivers/gpu/drm/Kconfig.debug