Bug 81662

Summary: [BYT Bisected]igt/kms_flip some subcases cause system hang
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Dave Airlie <airlied>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: critical    
Priority: high CC: intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-07-23 08:22:20 UTC
==System Environment==
--------------------------
Regression: Yes

Good commit on drm-next: ca5a1b9ba0fb5291b555a23b76dbe5f6c30bfd7a

Non-working platforms: BYT

==kernel==
--------------------------
origin/drm-intel-nightly: d62845db2ec40e15a76e5d5ebfe1a039ea2538c4(fails)
    drm-intel-nightly: 2014y-07m-22d-17h-58m-03s integration manifest
origin/drm-intel-next-queued: 1dd7389e898de2b7ceb90054fd96e4c3329b77ef(Another failed Bug 81367)
    drm/i915: Replace HAS_PCH_SPLIT which incorrectly lets some platforms in   
origin/drm-intel-fixes: a0d036b074b4a5a933e37fcb9bdd6b3cc80a0387(Another failed Bug 81367)
    drm/i915: Reorder the semaphore deadlock check, again
origin/drm-fixes: ec8a362f2e6e380e7a1f66a6c9a7f6c237ab3520(Another failed Bug 81367)
    Merge branch 'drm-fixes-3.16' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
origin/drm-next: 7296c849bf2eca2bd7d34a4686a53e3089150ac1(fails)
    drm/i915: fix build without fbdev.

==Bug detailed description==
-----------------------------
igt/kms_flip some subcases cause system hang

Because system hang, unable to get dmesg.

Output:
root@x-byt06:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# time ./kms_flip --run-subtest 2x-absolute-wf_vblank
IGT-Version: 1.7-g4d4f4b2 (x86_64) (Linux: 3.16.0-rc6_drm-intel-nightly_d62845_20140723+ x86_64)
Using monotonic timestamps
Beginning 2x-absolute-wf_vblank on crtc 7:12, connector 27:15
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
  1920x1080 60 1920 1966 1996 2080 1080 1082 1086 1112 0xa 0x48 138780
.....................................................................................................................................................................................
2x-absolute-wf_vblank on crtc 7:12, connector 27:15: PASSED

Subtest 2x-absolute-wf_vblank: SUCCESS
Write failed: Broken pipe


Reproduce steps:
-------------------------
1. ./kms_flip --run-subtest 2x-absolute-wf_vblank
Comment 1 lu hua 2014-07-24 06:15:01 UTC
Created attachment 103379 [details]
dmesg
Comment 2 Guo Jinxian 2014-08-04 03:40:14 UTC
c51f71679042a5f388d9580ffbede14c897f1e86 is the first bad commit

commit c51f71679042a5f388d9580ffbede14c897f1e86 
Merge: b957f45 7b3c29f 
Author: Dave Airlie <airlied@redhat.com> 
AuthorDate: Sat Jul 19 16:43:41 2014 +1000 
Commit: Dave Airlie <airlied@redhat.com> 
CommitDate: Sat Jul 19 16:43:41 2014 +1000 

Merge tag 'drm-intel-next-2014-07-11' of git://anongit.freedesktop.org/drm-intel into drm-next 

- fbc improvements when stolen memory is tight (Ben) 
- cdclk handling improvements for vlv/chv (Ville) 
- proper fix for stuck primary planes on gmch platforms with cxsr (Imre&Ebgert 
Eich) 
- gen8 hw semaphore support (Ben) 
- more execlist prep work from Oscar Mateo 
- locking fixes for primary planes (Matt Roper) 
- code rework to support runtime pm for dpms on hsw/bdw (Paulo, Imre & me), but 
not yet enabled because some fixes from Paulo haven't made the cut 
- more gpu boost tuning from Chris 
- as usual piles of little things all over 

* tag 'drm-intel-next-2014-07-11' of git://anongit.freedesktop.org/drm-intel: (93 commits) 
drm/i915: Make the RPS interrupt generation mask handle the vlv wa 
drm/i915: Move RPS evaluation interval counters to i915->rps 
drm/i915: Don't cast a pointer to void* unnecessarily 
drm/i915: don't read LVDS regs at compute_config time 
drm/i915: check the power domains in intel_lvds_get_hw_state() 
drm/i915: check the power domains in ironlake_get_pipe_config() 
drm/i915: don't skip shared DPLL assertion on LPT 
drm/i915: Only touch WRPLL hw state in enable/disable hooks 
drm/i915: Switch to common shared dpll framework for WRPLLs 
drm/i915: ->enable hook for WRPLLs 
drm/i915: ->disable hook for WRPLLs 
drm/i915: State readout support for WRPLLs 
drm/i915: add POWER_DOMAIN_PLLS 
drm/i915: Document that the pll->mode_set hook is optional 
drm/i915: Basic shared dpll support for WRPLLs 
drm/i915: Precompute static ddi_pll_sel values in encoders 
drm/i915: BDW also has special-purpose DP DDI clocks 
drm/i915: State readout and cross-checking for ddi_pll_sel 
drm/i915: Move ddi_pll_sel into the pipe config
drm/i915: Add a debugfs file for the shared dpll state
...


This commit has two parents b957f457fbce30cc4901dc28f2b56f2b15dfe84a and 7b3c29f6fd374640266d82aafe6929761469e27b
On commit b957f457fbce30cc4901dc28f2b56f2b15dfe84a was passed
On commit 7b3c29f6fd374640266d82aafe6929761469e27b was skipped
Comment 3 lu hua 2014-08-22 05:45:38 UTC
Test on latest -nightly kernel, the hang goes away.
 ./kms_flip --run-subtest 2x-absolute-wf_vblank
IGT-Version: 1.7-g4d2f511 (x86_64) (Linux: 3.17.0-rc1_drm-intel-nightly_257d90_20140822+ x86_64)
Using monotonic timestamps
Beginning 2x-absolute-wf_vblank on crtc 7:13, connector 28:16
  1366x768 60 1366 1404 1426 1482 768 771 777 798 0xa 0x48 71000
  1366x768 60 1366 1404 1426 1482 768 771 777 798 0xa 0x48 71000
.....................................................................................................................................................................................
2x-absolute-wf_vblank on crtc 7:13, connector 28:16: PASSED

Subtest 2x-absolute-wf_vblank: SUCCESS
Comment 4 Guo Jinxian 2014-08-22 08:25:03 UTC
(In reply to comment #3)
> Test on latest -nightly kernel, the hang goes away.
>  ./kms_flip --run-subtest 2x-absolute-wf_vblank
> IGT-Version: 1.7-g4d2f511 (x86_64) (Linux:
> 3.17.0-rc1_drm-intel-nightly_257d90_20140822+ x86_64)
> Using monotonic timestamps
> Beginning 2x-absolute-wf_vblank on crtc 7:13, connector 28:16
>   1366x768 60 1366 1404 1426 1482 768 771 777 798 0xa 0x48 71000
>   1366x768 60 1366 1404 1426 1482 768 771 777 798 0xa 0x48 71000
> .............................................................................
> .............................................................................
> ...........................
> 2x-absolute-wf_vblank on crtc 7:13, connector 28:16: PASSED
> 
> Subtest 2x-absolute-wf_vblank: SUCCESS
Comment 5 Elizabeth 2017-10-06 14:37:05 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.