Bug 79061 - [SNB Regression]igt/kms_flip vblank-vs-dpms-suspend
Summary: [SNB Regression]igt/kms_flip vblank-vs-dpms-suspend
Status: CLOSED DUPLICATE of bug 83471
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: highest normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-22 07:34 UTC by Guo Jinxian
Modified: 2017-07-24 22:54 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (102.31 KB, text/plain)
2014-05-22 07:34 UTC, Guo Jinxian
no flags Details

Description Guo Jinxian 2014-05-22 07:34:43 UTC
Created attachment 99562 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
But I can't find good commit on both reset igt and kernel

Non-working platforms: SNB

==kernel==
--------------------------
-nightly: f5b0cca269ca3f7062f8d3441cebe6a16ce12be4(fails)
-queued: e6a7e5d0fd778bc6cf295414b9937723091c9bb6(fails)
    Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Date:   Wed May 21 17:29:31 2014 -0300

    drm/i915: grab the audio power domain when enabling audio on HSW+

    With the current code, we unconditionally touch
    HSW_AUD_PIN_ELD_CP_VLD, which means we can touch it when the power
    well is off, and that will trigger an "Unclaimed register" message.

    Just adding the intel_crtc->config.has_audio should already avoid the
    unclaimed register messsages, but since we actually need the power
    well to make the Audio code work, it makes sense to also grab the
    audio power domain reference, and release it when it's not needed
    anymore.

    I used IGT's pm_rpm to reproduce this bug, but it can probably be
    reproduced on other tests that do modesets. I'm using a machine with
    eDP+HDMI connected.

    Regression introduced by:

    commit acfa75b02e72bad7c93564ac379712e29c001432
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Thu Apr 24 23:54:51 2014 +0200
        drm/i915: Simplify audio handling on DDI ports

    Credits to Daniel for suggesting this implementation.

    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    
-fixes: f93e94efebbe0b9ad5048076f171ea2b054ca4fb(fails)
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Wed May 21 12:42:56 2014 +0100

    drm/i915: Fix dynamic allocation of physical handles

    A single object may be referenced by multiple registers fundamentally
    breaking the static allotment of ids in the current design. When the
    object is used the second time, the physical address of the first
    assignment is relinquished and a second one granted. However, the
    hardware is still reading (and possibly writing) to the old physical
    address now returned to the system. Eventually hilarity will ensue, but
    in the short term, it just means that cursors are broken when using more
    than one pipe.

    v2: Fix up leak of pci handle when handling an error during attachment,
    and avoid a double kmap/kunmap. (Ville)
    Rebase against -fixes.

    v3: And fix the error handling added in v2 (Ville)

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77351
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>


==Bug detailed description==
-----------------------------
igt/kms_flip some subcases below fail

igt/kms_flip/dpms-vs-suspend
igt/kms_flip/dpms-vs-suspend-interruptible
igt/kms_flip/modeset-vs-suspend
igt/kms_flip/modeset-vs-suspend-interruptible

Output:
./kms_flip --run-subtest dpms-vs-suspend
IGT-Version: 1.6-gc75dcbd (x86_64) (Linux: 3.15.0-rc5_drm-intel-fixes_f93e94_20140522+ x86_64)
Using monotonic timestamps
kms_flip: igt_core.c:720: igt_exit: Assertion `skipped_one || succeeded_one || failed_one' failed.
Aborted (core dumped)

==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest dpms-vs-suspend
Comment 1 Guo Jinxian 2014-07-02 06:10:52 UTC
This bug still able to reproduce on latest -nightly(a7665faa31dbbbae25e376508a9b3781e25d09e2)

Output:
[root@x-sgb4 tests]# ./kms_flip --run-subtest dpms-vs-suspend
IGT-Version: 1.7-g67e29a3 (i686) (Linux: 3.16.0-rc2_drm-intel-nightly_a7665f_20140701+ i686)
Using monotonic timestamps
kms_flip: igt_core.c:720: igt_exit: Assertion `skipped_one || succeeded_one || failed_one' failed.
Aborted (core dumped)
Comment 2 Daniel Vetter 2014-11-27 16:30:34 UTC
Can you please run the testcase with debugging enabled?

./kms_flip --run-subtest dpms-vs-suspend --debug

And then attach the output. It looks like if fails even before we've really started a single subtest, which is strange.

And of course please retest with latest igt/kernel.
Comment 3 Guo Jinxian 2014-11-28 08:25:00 UTC
(In reply to Daniel Vetter from comment #2)
> Can you please run the testcase with debugging enabled?
> 
> ./kms_flip --run-subtest dpms-vs-suspend --debug
> 
> And then attach the output. It looks like if fails even before we've really
> started a single subtest, which is strange.
> 
> And of course please retest with latest igt/kernel.

The subcase unable to find on latest igt


[root@x-sgb4 tests]# ./kms_flip --run-subtest dpms-vs-suspend --debug
IGT-Version: 1.8-gb35b150 (i686) (Linux: 3.18.0-rc6_drm-intel-nightly_904b85_20141127+ i686)
Test requirement passed: !igt_run_in_simulation()
Test requirement passed: fd >= 0
Test requirement passed: fd >= 0
Test requirement passed: drmSetMaster(fd) == 0
Test requirement passed: fd >= 0
VT: graphics mode set
Using monotonic timestamps
Unknown subtest: dpms-vs-suspend
VT: original mode restored
Comment 4 Daniel Vetter 2014-11-28 10:11:33 UTC
The testcase was rename to vblank-vs-dpms-suspend in

commit c75dcbdac51dcc2d631a4a45049c9421e0229e16
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue May 20 15:45:31 2014 +0200

    tests/kms_flip: various improvements

Please retest using the new testname. I'll update the summary.
Comment 5 Guo Jinxian 2014-12-01 02:16:12 UTC
(In reply to Daniel Vetter from comment #4)
> The testcase was rename to vblank-vs-dpms-suspend in
> 
> commit c75dcbdac51dcc2d631a4a45049c9421e0229e16
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Tue May 20 15:45:31 2014 +0200
> 
>     tests/kms_flip: various improvements
> 
> Please retest using the new testname. I'll update the summary.

Test still fails with new name on latest -nightly(0db9cf7742874ee2c09a35b640c1bb04cb379eb6).

[root@x-sgb4 tests]# ./kms_flip --run-subtest vblank-vs-dpms-suspend
IGT-Version: 1.8-gb35b150 (i686) (Linux: 3.18.0-rc6_drm-intel-nightly_0db9cf_20141130+ i686)
Using monotonic timestamps
Beginning vblank-vs-dpms-suspend on crtc 8, connector 14
  1680x1050 60 1680 1784 1960 2240 1050 1053 1059 1089 0x6 0x48 146250
.rtcwake: wakeup from "mem" using /dev/rtc0 at Mon Dec  1 10:00:10 2014
.rtcwake: wakeup from "mem" using /dev/rtc0 at Mon Dec  1 10:00:42 2014
Test assertion failure function check_state, file kms_flip.c:553:
Failed assertion: timercmp(&es->last_received_ts, &es->current_ts, <)
vblank ts before the vblank was issued!
timerdiff -1s, 988644us
Subtest vblank-vs-dpms-suspend: FAIL (1.254s)
Comment 6 lu hua 2015-03-16 06:10:37 UTC

*** This bug has been marked as a duplicate of bug 83471 ***


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.