Bug 80701

Summary: [BYT Bisected]igt/kms_flip subcases cause "WARNING: CPU: 0 PID: 3943 at drivers/gpu/drm/i915/intel_dp.c:3092 intel_dp_complete_link_train+0x100/0x27f [i915]()" sporadically
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Imre Deak <imre.deak>
Status: CLOSED DUPLICATE QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: highest CC: intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 73037    
Bug Blocks:    
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-06-30 05:55:10 UTC
Created attachment 101995 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
The fail rate is about 1 out of 3
Good commit on -fixes:223a6f2b975ab35d93270ea1d4fb6e0ac6b27fe6

Non-working platforms: BYT

==kernel==
--------------------------
origin/drm-intel-nightly: 1087d4bf01e79523898c6c31615bf0c369e0039a(fails)
    drm-intel-nightly: 2014y-06m-25d-13h-11m-05s integration manifest
origin/drm-intel-next-queued: 91565c85b66db820f01894a971d39aaef60c4325(works)
    drm/i915: Don't try to look up object for non-existent fb    
origin/drm-intel-fixes: 8525a235c96a548873c6c5644f50df32b31f04c6(fails)
    drm/i915: vlv_prepare_pll is only needed in case of non DSI interfaces

==Bug detailed description==
-----------------------------
igt/kms_flip subcases cause "WARNING: CPU: 0 PID: 3943 at drivers/gpu/drm/i915/intel_dp.c:3092 intel_dp_complete_link_train+0x100/0x27f [i915]()" sporadically 

Case list:
igt/kms_flip/absolute-wf_vblank
igt/kms_flip/absolute-wf_vblank-interruptible
igt/kms_flip/bcs-flip-vs-dpms
igt/kms_flip/bcs-flip-vs-modeset-interruptible
igt/kms_flip/bcs-flip-vs-panning
igt/kms_flip/bcs-flip-vs-panning-interruptible
igt/kms_flip/bcs-wf_vblank-vs-modeset
igt/kms_flip/bcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/blocking-absolute-wf_vblank
igt/kms_flip/blocking-absolute-wf_vblank-interruptible
igt/kms_flip/blocking-wf_vblank
igt/kms_flip/bo-too-big
igt/kms_flip/bo-too-big-interruptible
igt/kms_flip/busy-flip
igt/kms_flip/busy-flip-interruptible
igt/kms_flip/dpms-off-confusion
igt/kms_flip/dpms-off-confusion-interruptible
igt/kms_flip/dpms-vs-vblank-race
igt/kms_flip/flip-vs-absolute-wf_vblank
igt/kms_flip/flip-vs-absolute-wf_vblank-interruptible
igt/kms_flip/flip-vs-blocking-wf-vblank
igt/kms_flip/flip-vs-dpms
igt/kms_flip/flip-vs-dpms-interruptible
igt/kms_flip/flip-vs-dpms-off-vs-modeset-interruptible
igt/kms_flip/flip-vs-expired-vblank
igt/kms_flip/flip-vs-expired-vblank-interruptible
igt/kms_flip/flip-vs-fences
igt/kms_flip/flip-vs-fences-interruptible
igt/kms_flip/flip-vs-modeset-interruptible
igt/kms_flip/flip-vs-modeset-vs-hang
igt/kms_flip/flip-vs-modeset-vs-hang-interruptible
igt/kms_flip/flip-vs-panning
igt/kms_flip/flip-vs-panning-interruptible
igt/kms_flip/flip-vs-panning-vs-hang
igt/kms_flip/flip-vs-panning-vs-hang-interruptible
igt/kms_flip/flip-vs-rmfb
igt/kms_flip/flip-vs-rmfb-interruptible
igt/kms_flip/flip-vs-wf_vblank
igt/kms_flip/flip-vs-wf_vblank-interruptible
igt/kms_flip/modeset-vs-vblank-race
igt/kms_flip/nonexisting-fb
igt/kms_flip/nonexisting-fb-interruptible
igt/kms_flip/plain-flip
igt/kms_flip/plain-flip-fb-recreate
igt/kms_flip/plain-flip-fb-recreate-interruptible
igt/kms_flip/plain-flip-interruptible
igt/kms_flip/plain-flip-ts-check
igt/kms_flip/plain-flip-ts-check-interruptible
igt/kms_flip/rcs-flip-vs-dpms
igt/kms_flip/rcs-flip-vs-modeset
igt/kms_flip/rcs-flip-vs-modeset-interruptible
igt/kms_flip/rcs-flip-vs-panning
igt/kms_flip/rcs-flip-vs-panning-interruptible
igt/kms_flip/rcs-wf_vblank-vs-dpms
igt/kms_flip/rcs-wf_vblank-vs-modeset
igt/kms_flip/rcs-wf_vblank-vs-modeset-interruptible
igt/kms_flip/single-buffer-flip-vs-dpms-off-vs-modeset-interruptible

