Dumps scaler state as part of dumping crtc_state.

v2:
-use regular ints from plane_state->src (me)

Signed-off-by: Chandra Konduru <chandra.kond...@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c |   47 ++++++++++++++++++++++++++++++++--
 1 file changed, 45 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index dddbe11..316c4c2 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10558,8 +10558,14 @@ static void intel_dump_pipe_config(struct intel_crtc 
*crtc,
                                   struct intel_crtc_state *pipe_config,
                                   const char *context)
 {
-       DRM_DEBUG_KMS("[CRTC:%d]%s config for pipe %c\n", crtc->base.base.id,
-                     context, pipe_name(crtc->pipe));
+       struct drm_device *dev = crtc->base.dev;
+       struct drm_plane *plane;
+       struct intel_plane *intel_plane;
+       struct intel_plane_state *state;
+       struct drm_framebuffer *fb;
+
+       DRM_DEBUG_KMS("[CRTC:%d]%s config %p for pipe %c\n", crtc->base.base.id,
+                     context, pipe_config, pipe_name(crtc->pipe));
 
        DRM_DEBUG_KMS("cpu_transcoder: %c\n", 
transcoder_name(pipe_config->cpu_transcoder));
        DRM_DEBUG_KMS("pipe bpp: %i, dithering: %i\n",
@@ -10596,6 +10602,9 @@ static void intel_dump_pipe_config(struct intel_crtc 
*crtc,
        DRM_DEBUG_KMS("port clock: %d\n", pipe_config->port_clock);
        DRM_DEBUG_KMS("pipe src size: %dx%d\n",
                      pipe_config->pipe_src_w, pipe_config->pipe_src_h);
+       DRM_DEBUG_KMS("num_scalers: %d\n", 
pipe_config->scaler_state.num_scalers);
+       DRM_DEBUG_KMS("scaler_users: 0x%x\n", 
pipe_config->scaler_state.scaler_users);
+       DRM_DEBUG_KMS("scaler id: %d\n", pipe_config->scaler_state.scaler_id);
        DRM_DEBUG_KMS("gmch pfit: control: 0x%08x, ratios: 0x%08x, lvds border: 
0x%08x\n",
                      pipe_config->gmch_pfit.control,
                      pipe_config->gmch_pfit.pgm_ratios,
@@ -10606,6 +10615,40 @@ static void intel_dump_pipe_config(struct intel_crtc 
*crtc,
                      pipe_config->pch_pfit.enabled ? "enabled" : "disabled");
        DRM_DEBUG_KMS("ips: %i\n", pipe_config->ips_enabled);
        DRM_DEBUG_KMS("double wide: %i\n", pipe_config->double_wide);
+
+       DRM_DEBUG_KMS("planes on this crtc\n");
+       list_for_each_entry(plane, &dev->mode_config.plane_list, head) {
+               intel_plane = to_intel_plane(plane);
+               if (intel_plane->pipe != crtc->pipe)
+                       continue;
+
+               state = to_intel_plane_state(plane->state);
+               fb = state->base.fb;
+               if (!fb) {
+                       DRM_DEBUG_KMS("%s PLANE:%d plane: %u.%u idx: %d "
+                               "disabled, scaler_id = %d\n",
+                               plane->type == DRM_PLANE_TYPE_CURSOR ? "CURSOR" 
: "STANDARD",
+                               plane->base.id, intel_plane->pipe,
+                               (crtc->base.primary == plane) ? 0 : 
intel_plane->plane + 1,
+                               drm_plane_index(plane), state->scaler_id);
+                       continue;
+               }
+
+               DRM_DEBUG_KMS("%s PLANE:%d plane: %u.%u idx: %d enabled",
+                       plane->type == DRM_PLANE_TYPE_CURSOR ? "CURSOR" : 
"STANDARD",
+                       plane->base.id, intel_plane->pipe,
+                       crtc->base.primary == plane ? 0 : intel_plane->plane + 
1,
+                       drm_plane_index(plane));
+               DRM_DEBUG_KMS("\tFB:%d, fb = %ux%u format = 0x%x",
+                       fb->base.id, fb->width, fb->height, fb->pixel_format);
+               DRM_DEBUG_KMS("\tscaler:%d src (%u, %u) %ux%u dst (%u, %u) 
%ux%u\n",
+                       state->scaler_id,
+                       state->src.x1, state->src.y1,
+                       drm_rect_width(&state->src),
+                       drm_rect_height(&state->src),
+                       state->dst.x1, state->dst.y1,
+                       drm_rect_width(&state->dst), 
drm_rect_height(&state->dst));
+       }
 }
 
 static bool encoders_cloneable(const struct intel_encoder *a,
-- 
1.7.9.5

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

Reply via email to