Bug 90236 - [HSW mobile Bisected] Screen is blank while run "mplayer -vo vaapi -va vaapi "
Summary: [HSW mobile Bisected] Screen is blank while run "mplayer -vo vaapi -va vaapi "
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
Keywords: bisected
Depends on:
Reported: 2015-04-29 12:52 UTC by xubin
Modified: 2017-10-06 14:30 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

dmesg (55.80 KB, text/plain)
2015-04-29 12:52 UTC, xubin
no flags Details

Description xubin 2015-04-29 12:52:28 UTC
Created attachment 115443 [details]

==System Environment==
Regression: Yes. Good commit: 2ebef630fd283642a11c48c0e0f054c3c5c59e86

Non-working platforms: Hasswell

-nightly: 9a4da5ec419897b78c1d4a3949c0c049db5402c5 (fails)
    drm-intel-nightly: 2015y-04m-28d-14h-41m-15s UTC integration manifest  
-queued: de4de566f84b87f4d5f8265b11932088adb19896 (fails)
    drm/i915: Update DRIVER_DATE to 20150423
    drm/i915/chv: Implement WaDisableShadowRegForCpd

==Bug detailed description==
run  mplayer -vo vaapi -va vaapi 
screen was blank.

==Reproduce steps==
1. mplayer -vo vaapi -va vaapi 

==Bisect results==
Bisect shows:0875546c5318c85c13d07014af5350e9000bc9e9 is the first bad commit.
commit 0875546c5318c85c13d07014af5350e9000bc9e9
Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Mon Apr 20 09:04:05 2015 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Thu Apr 23 21:06:39 2015 +0200

    drm/i915: Fix up the vma aliasing ppgtt binding

    Currently we have the problem that the decision whether ptes need to
    be (re)written is splattered all over the codebase. Move all that into
    i915_vma_bind. This needs a few changes:
    - Just reuse the PIN_* flags for i915_vma_bind and do the conversion
      to vma->bound in there to avoid duplicating the conversion code all
    - We need to make binding for EXECBUF (i.e. pick aliasing ppgtt if
      around) explicit, add PIN_USER for that.
    - Two callers want to update ptes, give them a PIN_UPDATE for that.

    Of course we still want to avoid double-binding, but that should be
    taken care of:
    - A ppgtt vma will only ever see PIN_USER, so no issue with
    - A ggtt vma with aliasing ppgtt needs both types of binding, and we
      track that properly now.
    - A ggtt vma without aliasing ppgtt could be bound twice. In the
      lower-level ->bind_vma functions hence unconditionally set
      GLOBAL_BIND when writing the ggtt ptes.

    There's still a bit room for cleanup, but that's for follow-up

    v2: Fixup fumbles.

    v3: s/PIN_EXECBUF/PIN_USER/ for clearer meaning, suggested by Chris.
Comment 1 Mika Kuoppala 2015-05-11 09:49:11 UTC
Could you please retest with latest nightly?
Should be fixed by commit c7c7372edc4ebc173ad359aeb5752e9ce09f2741
Comment 2 xubin 2015-05-13 03:11:39 UTC
Fixed with latest nightly.
Comment 3 Elizabeth 2017-10-06 14:30:11 UTC
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.