Bug 79051 - [PNV/BDW Bisected]igt/kms_flip subcases rcs-flip-vs-panning and rcs-flip-vs-panning-interruptible fail
Summary: [PNV/BDW Bisected]igt/kms_flip subcases rcs-flip-vs-panning and rcs-flip-vs-p...
Status: CLOSED FIXED
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 05:30 UTC by Guo Jinxian
Modified: 2017-02-10 08:42 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


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

Description Guo Jinxian 2014-05-22 05:30:57 UTC
Created attachment 99554 [details]
dmesg

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

Non-working platforms: PNV

==kernel==
--------------------------
-nightly: 36765340cb068dec1216342bfcdbf2678ec29860(fails)
-queued: bc76e320f21f8bd790a72bd5dc06909617432352(fails)
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue May 20 22:46:50 2014 +0200

    drm/i915: Drop now misleading DDI comment from dp_link_down

    Since

    commit 2e82a7203182d0883d0f9450d40ad6e1c6578ad9
    Author: Imre Deak <imre.deak@intel.com>
    Date:   Fri Jan 17 15:46:43 2014 +0200

        drm/i915: don't disable DP port after a failed link training

    and

    commit 5d6a1116c6475404e6505b708320f9579ae19acd
    Author: Imre Deak <imre.deak@intel.com>
    Date:   Thu Jan 16 18:35:57 2014 +0200

        drm/i915: don't disable the DP port if the link is lost

    we no longer call intel_dp_link_down from generic DP code, but only
    from the !HAS_DDI dp encoder functions. hsw/bdw have their own encoder
    disabling callback in intel_ddi.c.

    Hence the early return is no longer needed and the big comment just
    confusing, so let's rip it out. To ensure what we don't accidentally
    use this again on ddi encoders add a WARN_ON instead.

    Spotted while reading through intel_dp.c

    Cc: Imre Deak <imre.deak@intel.com>
    Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    
-fixes: 4ba4801d73d14690ed15774424e8b1d4c18323a5(works)
    Author: Dave Airlie <airlied@redhat.com>
Date:   Tue May 20 09:56:26 2014 +1000

    Merge tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel into drm-fixes

    Intel fixes for regressions, black screens and hangs, for 3.15.

    * tag 'drm-intel-fixes-2014-05-16' of git://anongit.freedesktop.org/drm-intel:
      drm/i915: Increase WM memory latency values on SNB
      drm/i915: restore backlight precision when converting from ACPI
      drm/i915: Use the first mode if there is no preferred mode in the EDID
      drm/i915/dp: force eDP lane count to max available lanes on BDW
      drm/i915/vlv: reset VLV media force wake request register
      drm/i915/SDVO: For sysfs link put directory and target in correct order
      drm/i915: use lane count and link rate from VBT as minimums for eDP
      drm/i915: clean up VBT eDP link param decoding
      drm/i915: consider the source max DP lane count too

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

igt/kms_flip/rcs-flip-vs-panning
igt/kms_flip/rcs-flip-vs-panning-interruptible


Output:
./kms_flip --run-subtest rcs-flip-vs-panning
IGT-Version: 1.6-gc75dcbd (i686) (Linux: 3.15.0-rc5_drm-intel-nightly_367653_20140521+ i686)
Using monotonic timestamps
Beginning rcs-flip-vs-panning on crtc 7, connector 8
  1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000
..Test assertion failure function run_test_step, file kms_flip.c:929:
Last errno: 16, Device or resource busy
Failed assertion: set_mode(o, o->fb_ids[o->current_fb_id], x_ofs, 0) == 0
failed to pan (1024x600@60Hz)+10: Device or resource busy
Subtest rcs-flip-vs-panning: FAIL


==Reproduce steps==
---------------------------- 
1. ./kms_flip --run-subtest rcs-flip-vs-panning
Comment 1 Guo Jinxian 2014-05-22 07:49:41 UTC
Bisected result form prts shows that was igt issue:

c75dcbdac51dcc2d631a4a45049c9421e0229e16 is the first bad commit
commit c75dcbdac51dcc2d631a4a45049c9421e0229e16
Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
AuthorDate: Tue May 20 15:45:31 2014 +0200
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Tue May 20 15:45:31 2014 +0200

    tests/kms_flip: various improvements

    - Some debug logging for the ts continuity checks.
    - Add a plain vblank-vs-suspend test where kms_flip doesn't switch off
      the displays first.
    - Ensure that we do at least 2 rounds, the suspend tests bailed out
      after 1 round and so didn't test anything.
    - Frob the testnames a bit.

    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
