Bug 87480

Summary: [SNB/IVB/HSW/BYT bisected]igt/kms_force_connector/force-edid fails on -nightly kernel
Product: DRI Reporter: lu hua <huax.lu>
Component: DRM/IntelAssignee: Thomas Wood <thomas.wood>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: christophe.prigent, intel-gfx-bugs
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: BYT, HSW, IVB, SNB i915 features: display/Other
Attachments:
Description Flags
dmesg none

Description lu hua 2014-12-19 07:32:29 UTC
Created attachment 111030 [details]
dmesg

==System Environment==
--------------------------
Regression: not sure

Non-working platforms: BYT

==kernel==
--------------------------
drm-intel-nightly/1eaf0ed4ec4f11915ff6a85abd910d753d28f5f4
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Dec 18 23:01:25 2014 +0100

    drm-intel-nightly: 2014y-12m-18d-22h-00m-57s UTC integration manifest

==Bug detailed description==
-----------------------------
Test drm-intel-nightly, drm-intel-next-queued, drm-next and drm-intel-fixes kernel, It only fails on drm-intel-nightly kernel.

output:
IGT-Version: 1.9-g6999b70 (x86_64) (Linux: 3.18.0_drm-intel-nightly_1eaf0e_20141219+ x86_64)
Test assertion failure function __real_main35, file kms_force_connector.c:111:
Failed assertion: temp->modes[4].hdisplay == 640 && temp->modes[4].vdisplay == 480 && temp->modes[4].vrefresh == 60
Subtest force-edid: FAIL (0.001s)

==Reproduce steps==
---------------------------- 
1. ./kms_force_connector --run-subtest force-edid
Comment 1 lu hua 2014-12-22 08:35:37 UTC
It also fails on HSW.
Comment 2 lu hua 2014-12-23 03:27:52 UTC
It also fail on SNB and IVB.
Comment 3 ye.tian 2015-03-30 06:55:01 UTC
It still exist on the latest nightly kenrel(07e5c9).

[root@x-hsw24 tests]# ./kms_force_connector --run-subtest force-edid
IGT-Version: 1.10-g11291fd (x86_64) (Linux: 4.0.0-rc5_drm-intel-nightly_07e5c9_20150328+ x86_64)
Test assertion failure function __real_main35, file kms_force_connector.c:108:
Failed assertion: temp->modes[1].hdisplay == 1280 && temp->modes[1].vdisplay == 720 && temp->modes[1].vrefresh == 60
Stack trace:
  #0 [__igt_fail_assert+0xfc]
  #1 [__real_main35+0x3b3]
  #2 [main+0x21]
  #3 [__libc_start_main+0xf5]
  #4 [_start+0x29]
  #5 [<unknown>+0x29]
Subtest force-edid failed.
**** DEBUG ****
Connector VGA-1/force is now forced on
Current forced connectors:
        VGA-1/force
Test assertion failure function __real_main35, file kms_force_connector.c:108:
Failed assertion: temp->modes[1].hdisplay == 1280 && temp->modes[1].vdisplay == 720 && temp->modes[1].vrefresh == 60
****  END  ****
Subtest force-edid: FAIL (0.000s)
Comment 4 Jesse Barnes 2015-04-02 17:59:01 UTC
Thomas, can you take a look at this one?  The test returns different mode lists each time, and even the starting vs ending mode count is different sometimes.

