Summary: | [IVB/HSW full-ppgtt] mplayer fail to play video by "mplayer -vo xv MPEG-2.mpeg" | ||
---|---|---|---|
Product: | DRI | Reporter: | Qingshuai Tian <qingshuai.tian> |
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> |
Status: | CLOSED FIXED | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> |
Severity: | major | ||
Priority: | high | CC: | intel-gfx-bugs, jinxianx.guo, lei.a.liu |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Qingshuai Tian
2014-02-25 05:43:34 UTC
Created attachment 94698 [details]
dmesg info after start x and run mplayer
Created attachment 94699 [details]
Xorg log
[ 60.736334] [drm] GPU crash dump saved to /sys/class/drm/card0/error Please upload this. Created attachment 94707 [details]
error info get from /sys/class/drm/card0/error
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 10fd19f..cba420b 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@ -1779,8 +1779,8 @@ hsw_ring_dispatch_execbuffer(struct intel_ring_buffer *ring, return ret; intel_ring_emit(ring, - MI_BATCH_BUFFER_START | MI_BATCH_PPGTT_HSW | - (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_NON_SECURE_HSW)); + MI_BATCH_BUFFER_START | + (flags & I915_DISPATCH_SECURE ? 0 : MI_BATCH_PPGTT_HSW | MI_BATCH_NON_SECURE_HSW)); /* bit0-7 is the length on GEN6+ */ intel_ring_emit(ring, offset); intel_ring_advance(ring); +1 for new batch buffer finder. Created attachment 94798 [details] dmesg info of patched kernel after start x and play video After I applied the patch Chris gave in comment 5, there is no error info like: "X11 error: BadAlloc (insufficient resources for operation)" again when run the "mplayer -vo xv MPEG-2.mpeg". But the monitor still failed to play the video and only showed a black window in the middle. Assigning to Chris to submit the patch in comment #5 (maybe that happened already, but I'm vacation-mail-recovering ...). So the continued failure here is then likely to be that it is attempting to read the surface data from ggtt when it is only in ppgtt. We've leapt from the frying pan into the fire. I was about to say "maybe we should give up on secure...." GIVE ME BACK PIN! secure batches are still broken with full ppgtt, aren't they? Likely outcome for 3.15 is that full ppgtt will be disabled ... Can you please test with i915.enable_ppgtt=1 Created attachment 95134 [details]
dmesg info with i915.enable_ppgtt=1 set
After set the i915.enable_ppgtt=1 and test with the latest drm-intel-nightly kernel(3d805d), the "mplayer -vo xv " can play the video correctly and there is no error info again.
Yay, someone actually managed to hit the botched secure dispatch with full ppgtt. I'm impressed. Anyway the offending code is disabled and we have this on our todo, including a better testcase to catch it earlier next time around. Closing old verified. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.