Bug 79824 - [pnv] panel assertion failure, pipe B regs locked at boot
Summary: [pnv] panel assertion failure, pipe B regs locked at boot
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-09 09:04 UTC by Joan
Modified: 2017-07-24 22:53 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg log until issue (84.65 KB, text/plain)
2014-06-23 12:20 UTC, Joan
no flags Details

Description Joan 2014-06-09 09:04:07 UTC
I am running debian wheezy on a Supermicro X7SPA-HF board, instead of the distribution provided kernel I am using the current stable (3.15).
Every time after booting the system there are several error on the i915 that left the kernel in tainted state, hence making it more difficult to debug other issues with other modules that appear later.
I have seen this issue on most of the 3.15 rc, and finally seems that the issue made into stable.
On the server I don't have any X server running, and there are few running processes.

Regards, 

Joan


dmesg output follows: 
[   10.000176] [drm] Memory usable by graphics device = 512M
[   10.056147] i915 0000:00:02.0: irq 50 for MSI/MSI-X
[   10.056192] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   10.056197] [drm] Driver supports precise vblank timestamp query.
[   10.056340] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[   10.056653] [drm] Skipping LVDS initialization for Supermicro X7SPA-H
[   10.058698] [drm] initialized overlay support
[   10.159444] fbcon: inteldrmfb (fb0) is primary device
[   10.190484] ------------[ cut here ]------------
[   10.190592] WARNING: CPU: 3 PID: 496 at drivers/gpu/drm/i915/intel_display.c:1089 i9xx_crtc_enable+0x101/0x384 [i915]()
[   10.190594] panel assertion failure, pipe B regs locked
[   10.190646] Modules linked in: snd_pcm snd_timer coretemp snd soundcore microcode pcspkr evdev i2c_i801(+) lpc_ich(+) mfd_core floppy(+) parport_pc parport tpm_tis i915(+) tpm video drm_kms_helper ehci_pci drm i2c_algo_bit i2c_core processor button thermal_sys ext4 crc16 jbd2 mbcache raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq md_mod sg sd_mod ses enclosure crc_t10dif crct10dif_common usb_storage ahci libahci libata scsi_mod e1000e ptp pps_core uhci_hcd ehci_hcd usbcore usb_common
[   10.190650] CPU: 3 PID: 496 Comm: modprobe Not tainted 3.15.0 #1
[   10.190652] Hardware name: Supermicro X7SPA-HF/X7SPA-HF, BIOS 1.1a       12/17/10  
[   10.190657]  0000000000000000 0000000000000009 ffffffff8138e278 ffff880036c4f498
[   10.190661]  ffffffff810395fb 0000000041000000 ffffffffa02a4da7 ffff8800ba908000
[   10.190665]  ffff8800ba908000 ffff8800ba908000 ffff8800bb07f000 0000000000006018
[   10.190666] Call Trace:
[   10.190674]  [<ffffffff8138e278>] ? dump_stack+0x41/0x51
[   10.190680]  [<ffffffff810395fb>] ? warn_slowpath_common+0x78/0x90
[   10.190773]  [<ffffffffa02a4da7>] ? i9xx_crtc_enable+0x101/0x384 [i915]
[   10.190778]  [<ffffffff810396ab>] ? warn_slowpath_fmt+0x45/0x4a
[   10.190869]  [<ffffffffa029e818>] ? assert_panel_unlocked+0x70/0xb0 [i915]
[   10.190961]  [<ffffffffa02a4da7>] ? i9xx_crtc_enable+0x101/0x384 [i915]
[   10.191054]  [<ffffffffa02a809c>] ? __intel_set_mode+0x1095/0x1193 [i915]
[   10.191148]  [<ffffffffa02a9e55>] ? intel_set_mode+0xd/0x27 [i915]
[   10.191242]  [<ffffffffa02aaa06>] ? intel_crtc_set_config+0x717/0xa19 [i915]
[   10.191247]  [<ffffffff811cb679>] ? ida_get_new_above+0x174/0x18e
[   10.191270]  [<ffffffffa023eb32>] ? drm_mode_set_config_internal+0x48/0xc0 [drm]
[   10.191278]  [<ffffffffa0222ce6>] ? drm_fb_helper_restore_fbdev_mode+0x8f/0xa8 [drm_kms_helper]
[   10.191286]  [<ffffffffa0223f9c>] ? drm_fb_helper_set_par+0x44/0xa8 [drm_kms_helper]
[   10.191291]  [<ffffffff8120e72f>] ? fbcon_init+0x2ff/0x408
[   10.191296]  [<ffffffff812629e6>] ? visual_init+0xaf/0x102
[   10.191300]  [<ffffffff812640ad>] ? do_bind_con_driver+0x171/0x286
[   10.191305]  [<ffffffff812642f4>] ? do_take_over_console+0x132/0x162
[   10.191309]  [<ffffffff8120b064>] ? do_fbcon_takeover+0x54/0x97
[   10.191314]  [<ffffffff813951c5>] ? notifier_call_chain+0x2e/0x59
[   10.191319]  [<ffffffff8105549b>] ? __blocking_notifier_call_chain+0x43/0x5d
[   10.191324]  [<ffffffff81214ec2>] ? register_framebuffer+0x23a/0x296
[   10.191333]  [<ffffffffa0223df4>] ? drm_fb_helper_initial_config+0x3ad/0x464 [drm_kms_helper]
[   10.191340]  [<ffffffffa0223207>] ? drm_fb_helper_single_add_all_connectors+0x29/0x93 [drm_kms_helper]
[   10.191427]  [<ffffffffa0296cdb>] ? gen4_read32+0x4a/0x55 [i915]
[   10.191514]  [<ffffffffa0296e1a>] ? gen4_write32+0x38/0x52 [i915]
[   10.191620]  [<ffffffffa02cdb36>] ? i915_driver_load+0xb70/0xded [i915]
[   10.191625]  [<ffffffff812bd347>] ? pcibios_allocate_bus_resources+0x8c/0x8c
[   10.191629]  [<ffffffff811ccf73>] ? kobject_uevent_env+0x486/0x4c8
[   10.191635]  [<ffffffff811ccf73>] ? kobject_uevent_env+0x486/0x4c8
[   10.191640]  [<ffffffff8127e84c>] ? get_device+0x10/0x1c
[   10.191645]  [<ffffffff81382ffe>] ? klist_add_tail+0x1d/0x44
[   10.191649]  [<ffffffff812800ec>] ? device_add+0x4f5/0x506
[   10.191671]  [<ffffffffa023d0e7>] ? drm_sysfs_device_add+0xcd/0x105 [drm]
[   10.191690]  [<ffffffffa023a3e6>] ? drm_dev_register+0x74/0xe6 [drm]
[   10.191709]  [<ffffffffa023c53e>] ? drm_get_pci_dev+0xfc/0x1b9 [drm]
[   10.191715]  [<ffffffff81288de8>] ? __pm_runtime_resume+0x60/0x6f
[   10.191720]  [<ffffffff811f2fcd>] ? local_pci_probe+0x35/0x7a
[   10.191724]  [<ffffffff811f30e3>] ? pci_device_probe+0xd1/0xf5
[   10.191730]  [<ffffffff812821ea>] ? driver_probe_device+0x9d/0x1d4
[   10.191735]  [<ffffffff81282321>] ? driver_probe_device+0x1d4/0x1d4
[   10.191739]  [<ffffffff81282374>] ? __driver_attach+0x53/0x73
[   10.191743]  [<ffffffff81280a9e>] ? bus_for_each_dev+0x4e/0x7f
[   10.191748]  [<ffffffff81281a54>] ? bus_add_driver+0xe7/0x1cb
[   10.191753]  [<ffffffff812828b6>] ? driver_register+0x82/0xb5
[   10.191761]  [<ffffffffa0316000>] ? 0xffffffffa0315fff
[   10.191765]  [<ffffffff81000296>] ? do_one_initcall+0x78/0xfa
[   10.191770]  [<ffffffffa0316000>] ? 0xffffffffa0315fff
[   10.191775]  [<ffffffff81030302>] ? change_page_attr_set+0x23/0x28
[   10.191780]  [<ffffffff810554a7>] ? __blocking_notifier_call_chain+0x4f/0x5d
[   10.191785]  [<ffffffffa0316000>] ? 0xffffffffa0315fff
[   10.191790]  [<ffffffff8108d32a>] ? load_module+0x1a7d/0x1d63
[   10.191794]  [<ffffffff8108a5ba>] ? show_initstate+0x41/0x41
[   10.191800]  [<ffffffff813926a2>] ? page_fault+0x22/0x30
[   10.191805]  [<ffffffff8108d6a0>] ? SyS_init_module+0x90/0x9b
[   10.191810]  [<ffffffff81397262>] ? system_call_fastpath+0x16/0x1b
[   10.191813] ---[ end trace 6f4a22bfb7235c27 ]---
[   10.216041] [drm:intel_pipe_config_compare] *ERROR* mismatch in dpll_hw_state.dpll (expected 0x94080000, found 0x98026000)
[   10.216042] ------------[ cut here ]------------
[   10.216138] WARNING: CPU: 3 PID: 496 at drivers/gpu/drm/i915/intel_display.c:9834 check_crtc_state+0x7e7/0x81f [i915]()
[   10.216140] pipe state doesn't match!
[   10.216184] Modules linked in: snd_pcm snd_timer coretemp snd soundcore microcode pcspkr evdev i2c_i801(+) lpc_ich(+) mfd_core floppy(+) parport_pc parport tpm_tis i915(+) tpm video drm_kms_helper ehci_pci drm i2c_algo_bit i2c_core processor button thermal_sys ext4 crc16 jbd2 mbcache raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq md_mod sg sd_mod ses enclosure crc_t10dif crct10dif_common usb_storage ahci libahci libata scsi_mod e1000e ptp pps_core uhci_hcd ehci_hcd usbcore usb_common
[   10.216188] CPU: 3 PID: 496 Comm: modprobe Tainted: G        W     3.15.0 #1
[   10.216190] Hardware name: Supermicro X7SPA-HF/X7SPA-HF, BIOS 1.1a       12/17/10  
[   10.216195]  0000000000000000 0000000000000009 ffffffff8138e278 ffff880036c4f288
[   10.216198]  ffffffff810395fb ffff880036c4f280 ffffffffa029e3dd 0000000000000001
[   10.216202]  ffff8800bb07f000 ffff8800369d5800 ffff880036c4f318 ffff8800bb07f6e0
[   10.216203] Call Trace:
[   10.216210]  [<ffffffff8138e278>] ? dump_stack+0x41/0x51
[   10.216214]  [<ffffffff810395fb>] ? warn_slowpath_common+0x78/0x90
[   10.216305]  [<ffffffffa029e3dd>] ? check_crtc_state+0x7e7/0x81f [i915]
[   10.216310]  [<ffffffff810396ab>] ? warn_slowpath_fmt+0x45/0x4a
[   10.216407]  [<ffffffffa02b5fa0>] ? intel_crt_get_flags+0x1c/0x38 [i915]
[   10.216497]  [<ffffffffa029e3dd>] ? check_crtc_state+0x7e7/0x81f [i915]
[   10.216593]  [<ffffffffa02a9ba6>] ? intel_modeset_check_state+0x351/0x5f3 [i915]
[   10.216686]  [<ffffffffa02a9e65>] ? intel_set_mode+0x1d/0x27 [i915]
[   10.216779]  [<ffffffffa02aaa06>] ? intel_crtc_set_config+0x717/0xa19 [i915]
[   10.216784]  [<ffffffff811cb679>] ? ida_get_new_above+0x174/0x18e
[   10.216807]  [<ffffffffa023eb32>] ? drm_mode_set_config_internal+0x48/0xc0 [drm]
[   10.216815]  [<ffffffffa0222ce6>] ? drm_fb_helper_restore_fbdev_mode+0x8f/0xa8 [drm_kms_helper]
[   10.216822]  [<ffffffffa0223f9c>] ? drm_fb_helper_set_par+0x44/0xa8 [drm_kms_helper]
[   10.216828]  [<ffffffff8120e72f>] ? fbcon_init+0x2ff/0x408
[   10.216833]  [<ffffffff812629e6>] ? visual_init+0xaf/0x102
[   10.216837]  [<ffffffff812640ad>] ? do_bind_con_driver+0x171/0x286
[   10.216841]  [<ffffffff812642f4>] ? do_take_over_console+0x132/0x162
[   10.216846]  [<ffffffff8120b064>] ? do_fbcon_takeover+0x54/0x97
[   10.216850]  [<ffffffff813951c5>] ? notifier_call_chain+0x2e/0x59
[   10.216855]  [<ffffffff8105549b>] ? __blocking_notifier_call_chain+0x43/0x5d
[   10.216859]  [<ffffffff81214ec2>] ? register_framebuffer+0x23a/0x296
[   10.216867]  [<ffffffffa0223df4>] ? drm_fb_helper_initial_config+0x3ad/0x464 [drm_kms_helper]
[   10.216875]  [<ffffffffa0223207>] ? drm_fb_helper_single_add_all_connectors+0x29/0x93 [drm_kms_helper]
[   10.216961]  [<ffffffffa0296cdb>] ? gen4_read32+0x4a/0x55 [i915]
[   10.217048]  [<ffffffffa0296e1a>] ? gen4_write32+0x38/0x52 [i915]
[   10.217154]  [<ffffffffa02cdb36>] ? i915_driver_load+0xb70/0xded [i915]
[   10.217158]  [<ffffffff812bd347>] ? pcibios_allocate_bus_resources+0x8c/0x8c
[   10.217163]  [<ffffffff811ccf73>] ? kobject_uevent_env+0x486/0x4c8
[   10.217168]  [<ffffffff811ccf73>] ? kobject_uevent_env+0x486/0x4c8
[   10.217173]  [<ffffffff8127e84c>] ? get_device+0x10/0x1c
[   10.217177]  [<ffffffff81382ffe>] ? klist_add_tail+0x1d/0x44
[   10.217181]  [<ffffffff812800ec>] ? device_add+0x4f5/0x506
[   10.217202]  [<ffffffffa023d0e7>] ? drm_sysfs_device_add+0xcd/0x105 [drm]
[   10.217221]  [<ffffffffa023a3e6>] ? drm_dev_register+0x74/0xe6 [drm]
[   10.217240]  [<ffffffffa023c53e>] ? drm_get_pci_dev+0xfc/0x1b9 [drm]
[   10.217245]  [<ffffffff81288de8>] ? __pm_runtime_resume+0x60/0x6f
[   10.217250]  [<ffffffff811f2fcd>] ? local_pci_probe+0x35/0x7a
[   10.217254]  [<ffffffff811f30e3>] ? pci_device_probe+0xd1/0xf5
[   10.217260]  [<ffffffff812821ea>] ? driver_probe_device+0x9d/0x1d4
[   10.217265]  [<ffffffff81282321>] ? driver_probe_device+0x1d4/0x1d4
[   10.217269]  [<ffffffff81282374>] ? __driver_attach+0x53/0x73
[   10.217273]  [<ffffffff81280a9e>] ? bus_for_each_dev+0x4e/0x7f
[   10.217278]  [<ffffffff81281a54>] ? bus_add_driver+0xe7/0x1cb
[   10.217283]  [<ffffffff812828b6>] ? driver_register+0x82/0xb5
[   10.217290]  [<ffffffffa0316000>] ? 0xffffffffa0315fff
[   10.217293]  [<ffffffff81000296>] ? do_one_initcall+0x78/0xfa
[   10.217299]  [<ffffffffa0316000>] ? 0xffffffffa0315fff
[   10.217303]  [<ffffffff81030302>] ? change_page_attr_set+0x23/0x28
[   10.217308]  [<ffffffff810554a7>] ? __blocking_notifier_call_chain+0x4f/0x5d
[   10.217313]  [<ffffffffa0316000>] ? 0xffffffffa0315fff
[   10.217318]  [<ffffffff8108d32a>] ? load_module+0x1a7d/0x1d63
[   10.217321]  [<ffffffff8108a5ba>] ? show_initstate+0x41/0x41
[   10.217327]  [<ffffffff813926a2>] ? page_fault+0x22/0x30
[   10.217332]  [<ffffffff8108d6a0>] ? SyS_init_module+0x90/0x9b
[   10.217337]  [<ffffffff81397262>] ? system_call_fastpath+0x16/0x1b
[   10.217339] ---[ end trace 6f4a22bfb7235c28 ]---
[   10.225916] Console: switching to colour frame buffer device 128x48
[   10.232103] usb 8-1: new high-speed USB device number 2 using ehci-pci
[   10.234650] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[   10.234655] i915 0000:00:02.0: registered panic notifier
[   10.234687] i915: No ACPI video bus found
[   10.234788] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[   10.235732] i801_smbus 0000:00:1f.3: SMBus using PCI Interrupt
Comment 1 Daniel Vetter 2014-06-18 13:52:23 UTC
Is this a regressions, i.e. have older kernels worked? If so please bisect it.