.
Comment 2 Guo Jinxian 2014-05-23 06:46:17 UTC
This bug is able to reproduce on BDW too.
./kms_flip --run-subtest bcs-flip-vs-panning-interruptible
IGT-Version: 1.6-gc75dcbd (x86_64) (Linux: 3.15.0-rc6_drm-intel-nightly_de544d_20140523+ x86_64)
Using monotonic timestamps
Beginning bcs-flip-vs-panning-interruptible 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:929:
Last errno: 16, Device or resource busy
Failed assertion: set_mode(o, o->fb_ids[o->current_fb_id], x_ofs, 0) == 0
failed to pan (1920x1080@60Hz)+10: Device or resource busy
Subtest bcs-flip-vs-panning-interruptible: FAIL
Comment 3 Daniel Vetter 2014-06-18 14:56:24 UTC
(In reply to comment #1)
> Bisected result form prts shows that was igt issue:
> 
> c75dcbdac51dcc2d631a4a45049c9421e0229e16 is the first bad commit
> commit c75dcbdac51dcc2d631a4a45049c9421e0229e16
> Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
> AuthorDate: Tue May 20 15:45:31 2014 +0200
> Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> CommitDate: Tue May 20 15:45:31 2014 +0200
> 
>     tests/kms_flip: various improvements
> 
>     - Some debug logging for the ts continuity checks.
>     - Add a plain vblank-vs-suspend test where kms_flip doesn't switch off
>       the displays first.
>     - Ensure that we do at least 2 rounds, the suspend tests bailed out
>       after 1 round and so didn't test anything.
>     - Frob the testnames a bit.
> 
>     Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

Bisect is a bit suspicious. Can you please test whether the revert makes the regression go away? It reverts cleanly here.

If this indicates a wrong bisect result, please restart the bisect.
Comment 4 Guo Jinxian 2014-07-25 02:49:12 UTC
Test still failed on latest -nightly(af1aaba219fdd90ca1b30f9b8d8d19352224f170) on BDW

root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest busy-flip
IGT-Version: 1.7-gbffef22 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_af1aab_20140724_debug+ x86_64)
Using monotonic timestamps
Beginning busy-flip on crtc 7, connector 18
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
.............................................................................................................................................................................................................................................................................................................
busy-flip on crtc 7, connector 18: PASSED

Beginning busy-flip on crtc 11, connector 18
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
.Test assertion failure function run_test_step, file kms_flip.c:900:
Failed assertion: __wait_for_vblank(TEST_VBLANK_BLOCK, o->pipe, 1, 0, &reply) == 0
Last errno: 16, Device or resource busy
Subtest busy-flip: FAIL
Comment 5 Julien Muchembled 2014-08-15 20:41:05 UTC
I have a similar traceback on Sandy Bridge (i5-2520M) with fullscreen videos on 3.16
Is it the same bug or should I fill a new one ?
No issue with 3.15.x so I downgraded.

