summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2019-05-17 22:31:28 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2019-06-04 16:42:53 +0300
commita0e701041c958a6667e9bdd050f06ffb2d4de1da (patch)
treecc3702bc304065976aa100cae5cae47a6b948ede
parent9a86a07c7e942c25954b9f71010af9aa6cad3997 (diff)
downloadlinux-a0e701041c958a6667e9bdd050f06ffb2d4de1da.tar.xz
drm/i915: Move state dump to the end of atomic_check()
Currently we're dumping the crtc states before they have been fully calculated. Move the dumping to the end of .atomic_check() so we get a fully up to date dump. Let's also do the dump for fully disabled pipes, but we'll limit that to just saying that the pipe is disabled since the rest of the state is going to be nonsense in that case. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190517193132.8140-10-ville.syrjala@linux.intel.com Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 7ce61ecca78b..b7fc89986793 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11805,8 +11805,9 @@ static void intel_dump_pipe_config(struct intel_crtc_state *pipe_config,
struct drm_framebuffer *fb;
char buf[64];
- DRM_DEBUG_KMS("[CRTC:%d:%s]%s\n",
- crtc->base.base.id, crtc->base.name, context);
+ DRM_DEBUG_KMS("[CRTC:%d:%s] enable: %s %s\n",
+ crtc->base.base.id, crtc->base.name,
+ yesno(pipe_config->base.enable), context);
snprintf_output_types(buf, sizeof(buf), pipe_config->output_types);
DRM_DEBUG_KMS("output_types: %s (0x%x)\n",
@@ -13399,10 +13400,6 @@ static int intel_atomic_check(struct drm_device *dev,
if (needs_modeset(&new_crtc_state->base))
any_ms = true;
-
- intel_dump_pipe_config(new_crtc_state,
- needs_modeset(&new_crtc_state->base) ?
- "[modeset]" : "[fastset]");
}
ret = drm_dp_mst_atomic_check(&state->base);
@@ -13434,6 +13431,17 @@ static int intel_atomic_check(struct drm_device *dev,
if (ret)
return ret;
+ for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
+ new_crtc_state, i) {
+ if (!needs_modeset(&new_crtc_state->base) &&
+ !new_crtc_state->update_pipe)
+ continue;
+
+ intel_dump_pipe_config(new_crtc_state,
+ needs_modeset(&new_crtc_state->base) ?
+ "[modeset]" : "[fastset]");
+ }
+
return 0;
}