Re: [PATCH 1/6] drm/modes: add drm_mode_print() to dump mode in drm_printer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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)




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux