[PATCH v7 0/9] dyndbg: drm.debug adaptation

From: Jim Cromie
Date: Mon Sep 12 2022 - 01:29:27 EST

hi Greg, Dan, Jason, DRM-folk,

heres follow-up to V6:
rebased on driver-core/driver-core-next for -v6 applied bits (thanks)
rework drm_debug_enabled{_raw,_instrumented,} per Dan.

It excludes:
nouveau parts (immature)
tracefs parts (I missed --to=Steve on v6)
split _ddebug_site and de-duplicate experiment (way unready)

IOW, its the remaining commits of V6 on which Dan gave his Reviewed-by.

If these are good to apply, I'll rebase and repost the rest separately.

These are also available at:


DECLARE_DYNDBG_CLASSMAP's interface can be improved: class-names are
currently strings, like "DRM_UT_CORE", which must have corresponding
ENUM symbols defined. It would be better to just pass DRM_UT_CORE,
etc, and stringify the va-args inside the macro while initializing
classnames member. But how ?

Jim Cromie (9):
drm_print: condense enum drm_debug_category
drm: POC drm on dyndbg - use in core, 2 helpers, 3 drivers.
drm_print: interpose drm_*dbg with forwarding macros
drm_print: wrap drm_*_dbg in dyndbg descriptor factory macro
drm-print.h: include dyndbg header
drm-print: add drm_dbg_driver to improve namespace symmetry
drm_print: optimize drm_debug_enabled for jump-label
drm_print: prefer bare printk KERN_DEBUG on generic fn
drm_print: add _ddebug descriptor to drm_*dbg prototypes

drivers/gpu/drm/Kconfig | 12 ++++
drivers/gpu/drm/Makefile | 2 +
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 14 +++++
drivers/gpu/drm/display/drm_dp_helper.c | 13 +++++
drivers/gpu/drm/drm_crtc_helper.c | 13 +++++
drivers/gpu/drm/drm_print.c | 48 +++++++++++----
drivers/gpu/drm/i915/i915_params.c | 12 ++++
drivers/gpu/drm/nouveau/nouveau_drm.c | 13 +++++
include/drm/drm_print.h | 78 +++++++++++++++++++------
9 files changed, 174 insertions(+), 31 deletions(-)