<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [SNB CI] multi-minute cpu stall when running kms_flip@blt-wf_vblank-vs-dpms|modeset"
href="https://bugs.freedesktop.org/show_bug.cgi?id=102262#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [SNB CI] multi-minute cpu stall when running kms_flip@blt-wf_vblank-vs-dpms|modeset"
href="https://bugs.freedesktop.org/show_bug.cgi?id=102262">bug 102262</a>
from <span class="vcard"><a class="email" href="mailto:daniel@ffwll.ch" title="Daniel Vetter <daniel@ffwll.ch>"> <span class="fn">Daniel Vetter</span></a>
</span></b>
<pre>Created <span class=""><a href="attachment.cgi?id=133552" name="attach_133552" title="netconsole capture right around the stall">attachment 133552</a> <a href="attachment.cgi?id=133552&action=edit" title="netconsole capture right around the stall">[details]</a></span>
netconsole capture right around the stall
Includes the following debug patch applied on top:
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index decf5da63950..15582af42be7 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10485,6 +10485,8 @@ static int intel_crtc_atomic_check(struct drm_crtc
*crtc,
return ret;
}
+ printk("after clock compute\n");
+
if (crtc_state->color_mgmt_changed) {
ret = intel_color_check(crtc, crtc_state);
if (ret)
@@ -12025,6 +12027,8 @@ static int intel_atomic_check(struct drm_device *dev,
if (ret)
return ret;
+ printk("after check_modeset\n");
+
for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, crtc_state,
i) {
struct intel_crtc_state *pipe_config =
to_intel_crtc_state(crtc_state);
@@ -12089,7 +12093,11 @@ static int intel_atomic_check(struct drm_device *dev,
return ret;
intel_fbc_choose_crtc(dev_priv, state);
- return calc_watermark_data(state);
+ ret = calc_watermark_data(state);
+
+ printk("end of atomic_check\n");
+
+ return ret;
}
static int intel_atomic_prepare_commit(struct drm_device *dev,
@@ -12343,7 +12351,9 @@ static void intel_atomic_commit_tail(struct
drm_atomic_state *state)
unsigned crtc_vblank_mask = 0;
int i;
+ printk("before wait\n");
intel_atomic_commit_fence_wait(intel_state);
+ printk("after wait\n");
drm_atomic_helper_wait_for_dependencies(state);
@@ -12573,6 +12583,8 @@ static int intel_atomic_commit(struct drm_device *dev,
return ret;
}
+ printk("after atomic prepare commit\n");
+
/*
* The intel_legacy_cursor_update() fast path takes care
* of avoiding the vblank waits for simple cursor</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>