Created attachment 99306 [details] dmesg ==System Environment== -------------------------- Regression: No. It's new case Non-working platforms: BDW ==kernel== -------------------------- -nightly: f79ba79cf037eea9ee757ad37730b00f43d5ef80 (fails) -queued: d3b448d9917a3d6531e499d88bfb13ea5e31e4ad (fails) Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri May 16 18:59:00 2014 +0100 drm/i915: Only unpin the default ctx object if it exists Since commit 691e6415c891b8b2b082a120b896b443531c4d45 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Apr 9 09:07:36 2014 +0100 drm/i915: Always use kref tracking for all contexts. we have contexts everywhere, and so we must be careful to distinguish fake contexts, which do not have an associated bo, and real ones, which do. In particular, we now need to be careful not to dereference NULL pointers. This is one such example, as the commit highlighted above failed to move the unpinning of the default ctx object into the real-context-only branch. Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78792 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> -fixes: e95a2f7509f5219177d6821a0a8754f93892ca56 (skips) Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Thu May 8 15:09:19 2014 +0300 drm/i915: Increase WM memory latency values on SNB On SNB the BIOS provided WM memory latency values seem insufficient to handle high resolution displays. In this particular case the display mode was a 2560x1440@60Hz, which makes the pixel clock 241.5 MHz. It was empirically found that a memory latency value if 1.2 usec is enough to avoid underruns, whereas the BIOS provided value of 0.7 usec was clearly too low. Incidentally 1.2 usec is what the typical BIOS provided values are on IVB systems. Increase the WM memory latency values to at least 1.2 usec on SNB. Hopefully this won't have a significant effect on power consumption. v2: Increase the latency values regardless of the pixel clock Cc: Robert N <crshman@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70254 Tested-by: Robert Navarro <crshman@gmail.com> Tested-by: Vitaly Minko <vitaly.minko@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> ==Bug detailed description== ----------------------------- igt/kms_flip some subcases below fail igt/kms_flip/modeset-vs-rpm igt/kms_flip/modeset-vs-rpm-interruptible igt/kms_flip/dpms-vs-rpm igt/kms_flip/dpms-vs-rpm-interruptible Output: ./kms_flip --run-subtest modeset-vs-rpm IGT-Version: 1.6-gd71add5 (x86_64) (Linux: 3.15.0-rc3_drm-intel-nightly_f79ba7_20140519+ x86_64) Using monotonic timestamps Beginning modeset-vs-rpm on crtc 5, connector 14 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .Test assertion failure function run_test_step, file kms_flip.c:937: Last errno: 0, Success Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) Subtest modeset-vs-rpm: FAIL ==Reproduce steps== ---------------------------- 1. ./kms_flip --run-subtest modeset-vs-rpm
Oh neat, runtime pm is busted. Is this a regression?
Aside: The dpms subtests will fail until we have my runtime pm for dpms patches merged.
It also fails on Baytrail.
(In reply to comment #1) > Oh neat, runtime pm is busted. > > Is this a regression? I didn't found good commit on -next-queued. The result on -next-queued(e5c03ca362819ba8ffbe5674340b61b9cd75de8f) was: ./kms_flip --run-subtest modeset-vs-rpm-interruptible IGT-Version: 1.6-gc75dcbd (x86_64) (Linux: 3.14.0_drm-intel-next-queued_e5c03c_20140501+ x86_64) Using monotonic timestamps kms_flip: igt_core.c:720: igt_exit: Assertion `skipped_one || succeeded_one || failed_one' failed. Aborted
(In reply to comment #2) > Aside: The dpms subtests will fail until we have my runtime pm for dpms > patches merged. They are merged, please re-test on current drm-intel-nightly.
(In reply to comment #5) > (In reply to comment #2) > > Aside: The dpms subtests will fail until we have my runtime pm for dpms > > patches merged. > > They are merged, please re-test on current drm-intel-nightly. The subtest unable to run on latest -nightly(4a3d32734bdcef6813b31f06a58430436e98711e) [root@x-hsw24 tests]# ./kms_flip --run-subtest modeset-vs-rpm IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_4a3d32_20140909+ x86_64) Using monotonic timestamps Unknown subtest: modeset-vs-rpm
(In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #2) > > > Aside: The dpms subtests will fail until we have my runtime pm for dpms > > > patches merged. > > > > They are merged, please re-test on current drm-intel-nightly. > > The subtest unable to run on latest > -nightly(4a3d32734bdcef6813b31f06a58430436e98711e) > > [root@x-hsw24 tests]# ./kms_flip --run-subtest modeset-vs-rpm > IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: > 3.17.0-rc4_drm-intel-nightly_4a3d32_20140909+ x86_64) > Using monotonic timestamps > Unknown subtest: modeset-vs-rpm The test is now called vblank-vs-modeset-rpm, please rerun.
(In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #5) > > > (In reply to comment #2) > > > > Aside: The dpms subtests will fail until we have my runtime pm for dpms > > > > patches merged. > > > > > > They are merged, please re-test on current drm-intel-nightly. > > > > The subtest unable to run on latest > > -nightly(4a3d32734bdcef6813b31f06a58430436e98711e) > > > > [root@x-hsw24 tests]# ./kms_flip --run-subtest modeset-vs-rpm > > IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: > > 3.17.0-rc4_drm-intel-nightly_4a3d32_20140909+ x86_64) > > Using monotonic timestamps > > Unknown subtest: modeset-vs-rpm > > The test is now called vblank-vs-modeset-rpm, please rerun. Test still fails. root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest vblank-vs-modeset-rpm IGT-Version: 1.8-gd9d3f4b (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_99f444_20140910+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .Test assertion failure function run_test_step, file kms_flip.c:949: Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) Subtest vblank-vs-modeset-rpm: FAIL (10.575s)
The following patch fixes the problem for me on BDW: http://patchwork.freedesktop.org/patch/35070/ I tested it using: for i in vblank-vs-dpms-rpm vblank-vs-modeset-rpm vblank-vs-dpms-rpm-interruptible vblank-vs-modeset-rpm-interruptible; do sudo ./kms_flip --run-subtest $i; done
IGT patch committed. Closing bug. When verifying, make sure you are running the most up-to-date IGT version, and that the patch is applied on it.
(In reply to Paulo Zanoni from comment #10) > IGT patch committed. Closing bug. > > When verifying, make sure you are running the most up-to-date IGT version, > and that the patch is applied on it. On latest igt, test result still fails root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# for i in vblank-vs-dpms-rpm vblank-vs-modeset-rpm vblank-vs-dpms-rpm-interruptible vblank-vs-modeset-rpm-interruptible; do sudo ./kms_flip --run-subtest $i; done IGT-Version: 1.8-gbba1cd0 (x86_64) (Linux: 3.18.0-rc1_drm-intel-nightly_f2bcbc_20141021+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .Test assertion failure function run_test_step, file kms_flip.c:947: Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) Subtest vblank-vs-dpms-rpm: FAIL (10.401s) IGT-Version: 1.8-gbba1cd0 (x86_64) (Linux: 3.18.0-rc1_drm-intel-nightly_f2bcbc_20141021+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .Test assertion failure function run_test_step, file kms_flip.c:947: Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) Subtest vblank-vs-modeset-rpm: FAIL (10.392s) IGT-Version: 1.8-gbba1cd0 (x86_64) (Linux: 3.18.0-rc1_drm-intel-nightly_f2bcbc_20141021+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-rpm-interruptible on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .Test assertion failure function run_test_step, file kms_flip.c:947: Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) Last errno: 4, Interrupted system call Subtest vblank-vs-dpms-rpm-interruptible: FAIL (10.370s) IGT-Version: 1.8-gbba1cd0 (x86_64) (Linux: 3.18.0-rc1_drm-intel-nightly_f2bcbc_20141021+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm-interruptible on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .Test assertion failure function run_test_step, file kms_flip.c:947: Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) Last errno: 4, Interrupted system call Subtest vblank-vs-modeset-rpm-interruptible: FAIL (10.390s) commit bba1cd0091b3e8e987f15dac1f38d233b5b0ee78 Author: Paulo Zanoni <paulo.r.zanoni@intel.com> AuthorDate: Tue Oct 14 13:52:58 2014 -0300 Commit: Paulo Zanoni <paulo.r.zanoni@intel.com> CommitDate: Fri Oct 17 19:00:50 2014 -0300 tests/kms_cursor_crc: HSW/BDW only have square cursors When I look at cursor_size_ok() (from the Kernel's intel_display.c), I see that only 845g and i865g support non-square cursors, so SKIP the tests on HSW/BDW instead of failing them. This problem happened because support for non-square cursors was being developed for HSW/BDW, but it ended up not being merged due to a small problem and priority changes. Let's make those tests SKIP until we have proper support on the Kernel: after that, we can revert this patch. v2: Improve commit message. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84268 Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
(In reply to Guo Jinxian from comment #11) > (In reply to Paulo Zanoni from comment #10) > > IGT patch committed. Closing bug. > > > > When verifying, make sure you are running the most up-to-date IGT version, > > and that the patch is applied on it. > > On latest igt, test result still fails Right. I was not reproducing the failure since I was running pm_rpm before kms_flip. If I just boot kms_flip, I can reproduce the bug. We were missing this patch too: http://patchwork.freedesktop.org/patch/35347/ With this, my BDW machine passes the test.
(In reply to Paulo Zanoni from comment #12) > (In reply to Guo Jinxian from comment #11) > > (In reply to Paulo Zanoni from comment #10) > > > IGT patch committed. Closing bug. > > > > > > When verifying, make sure you are running the most up-to-date IGT version, > > > and that the patch is applied on it. > > > > On latest igt, test result still fails > > Right. I was not reproducing the failure since I was running pm_rpm before > kms_flip. If I just boot kms_flip, I can reproduce the bug. We were missing > this patch too: http://patchwork.freedesktop.org/patch/35347/ > > With this, my BDW machine passes the test. Test passed with this patch. root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# for i in vblank-vs-dpms-rpm vblank-vs-modeset-rpm vblank-vs-dpms-rpm-interruptible vblank-vs-modeset-rpm-interruptible; do sudo ./kms_flip --run-subtest $i; done IGT-Version: 1.8-g1c89e8d (x86_64) (Linux: 3.18.0-rc1_kcloud_4dcc18_20141022+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm on crtc 8, connector 19: PASSED Beginning vblank-vs-dpms-rpm on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm on crtc 12, connector 19: PASSED Beginning vblank-vs-dpms-rpm on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm on crtc 16, connector 19: PASSED Subtest vblank-vs-dpms-rpm: SUCCESS (10.733s) IGT-Version: 1.8-g1c89e8d (x86_64) (Linux: 3.18.0-rc1_kcloud_4dcc18_20141022+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm on crtc 8, connector 19: PASSED Beginning vblank-vs-modeset-rpm on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm on crtc 12, connector 19: PASSED Beginning vblank-vs-modeset-rpm on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm on crtc 16, connector 19: PASSED Subtest vblank-vs-modeset-rpm: SUCCESS (11.727s) IGT-Version: 1.8-g1c89e8d (x86_64) (Linux: 3.18.0-rc1_kcloud_4dcc18_20141022+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-rpm-interruptible on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm-interruptible on crtc 8, connector 19: PASSED Beginning vblank-vs-dpms-rpm-interruptible on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm-interruptible on crtc 12, connector 19: PASSED Beginning vblank-vs-dpms-rpm-interruptible on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm-interruptible on crtc 16, connector 19: PASSED Subtest vblank-vs-dpms-rpm-interruptible: SUCCESS (11.617s) IGT-Version: 1.8-g1c89e8d (x86_64) (Linux: 3.18.0-rc1_kcloud_4dcc18_20141022+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm-interruptible on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm-interruptible on crtc 8, connector 19: PASSED Beginning vblank-vs-modeset-rpm-interruptible on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm-interruptible on crtc 12, connector 19: PASSED Beginning vblank-vs-modeset-rpm-interruptible on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm-interruptible on crtc 16, connector 19: PASSED Subtest vblank-vs-modeset-rpm-interruptible: SUCCESS (11.708s)
Closing bug: patch pushed to IGT. Thanks for testing! Please reopen if it still happens.
(In reply to Paulo Zanoni from comment #14) > Closing bug: patch pushed to IGT. Thanks for testing! > > Please reopen if it still happens. Verified on latest igt 18cb650318bb2c910f95d7c7df6625110ed1a590 root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# for i in vblank-vs-dpms-rpm vblank-vs-modeset-rpm vblank-vs-dpms-rpm-interruptible vblank-vs-modeset-rpm-interruptible; do sudo ./kms_flip --run-subtest $i; done IGT-Version: 1.8-g18cb650 (x86_64) (Linux: 3.18.0-rc1_kcloud_98f0c8_20141023+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm on crtc 8, connector 19: PASSED Beginning vblank-vs-dpms-rpm on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm on crtc 12, connector 19: PASSED Beginning vblank-vs-dpms-rpm on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm on crtc 16, connector 19: PASSED Subtest vblank-vs-dpms-rpm: SUCCESS (9.862s) IGT-Version: 1.8-g18cb650 (x86_64) (Linux: 3.18.0-rc1_kcloud_98f0c8_20141023+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm on crtc 8, connector 19: PASSED Beginning vblank-vs-modeset-rpm on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm on crtc 12, connector 19: PASSED Beginning vblank-vs-modeset-rpm on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm on crtc 16, connector 19: PASSED Subtest vblank-vs-modeset-rpm: SUCCESS (11.716s) IGT-Version: 1.8-g18cb650 (x86_64) (Linux: 3.18.0-rc1_kcloud_98f0c8_20141023+ x86_64) Using monotonic timestamps Beginning vblank-vs-dpms-rpm-interruptible on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm-interruptible on crtc 8, connector 19: PASSED Beginning vblank-vs-dpms-rpm-interruptible on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm-interruptible on crtc 12, connector 19: PASSED Beginning vblank-vs-dpms-rpm-interruptible on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-dpms-rpm-interruptible on crtc 16, connector 19: PASSED Subtest vblank-vs-dpms-rpm-interruptible: SUCCESS (11.576s) IGT-Version: 1.8-g18cb650 (x86_64) (Linux: 3.18.0-rc1_kcloud_98f0c8_20141023+ x86_64) Using monotonic timestamps Beginning vblank-vs-modeset-rpm-interruptible on crtc 8, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm-interruptible on crtc 8, connector 19: PASSED Beginning vblank-vs-modeset-rpm-interruptible on crtc 12, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm-interruptible on crtc 12, connector 19: PASSED Beginning vblank-vs-modeset-rpm-interruptible on crtc 16, connector 19 1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780 .. vblank-vs-modeset-rpm-interruptible on crtc 16, connector 19: PASSED Subtest vblank-vs-modeset-rpm-interruptible: SUCCESS (11.668s)
Closing old verified+fixed.
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.