drm/i915/gen9+: Use for_each_intel_plane_on_crtc in skl_print_wm_changes, v2.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 1 Nov 2016 11:04:10 +0000 (12:04 +0100)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 1 Nov 2016 13:43:58 +0000 (14:43 +0100)
Using for_each_intel_plane_on_crtc will allow us to find all allocations
that may have changed, not just the one added by the atomic state.

This will print changes to plane allocations for crtc's when some
planes are not added to the atomic state.

Changes since v1:
- Rephrase commit message. (Ville)
- Use plane->base.id and plane->name to kill off cursor special
  case. (Ville)
- Add intel_crtc to prevent a line wrap. (Paulo)
- Line wrap debug messages.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/c9f7dc1a-d23a-7c16-b2b7-1c23dd07ed35@linux.intel.com
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
drivers/gpu/drm/i915/intel_pm.c

index e6e9cc5634841530e4ba3c7d568383c45c175c40..56372f41137c98c9ce0dd18f02bb9cec8ee416f5 100644 (file)
@@ -4090,45 +4090,31 @@ skl_print_wm_changes(const struct drm_atomic_state *state)
                to_intel_atomic_state(state);
        const struct drm_crtc *crtc;
        const struct drm_crtc_state *cstate;
-       const struct drm_plane *plane;
        const struct intel_plane *intel_plane;
-       const struct drm_plane_state *pstate;
        const struct skl_ddb_allocation *old_ddb = &dev_priv->wm.skl_hw.ddb;
        const struct skl_ddb_allocation *new_ddb = &intel_state->wm_results.ddb;
-       enum pipe pipe;
        int id;
-       int i, j;
+       int i;
 
        for_each_crtc_in_state(state, crtc, cstate, i) {
-               pipe = to_intel_crtc(crtc)->pipe;
+               const struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+               enum pipe pipe = intel_crtc->pipe;
 
-               for_each_plane_in_state(state, plane, pstate, j) {
+               for_each_intel_plane_on_crtc(dev, intel_crtc, intel_plane) {
                        const struct skl_ddb_entry *old, *new;
 
-                       intel_plane = to_intel_plane(plane);
                        id = skl_wm_plane_id(intel_plane);
                        old = &old_ddb->plane[pipe][id];
                        new = &new_ddb->plane[pipe][id];
 
-                       if (intel_plane->pipe != pipe)
-                               continue;
-
                        if (skl_ddb_entry_equal(old, new))
                                continue;
 
-                       if (id != PLANE_CURSOR) {
-                               DRM_DEBUG_ATOMIC("[PLANE:%d:plane %d%c] ddb (%d - %d) -> (%d - %d)\n",
-                                                plane->base.id, id + 1,
-                                                pipe_name(pipe),
-                                                old->start, old->end,
-                                                new->start, new->end);
-                       } else {
-                               DRM_DEBUG_ATOMIC("[PLANE:%d:cursor %c] ddb (%d - %d) -> (%d - %d)\n",
-                                                plane->base.id,
-                                                pipe_name(pipe),
-                                                old->start, old->end,
-                                                new->start, new->end);
-                       }
+                       DRM_DEBUG_ATOMIC("[PLANE:%d:%s] ddb (%d - %d) -> (%d - %d)\n",
+                                        intel_plane->base.base.id,
+                                        intel_plane->base.name,
+                                        old->start, old->end,
+                                        new->start, new->end);
                }
        }
 }