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@xxxxxxxxx>
---
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)