Created attachment 95989 [details] dmesg System Environment: -------------------------- Platform: Broadwell kernel: (drm-intel-nightly)b1859622badb7509586987af5269aa525a0c112f Bug detailed description: ------------------------- It fails on Broadwell with -nightly and -queued kernel. It doesn't skip successfully. igt/kms_fbc_crc/page_flip_and_blt also fails. The latest known good commit: 4c0e552882114d1edb588242d45035246ab078a0 The latest known bad commit: b2040f6fed736ccd2319768bc59833abe74148b8 output: IGT-Version: 1.6-g10571b8 (x86_64) (Linux: 3.14.0-rc6_drm-intel-nightly_b18596_20140314+ x86_64) Beginning page_flip on crtc 3, connector 10 Test assertion failure function test_crc, file kms_fbc_crc.c:314: Last errno: 0, Success Failed assertion: igt_crc_equal(&crcs[0], &data->ref_crc[1]) Subtest page_flip: FAIL Reproduce steps: ---------------------------- 1. ./kms_fbc_crc --run-subtest page_flip
Please bisect.
Bisect shows: 4c6baa595f4e8516bb9cf0081765f90856aa2fe3 is the first bad commit commit 4c6baa595f4e8516bb9cf0081765f90856aa2fe3 Author: Jesse Barnes <jbarnes@virtuousgeek.org> Date: Fri Mar 7 08:57:50 2014 -0800 drm/i915: get_plane_config support for ILK+ v3 This should allow BIOS fb inheritance to work on ILK+ machines too. v2: handle tiled BIOS fbs (Kristian) split out common bits (Jesse) v3: alloc fb obj out in _init Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
(In reply to comment #2) > Bisect shows: 4c6baa595f4e8516bb9cf0081765f90856aa2fe3 is the first bad > commit > commit 4c6baa595f4e8516bb9cf0081765f90856aa2fe3 > Author: Jesse Barnes <jbarnes@virtuousgeek.org> Thanks, please always reassign to bad commit author. Done now.
Jesse?
Can you please test whether the test passes correctly with enable_fbc=0? I wonder whether there's some larger dragon looming.
(In reply to comment #5) > Can you please test whether the test passes correctly with enable_fbc=0? I > wonder whether there's some larger dragon looming. It also fails. output: IGT-Version: 1.6-g798fca3 (x86_64) (Linux: 3.14.0-rc7_drm-intel-nightly_10c69a_20140328+ x86_64) Beginning page_flip on crtc 3, connector 10 Test assertion failure function test_crc, file kms_fbc_crc.c:314: Last errno: 0, Success Failed assertion: igt_crc_equal(&crcs[0], &data->ref_crc[1]) Subtest page_flip: FAIL
Reg dumps with and without the offending patch might help here too. Can you collect those and attach them?
This bug still able to reproduce on latest -fixes(d23db88c3ab233daed18709e3a24d6c95344117f) ./kms_fbc_crc --run-subtest page_flip_and_blt IGT-Version: 1.6-g532b7e6 (x86_64) (Linux: 3.15.0-rc7_drm-intel-fixes_d23db8_20140602+ x86_64) Beginning page_flip_and_blt on pipe A, connector eDP-1 Test assertion failure function test_crc, file kms_fbc_crc.c:256: Last errno: 0, Success Failed assertion: !igt_crc_equal(&crcs[0], &data->ref_crc[1]) Subtest page_flip_and_blt: FAIL
Guo Jinxian, you did not provide what Jesse asked for.
*** Bug 78419 has been marked as a duplicate of this bug. ***
(In reply to comment #9) > Guo Jinxian, you did not provide what Jesse asked for. Would you pls provide the patch link?
This [1] is my current wip branch for fixing fbc properly. I think it's close to being ready, I just need to split one of the patches a bit more. Give it a try if you want. [1] git://gitorious.org/vsyrjala/linux.git fbc_update_thing_9
(In reply to comment #12) > This [1] is my current wip branch for fixing fbc properly. I think it's > close to being ready, I just need to split one of the patches a bit more. > Give it a try if you want. > > [1] git://gitorious.org/vsyrjala/linux.git fbc_update_thing_9 6 KiB/s is too slow. I think patch is better than new tree. Cloning into 'fbc_update_thing_9'... remote: Counting objects: 39968, done. remote: Compressing objects: 100% (38055/38055), done. Receiving objects: 71% (28525/39968), 81.43 MiB | 6 KiB/s
(In reply to comment #13) > (In reply to comment #12) > > This [1] is my current wip branch for fixing fbc properly. I think it's > > close to being ready, I just need to split one of the patches a bit more. > > Give it a try if you want. > > > > [1] git://gitorious.org/vsyrjala/linux.git fbc_update_thing_9 > > 6 KiB/s is too slow. I think patch is better than new tree. > Cloning into 'fbc_update_thing_9'... > remote: Counting objects: 39968, done. > remote: Compressing objects: 100% (38055/38055), done. > Receiving objects: 71% (28525/39968), 81.43 MiB | 6 KiB/s Cloning into 'fbc_update_thing_9'... remote: Counting objects: 39968, done. remote: Compressing objects: 100% (38055/38055), done. Receiving objects: 78% (31533/39968), 96.18 MiB | 1 KiB/s I hope you can provide patch.
(In reply to comment #14) > (In reply to comment #13) > > (In reply to comment #12) > > > This [1] is my current wip branch for fixing fbc properly. I think it's > > > close to being ready, I just need to split one of the patches a bit more. > > > Give it a try if you want. > > > > > > [1] git://gitorious.org/vsyrjala/linux.git fbc_update_thing_9 > > > > 6 KiB/s is too slow. I think patch is better than new tree. > > Cloning into 'fbc_update_thing_9'... > > remote: Counting objects: 39968, done. > > remote: Compressing objects: 100% (38055/38055), done. > > Receiving objects: 71% (28525/39968), 81.43 MiB | 6 KiB/s > > Cloning into 'fbc_update_thing_9'... > remote: Counting objects: 39968, done. > remote: Compressing objects: 100% (38055/38055), done. > Receiving objects: 78% (31533/39968), 96.18 MiB | 1 KiB/s > > I hope you can provide patch. You probably have 99+% of the repo locally already in another kernel repo. You could do either 1) git clone --reference=/path/to/linux/.git git://gitorious.org/vsyrjala/linux.git, or 2) cd /path/to/linux; git remote add vsyrjala git://gitorious.org/vsyrjala/linux.git; git fetch vsyrjala; git checkout -t vsyrjala/fbc_update_thing_9 HTH. See man git-clone and man git-remote for further details.
Test on commit:commit 9e3a05105bb822b36a8d465731d46c44814b65a0 Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Mon Jun 2 13:46:27 2014 +0300 drm/i915: Pimp fbc render/blitter tracking The FBC RT address is saved as part of the context, so track it the same way in the driver to skip pointless LRIs. Also try make sure we re-emit the render/blitter tracking stuff on driver load and gpu reset. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Subtest page_flip_and_blt: FAIL run ./kms_fbc_crc output: IGT-Version: 1.6-g9a70e29 (x86_64) (Linux: 3.15.0-rc7_kcloud_9e3a05_20140609+ x86_64) Beginning page_flip on pipe A, connector eDP-1 page_flip on pipe A, connector eDP-1: PASSED Beginning page_flip on pipe B, connector eDP-1 FBC not enabled page_flip on pipe B, connector eDP-1: SKIPPED Beginning page_flip on pipe C, connector eDP-1 FBC not enabled page_flip on pipe C, connector eDP-1: SKIPPED Subtest page_flip: SUCCESS Beginning mmap_cpu on pipe A, connector eDP-1 mmap_cpu on pipe A, connector eDP-1: PASSED Beginning mmap_cpu on pipe B, connector eDP-1 FBC not enabled mmap_cpu on pipe B, connector eDP-1: SKIPPED Beginning mmap_cpu on pipe C, connector eDP-1 FBC not enabled mmap_cpu on pipe C, connector eDP-1: SKIPPED Subtest mmap_cpu: SUCCESS Beginning mmap_gtt on pipe A, connector eDP-1 mmap_gtt on pipe A, connector eDP-1: PASSED Beginning mmap_gtt on pipe B, connector eDP-1 FBC not enabled mmap_gtt on pipe B, connector eDP-1: SKIPPED Beginning mmap_gtt on pipe C, connector eDP-1 FBC not enabled mmap_gtt on pipe C, connector eDP-1: SKIPPED Subtest mmap_gtt: SUCCESS Beginning blt on pipe A, connector eDP-1 blt on pipe A, connector eDP-1: PASSED Beginning blt on pipe B, connector eDP-1 FBC not enabled blt on pipe B, connector eDP-1: SKIPPED Beginning blt on pipe C, connector eDP-1 FBC not enabled blt on pipe C, connector eDP-1: SKIPPED Subtest blt: SUCCESS Beginning render on pipe A, connector eDP-1 render on pipe A, connector eDP-1: PASSED Beginning render on pipe B, connector eDP-1 FBC not enabled render on pipe B, connector eDP-1: SKIPPED Beginning render on pipe C, connector eDP-1 FBC not enabled render on pipe C, connector eDP-1: SKIPPED Subtest render: SUCCESS Beginning context on pipe A, connector eDP-1 context on pipe A, connector eDP-1: PASSED Beginning context on pipe B, connector eDP-1 FBC not enabled context on pipe B, connector eDP-1: SKIPPED Beginning context on pipe C, connector eDP-1 FBC not enabled context on pipe C, connector eDP-1: SKIPPED Subtest context: SUCCESS Beginning page_flip_and_mmap_cpu on pipe A, connector eDP-1 page_flip_and_mmap_cpu on pipe A, connector eDP-1: PASSED Beginning page_flip_and_mmap_cpu on pipe B, connector eDP-1 FBC not enabled page_flip_and_mmap_cpu on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_mmap_cpu on pipe C, connector eDP-1 FBC not enabled page_flip_and_mmap_cpu on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_mmap_cpu: SUCCESS Beginning page_flip_and_mmap_gtt on pipe A, connector eDP-1 page_flip_and_mmap_gtt on pipe A, connector eDP-1: PASSED Beginning page_flip_and_mmap_gtt on pipe B, connector eDP-1 FBC not enabled page_flip_and_mmap_gtt on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_mmap_gtt on pipe C, connector eDP-1 FBC not enabled page_flip_and_mmap_gtt on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_mmap_gtt: SUCCESS Beginning page_flip_and_blt on pipe A, connector eDP-1 Test assertion failure function test_crc, file kms_fbc_crc.c:256: Last errno: 0, Success Failed assertion: !igt_crc_equal(&crcs[0], &data->ref_crc[1]) Subtest page_flip_and_blt: FAIL Beginning page_flip_and_render on pipe A, connector eDP-1 page_flip_and_render on pipe A, connector eDP-1: PASSED Beginning page_flip_and_render on pipe B, connector eDP-1 FBC not enabled page_flip_and_render on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_render on pipe C, connector eDP-1 FBC not enabled page_flip_and_render on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_render: SUCCESS Beginning page_flip_and_context on pipe A, connector eDP-1 page_flip_and_context on pipe A, connector eDP-1: PASSED Beginning page_flip_and_context on pipe B, connector eDP-1 FBC not enabled page_flip_and_context on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_context on pipe C, connector eDP-1 FBC not enabled page_flip_and_context on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_context: SUCCESS
commit 4e9df4fe5fef283c23e62fd7348fae4943a9fa6b Author: Ville Syrjälä <ville.syrjala@linux.intel.com> Date: Tue Jun 10 14:51:44 2014 +0300 tests/kms_fbc_crc: Update blit code for BDW Switch to XY_COLOR_BLT from COLOR_BLT and use the appropriate macros to make the code work on BDW. Also make the blit 8bpp instead if 16bpp. 8bpp is what it was supposed to use all along. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76307 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> should hopefully fix "page_flip_and_blt". I'm a little surprised "blt" passed.
Test on latest nightly branch: IGT-Version: 1.7-g4e9df4f (x86_64) (Linux: 3.15.0-rc8_drm-intel-nightly_814800_20140611+ x86_64) Test requirement not met in function __real_main487, file kms_fbc_crc.c:513: Last errno: 0, Success Test requirement: (!(!strstr(buf, "unsupported by this chipset") && !strstr(buf, "disabled per module param") && !strstr(buf, "disabled per chip default"))) FBC not supported/enabled Subtest page_flip: SKIP Subtest mmap_cpu: SKIP Subtest mmap_gtt: SKIP Subtest blt: SKIP Subtest render: SKIP Subtest context: SKIP Subtest page_flip_and_mmap_cpu: SKIP Subtest page_flip_and_mmap_gtt: SKIP Subtest page_flip_and_blt: SKIP Subtest page_flip_and_render: SKIP Subtest page_flip_and_context: SKIP Test on fbc_update_thing_9 branch IGT-Version: 1.7-g4e9df4f (x86_64) (Linux: 3.15.0-rc7_kcloud_9e3a05_20140609+ x86_64) Beginning page_flip on pipe A, connector eDP-1 page_flip on pipe A, connector eDP-1: PASSED Beginning page_flip on pipe B, connector eDP-1 FBC not enabled page_flip on pipe B, connector eDP-1: SKIPPED Beginning page_flip on pipe C, connector eDP-1 FBC not enabled page_flip on pipe C, connector eDP-1: SKIPPED Subtest page_flip: SUCCESS Beginning mmap_cpu on pipe A, connector eDP-1 mmap_cpu on pipe A, connector eDP-1: PASSED Beginning mmap_cpu on pipe B, connector eDP-1 FBC not enabled mmap_cpu on pipe B, connector eDP-1: SKIPPED Beginning mmap_cpu on pipe C, connector eDP-1 FBC not enabled mmap_cpu on pipe C, connector eDP-1: SKIPPED Subtest mmap_cpu: SUCCESS Beginning mmap_gtt on pipe A, connector eDP-1 mmap_gtt on pipe A, connector eDP-1: PASSED Beginning mmap_gtt on pipe B, connector eDP-1 FBC not enabled mmap_gtt on pipe B, connector eDP-1: SKIPPED Beginning mmap_gtt on pipe C, connector eDP-1 FBC not enabled mmap_gtt on pipe C, connector eDP-1: SKIPPED Subtest mmap_gtt: SUCCESS Beginning blt on pipe A, connector eDP-1 blt on pipe A, connector eDP-1: PASSED Beginning blt on pipe B, connector eDP-1 FBC not enabled blt on pipe B, connector eDP-1: SKIPPED Beginning blt on pipe C, connector eDP-1 FBC not enabled blt on pipe C, connector eDP-1: SKIPPED Subtest blt: SUCCESS Beginning render on pipe A, connector eDP-1 render on pipe A, connector eDP-1: PASSED Beginning render on pipe B, connector eDP-1 FBC not enabled render on pipe B, connector eDP-1: SKIPPED Beginning render on pipe C, connector eDP-1 FBC not enabled render on pipe C, connector eDP-1: SKIPPED Subtest render: SUCCESS Beginning context on pipe A, connector eDP-1 context on pipe A, connector eDP-1: PASSED Beginning context on pipe B, connector eDP-1 FBC not enabled context on pipe B, connector eDP-1: SKIPPED Beginning context on pipe C, connector eDP-1 FBC not enabled context on pipe C, connector eDP-1: SKIPPED Subtest context: SUCCESS Beginning page_flip_and_mmap_cpu on pipe A, connector eDP-1 page_flip_and_mmap_cpu on pipe A, connector eDP-1: PASSED Beginning page_flip_and_mmap_cpu on pipe B, connector eDP-1 FBC not enabled page_flip_and_mmap_cpu on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_mmap_cpu on pipe C, connector eDP-1 FBC not enabled page_flip_and_mmap_cpu on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_mmap_cpu: SUCCESS Beginning page_flip_and_mmap_gtt on pipe A, connector eDP-1 page_flip_and_mmap_gtt on pipe A, connector eDP-1: PASSED Beginning page_flip_and_mmap_gtt on pipe B, connector eDP-1 FBC not enabled page_flip_and_mmap_gtt on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_mmap_gtt on pipe C, connector eDP-1 FBC not enabled page_flip_and_mmap_gtt on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_mmap_gtt: SUCCESS Beginning page_flip_and_blt on pipe A, connector eDP-1 page_flip_and_blt on pipe A, connector eDP-1: PASSED Beginning page_flip_and_blt on pipe B, connector eDP-1 FBC not enabled page_flip_and_blt on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_blt on pipe C, connector eDP-1 FBC not enabled page_flip_and_blt on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_blt: SUCCESS Beginning page_flip_and_render on pipe A, connector eDP-1 page_flip_and_render on pipe A, connector eDP-1: PASSED Beginning page_flip_and_render on pipe B, connector eDP-1 FBC not enabled page_flip_and_render on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_render on pipe C, connector eDP-1 FBC not enabled page_flip_and_render on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_render: SUCCESS Beginning page_flip_and_context on pipe A, connector eDP-1 page_flip_and_context on pipe A, connector eDP-1: PASSED Beginning page_flip_and_context on pipe B, connector eDP-1 FBC not enabled page_flip_and_context on pipe B, connector eDP-1: SKIPPED Beginning page_flip_and_context on pipe C, connector eDP-1 FBC not enabled page_flip_and_context on pipe C, connector eDP-1: SKIPPED Subtest page_flip_and_context: SUCCESS
Verified.Fixed.
Closing verified+fixed. Verified on nightly.
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.