Bug 66462

Summary: [845g regression] pipe A assertion failure (expected on, current off)
Product: DRI Reporter: Chris Wilson <chris>
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: mrmazda
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
improve pipe A quirk asserts
none
similar assert, drm.debug=0xe, by different reporter
none
preserve pipe A quirk none

Description Chris Wilson 2013-07-01 14:54:31 UTC
Clock mismatches & pipe/on mismatch.

[    0.137734] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 25153, found 0
[    0.137778] ------------[ cut here ]------------
[    0.137789] WARNING: at drivers/gpu/drm/i915/intel_display.c:8478 check_crtc_state+0x695/0x6c9()
[    0.137792] pipe state doesn't match!
[    0.137798] CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.0+ #163
[    0.137802] Hardware name: Dell Computer Corporation Inspiron 1100                   /09U784, BIOS A32 10/18/2004
[    0.137806]  00000000 cf853a88 c101b186 c117bd54 0000211e cf813000 00000000 c11879e6
[    0.137814]  cf853aa0 c101b1ec 00000009 cf853a98 c1319f9a cf853ab4 cf853d08 c117bd54
[    0.137822]  c13191a3 0000211e c1319f9a 00000001 00000004 cf901804 00000001 cf8f666c
[    0.137829] Call Trace:
[    0.137841]  [<c101b186>] ? warn_slowpath_common+0x51/0x66
[    0.137847]  [<c117bd54>] ? check_crtc_state+0x695/0x6c9
[    0.137854]  [<c11879e6>] ? intel_crt_get_hw_state+0x4d/0x4d
[    0.137860]  [<c101b1ec>] ? warn_slowpath_fmt+0x2b/0x2f
[    0.137866]  [<c117bd54>] ? check_crtc_state+0x695/0x6c9
[    0.137874]  [<c1184ab5>] ? intel_modeset_check_state+0x323/0x562
[    0.137879]  [<c117aa09>] ? intel_dump_pipe_config+0x147/0x170
[    0.137885]  [<c117aa2a>] ? intel_dump_pipe_config+0x168/0x170
[    0.137890]  [<c11871d9>] ? intel_modeset_setup_hw_state+0x86b/0x8e4
[    0.137897]  [<c1067a3d>] ? put_page+0x1f/0x2f
[    0.137903]  [<c126089d>] ? printk+0x1c/0x1e
[    0.137911]  [<c11a2c58>] ? intel_setup_overlay+0x191/0x1ec
[    0.137918]  [<c116260e>] ? i915_driver_load+0x809/0x9ec
[    0.137924]  [<c1153cbd>] ? drm_get_pci_dev+0x138/0x218
[    0.137931]  [<c1116a2c>] ? pci_device_probe+0x47/0x73
[    0.137939]  [<c11ab9c5>] ? driver_probe_device+0x79/0x15f
[    0.137944]  [<c11abaf7>] ? __driver_attach+0x4c/0x68
[    0.137949]  [<c11aa5da>] ? bus_for_each_dev+0x41/0x6b
[    0.137954]  [<c11ab7e0>] ? driver_attach+0x19/0x1b
[    0.137959]  [<c11abaab>] ? driver_probe_device+0x15f/0x15f
[    0.137963]  [<c11aabf0>] ? bus_add_driver+0xb0/0x1af
[    0.137969]  [<c11abe31>] ? driver_register+0x79/0xf4
[    0.137976]  [<c1389b92>] ? ftrace_define_fields_drm_vblank_event+0x45/0x45
[    0.137985]  [<c13748b9>] ? do_one_initcall+0x6a/0xe9
[    0.137990]  [<c13749f9>] ? kernel_init_freeable+0xc1/0x148
[    0.137997]  [<c125e75e>] ? kernel_init+0xd/0xb9
[    0.138003]  [<c12648b7>] ? ret_from_kernel_thread+0x1b/0x28
[    0.138008]  [<c125e751>] ? rest_init+0x5d/0x5d
[    0.138021] ---[ end trace d82847498478407b ]---
[    0.161846] fbcon: inteldrmfb (fb0) is primary device
[    0.549743] ------------[ cut here ]------------
[    0.549755] WARNING: at drivers/gpu/drm/i915/intel_display.c:1079 assert_pipe+0x9b/0xae()
[    0.549757] pipe A assertion failure (expected on, current off)
[    0.549763] CPU: 0 PID: 1 Comm: swapper Tainted: G        W    3.10.0+ #163
[    0.549765] Hardware name: Dell Computer Corporation Inspiron 1100                   /09U784, BIOS A32 10/18/2004
[    0.549772]  00000000 cf853acc c101b186 c117e4af 00000437 cf948000 cf813001 00000041
[    0.549777]  cf853ae4 c101b1ec 00000009 cf853adc c131a4e3 cf853af8 cf853b14 c117e4af
[    0.549781]  c13191a3 00000437 c131a4e3 00000041 c131cca2 c131ba25 00000000 cf813000
[    0.549782] Call Trace:
[    0.549792]  [<c101b186>] ? warn_slowpath_common+0x51/0x66
[    0.549795]  [<c117e4af>] ? assert_pipe+0x9b/0xae
[    0.549800]  [<c101b1ec>] ? warn_slowpath_fmt+0x2b/0x2f
[    0.549803]  [<c117e4af>] ? assert_pipe+0x9b/0xae
[    0.549807]  [<c117ea4f>] ? i9xx_crtc_enable+0xca/0x2eb
[    0.549810]  [<c1183f9b>] ? __intel_set_mode+0xc77/0xd61
[    0.549816]  [<c1108981>] ? number.isra.2+0x130/0x21a
[    0.549822]  [<c1104638>] ? idr_get_empty_slot+0x1c0/0x2c4
[    0.549827]  [<c101e81a>] ? do_exit+0xe/0x656
[    0.549831]  [<c1184d62>] ? intel_set_mode+0x17/0x2f
[    0.549834]  [<c1185294>] ? intel_crtc_set_config+0x51a/0x6c2
[    0.549840]  [<c115745b>] ? drm_mode_set_config_internal+0x3e/0x95
[    0.549844]  [<c1149839>] ? drm_fb_helper_set_par+0x51/0x90
[    0.549849]  [<c11257a3>] ? fbcon_init+0x2ca/0x3a7
[    0.549855]  [<c1135c25>] ? visual_init+0x7f/0xd1
[    0.549859]  [<c113723f>] ? do_bind_con_driver+0xfb/0x1e7
[    0.549862]  [<c1135e86>] ? vtconsole_init_device+0x3a/0x5d
[    0.549866]  [<c1138233>] ? do_take_over_console+0x2d/0x38
[    0.549869]  [<c1122742>] ? do_fbcon_takeover+0x51/0x92
[    0.549873]  [<c10344ff>] ? notifier_call_chain+0x2a/0x4b
[    0.549877]  [<c1034683>] ? __blocking_notifier_call_chain+0x37/0x4f
[    0.549880]  [<c10346ac>] ? blocking_notifier_call_chain+0x11/0x13
[    0.549885]  [<c111de53>] ? register_framebuffer+0x1c9/0x229
[    0.549889]  [<c11496c9>] ? drm_fb_helper_initial_config+0x31b/0x3a0
[    0.549892]  [<c114875e>] ? drm_fb_helper_single_add_all_connectors+0x2e/0x8b
[    0.549898]  [<c1162654>] ? i915_driver_load+0x84f/0x9ec
[    0.549902]  [<c1153cbd>] ? drm_get_pci_dev+0x138/0x218
[    0.549907]  [<c1116a2c>] ? pci_device_probe+0x47/0x73
[    0.549914]  [<c11ab9c5>] ? driver_probe_device+0x79/0x15f
[    0.549917]  [<c11abaf7>] ? __driver_attach+0x4c/0x68
[    0.549920]  [<c11aa5da>] ? bus_for_each_dev+0x41/0x6b
[    0.549923]  [<c11ab7e0>] ? driver_attach+0x19/0x1b
[    0.549927]  [<c11abaab>] ? driver_probe_device+0x15f/0x15f
[    0.549930]  [<c11aabf0>] ? bus_add_driver+0xb0/0x1af
[    0.549933]  [<c11abe31>] ? driver_register+0x79/0xf4
[    0.549939]  [<c1389b92>] ? ftrace_define_fields_drm_vblank_event+0x45/0x45
[    0.549945]  [<c13748b9>] ? do_one_initcall+0x6a/0xe9
[    0.549949]  [<c13749f9>] ? kernel_init_freeable+0xc1/0x148
[    0.549955]  [<c125e75e>] ? kernel_init+0xd/0xb9
[    0.549959]  [<c12648b7>] ? ret_from_kernel_thread+0x1b/0x28
[    0.549962]  [<c125e751>] ? rest_init+0x5d/0x5d
[    0.549966] ---[ end trace d82847498478407c ]---
[    0.661766] [drm:intel_pipe_config_compare] *ERROR* mismatch in clock (expected 65000, found 0
[    0.661767] ------------[ cut here ]------------
[    0.661776] WARNING: at drivers/gpu/drm/i915/intel_display.c:8478 check_crtc_state+0x695/0x6c9()
[    0.661777] pipe state doesn't match!
[    0.661783] CPU: 0 PID: 1 Comm: swapper Tainted: G        W    3.10.0+ #163
[    0.661785] Hardware name: Dell Computer Corporation Inspiron 1100                   /09U784, BIOS A32 10/18/2004
[    0.661792]  00000000 cf853908 c101b186 c117bd54 0000211e cf813000 00000000 c119eac2
[    0.661797]  cf853920 c101b1ec 00000009 cf853918 c1319f9a cf853934 cf853b88 c117bd54
[    0.661803]  c13191a3 0000211e c1319f9a cf853901 c1039837 cf901804 00000000 cf8f666c
[    0.661805] Call Trace:
[    0.661813]  [<c101b186>] ? warn_slowpath_common+0x51/0x66
[    0.661816]  [<c117bd54>] ? check_crtc_state+0x695/0x6c9
[    0.661821]  [<c119eac2>] ? intel_dvo_detect+0x1c/0x1c
[    0.661825]  [<c101b1ec>] ? warn_slowpath_fmt+0x2b/0x2f
[    0.661828]  [<c117bd54>] ? check_crtc_state+0x695/0x6c9
[    0.661833]  [<c1039837>] ? update_curr.constprop.48+0x5d/0xd2
[    0.661840]  [<c1184ab5>] ? intel_modeset_check_state+0x323/0x562
[    0.661844]  [<c1184d71>] ? intel_set_mode+0x26/0x2f
[    0.661847]  [<c1185294>] ? intel_crtc_set_config+0x51a/0x6c2
[    0.661853]  [<c115745b>] ? drm_mode_set_config_internal+0x3e/0x95
[    0.661857]  [<c1149839>] ? drm_fb_helper_set_par+0x51/0x90
[    0.661861]  [<c11257a3>] ? fbcon_init+0x2ca/0x3a7
[    0.661867]  [<c1135c25>] ? visual_init+0x7f/0xd1
[    0.661870]  [<c113723f>] ? do_bind_con_driver+0xfb/0x1e7
[    0.661873]  [<c1135e86>] ? vtconsole_init_device+0x3a/0x5d
[    0.661877]  [<c1138233>] ? do_take_over_console+0x2d/0x38
[    0.661881]  [<c1122742>] ? do_fbcon_takeover+0x51/0x92
[    0.661884]  [<c10344ff>] ? notifier_call_chain+0x2a/0x4b
[    0.661888]  [<c1034683>] ? __blocking_notifier_call_chain+0x37/0x4f
[    0.661891]  [<c10346ac>] ? blocking_notifier_call_chain+0x11/0x13
[    0.661897]  [<c111de53>] ? register_framebuffer+0x1c9/0x229
[    0.661900]  [<c11496c9>] ? drm_fb_helper_initial_config+0x31b/0x3a0
[    0.661904]  [<c114875e>] ? drm_fb_helper_single_add_all_connectors+0x2e/0x8b
[    0.661909]  [<c1162654>] ? i915_driver_load+0x84f/0x9ec
[    0.661913]  [<c1153cbd>] ? drm_get_pci_dev+0x138/0x218
[    0.661918]  [<c1116a2c>] ? pci_device_probe+0x47/0x73
[    0.661924]  [<c11ab9c5>] ? driver_probe_device+0x79/0x15f
[    0.661927]  [<c11abaf7>] ? __driver_attach+0x4c/0x68
[    0.661931]  [<c11aa5da>] ? bus_for_each_dev+0x41/0x6b
[    0.661934]  [<c11ab7e0>] ? driver_attach+0x19/0x1b
[    0.661937]  [<c11abaab>] ? driver_probe_device+0x15f/0x15f
[    0.661940]  [<c11aabf0>] ? bus_add_driver+0xb0/0x1af
[    0.661943]  [<c11abe31>] ? driver_register+0x79/0xf4
[    0.661949]  [<c1389b92>] ? ftrace_define_fields_drm_vblank_event+0x45/0x45
[    0.661955]  [<c13748b9>] ? do_one_initcall+0x6a/0xe9
[    0.661959]  [<c13749f9>] ? kernel_init_freeable+0xc1/0x148
[    0.661964]  [<c125e75e>] ? kernel_init+0xd/0xb9
[    0.661968]  [<c12648b7>] ? ret_from_kernel_thread+0x1b/0x28
[    0.661971]  [<c125e751>] ? rest_init+0x5d/0x5d
[    0.661975] ---[ end trace d82847498478407d ]---
[    0.673238] Console: switching to colour frame buffer device 128x48
Comment 1 Chris Wilson 2013-07-01 15:00:50 UTC
Created attachment 81815 [details]
dmesg
Comment 2 Daniel Vetter 2013-07-01 15:36:01 UTC
The clock mismatch is just Jesse's fallout, but the pipe state warning is strange. We seem to start out with the pipe enabled, but somewhere along the lines it seems to get disabled. Can you please inquire gdb about where exactly that assert_pipe call is?
Comment 3 Chris Wilson 2013-07-04 14:51:06 UTC
For the record, the clock mismatch is now fixed.
Comment 4 Chris Wilson 2013-07-04 20:31:29 UTC
We are still forcing pipea quirk on 845g. Not only is that wrong, but it is the cause of the assertion failures.
Comment 5 Daniel Vetter 2013-07-04 22:28:54 UTC
Created attachment 82051 [details] [review]
improve pipe A quirk asserts

Dunno whether this is really the right approach or whether we should just give up on assert_pipe for pipe A if the quirk is there ...
Comment 6 Chris Wilson 2013-07-06 17:05:00 UTC
Bikeshed: s/quirk_force_pipe_a_disable/dev_priv->quirks & QUIRK_PIPEA_IGNORE/

Pipe assertion remains.
Comment 7 mlsemon35 2013-07-12 18:11:01 UTC
Created attachment 82371 [details]
similar assert, drm.debug=0xe, by different reporter

New to 3.10.0+ kernel git downloaded 7/10/2013.  The 7/7/2013 git did not suffer from this.  I'm in a good position to do bisects.  Just give the word.

The force being discussed may have been there on 845G to fix an issue when the setterm command shut off my monitor.  If nobody else had issues like that, you're more than welcome to remove the fix.  I'll find some way to work around it.
Comment 8 mlsemon35 2013-07-12 18:32:25 UTC
(In reply to comment #6)
> Bikeshed: s/quirk_force_pipe_a_disable/dev_priv->quirks & QUIRK_PIPEA_IGNORE/
> 
> Pipe assertion remains.

I'll try your patch.

BTW, I just came here to report the backtrace.  So far, nothing is actually wrong yet.  As for things being reported as being off, I'm not sure where things are actually off.  The screen blanking time is actually a little shorter than usual, the power light stays green.  For my backup/emergency partition, the monitor did go into "Auto Adjust in Progress" mode like something had changed.  All is well, though.
Comment 9 Felix Miata 2013-09-22 06:26:08 UTC
Happening early during every boot in openSUSE 13.1B1's 3.11.1 with libdrm_intel1-2.4.46-117.1.i586, dating back at least to 3.10.x.
Comment 10 Daniel Vetter 2013-09-22 18:50:44 UTC
Created attachment 86326 [details] [review]
preserve pipe A quirk

Please test the attached patch.
Comment 11 Chris Wilson 2013-09-29 21:04:08 UTC
commit 67c72a12254101d4e8d9b9f3a02646ba0be84a2d
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Sep 24 11:46:14 2013 +0200

    drm/i915: preserve pipe A quirk in i9xx_set_pipeconf

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.