[Intel-gfx] [PATCH v7 3/8] i915/gvt: use DEFINE_DYNAMIC_DEBUG_CATEGORIES to create "gvt:core:" etc categories
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Sep 3 11:07:10 UTC 2021
On 31/08/2021 21:21, Jim Cromie wrote:
> The gvt component of this driver has ~120 pr_debugs, in 9 categories
> quite similar to those in DRM. Following the interface model of
> drm.debug, add a parameter to map bits to these categorizations.
>
> DEFINE_DYNAMIC_DEBUG_CATEGORIES(debug_gvt, __gvt_debug,
> "dyndbg bitmap desc",
> { "gvt:cmd: ", "command processing" },
> { "gvt:core: ", "core help" },
> { "gvt:dpy: ", "display help" },
> { "gvt:el: ", "help" },
> { "gvt:irq: ", "help" },
> { "gvt:mm: ", "help" },
> { "gvt:mmio: ", "help" },
> { "gvt:render: ", "help" },
> { "gvt:sched: " "help" });
>
> The actual patch has a few details different, cmd_help() macro emits
> the initialization construct.
>
> if CONFIG_DRM_USE_DYNAMIC_DEBUG, then -DDYNAMIC_DEBUG_MODULE is added
> cflags, by gvt/Makefile.
>
> Signed-off-by: Jim Cromie <jim.cromie at gmail.com>
> ---
> v5:
> . static decl of vector of bit->class descriptors - Emil.V
> . relocate gvt-makefile chunk from elsewhere
> v7:
> . move ccflags addition up to i915/Makefile from i915/gvt
> ---
> drivers/gpu/drm/i915/Makefile | 4 ++++
> drivers/gpu/drm/i915/i915_params.c | 35 ++++++++++++++++++++++++++++++
Can this work if put under gvt/ or at least intel_gvt.h|c?
> 2 files changed, 39 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index 4f22cac1c49b..5a4e371a3ec2 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -30,6 +30,10 @@ CFLAGS_display/intel_fbdev.o = $(call cc-disable-warning, override-init)
>
> subdir-ccflags-y += -I$(srctree)/$(src)
>
> +#ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG
> +ccflags-y += -DDYNAMIC_DEBUG_MODULE
> +#endif
Ignores whether CONFIG_DRM_I915_GVT is enabled or not?
> +
> # Please keep these build lists sorted!
>
> # core driver code
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index e07f4cfea63a..e645e149485e 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -265,3 +265,38 @@ void i915_params_free(struct i915_params *params)
> I915_PARAMS_FOR_EACH(FREE);
> #undef FREE
> }
> +
> +#ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG
> +/* todo: needs DYNAMIC_DEBUG_MODULE in some cases */
> +
> +unsigned long __gvt_debug;
> +EXPORT_SYMBOL(__gvt_debug);
> +
> +#define _help(key) "\t \"" key "\"\t: help for " key "\n"
> +
> +#define I915_GVT_CATEGORIES(name) \
> + " Enable debug output via /sys/module/i915/parameters/" #name \
> + ", where each bit enables a debug category.\n" \
> + _help("gvt:cmd:") \
> + _help("gvt:core:") \
> + _help("gvt:dpy:") \
> + _help("gvt:el:") \
> + _help("gvt:irq:") \
> + _help("gvt:mm:") \
> + _help("gvt:mmio:") \
> + _help("gvt:render:") \
> + _help("gvt:sched:")
> +
> +DEFINE_DYNAMIC_DEBUG_CATEGORIES(debug_gvt, __gvt_debug,
> + I915_GVT_CATEGORIES(debug_gvt),
> + _DD_cat_("gvt:cmd:"),
> + _DD_cat_("gvt:core:"),
> + _DD_cat_("gvt:dpy:"),
> + _DD_cat_("gvt:el:"),
> + _DD_cat_("gvt:irq:"),
> + _DD_cat_("gvt:mm:"),
> + _DD_cat_("gvt:mmio:"),
> + _DD_cat_("gvt:render:"),
> + _DD_cat_("gvt:sched:"));
> +
> +#endif
So just the foundation - no actual use sites I mean? How would these be
used from the code?
Regards,
Tvrtko
More information about the dri-devel
mailing list