aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaarten Lankhorst <[email protected]>2016-11-01 12:04:10 +0100
committerMaarten Lankhorst <[email protected]>2016-11-01 14:43:58 +0100
commit7570498efb693eeee44f58dcb5cb64fdee87f17d (patch)
treef2534e74899328fa5970e350910bfcec20801a0e
parent220b0965219ec68fcd28bea603dbfe84281245ff (diff)
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: Maarten Lankhorst <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Matt Roper <[email protected]> Reviewed-by: Paulo Zanoni <[email protected]>
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c32
1 files changed, 9 insertions, 23 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index e6e9cc563484..56372f41137c 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -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);
}
}
}