<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Skylake GPU HANG while gstreamer H264 vaapi encoding from MJPEG vaapi decode on drm-tip"
href="https://bugs.freedesktop.org/show_bug.cgi?id=110394#c25">Comment # 25</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Skylake GPU HANG while gstreamer H264 vaapi encoding from MJPEG vaapi decode on drm-tip"
href="https://bugs.freedesktop.org/show_bug.cgi?id=110394">bug 110394</a>
from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
<pre>You can try something silly like
diff --git a/drivers/gpu/drm/i915/intel_lrc.c
b/drivers/gpu/drm/i915/intel_lrc.c
index 4e0a351bfbca..e5feb0f5a5fe 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -2115,10 +2115,16 @@ static int gen9_emit_bb_start(struct i915_request *rq,
{
u32 *cs;
- cs = intel_ring_begin(rq, 6);
+ cs = intel_ring_begin(rq, 12);
if (IS_ERR(cs))
return PTR_ERR(cs);
+ *cs++ = MI_LOAD_REGISTER_IMM(1);
+ *cs++ = i915_mmio_reg_offset(GEN6_RC_CONTROL);
+ *cs++ = GEN6_RC_CTL_HW_ENABLE |
+ GEN6_RC_CTL_RC6_ENABLE |
+ GEN6_RC_CTL_EI_MODE(1);
+
*cs++ = MI_ARB_ON_OFF | MI_ARB_ENABLE;
*cs++ = MI_BATCH_BUFFER_START_GEN8 |
@@ -2129,6 +2135,10 @@ static int gen9_emit_bb_start(struct i915_request *rq,
*cs++ = MI_ARB_ON_OFF | MI_ARB_DISABLE;
*cs++ = MI_NOOP;
+ *cs++ = MI_LOAD_REGISTER_IMM(1);
+ *cs++ = i915_mmio_reg_offset(GEN6_RC_CONTROL);
+ *cs++ = 0;
+
intel_ring_advance(rq, cs);
return 0;
to see if it is just an rc6 event on idling that is the culprit, while keeping
rc6 active for the encoder.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>