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
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)
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.
(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
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.
(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)
*** 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.