Also please boot with drm.debug=0xe added to your kernel cmdline and grab a dmesg from boot-up until the first WARNING.
Comment 2 Joan 2014-06-23 12:20:12 UTC
Created attachment 101581 [details]
dmesg log until issue
Comment 3 Joan 2014-06-23 13:53:08 UTC
Log is attached, about when did the issue appear, I wasn't aware of it until 3.15-rc8, about the other versions:

- 3.2.0-4-amd64 doesn't have the issues (but is too old to even mount my version of btrfs)
- 3.15-rc3 experiences the same issues
- 3.15 experiences the same issues
- 3.14 doesn't have issues
My guess is that this is something that appeared with the changes in 3.15, I am currently compiling the 3.14.8 to check on that version just to verify.
Comment 4 Joan 2014-06-25 08:09:55 UTC
3.14.8 is not affected by the same issue, so it was introduced on the changeset from 3.14.8 to 3.15-rc3

Regards
Comment 5 Jani Nikula 2014-09-08 13:21:32 UTC
[   10.056653] [drm] Skipping LVDS initialization for Supermicro X7SPA-H

So the hardware does not have LVDS? Yet we assert the panel power sequencer regs are unlocked...
Comment 6 Jani Nikula 2014-09-08 13:27:26 UTC
I guess we'll need a better check at i9xx_enable_pll(). I don't know what kind of frankenstein the machine is, but our driver thinks mobile chips always have a panel, but the dmi quirk says it doesn't.

	/* PLL is protected by panel, make sure we can write it */
	if (IS_MOBILE(dev) && !IS_I830(dev))
		assert_panel_unlocked(dev_priv, crtc->pipe);
