Commit 7570498e authored by Maarten Lankhorst's avatar Maarten Lankhorst

drm/i915/gen9+: Use for_each_intel_plane_on_crtc in skl_print_wm_changes, v2.

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: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/c9f7dc1a-d23a-7c16-b2b7-1c23dd07ed35@linux.intel.comReviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
parent 220b0965
...@@ -4090,45 +4090,31 @@ skl_print_wm_changes(const struct drm_atomic_state *state) ...@@ -4090,45 +4090,31 @@ skl_print_wm_changes(const struct drm_atomic_state *state)
to_intel_atomic_state(state); to_intel_atomic_state(state);
const struct drm_crtc *crtc; const struct drm_crtc *crtc;
const struct drm_crtc_state *cstate; const struct drm_crtc_state *cstate;
const struct drm_plane *plane;
const struct intel_plane *intel_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 *old_ddb = &dev_priv->wm.skl_hw.ddb;
const struct skl_ddb_allocation *new_ddb = &intel_state->wm_results.ddb; const struct skl_ddb_allocation *new_ddb = &intel_state->wm_results.ddb;
enum pipe pipe;
int id; int id;
int i, j; int i;
for_each_crtc_in_state(state, crtc, cstate, 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; const struct skl_ddb_entry *old, *new;
intel_plane = to_intel_plane(plane);
id = skl_wm_plane_id(intel_plane); id = skl_wm_plane_id(intel_plane);
old = &old_ddb->plane[pipe][id]; old = &old_ddb->plane[pipe][id];
new = &new_ddb->plane[pipe][id]; new = &new_ddb->plane[pipe][id];
if (intel_plane->pipe != pipe)
continue;
if (skl_ddb_entry_equal(old, new)) if (skl_ddb_entry_equal(old, new))
continue; continue;
if (id != PLANE_CURSOR) { DRM_DEBUG_ATOMIC("[PLANE:%d:%s] ddb (%d - %d) -> (%d - %d)\n",
DRM_DEBUG_ATOMIC("[PLANE:%d:plane %d%c] ddb (%d - %d) -> (%d - %d)\n", intel_plane->base.base.id,
plane->base.id, id + 1, intel_plane->base.name,
pipe_name(pipe), old->start, old->end,
old->start, old->end, new->start, new->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);
}
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment