Re: [PATCH RFC v5 05/10] drm/atomic: Add solid fill data to plane state dump

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

 



On 28/07/2023 20:02, Jessica Zhang wrote:
Add solid_fill property data to the atomic plane state dump.

Signed-off-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>
---
  drivers/gpu/drm/drm_atomic.c |  4 ++++
  drivers/gpu/drm/drm_plane.c  | 10 ++++++++++
  include/drm/drm_plane.h      |  3 +++
  3 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
index c38014abc590..1ee7d08041bc 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -717,6 +717,10 @@ static void drm_atomic_plane_print_state(struct drm_printer *p,
  	drm_printf(p, "\tfb=%u\n", state->fb ? state->fb->base.id : 0);
  	if (state->fb)
  		drm_framebuffer_print_info(p, 2, state->fb);
+	drm_printf(p, "\tsolid_fill=%u\n",
+			state->solid_fill_blob ? state->solid_fill_blob->base.id : 0);
+	if (state->solid_fill_blob)
+		drm_plane_solid_fill_print_info(p, 2, state);
  	drm_printf(p, "\tcrtc-pos=" DRM_RECT_FMT "\n", DRM_RECT_ARG(&dest));
  	drm_printf(p, "\tsrc-pos=" DRM_RECT_FP_FMT "\n", DRM_RECT_FP_ARG(&src));
  	drm_printf(p, "\trotation=%x\n", state->rotation);
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index 4188b3491625..009d3ebd9b39 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -1494,11 +1494,21 @@ const char *drm_plane_get_pixel_source_name(enum drm_plane_pixel_source pixel_so
  		return "NONE";
  	case DRM_PLANE_PIXEL_SOURCE_FB:
  		return "fb";
+	case DRM_PLANE_PIXEL_SOURCE_SOLID_FILL:
+		return "solid_fill";
  	default:
  		return "";
  	}
  }

This chunk should be a part of the previous commit. Or dropped completely once DRM_ENUM_NAME_FN is used.

The rest LGTM.

+void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned int indent,
+				     const struct drm_plane_state *state)
+{
+	drm_printf_indent(p, indent, "r=0x%x\n", state->solid_fill.r);
+	drm_printf_indent(p, indent, "g=0x%x\n", state->solid_fill.g);
+	drm_printf_indent(p, indent, "b=0x%x\n", state->solid_fill.b);
+}
+
  /**
   * drm_plane_get_damage_clips - Returns damage clips.
   * @state: Plane state.
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index 234fee3d5a95..303f01f0588c 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -1000,6 +1000,9 @@ drm_plane_get_damage_clips_count(const struct drm_plane_state *state);
  struct drm_mode_rect *
  drm_plane_get_damage_clips(const struct drm_plane_state *state);
+void drm_plane_solid_fill_print_info(struct drm_printer *p, unsigned int indent,
+				     const struct drm_plane_state *state);
+
  int drm_plane_create_scaling_filter_property(struct drm_plane *plane,
  					     unsigned int supported_filters);

--
With best wishes
Dmitry




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux