On Tue, 2025-03-18 at 13:37 +0000, Tvrtko Ursulin wrote:
> 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.ursu...@igalia.com>
> Cc: Christian König <christian.koe...@amd.com>
> Cc: Danilo Krummrich <d...@kernel.org>
> Cc: Matthew Brost <matthew.br...@intel.com>
> Cc: Philipp Stanner <pha...@kernel.org>
> Acked-by: Christian König <christian.koe...@amd.com>
> ---
>  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 1be14d8634f4..d32d70c3ddf1 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig

I've tested the series on Friday. Looks good. Can go into drm-misc-next
from my POV.

Unfortunately doesn't apply yet due to a merge conflict in Kconfig. If
you could be so kind and rebase to drm-misc-next we could then quickly
pull the series in, avoiding further collisions

Thx
P.


> @@ -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
> @@ -474,9 +403,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
> @@ -489,31 +415,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

Reply via email to