Output:
root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests#  ./kms_flip --run-subtest plain-flip-fb-recreate-interruptible
IGT-Version: 1.7-g67e29a3 (x86_64) (Linux: 3.16.0-rc2_drm-intel-fixes_8525a2_20140630+ x86_64)
Using monotonic timestamps
Beginning plain-flip-fb-recreate-interruptible on crtc 5, connector 23
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
plain-flip-fb-recreate-interruptible on crtc 5, connector 23: PASSED

Beginning plain-flip-fb-recreate-interruptible on crtc 9, connector 23
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
plain-flip-fb-recreate-interruptible on crtc 9, connector 23: PASSED

Subtest plain-flip-fb-recreate-interruptible: SUCCESS

Dmesg shows:
[  155.408801] WARNING: CPU: 0 PID: 3943 at drivers/gpu/drm/i915/intel_dp.c:3092 intel_dp_complete_link_train+0x100/0x27f [i915]()
[  155.408820] Modules linked in: dm_mod snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic iTCO_wdt iTCO_vendor_support pcspkr serio_raw lpc_ich i2c_i801 mfd_core snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore iosf_mbi battery ac acpi_cpufreq i915 video button drm_kms_helper drm
[  155.408850] CPU: 0 PID: 3943 Comm: kms_flip Tainted: G        W     3.16.0-rc2_drm-intel-fixes_8525a2_20140630+ #72
[  155.408859]  0000000000000000 0000000000000009 ffffffff8177f9bf 0000000000000000
[  155.408864]  ffffffff8103983c 0000000000000000 ffffffffa00c1062 0000000000000002
[  155.408869]  ffff880002dea0d8 0000000000000002 0000000000000000 0000000000000022
[  155.408880] Call Trace:
[  155.408887]  [<ffffffff8177f9bf>] ? dump_stack+0x41/0x51
[  155.408893]  [<ffffffff8103983c>] ? warn_slowpath_common+0x78/0x90
[  155.408922]  [<ffffffffa00c1062>] ? intel_dp_complete_link_train+0x100/0x27f [i915]
[  155.408943]  [<ffffffffa00c1062>] ? intel_dp_complete_link_train+0x100/0x27f [i915]
[  155.408964]  [<ffffffffa00c125c>] ? intel_enable_dp+0x70/0x79 [i915]
[  155.408985]  [<ffffffffa00c137b>] ? vlv_pre_enable_dp+0x100/0x11a [i915]
[  155.409007]  [<ffffffffa00a6893>] ? valleyview_crtc_enable+0x864/0x960 [i915]
[  155.409029]  [<ffffffffa00aa963>] ? __intel_set_mode+0x10cc/0x11d4 [i915]
[  155.409034]  [<ffffffff8177c99c>] ? printk+0x4f/0x54
[  155.409056]  [<ffffffffa00ac876>] ? intel_set_mode+0xd/0x27 [i915]
[  155.409078]  [<ffffffffa00ad45c>] ? intel_crtc_set_config+0x70e/0xa13 [i915]
[  155.409092]  [<ffffffffa000c024>] ? drm_mode_set_config_internal+0x48/0xad [drm]
[  155.409104]  [<ffffffffa000edd8>] ? drm_mode_setcrtc+0x3e6/0x48b [drm]
[  155.409110]  [<ffffffff810612d4>] ? put_prev_entity+0x34/0x1dc
[  155.409120]  [<ffffffffa0002f6e>] ? drm_ioctl+0x25c/0x3ad [drm]
[  155.409131]  [<ffffffffa000e9f2>] ? drm_mode_setplane+0x381/0x381 [drm]
[  155.409137]  [<ffffffff811195f7>] ? do_vfs_ioctl+0x3ec/0x435
[  155.409142]  [<ffffffff8110b874>] ? vfs_write+0x127/0x183
[  155.409147]  [<ffffffff81119689>] ? SyS_ioctl+0x49/0x78
[  155.409152]  [<ffffffff81785552>] ? system_call_fastpath+0x16/0x1b


