From: Maarten Lankhorst <maarten.lankho...@linux.intel.com>

Dump debugfs and planar links as well, this will make it easier to debug
when things go wrong.

v4:
* Rebase
Changes since v1:
- Report planar slaves as such, now that we have the plane_state switch.
Changes since v2:
- Rebase on top of the new plane format dumping

Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
Signed-off-by: Manasi Navare <manasi.d.nav...@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 29 ++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c 
b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index cfb4c1474982..963069b266ab 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -755,6 +755,17 @@ static void plane_rotation(char *buf, size_t bufsize, 
unsigned int rotation)
                 rotation);
 }
 
+static const char *plane_visibility(const struct intel_plane_state 
*plane_state)
+{
+       if (plane_state->uapi.visible)
+               return "visible";
+
+       if (plane_state->planar_slave)
+               return "planar-slave";
+
+       return "hidden";
+}
+
 static void intel_plane_uapi_info(struct seq_file *m, struct intel_plane 
*plane)
 {
        const struct intel_plane_state *plane_state =
@@ -773,12 +784,22 @@ static void intel_plane_uapi_info(struct seq_file *m, 
struct intel_plane *plane)
        plane_rotation(rot_str, sizeof(rot_str),
                       plane_state->uapi.rotation);
 
-       seq_printf(m, "\t\tuapi: fb=%d,%s,%dx%d, src=" DRM_RECT_FP_FMT ", dst=" 
DRM_RECT_FMT ", rotation=%s\n",
+       seq_printf(m, "\t\tuapi: fb=%d,%s,%dx%d, visible=%s, src=" 
DRM_RECT_FP_FMT ", dst=" DRM_RECT_FMT ", rotation=%s\n",
                   fb ? fb->base.id : 0, fb ? format_name.str : "n/a",
                   fb ? fb->width : 0, fb ? fb->height : 0,
+                  plane_visibility(plane_state),
                   DRM_RECT_FP_ARG(&src),
                   DRM_RECT_ARG(&dst),
                   rot_str);
+
+       if (plane_state->planar_linked_plane)
+               seq_printf(m, "\t\tplanar: Linked to [PLANE:%d:%s] as a %s\n",
+                          plane_state->planar_linked_plane->base.base.id, 
plane_state->planar_linked_plane->base.name,
+                          plane_state->planar_slave ? "slave" : "master");
+       if (plane_state->bigjoiner_plane)
+               seq_printf(m, "\t\tbigjoiner: Linked to [PLANE:%d:%s] as a 
%s\n",
+                          plane_state->bigjoiner_plane->base.base.id, 
plane_state->bigjoiner_plane->base.name,
+                          plane_state->bigjoiner_slave ? "slave" : "master");
 }
 
 static void intel_plane_hw_info(struct seq_file *m, struct intel_plane *plane)
@@ -874,6 +895,12 @@ static void intel_crtc_info(struct seq_file *m, struct 
intel_crtc *crtc)
                intel_scaler_info(m, crtc);
        }
 
+       if (crtc_state->bigjoiner)
+               seq_printf(m, "\tLinked to [CRTC:%d:%s] as a %s\n",
+                          crtc_state->bigjoiner_linked_crtc->base.base.id,
+                          crtc_state->bigjoiner_linked_crtc->base.name,
+                          crtc_state->bigjoiner_slave ? "slave" : "master");
+
        for_each_intel_encoder_mask(&dev_priv->drm, encoder,
                                    crtc_state->uapi.encoder_mask)
                intel_encoder_info(m, crtc, encoder);
-- 
2.19.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to