==System Environment== -------------------------- Regression: Yes Good commit on -next-queued: 91565c85b66db820f01894a971d39aaef60c4325 Non-working platforms: BYT ==kernel== -------------------------- origin/drm-intel-nightly: af1aaba219fdd90ca1b30f9b8d8d19352224f170(fails) drm-intel-nightly: 2014y-07m-23d-20h-15m-10s integration manifest origin/drm-intel-next-queued: 2b8ee5710915a244b807fbe3427299d007d19e89(fails) drm/i915: Allow overlapping userptr objects origin/drm-intel-fixes: eedd10f45bdcb2a5b2afa35f845e080c3bc984f2(works) drm/i915: Simplify i915_gem_release_all_mmaps() ==Bug detailed description== ----------------------------- "WARNING: CPU: 1 PID: 1234 at drivers/gpu/drm/i915/intel_dp.c:1184 igt/kms_plane some subcases cause system hang Output: root@x-bytm02:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_plane IGT-Version: 1.7-g70e6ed9 (x86_64) (Linux: 3.16.0-rc4_drm-intel-next-queued_2b8ee5_20140724+ x86_64) Testing connector eDP-1 using pipe A plane 1 Reproduce steps: ------------------------- 1. ./kms_plane
Created attachment 103388 [details] dmesg
13cf550448b58abf8f44f5d6a560f2d20871c965 is the first bad commit commit 13cf550448b58abf8f44f5d6a560f2d20871c965 Author: Dave Airlie <airlied@redhat.com> AuthorDate: Wed Jun 18 11:29:35 2014 +1000 Commit: Daniel Vetter <daniel.vetter@ffwll.ch> CommitDate: Mon Jul 7 15:08:51 2014 +0200 drm/i915: rework digital port IRQ handling (v2) The digital ports from Ironlake and up have the ability to distinguish between long and short HPD pulses. Displayport 1.1 only uses the short form to request link retraining usually, so we haven't really needed support for it until now. However with DP 1.2 MST we need to handle the short irqs on their own outside the modesetting locking the long hpd's involve. This patch adds the framework to distinguish between short/long to the current code base, to lay the basis for future DP 1.2 MST work. This should mean we get better bisectability in case of regression due to the new irq handling. v2: add GM45 support (untested, due to lack of hw) Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Todd Previte <tprevite@gmail.com> [danvet: Fix conflicts in i915_irq.c with Oscar Mateo's irq handling race fixes and a trivial one in intel_drv.h with the psr code.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> :040000 040000 7be50985e66c24e64d4de3cccbdcd521ef59903b 8e9cf7373e1c96e78989fd0514e8da8debaad1c4 M drivers The commit unable to revert. It's parents commit(564ed191f5d816d24501664296991ec70327e2bc) unable to causes system hang.
Test on latest -nightly kernel, the hang goes away. ./kms_plane IGT-Version: 1.7-g4d2f511 (x86_64) (Linux: 3.17.0-rc1_drm-intel-nightly_257d90_20140822+ x86_64) Testing connector eDP-1 using pipe A plane 1 Subtest plane-position-covered-pipe-A-plane-1: SUCCESS Testing connector eDP-1 using pipe A plane 1 Subtest plane-position-hole-pipe-A-plane-1: SUCCESS Testing connector eDP-1 using pipe A plane 1 Subtest plane-panning-top-left-pipe-A-plane-1: SUCCESS Testing connector eDP-1 using pipe A plane 1 Subtest plane-panning-bottom-right-pipe-A-plane-1: SUCCESS Testing connector eDP-1 using pipe A plane 2 Subtest plane-position-covered-pipe-A-plane-2: SUCCESS Testing connector eDP-1 using pipe A plane 2 Subtest plane-position-hole-pipe-A-plane-2: SUCCESS Testing connector eDP-1 using pipe A plane 2 Subtest plane-panning-top-left-pipe-A-plane-2: SUCCESS Testing connector eDP-1 using pipe A plane 2 Subtest plane-panning-bottom-right-pipe-A-plane-2: SUCCESS Testing connector eDP-1 using pipe A plane 3 Subtest plane-position-covered-pipe-A-plane-3: SUCCESS Testing connector eDP-1 using pipe A plane 3 Subtest plane-position-hole-pipe-A-plane-3: SUCCESS Testing connector eDP-1 using pipe A plane 3 Subtest plane-panning-top-left-pipe-A-plane-3: SUCCESS Testing connector eDP-1 using pipe A plane 3 Subtest plane-panning-bottom-right-pipe-A-plane-3: SUCCESS Testing connector eDP-1 using pipe B plane 1 Subtest plane-position-covered-pipe-B-plane-1: SUCCESS Testing connector eDP-1 using pipe B plane 1 Subtest plane-position-hole-pipe-B-plane-1: SUCCESS Testing connector eDP-1 using pipe B plane 1 Subtest plane-panning-top-left-pipe-B-plane-1: SUCCESS Testing connector eDP-1 using pipe B plane 1 Subtest plane-panning-bottom-right-pipe-B-plane-1: SUCCESS Testing connector eDP-1 using pipe B plane 2 Subtest plane-position-covered-pipe-B-plane-2: SUCCESS Testing connector eDP-1 using pipe B plane 2 Subtest plane-position-hole-pipe-B-plane-2: SUCCESS Testing connector eDP-1 using pipe B plane 2 Subtest plane-panning-top-left-pipe-B-plane-2: SUCCESS Testing connector eDP-1 using pipe B plane 2 Subtest plane-panning-bottom-right-pipe-B-plane-2: SUCCESS Testing connector eDP-1 using pipe B plane 3 Test assertion failure function test_plane_position_with_output, file kms_plane.c:197: Failed assertion: igt_crc_equal(&test.reference_crc, &crc) Subtest plane-position-covered-pipe-B-plane-3: FAIL Testing connector eDP-1 using pipe B plane 3 Test assertion failure function igt_pipe_crc_new, file igt_debugfs.c:384: Failed assertion: pipe_crc->crc_fd != -1 Last errno: 16, Device or resource busy Subtest plane-position-hole-pipe-B-plane-3: FAIL Testing connector eDP-1 using pipe B plane 3 Test assertion failure function igt_pipe_crc_new, file igt_debugfs.c:384: Failed assertion: pipe_crc->crc_fd != -1 Last errno: 16, Device or resource busy Subtest plane-panning-top-left-pipe-B-plane-3: FAIL Testing connector eDP-1 using pipe B plane 3 Test assertion failure function igt_pipe_crc_new, file igt_debugfs.c:384: Failed assertion: pipe_crc->crc_fd != -1 Last errno: 16, Device or resource busy Subtest plane-panning-bottom-right-pipe-B-plane-3: FAIL Test requirement not met in function test_plane_position, file kms_plane.c:216: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-position-covered-pipe-C-plane-1: SKIP Test requirement not met in function test_plane_position, file kms_plane.c:216: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-position-hole-pipe-C-plane-1: SKIP Test requirement not met in function test_plane_panning, file kms_plane.c:334: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-panning-top-left-pipe-C-plane-1: SKIP Test requirement not met in function test_plane_panning, file kms_plane.c:334: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-panning-bottom-right-pipe-C-plane-1: SKIP Test requirement not met in function test_plane_position, file kms_plane.c:216: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-position-covered-pipe-C-plane-2: SKIP Test requirement not met in function test_plane_position, file kms_plane.c:216: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-position-hole-pipe-C-plane-2: SKIP Test requirement not met in function test_plane_panning, file kms_plane.c:334: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-panning-top-left-pipe-C-plane-2: SKIP Test requirement not met in function test_plane_panning, file kms_plane.c:334: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-panning-bottom-right-pipe-C-plane-2: SKIP Test requirement not met in function test_plane_position, file kms_plane.c:216: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-position-covered-pipe-C-plane-3: SKIP Test requirement not met in function test_plane_position, file kms_plane.c:216: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-position-hole-pipe-C-plane-3: SKIP Test requirement not met in function test_plane_panning, file kms_plane.c:334: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-panning-top-left-pipe-C-plane-3: SKIP Test requirement not met in function test_plane_panning, file kms_plane.c:334: Test requirement: !(pipe >= data->display.n_pipes) Last errno: 16, Device or resource busy Subtest plane-panning-bottom-right-pipe-C-plane-3: SKIP
(In reply to comment #3) > Test on latest -nightly kernel, the hang goes away. > ./kms_plane > IGT-Version: 1.7-g4d2f511 (x86_64) (Linux: > 3.17.0-rc1_drm-intel-nightly_257d90_20140822+ x86_64) > Testing connector eDP-1 using pipe A plane 1 > Subtest plane-position-covered-pipe-A-plane-1: SUCCESS > Testing connector eDP-1 using pipe A plane 1 > Subtest plane-position-hole-pipe-A-plane-1: SUCCESS > Testing connector eDP-1 using pipe A plane 1 > Subtest plane-panning-top-left-pipe-A-plane-1: SUCCESS > Testing connector eDP-1 using pipe A plane 1 > Subtest plane-panning-bottom-right-pipe-A-plane-1: SUCCESS > Testing connector eDP-1 using pipe A plane 2 > Subtest plane-position-covered-pipe-A-plane-2: SUCCESS > Testing connector eDP-1 using pipe A plane 2 > Subtest plane-position-hole-pipe-A-plane-2: SUCCESS > Testing connector eDP-1 using pipe A plane 2 > Subtest plane-panning-top-left-pipe-A-plane-2: SUCCESS > Testing connector eDP-1 using pipe A plane 2 > Subtest plane-panning-bottom-right-pipe-A-plane-2: SUCCESS > Testing connector eDP-1 using pipe A plane 3 > Subtest plane-position-covered-pipe-A-plane-3: SUCCESS > Testing connector eDP-1 using pipe A plane 3 > Subtest plane-position-hole-pipe-A-plane-3: SUCCESS > Testing connector eDP-1 using pipe A plane 3 > Subtest plane-panning-top-left-pipe-A-plane-3: SUCCESS > Testing connector eDP-1 using pipe A plane 3 > Subtest plane-panning-bottom-right-pipe-A-plane-3: SUCCESS > Testing connector eDP-1 using pipe B plane 1 > Subtest plane-position-covered-pipe-B-plane-1: SUCCESS > Testing connector eDP-1 using pipe B plane 1 > Subtest plane-position-hole-pipe-B-plane-1: SUCCESS > Testing connector eDP-1 using pipe B plane 1 > Subtest plane-panning-top-left-pipe-B-plane-1: SUCCESS > Testing connector eDP-1 using pipe B plane 1 > Subtest plane-panning-bottom-right-pipe-B-plane-1: SUCCESS > Testing connector eDP-1 using pipe B plane 2 > Subtest plane-position-covered-pipe-B-plane-2: SUCCESS > Testing connector eDP-1 using pipe B plane 2 > Subtest plane-position-hole-pipe-B-plane-2: SUCCESS > Testing connector eDP-1 using pipe B plane 2 > Subtest plane-panning-top-left-pipe-B-plane-2: SUCCESS > Testing connector eDP-1 using pipe B plane 2 > Subtest plane-panning-bottom-right-pipe-B-plane-2: SUCCESS > Testing connector eDP-1 using pipe B plane 3 > Test assertion failure function test_plane_position_with_output, file > kms_plane.c:197: > Failed assertion: igt_crc_equal(&test.reference_crc, &crc) > Subtest plane-position-covered-pipe-B-plane-3: FAIL > Testing connector eDP-1 using pipe B plane 3 > Test assertion failure function igt_pipe_crc_new, file igt_debugfs.c:384: > Failed assertion: pipe_crc->crc_fd != -1 > Last errno: 16, Device or resource busy > Subtest plane-position-hole-pipe-B-plane-3: FAIL > Testing connector eDP-1 using pipe B plane 3 > Test assertion failure function igt_pipe_crc_new, file igt_debugfs.c:384: > Failed assertion: pipe_crc->crc_fd != -1 > Last errno: 16, Device or resource busy > Subtest plane-panning-top-left-pipe-B-plane-3: FAIL > Testing connector eDP-1 using pipe B plane 3 > Test assertion failure function igt_pipe_crc_new, file igt_debugfs.c:384: > Failed assertion: pipe_crc->crc_fd != -1 > Last errno: 16, Device or resource busy > Subtest plane-panning-bottom-right-pipe-B-plane-3: FAIL > Test requirement not met in function test_plane_position, file > kms_plane.c:216: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-position-covered-pipe-C-plane-1: SKIP > Test requirement not met in function test_plane_position, file > kms_plane.c:216: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-position-hole-pipe-C-plane-1: SKIP > Test requirement not met in function test_plane_panning, file > kms_plane.c:334: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-panning-top-left-pipe-C-plane-1: SKIP > Test requirement not met in function test_plane_panning, file > kms_plane.c:334: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-panning-bottom-right-pipe-C-plane-1: SKIP > Test requirement not met in function test_plane_position, file > kms_plane.c:216: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-position-covered-pipe-C-plane-2: SKIP > Test requirement not met in function test_plane_position, file > kms_plane.c:216: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-position-hole-pipe-C-plane-2: SKIP > Test requirement not met in function test_plane_panning, file > kms_plane.c:334: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-panning-top-left-pipe-C-plane-2: SKIP > Test requirement not met in function test_plane_panning, file > kms_plane.c:334: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-panning-bottom-right-pipe-C-plane-2: SKIP > Test requirement not met in function test_plane_position, file > kms_plane.c:216: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-position-covered-pipe-C-plane-3: SKIP > Test requirement not met in function test_plane_position, file > kms_plane.c:216: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-position-hole-pipe-C-plane-3: SKIP > Test requirement not met in function test_plane_panning, file > kms_plane.c:334: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-panning-top-left-pipe-C-plane-3: SKIP > Test requirement not met in function test_plane_panning, file > kms_plane.c:334: > Test requirement: !(pipe >= data->display.n_pipes) > Last errno: 16, Device or resource busy > Subtest plane-panning-bottom-right-pipe-C-plane-3: SKIP Verified
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.