[PATCH 1/6] drm/modes: add drm_mode_print() to dump mode in drm_printer
Thomas Zimmermann
tzimmermann at suse.de
Fri Apr 5 08:45:42 UTC 2024
Hi
Am 07.03.24 um 21:39 schrieb Jani Nikula:
> Add a printer based function for dumping the modeline, so it's not
> limited to KMS debug.
>
> Note: The printed output intentionally does not have the "Modeline"
> prefix. Prefix, if any, is for the caller to decide when initializing
> drm_printer.
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/drm_modes.c | 13 +++++++++++++
> include/drm/drm_modes.h | 2 ++
> 2 files changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index c4f88c3a93b7..711750ab57c7 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -49,6 +49,19 @@
>
> #include "drm_crtc_internal.h"
>
> +/**
> + * drm_mode_print - print a mode to drm printer
> + * @p: drm printer
> + * @mode: mode to print
> + *
> + * Write @mode description to struct drm_printer @p.
> + */
> +void drm_mode_print(struct drm_printer *p, const struct drm_display_mode *mode)
Could this be a printf function with a trailing format string as final
argument? The printed mode could then be part of another string instead
of just at the end of it.
Best regards
Thomas
> +{
> + drm_printf(p, DRM_MODE_FMT "\n", DRM_MODE_ARG(mode));
> +}
> +EXPORT_SYMBOL(drm_mode_print);
> +
> /**
> * drm_mode_debug_printmodeline - print a mode to dmesg
> * @mode: mode to print
> diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h
> index b9bb92e4b029..10c45014fbff 100644
> --- a/include/drm/drm_modes.h
> +++ b/include/drm/drm_modes.h
> @@ -32,6 +32,7 @@
> #include <drm/drm_mode_object.h>
> #include <drm/drm_connector.h>
>
> +struct drm_printer;
> struct videomode;
>
> /*
> @@ -460,6 +461,7 @@ int drm_mode_convert_umode(struct drm_device *dev,
> struct drm_display_mode *out,
> const struct drm_mode_modeinfo *in);
> void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode);
> +void drm_mode_print(struct drm_printer *p, const struct drm_display_mode *mode);
> void drm_mode_debug_printmodeline(const struct drm_display_mode *mode);
> bool drm_mode_is_420_only(const struct drm_display_info *display,
> const struct drm_display_mode *mode);
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
More information about the dri-devel
mailing list