Tian, can you try to find a good commit for this one in an older kernel?  It's possible something has gone wrong with our EDID override code somehow too.
Comment 5 ye.tian 2015-04-03 06:40:14 UTC
(In reply to Jesse Barnes from comment #4)

> 
> Tian, can you try to find a good commit for this one in an older kernel? 
> It's possible something has gone wrong with our EDID override code somehow
> too.

Tested it on the nighly kernel(0db9cf).
kernel good commit:
-----------------
commit 0db9cf7742874ee2c09a35b640c1bb04cb379eb6
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Nov 28 19:03:30 2014 +0100

    drm-intel-nightly: 2014y-11m-28d-18h-03m-02s UTC integration manifest

output:
-----------------
root@x-sgb4:/GFX/Test/Intel_gpu_tools/intel-gpu-tools/tests# ./kms_force_connector --run-subtest force-edid
IGT-Version: 1.10-g8b9d586 (x86_64) (Linux: 3.18.0-rc6_drm-intel-nightly_0db9cf_20141201+ x86_64)
Subtest force-edid: SUCCESS (0.026s)
Comment 6 Jesse Barnes 2015-04-03 16:12:15 UTC
Can you bisect to the failure now that you have a good commit?
Comment 7 ye.tian 2015-04-07 05:22:39 UTC
(In reply to Jesse Barnes from comment #6)
> Can you bisect to the failure now that you have a good commit?

By bisected, shows the first bad commit is 4e9ac94(drm-intel-next-queued).
Its parents commit is good.

commit 4e9ac947c7d0333afb1473856f2abfe4c8c2ef13
Author:     Vandana Kannan <vandana.kannan@intel.com>
AuthorDate: Thu Jan 22 15:14:45 2015 +0530
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Tue Jan 27 09:51:14 2015 +0100

    drm/i915: Initialize DRRS delayed work

    Add DRRS work function to trigger a switch to low refresh rate,
    when no activity is detected on screen till 1 sec duration.

    v2: [By Ram]: drrs.dp also protected with drrs.mutex and worker function
    is renamed to intel_edp_drrs_downclock_work [Chris]
Comment 8 Thomas Wood 2015-04-07 16:47:31 UTC
(In reply to ye.tian from comment #7)
> (In reply to Jesse Barnes from comment #6)
> > Can you bisect to the failure now that you have a good commit?
> 
> By bisected, shows the first bad commit is 4e9ac94(drm-intel-next-queued).
> Its parents commit is good.
> 
> commit 4e9ac947c7d0333afb1473856f2abfe4c8c2ef13
> Author:     Vandana Kannan <vandana.kannan@intel.com>
> AuthorDate: Thu Jan 22 15:14:45 2015 +0530
> Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
> CommitDate: Tue Jan 27 09:51:14 2015 +0100

This commit is newer than the original bad commit mentioned in the description. I checked the parent commit (b2c5c18) and the test still fails. Please could you re-check the bisect result?
Comment 9 ye.tian 2015-04-08 06:53:00 UTC
The previous result is fail, [1] is good, [2] is fail. because I don't re-build the commmit(b2c5c18) kernel.

[1]commit 518c2e29d566427433b4ebf51f5863b69f8baf4a
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Jan 23 06:00:31 2015 +0100

    drm/i915: Use symbolic irqreturn for ->hpd_pulse

[2]commit b2c5c181ed18490648a02f8c7d562a3b9e8b96de
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Jan 23 06:00:31 2015 +0100

    drm/i915: Use symbolic irqreturn for ->hpd_pulse



By bisected, shows the first bad commit is 05acaec(drm-intel-next-queued).
Its parents commit(ef21bf73) is good.

commit 05acaec334fcc1132d1e48c5042e044651e0b75b
Author:     Ville Syrjälä <ville.syrjala@linux.intel.com>
AuthorDate: Wed Dec 17 13:56:22 2014 +0200
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Wed Dec 17 18:29:28 2014 +0100

    drm: Reorganize probed mode validation

    Make drm_mode_validate_size() and drm_mode_validate_flag() deal with a
    single mode instead of having each iterate through the mode list.

    The hope is that in the future we might be able to share various mode
    validation functions between modeset and get_modes.
Comment 10 ye.tian 2015-05-04 01:15:32 UTC
Tested it on the HSW with the latest nightly kernel and latest igt, this problem still exists.
Comment 11 Elio 2015-10-16 14:09:01 UTC
Problem exist with following test case on BYT Latest configuration:

kms_force_connector@force-edid

Kernel: http://vanaheimr.fr.intel.com/shared/out/kernels/drm-intel/WW42.1_4.3.0-rc4_c38f2c2/
 xorg-server-1.17.2
libdrm-2.4.65
xf86-video-intel2.99.917
mesa-11.0.2
libva-1.6.1
intel-driver 1.6.1
cairo 1.14.2
intel-gpu-tools-1.12
Comment 12 Elio 2015-11-25 19:55:38 UTC
Issue is present on BYT with kernel: 4.4.0-rc1-nightly+

Stdout	
IGT-Version: 1.12-gb68a642 (x86_64) (Linux: 4.4.0-rc1-nightly+ x86_64)
Stack trace:
  #0 [__igt_fail_assert+0x101]
  #1 [main+0x634]
  #2 [__libc_csu_init+0x0]
Subtest force-edid: FAIL (0.020s)
Stderr	
Test assertion failure function main, file kms_force_connector.c:156:
Failed assertion: temp->modes[4].hdisplay == 640
error: 800 != 640
Subtest force-edid failed.
**** DEBUG ****
Connector VGA-1/force is now forced on
Current forced connectors:
	VGA-1/force
Test assertion failure function main, file kms_force_connector.c:156:
Failed assertion: temp->modes[4].hdisplay == 640
error: 800 != 640
****  END  ****
Comment 13 cprigent 2015-11-29 11:03:24 UTC
Fail on IVB with kernel testing tag 2015-11-20.

Hardware:
Motherboard: DH77EB
cpu model name : Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
cpu model : 58
cpu family : 6
Graphic card: Xeon E3-1200 v2/3rd Gen Core processor Graphics
Software:
Kernel tag drm-intel-testing-2015-11-20 5074e51 (4.4-rc1) from git://anongit.freedesktop.org/drm-intel 
  commit 5074e51ef3a2b0ad4c2354e95aec5380a93966b3
  Author: Imre Deak <imre.deak@intel.com>
  Date:   Fri Nov 20 11:50:03 2015 +0200
  drm-intel-nightly: 2015y-11m-20d-09h-49m-41s UTC integration manifest
Ubuntu 14.04.1 LTS
Bios: EBH7710H.86A.0096.2012.1012.1645
Libdrm: 2.4.65
Comment 14 cprigent 2015-11-29 11:30:37 UTC
Fail on SNB with kernel testing tag 2015-11-20.

Hardware:
Motherboard: DQ67SW
cpu model name : Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
cpu model : 42
cpu family : 6
Graphic card: 2nd Generation Core Processor Family Integrated Graphics
Software:
Kernel tag drm-intel-testing-2015-11-20 5074e51 (4.4-rc1) from git://anongit.freedesktop.org/drm-intel 
  commit 5074e51ef3a2b0ad4c2354e95aec5380a93966b3
  Author: Imre Deak <imre.deak@intel.com>
  Date:   Fri Nov 20 11:50:03 2015 +0200
  drm-intel-nightly: 2015y-11m-20d-09h-49m-41s UTC integration manifest
Ubuntu 14.04.1 LTS
Bios: SWQ6710H.86A.0060.2011.1220.1805
Libdrm: 2.4.65
Comment 15 Thomas Wood 2015-12-16 16:50:19 UTC
The test passes after commit cdb398b in intel-gpu-tools and an additional test for the cause of the issue was added in commit 870548b.

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.