[49879.496132] WARNING: CPU: 1 PID: 1562 at drivers/gpu/drm/i915/intel_display.c:3313 intel_crtc_wait_for_pending_flips+0x157/0x160()
[49879.496204] Modules linked in: ctr ccm hidp uvcvideo rfcomm videobuf2_vmalloc videobuf2_memops vboxpci(O) bnep videobuf2_core v4l2_common vboxnetadp(O) videodev vboxnetflt(O) vboxdrv(O) binfmt_misc nfsd auth_rpcgss oid_registry nfs_acl ecb nfs lockd btusb bluetooth sunrpc crc16 bridge stp llc tun xt_REDIRECT xt_nat ipt_MASQUERADE iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables arc4 iwldvm mac80211 snd_hda_codec_hdmi iwlwifi snd_hda_codec_conexant snd_hda_codec_generic x86_pkg_temp_thermal intel_powerclamp crc32c_intel psmouse serio_raw sdhci_pci sdhci sr_mod sg cdrom mmc_core i2c_i801 xhci_hcd cfg80211 thinkpad_acpi snd_hda_intel snd_hda_controller snd_hda_codec wmi snd_pcm nvram rfkill snd_timer snd soundcore ehci_pci ehci_hcd zram tp_smapi(O) thinkpad_ec(O) kvm_intel kvm usblp fuse loop autofs4 nbd e1000e ptp pps_core
[49879.496223] CPU: 1 PID: 1562 Comm: Xorg Tainted: G        W  O  3.16.0+ #1
[49879.496225] Hardware name: LENOVO 4171CTO/4171CTO, BIOS 8CET58WW (1.38 ) 07/18/2013
[49879.496231]  0000000000000009 ffffffff8168b7bd 0000000000000000 ffffffff81066552
[49879.496233]  0000000000000000 ffff8800d8119000 ffff8800d8058180 ffff8800d81ad800
[49879.496236]  ffff8800d81ad800 ffffffff814b0787 0000000000000000 ffff8800cdbed000
[49879.496238] Call Trace:
[49879.496248]  [<ffffffff8168b7bd>] ? dump_stack+0x41/0x51
[49879.496258]  [<ffffffff81066552>] ? warn_slowpath_common+0x72/0x90
[49879.496262]  [<ffffffff814b0787>] ? intel_crtc_wait_for_pending_flips+0x157/0x160
[49879.496268]  [<ffffffff810a0090>] ? __wake_up_sync+0x10/0x10
[49879.496274]  [<ffffffff814ba05c>] ? intel_crtc_set_config+0xb1c/0xd90
[49879.496280]  [<ffffffff81452cca>] ? drm_mode_set_config_internal+0x5a/0xd0
[49879.496284]  [<ffffffff81441fec>] ? restore_fbdev_mode+0xac/0xd0
[49879.496288]  [<ffffffff81442029>] ? drm_fb_helper_restore_fbdev_mode_unlocked+0x19/0x30
[49879.496291]  [<ffffffff8144408d>] ? drm_fb_helper_set_par+0x1d/0x60
[49879.496296]  [<ffffffff813b3d5a>] ? fb_set_var+0x16a/0x3a0
[49879.496303]  [<ffffffff81266f96>] ? btrfs_delalloc_release_metadata+0x146/0x150
[49879.496307]  [<ffffffff812661a6>] ? btrfs_free_reserved_data_space+0x36/0xd0
[49879.496313]  [<ffffffff81095de0>] ? update_curr+0x80/0x110
[49879.496321]  [<ffffffff813aaf55>] ? fbcon_blank+0x225/0x2e0
[49879.496330]  [<ffffffff81423dde>] ? do_unblank_screen+0xae/0x1d0
[49879.496334]  [<ffffffff8141a65f>] ? complete_change_console+0x4f/0xd0
[49879.496338]  [<ffffffff8141b7b2>] ? vt_ioctl+0x10d2/0x1350
[49879.496342]  [<ffffffff814477ee>] ? drm_ioctl+0x6e/0x570
[49879.496347]  [<ffffffff81410854>] ? tty_ioctl+0x264/0xb70
[49879.496352]  [<ffffffff8117250f>] ? new_sync_write+0x6f/0xa0
[49879.496356]  [<ffffffff811aa4f6>] ? fsnotify+0x2b6/0x390
[49879.496363]  [<ffffffff81183800>] ? do_vfs_ioctl+0x2d0/0x4a0
[49879.496367]  [<ffffffff81174dd8>] ? __sb_end_write+0x28/0x60
[49879.496371]  [<ffffffff81172c62>] ? vfs_write+0x1b2/0x1f0
[49879.496376]  [<ffffffff81183a06>] ? SyS_ioctl+0x36/0x80
[49879.496381]  [<ffffffff816916d6>] ? system_call_fastpath+0x1a/0x1f
[49879.496384] ---[ end trace aeb7f0ab716be7f4 ]---
[49879.496388] [drm:intel_pipe_set_base] *ERROR* pipe is still busy with an old pageflip
Comment 6 Jani Nikula 2014-09-02 13:54:36 UTC
Related? https://bugs.freedesktop.org/show_bug.cgi?id=82612
Comment 7 Jani Nikula 2014-09-08 09:44:39 UTC
(In reply to comment #3)
> (In reply to comment #1)
> > Bisected result form prts shows that was igt issue:
> > 
> > c75dcbdac51dcc2d631a4a45049c9421e0229e16 is the first bad commit
> > commit c75dcbdac51dcc2d631a4a45049c9421e0229e16
> > Author:     Daniel Vetter <daniel.vetter@ffwll.ch>
> > AuthorDate: Tue May 20 15:45:31 2014 +0200
> > Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> > CommitDate: Tue May 20 15:45:31 2014 +0200
> > 
> >     tests/kms_flip: various improvements
> > 
> >     - Some debug logging for the ts continuity checks.
> >     - Add a plain vblank-vs-suspend test where kms_flip doesn't switch off
> >       the displays first.
> >     - Ensure that we do at least 2 rounds, the suspend tests bailed out
> >       after 1 round and so didn't test anything.
> >     - Frob the testnames a bit.
> > 
> >     Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> 
> Bisect is a bit suspicious. Can you please test whether the revert makes the
> regression go away? It reverts cleanly here.
> 
> If this indicates a wrong bisect result, please restart the bisect.

Please try this.
Comment 8 Guo Jinxian 2014-09-17 05:28:54 UTC
Test passes on latest -nightly(ab7f1ab9c4d1c8af46517d60e54eeda9d8673f6a) on both PNV and BDW.

[root@x-pnv2 tests]# ./kms_flip --run-subtest rcs-flip-vs-panning
IGT-Version: 1.8-g137877f (i686) (Linux: 3.17.0-rc5_drm-intel-nightly_ab7f1a_20140917+ i686)
Using monotonic timestamps
Beginning rcs-flip-vs-panning on crtc 10, connector 11
  1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000
Beginning rcs-flip-vs-panning on crtc 7, connector 17
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
Beginning rcs-flip-vs-panning on crtc 10, connector 17
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
Subtest rcs-flip-vs-panning: SUCCESS (1.584s)
[root@x-pnv2 tests]# ./kms_flip --run-subtest rcs-flip-vs-panning-interruptible
IGT-Version: 1.8-g137877f (i686) (Linux: 3.17.0-rc5_drm-intel-nightly_ab7f1a_20140917+ i686)
Using monotonic timestamps
Beginning rcs-flip-vs-panning-interruptible on crtc 10, connector 11
  1024x600 60 1024 1072 1104 1200 600 603 609 625 0xa 0x48 45000
Beginning rcs-flip-vs-panning-interruptible on crtc 7, connector 17
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
Beginning rcs-flip-vs-panning-interruptible on crtc 10, connector 17
  1024x768 60 1024 1048 1184 1344 768 771 777 806 0xa 0x40 65000
Subtest rcs-flip-vs-panning-interruptible: SUCCESS (0.830s)


root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest rcs-flip-vs-panning
IGT-Version: 1.8-g137877f (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_43df30_20140916+ x86_64)
Using monotonic timestamps
Beginning rcs-flip-vs-panning on crtc 8, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-flip-vs-panning on crtc 8, connector 19: PASSED

Beginning rcs-flip-vs-panning on crtc 12, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-flip-vs-panning on crtc 12, connector 19: PASSED

Beginning rcs-flip-vs-panning on crtc 16, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-flip-vs-panning on crtc 16, connector 19: PASSED

Subtest rcs-flip-vs-panning: SUCCESS (133.456s)
root@x-bdw05:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest rcs-flip-vs-panning-interruptible
IGT-Version: 1.8-g137877f (x86_64) (Linux: 3.17.0-rc4_drm-intel-nightly_43df30_20140916+ x86_64)
Using monotonic timestamps
Beginning rcs-flip-vs-panning-interruptible on crtc 8, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-flip-vs-panning-interruptible on crtc 8, connector 19: PASSED

Beginning rcs-flip-vs-panning-interruptible on crtc 12, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-flip-vs-panning-interruptible on crtc 12, connector 19: PASSED

Beginning rcs-flip-vs-panning-interruptible on crtc 16, connector 19
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
..
rcs-flip-vs-panning-interruptible on crtc 16, connector 19: PASSED

Subtest rcs-flip-vs-panning-interruptible: SUCCESS (133.453s)
Comment 9 Jari Tahvanainen 2017-02-10 08:42:51 UTC
Closing (>2 years) 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.