==Reproduce steps==
---------------------------- 
1.  ./kms_flip --run-subtest plain-flip-fb-recreate-interruptible
Comment 1 Guo Jinxian 2014-06-30 09:10:59 UTC
bfafe93a1cd466ef318b7e5f6c65f59aee147791 is the first bad commit
commit bfafe93a1cd466ef318b7e5f6c65f59aee147791
Author:     Imre Deak <imre.deak@intel.com>
AuthorDate: Thu Jun 5 20:31:47 2014 +0300
Commit:     Jani Nikula <jani.nikula@intel.com>
CommitDate: Mon Jun 23 10:02:03 2014 +0300


    drm/i915: cache hw power well enabled state

    Jesse noticed that the punit communication needed to query the VLV power
    well status can cause substantial delays. Since we can query the state
    frequently, for example during I2C transfers, maintain a cached version
    of the HW state to get rid of this delay.

    This fixes at least one reported regression where boot time increased by
    ~4 seconds due to frequent power well state queries on VLV during eDP
    EDID read.

    This regression has been introduced in

    commit bb4932c4f17b68f34645ffbcf845e4c29d17290b
    Author: Imre Deak <imre.deak@intel.com>
    Date:   Mon Apr 14 20:24:33 2014 +0300

        drm/i915: vlv: check port power domain instead of only D0 for eDP VDD on

    Reported-by: Jesse Barnes <jesse.barnes@intel.com>
    Signed-off-by: Imre Deak <imre.deak@intel.com>
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

:040000 040000 fbc81acdbc7a7c97390719fc5d5d71fb24e11901 3663f8be487a862dd1c710521a17b2c61a6963c5 M   drivers
Comment 2 Imre Deak 2014-07-21 16:22:35 UTC
This looks like a duplicate of bug 73037. Could you double-check that the bisect result is correct, that is you can't reproduce the bug on the parent commit (a497c3ba1d97)?
Comment 3 Guo Jinxian 2014-07-22 06:30:24 UTC
(In reply to comment #2)
> This looks like a duplicate of bug 73037. Could you double-check that the
> bisect result is correct, that is you can't reproduce the bug on the parent
> commit (a497c3ba1d97)?

Another bug 81367 reproduced on the parent commit(a497c3ba1d97), and can not find CallTrace on this commit.

root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip --run-subtest plain-flip-fb-recreate-interruptible
IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux: 3.16.0-rc2_kcloud_a497c3_20140722+ x86_64)
Test assertion failure function kmstest_force_connector, file igt_kms.c:461:
Failed assertion: debugfs_fd != -1
Last errno: 2, No such file or directory
Subtest plain-flip-fb-recreate-interruptible: FAIL
Comment 4 Imre Deak 2014-07-23 11:43:57 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > This looks like a duplicate of bug 73037. Could you double-check that the
> > bisect result is correct, that is you can't reproduce the bug on the parent
> > commit (a497c3ba1d97)?
> 
> Another bug 81367 reproduced on the parent commit(a497c3ba1d97), and can not
> find CallTrace on this commit.
> 
> root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_flip
> --run-subtest plain-flip-fb-recreate-interruptible
> IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux:
> 3.16.0-rc2_kcloud_a497c3_20140722+ x86_64)
> Test assertion failure function kmstest_force_connector, file igt_kms.c:461:
> Failed assertion: debugfs_fd != -1
> Last errno: 2, No such file or directory
> Subtest plain-flip-fb-recreate-interruptible: FAIL

This is most probably timing related, so you'd need to run the test multiple times on each commit. In any case the same WARN is present in bug 73037 on a kernel much older than the bisected commit here, so as a minimum let's set that bug as a dependency.
Comment 5 Rodrigo Vivi 2014-10-08 20:48:14 UTC
It seems this is a duplicate of 73037 with an invalid bisect result.
Feel free to reopen if it is for sure caused by that commit.

*** This bug has been marked as a duplicate of bug 73037 ***
Comment 6 Elizabeth 2017-10-06 14:37:30 UTC
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.