Comment 7 Jani Nikula 2014-09-08 13:34:06 UTC
http://www.supermicro.com/products/motherboard/ATOM/ICH9/X7SPA.cfm

says it's Pineview-D with LVDS support. I guess most people never connect an LVDS display.
Comment 8 Jani Nikula 2014-09-08 13:37:43 UTC
One more thought. If it's got LVDS support, do we need to a) unlock/disable power sequencer even when there's no LVDS connected, or b) just skip the check?
Comment 9 Jesse Barnes 2014-12-05 18:25:48 UTC
A hack to try:

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index c424c36..a19544b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1607,7 +1607,9 @@ static void i9xx_enable_pll(struct intel_crtc *crtc)
 	BUG_ON(INTEL_INFO(dev)->gen >= 5);
 
 	/* PLL is protected by panel, make sure we can write it */
-	if (IS_MOBILE(dev) && !IS_I830(dev))
+	if (IS_MOBILE(dev) && !IS_I830(dev) &&
+	    (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS) ||
+	     intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP)))
 		assert_panel_unlocked(dev_priv, crtc->pipe);
 
 	/* Enable DVO 2x clock on both PLLs if necessary */
Comment 11 Daniel Vetter 2014-12-15 09:15:39 UTC
Presumably fixed by the already merged patch

commit b0616c5306b342ceca07044dbc4f917d95c4f825
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Dec 1 17:56:54 2014 +0100

    drm/i915: Unlock panel even when LVDS is disabled

It landed in 3.18 release (and cc: stable for older kernels), so please test that and reopen if you still have an issue.


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.