Bug 90059

Summary: [HSW/BYT/BSW bisected]Start up the machine with HDMI screen causes WARNING: CPU: 0 PID: 1006 at drivers/gpu/drm/i915/intel_display.c:11997 check_crtc_state+0xb67/0xbd1 [i915]()
Product: DRI Reporter: ye.tian <yex.tian>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: bin.a.xu, hengx.ding, intel-gfx-bugs, jeff.zheng
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg info
none
drm/i915/hdmi: fix vlv infoframe port check none

Description ye.tian 2015-04-17 02:07:11 UTC
Created attachment 115139 [details]
dmesg info

==System Environment==       
---------------------------------------------------
Regression: Yes
Non-working platforms: BYT

==Kernel==
--------------------------------------------------
commit d600654ab94b325f253e267422dcf60302120ea0
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Apr 16 17:54:10 2015 +0200

    drm-intel-nightly: 2015y-04m-16d-15h-53m-28s UTC integration manifest


==Bug detailed description==
--------------------------------------------------
Start the machine with HDMI screen causes WARNING: CPU: 0 PID: 1006 at drivers/gpu/drm/i915/intel_display.c:11997 check_crtc_state+0xb67/0xbd1 [i915]() on BYT.
It does not exists with eDP screen.

By bisected, shows the first bad commit is 535afa2.

commit 535afa2e9e3c1867460d6981d879b04d8b2b9ab3
Author:     Jesse Barnes <jbarnes@virtuousgeek.org>
AuthorDate: Wed Apr 15 16:52:29 2015 -0700
Commit:     Daniel Vetter <daniel.vetter@ffwll.ch>
CommitDate: Thu Apr 16 11:20:30 2015 +0200

    drm/i915/vlv: check port in infoframe_enabled v2
    
    Same as IBX and G4x, they all share the same genetic material.
    
v2: we all need a bit more port in our lives

==output dmesg info==
-----------------------------------------------------------------------
[    2.195955] ------------[ cut here ]------------
[    2.196008] WARNING: CPU: 0 PID: 1006 at drivers/gpu/drm/i915/intel_display.c:11997 check_crtc_state+0xb67/0xbd1 [i915]()
[    2.196009] pipe state doesn't match!
[    2.196014] Modules linked in: i915 button video drm_kms_helper drm
[    2.196018] CPU: 0 PID: 1006 Comm: kworker/u8:3 Not tainted 4.0.0_drm-intel-nightly_d60065_20150417+ #234
[    2.196025] Workqueue: events_unbound async_run_entry_fn
[    2.196029]  0000000000000000 0000000000000009 ffffffff81795847 ffff88007994b598
[    2.196031]  ffffffff8103bd5a ffff88007994b590 ffffffffa00c96f0 ffff880175be0000
[    2.196034]  ffff880079a5b000 ffff880175a0c000 ffff88007994b620 ffff8801759ef800
[    2.196035] Call Trace:
[    2.196042]  [<ffffffff81795847>] ? dump_stack+0x40/0x50
[    2.196046]  [<ffffffff8103bd5a>] ? warn_slowpath_common+0x98/0xb0
[    2.196098]  [<ffffffffa00c96f0>] ? check_crtc_state+0xb67/0xbd1 [i915]
[    2.196101]  [<ffffffff8103bdb7>] ? warn_slowpath_fmt+0x45/0x4a
[    2.196153]  [<ffffffffa00c96f0>] ? check_crtc_state+0xb67/0xbd1 [i915]
[    2.196208]  [<ffffffffa00d85ba>] ? intel_modeset_check_state+0x610/0x9e9 [i915]
[    2.196261]  [<ffffffffa00d990f>] ? intel_crtc_set_config+0x986/0xc19 [i915]
[    2.196275]  [<ffffffffa000c314>] ? drm_mode_set_config_internal+0x4e/0xd2 [drm]
[    2.196280]  [<ffffffffa0058f89>] ? restore_fbdev_mode+0xac/0xc3 [drm_kms_helper]
[    2.196285]  [<ffffffffa005a78a>] ? drm_fb_helper_restore_fbdev_mode_unlocked+0x1e/0x54 [drm_kms_helper]
[    2.196290]  [<ffffffffa005a7ee>] ? drm_fb_helper_set_par+0x2e/0x32 [drm_kms_helper]
[    2.196342]  [<ffffffffa00e5bab>] ? intel_fbdev_set_par+0x11/0x55 [i915]
[    2.196347]  [<ffffffff81374396>] ? fbcon_init+0x2fd/0x406
[    2.196351]  [<ffffffff813c9903>] ? visual_init+0xaf/0x102
[    2.196355]  [<ffffffff813caee9>] ? do_bind_con_driver+0x19e/0x2c2
[    2.196358]  [<ffffffff813cb476>] ? do_take_over_console+0x127/0x157
[    2.196361]  [<ffffffff81373a85>] ? do_fbcon_takeover+0x53/0x97
[    2.196365]  [<ffffffff81051620>] ? notifier_call_chain+0x35/0x59
[    2.196368]  [<ffffffff81051867>] ? __blocking_notifier_call_chain+0x43/0x5b
[    2.196371]  [<ffffffff8137bb13>] ? lock_fb_info+0x12/0x2f
[    2.196374]  [<ffffffff8137d32e>] ? register_framebuffer+0x26c/0x2a2
[    2.196379]  [<ffffffffa005aa9f>] ? drm_fb_helper_initial_config+0x2ad/0x34a [drm_kms_helper]
[    2.196383]  [<ffffffff81052783>] ? async_run_entry_fn+0x2d/0xbf
[    2.196387]  [<ffffffff8104ca7f>] ? process_one_work+0x1b2/0x31d
[    2.196390]  [<ffffffff8104d278>] ? worker_thread+0x24d/0x339
[    2.196393]  [<ffffffff8104d02b>] ? cancel_delayed_work_sync+0xa/0xa
[    2.196396]  [<ffffffff81050b25>] ? kthread+0xce/0xd6
[    2.196399]  [<ffffffff81050a57>] ? kthread_create_on_node+0x162/0x162
[    2.196402]  [<ffffffff8179b048>] ? ret_from_fork+0x58/0x90
[    2.196405]  [<ffffffff81050a57>] ? kthread_create_on_node+0x162/0x162
[    2.196407] ---[ end trace c9fd7503f7c341d1 ]---


==Reproduce steps==
----------------------------

1, connect the HDMI screen
2, start up the machine
Comment 1 ye.tian 2015-04-27 01:58:50 UTC
Tested it on the latest nightly kernel and latest igt,this problem still exists.

output:
------------------
[    2.221706] ------------[ cut here ]------------
[    2.221759] WARNING: CPU: 0 PID: 1006 at drivers/gpu/drm/i915/intel_display.c:12008 check_crtc_state+0xb67/0xbd1 [i915]()
[    2.221759] pipe state doesn't match!
[    2.221765] Modules linked in: i915 button video drm_kms_helper drm
[    2.221769] CPU: 0 PID: 1006 Comm: kworker/u8:3 Not tainted 4.0.0_drm-intel-nightly_9                                                                                2bb36_20150424+ #38
[    2.221776] Workqueue: events_unbound async_run_entry_fn
[    2.221779]  0000000000000000 0000000000000009 ffffffff81795847 ffff88007984f598
[    2.221782]  ffffffff8103bd5a ffff88007984f590 ffffffffa00c90f9 ffff880175410000
[    2.221784]  ffff880175998000 ffff8801759f4000 ffff88007984f620 ffff880079a77000
[    2.221785] Call Trace:
[    2.221792]  [<ffffffff81795847>] ? dump_stack+0x40/0x50
[    2.221796]  [<ffffffff8103bd5a>] ? warn_slowpath_common+0x98/0xb0
[    2.221848]  [<ffffffffa00c90f9>] ? check_crtc_state+0xb67/0xbd1 [i915]
[    2.221852]  [<ffffffff8103bdb7>] ? warn_slowpath_fmt+0x45/0x4a
[    2.221903]  [<ffffffffa00c90f9>] ? check_crtc_state+0xb67/0xbd1 [i915]
[    2.221959]  [<ffffffffa00d82da>] ? intel_modeset_check_state+0x610/0x9e9 [i915]
[    2.222012]  [<ffffffffa00d962f>] ? intel_crtc_set_config+0x986/0xc19 [i915]
[    2.222025]  [<ffffffffa000c314>] ? drm_mode_set_config_internal+0x4e/0xd2 [drm]
[    2.222031]  [<ffffffffa0058f99>] ? restore_fbdev_mode+0xac/0xc3 [drm_kms_helper]
[    2.222036]  [<ffffffffa005a79a>] ? drm_fb_helper_restore_fbdev_mode_unlocked+0x1e/0x                                                                                54 [drm_kms_helper]
[    2.222041]  [<ffffffffa005a7fe>] ? drm_fb_helper_set_par+0x2e/0x32 [drm_kms_helper]
[    2.222093]  [<ffffffffa00e58cb>] ? intel_fbdev_set_par+0x11/0x55 [i915]
[    2.222098]  [<ffffffff81374396>] ? fbcon_init+0x2fd/0x406
[    2.222102]  [<ffffffff813c9903>] ? visual_init+0xaf/0x102
[    2.222105]  [<ffffffff813caee9>] ? do_bind_con_driver+0x19e/0x2c2
[    2.222109]  [<ffffffff813cb476>] ? do_take_over_console+0x127/0x157
[    2.222112]  [<ffffffff81373a85>] ? do_fbcon_takeover+0x53/0x97
[    2.222115]  [<ffffffff81051620>] ? notifier_call_chain+0x35/0x59
[    2.222119]  [<ffffffff81051867>] ? __blocking_notifier_call_chain+0x43/0x5b
[    2.222122]  [<ffffffff8137bb13>] ? lock_fb_info+0x12/0x2f
[    2.222125]  [<ffffffff8137d32e>] ? register_framebuffer+0x26c/0x2a2
[    2.222177]  [<ffffffffa00e5d0e>] ? intelfb_create+0x2de/0x37a [i915]
[    2.222183]  [<ffffffffa005aaaf>] ? drm_fb_helper_initial_config+0x2ad/0x34a [drm_kms                                                                                _helper]
[    2.222186]  [<ffffffff81052783>] ? async_run_entry_fn+0x2d/0xbf
[    2.222190]  [<ffffffff8104ca7f>] ? process_one_work+0x1b2/0x31d
[    2.222194]  [<ffffffff8104d278>] ? worker_thread+0x24d/0x339
[    2.222197]  [<ffffffff8104d02b>] ? cancel_delayed_work_sync+0xa/0xa
[    2.222200]  [<ffffffff81050b25>] ? kthread+0xce/0xd6
[    2.222203]  [<ffffffff81050a57>] ? kthread_create_on_node+0x162/0x162
[    2.222206]  [<ffffffff8179b048>] ? ret_from_fork+0x58/0x90
[    2.222209]  [<ffffffff81050a57>] ? kthread_create_on_node+0x162/0x162
[    2.222211] ---[ end trace b91644159f7ca3e7 ]---
Comment 2 Jeff Zheng 2015-04-29 07:17:56 UTC
Exists on BSW with drm-intel-testing-2015-04-23:

[    3.753133] WARNING: CPU: 1 PID: 1025 at drivers/gpu/drm/i915/intel_display.c:12008 check_crtc_state+0xb67/0xbd1 [i915]()
[    3.753134] pipe state doesn't match!
[    3.753143] Modules linked in: joydev i915 button video drm_kms_helper drm
[    3.753149] CPU: 1 PID: 1025 Comm: kworker/u8:2 Not tainted 4.0.0_drm-intel-testing-2015-04-23+ #412
[    3.753159] Workqueue: events_unbound async_run_entry_fn
Comment 3 Jani Nikula 2015-04-29 11:28:35 UTC
Created attachment 115434 [details] [review]
drm/i915/hdmi: fix vlv infoframe port check

Please try this patch.
Comment 4 Ville Syrjala 2015-04-29 12:04:51 UTC
(In reply to Jani Nikula from comment #3)
> Created attachment 115434 [details] [review] [review]
> drm/i915/hdmi: fix vlv infoframe port check
> 
> Please try this patch.

Just FYI we're also missing the port check entirely for IBX.
Comment 5 Jani Nikula 2015-04-29 12:34:51 UTC
(In reply to Ville Syrjala from comment #4)
> (In reply to Jani Nikula from comment #3)
> > Created attachment 115434 [details] [review] [review] [review]
> > drm/i915/hdmi: fix vlv infoframe port check
> > 
> > Please try this patch.
> 
> Just FYI we're also missing the port check entirely for IBX.

Heh, Jesse's commit even refers to ibx being similar... I sent another patch for that http://patchwork.freedesktop.org/patch/48212. But that's beyond this bug.
Comment 6 ye.tian 2015-04-30 01:40:42 UTC
(In reply to Jani Nikula from comment #3)
> Created attachment 115434 [details] [review] [review]
> drm/i915/hdmi: fix vlv infoframe port check
> 
> Please try this patch.

Tested it on the latest nightly kernel with this patch, this problem does not exists.
Comment 7 ye.tian 2015-04-30 03:45:32 UTC
*** Bug 90247 has been marked as a duplicate of this bug. ***
Comment 8 xubin 2015-04-30 05:24:08 UTC
Tested it on the hswu22 with this patch, this problem does not exists.
Comment 9 Jani Nikula 2015-04-30 07:46:39 UTC
*** Bug 90227 has been marked as a duplicate of this bug. ***
Comment 10 Jani Nikula 2015-04-30 09:38:27 UTC
Fixed by

commit eeea3e67a4b2ab1df4e6e42e86d365fd14e070af
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Wed Apr 29 14:29:39 2015 +0300

    drm/i915/hdmi: fix vlv infoframe port check

in drm-intel-next-queued.
Comment 11 ye.tian 2015-04-30 09:52:21 UTC
Test it on the latest next-next-queued(faa0cdbe), this problem does not exists.
So verified.
Comment 12 ye.tian 2015-04-30 12:40:05 UTC
*** Bug 90225 has been marked as a duplicate of this bug. ***
Comment 13 Elizabeth 2017-10-06 14:30:32 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.