Bug 79055

Summary: [HSW]igt/kms_flip/vblank-vs-suspend fails
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Mika Kuoppala <mika.kuoppala>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-05-22 06:22:21 UTC
Created attachment 99558 [details]
dmesg

==System Environment==
--------------------------
Regression: No. 
It's new case

Non-working platforms: HSW

==kernel==
--------------------------
-nightly: 36765340cb068dec1216342bfcdbf2678ec29860(fails)
-queued: bc76e320f21f8bd790a72bd5dc06909617432352(fails)
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue May 20 22:46:50 2014 +0200

    drm/i915: Drop now misleading DDI comment from dp_link_down

    Since

    commit 2e82a7203182d0883d0f9450d40ad6e1c6578ad9
    Author: Imre Deak <imre.deak@intel.com>
    Date:   Fri Jan 17 15:46:43 2014 +0200

        drm/i915: don't disable DP port after a failed link training

    and

    commit 5d6a1116c6475404e6505b708320f9579ae19acd
    Author: Imre Deak <imre.deak@intel.com>
    Date:   Thu Jan 16 18:35:57 2014 +0200

        drm/i915: don't disable the DP port if the link is lost

    we no longer call intel_dp_link_down from generic DP code, but only
    from the !HAS_DDI dp encoder functions. hsw/bdw have their own encoder
    disabling callback in intel_ddi.c.

    Hence the early return is no longer needed and the big comment just
    confusing, so let's rip it out. To ensure what we don't accidentally
    use this again on ddi encoders add a WARN_ON instead.

    Spotted while reading through intel_dp.c

    Cc: Imre Deak <imre.deak@intel.com>
    Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    
-fixes: 4ba4801d73d14690ed15774424e8b1d4c18323a5(fails)
    Author: Dave Airlie <airlied@redhat.com>
Date:   Tue May 20 09:56:26 2014 +1000

    Merge tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel into drm-fixes

    Intel fixes for regressions, black screens and hangs, for 3.15.

    * tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: Increase WM memory latency values on SNB
      drm/i915: restore backlight precision when converting from ACPI
      drm/i915: Use the first mode if there is no preferred mode in the EDID
      drm/i915/dp: force eDP lane count to max available lanes on BDW
      drm/i915/vlv: reset VLV media force wake request register
      drm/i915/SDVO: For sysfs link put directory and target in correct order
      drm/i915: use lane count and link rate from VBT as minimums for eDP
      drm/i915: clean up VBT eDP link param decoding
      drm/i915: consider the source max DP lane count too

==Bug detailed description==
-----------------------------
igt/kms_flip/vblank-vs-suspend fails


Output:
./kms_flip --run-subtest vblank-vs-suspend
IGT-Version: 1.6-gc75dcbd (x86_64) (Linux: 3.15.0-rc5_drm-intel-nightly_367653_20140521+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-suspend on crtc 5, connector 13
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
.rtcwake: wakeup from ""mem"" using /dev/rtc0 at Thu May 22 06:01:50 2014
.rtcwake: wakeup from ""mem"" using /dev/rtc0 at Thu May 22 06:02:22 2014
Test assertion failure function check_state, file kms_flip.c:576:
Last errno: 0, Success
Failed assertion: es->current_seq - es->last_seq <= 100
unexpected vblank seq 19224, should be < 19163
Subtest vblank-vs-suspend: FAIL

==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest vblank-vs-suspend
Comment 1 Daniel Vetter 2014-05-22 06:26:20 UTC
Should work now with latest -nightly, specifically:

commit d3eaf8843da6c3aa0d6b5b480820382c7bd1a89d
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue May 20 17:20:05 2014 +0300

    drm/i915: Re-enable vblank irqs for already active pipes
Comment 2 Guo Jinxian 2014-06-18 07:58:33 UTC
Tried 10 times on latest -nightly, didn't find this issue.

[root@x-hsw27 tests]# time ./kms_flip --run-subtest vblank-vs-suspend
IGT-Version: 1.7-g1b1f4b1 (x86_64) (Linux: 3.15.0-rc8_drm-intel-nightly_fff6c5_20140618+ x86_64)
Using monotonic timestamps
Beginning vblank-vs-suspend on crtc 6, connector 16
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jun 18 20:37:45 2014
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jun 18 20:38:17 2014

vblank-vs-suspend on crtc 6, connector 16: PASSED

Beginning vblank-vs-suspend on crtc 10, connector 16
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jun 18 20:38:49 2014
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jun 18 20:39:21 2014

vblank-vs-suspend on crtc 10, connector 16: PASSED

Beginning vblank-vs-suspend on crtc 14, connector 16
  1280x1024 60 1280 1328 1440 1688 1024 1025 1028 1066 0x5 0x48 108000
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jun 18 20:39:53 2014
.rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Wed Jun 18 20:40:25 2014

vblank-vs-suspend on crtc 14, connector 16: PASSED

Subtest vblank-vs-suspend: SUCCESS

real    3m12.126s
user    0m0.051s
sys     0m0.917s
Comment 3 Elizabeth 2017-10-06 14:38:06 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.