[Bug 110394] Skylake GPU HANG while gstreamer H264 vaapi encoding from MJPEG vaapi decode on drm-tip

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Apr 15 08:20:35 UTC 2019


https://bugs.freedesktop.org/show_bug.cgi?id=110394

--- Comment #25 from Chris Wilson <chris at chris-wilson.co.uk> ---
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.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20190415/3a91a11d/attachment.html>


More information about the intel-gfx-bugs mailing list