Bug 74081

Summary: [GM965/GL960] [drm:intel_pipe_config_compare] *ERROR* mismatch in gmch_pfit.lvds_border_bits
Product: DRI Reporter: max <manikulin>
Component: DRM/IntelAssignee: Daniel Vetter <daniel>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg with drm.debug=0x0e
none
dmesg with custom kernel (patch 18810) none

Description max 2014-01-26 12:35:54 UTC
Created attachment 92811 [details]
dmesg with drm.debug=0x0e

Latest kernels generates the following error to dmesg. The system and xorg are able to start however.

[   25.896212] [drm:intel_connector_check_state], [CONNECTOR:5:LVDS-1]
[   25.896215] [drm:intel_connector_check_state], [CONNECTOR:11:VGA-1]
[   25.896219] [drm:check_encoder_state], [ENCODER:6:LVDS-6]
[   25.896222] [drm:check_encoder_state], [ENCODER:12:DAC-12]
[   25.896224] [drm:check_crtc_state], [CRTC:3]
[   25.896235] [drm:check_crtc_state], [CRTC:4]
[   25.896246] [drm:intel_pipe_config_compare] *ERROR* mismatch in gmch_pfit.lvds_border_bits (expected 32768, found 0)
[   25.896246] ------------[ cut here ]------------
[   25.896294] WARNING: CPU: 1 PID: 392 at /home/apw/COD/linux/drivers/gpu/drm/i915/intel_display.c:9558 check_crtc_state+0x275/0x330 [i915]()
[   25.896295] pipe state doesn't match!
[   25.896328] Modules linked in: ath9k(+) snd_hda_codec ath9k_common ath9k_hw snd_hwdep snd_pcm snd_page_alloc snd_seq_midi i915(+) snd_seq_midi_event microcode(+) snd_rawmidi snd_seq parport_pc ath ppdev mac80211 btusb drm_kms_helper psmouse snd_seq_device drm bnep snd_timer rfcomm cfg80211 snd bluetooth asus_laptop serio_raw soundcore sparse_keymap i2c_algo_bit lp input_polldev lpc_ich video parport mac_hid hid_a4tech usbhid hid ahci libahci r8169 mii
[   25.896332] CPU: 1 PID: 392 Comm: systemd-udevd Not tainted 3.13.0-994-generic #201401260429
[   25.896333] Hardware name: ASUSTeK Computer Inc.         F80L                /F80L      , BIOS 206     08/06/2008
[   25.896337]  0000000000002556 ffff88007a2c1268 ffffffff81733672 0000000000000086
[   25.896340]  ffff88007a2c12b8 ffff88007a2c12a8 ffffffff81067bac ffff88007a2c12d8
[   25.896343]  ffff88007a6be000 ffff880036711b18 ffff880036711800 ffff88007a6be6d8
[   25.896344] Call Trace:
[   25.896352]  [<ffffffff81733672>] dump_stack+0x46/0x58
[   25.896357]  [<ffffffff81067bac>] warn_slowpath_common+0x8c/0xc0
[   25.896360]  [<ffffffff81067c96>] warn_slowpath_fmt+0x46/0x50
...
[   25.896808]  [<ffffffff810e58d4>] SyS_init_module+0xb4/0x100
[   25.896811]  [<ffffffff81748d7f>] tracesys+0xe1/0xe6
[   25.896813] ---[ end trace 103b685a7f136965 ]---
[   25.896816] [drm:intel_dump_pipe_config], [CRTC:4][hw state] config for pipe B
[   25.896817] [drm:intel_dump_pipe_config], cpu_transcoder: B

the full dmesg is attached.

Ubuntu 13.10 amd64 is running on the Asus F80L laptop

lspci:

00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device 14e2
        Flags: bus master, fast devsel, latency 0, IRQ 46
        Memory at feb00000 (64-bit, non-prefetchable) [size=1M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at ec00 [size=8]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 3
        Kernel driver in use: i915
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (secondary) (rev 03)
        Subsystem: ASUSTeK Computer Inc. Device 14e2
        Flags: bus master, fast devsel, latency 0
        Memory at fe900000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: [d0] Power Management version 3

The kernel is drm-intel-nightly from 2014-01-26 taken at ubuntu kernel-ppa/mainline

3.13.0-994-generic #201401260429 SMP Sun Jan 26 09:29:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

cat /sys/kernel/debug/dri/*/i915_error_state
no error state collected
no error state collected
Comment 1 Daniel Vetter 2014-01-27 09:02:05 UTC
Please test the below patch:

http://patchwork.freedesktop.org/patch/18810/
Comment 2 max 2014-01-28 02:06:11 UTC
The error message is present even if the patch is applied to drm-intel-nightly git.
Comment 3 max 2014-01-28 02:07:27 UTC
Created attachment 92898 [details]
dmesg with custom kernel (patch 18810)
Comment 4 Orion Poplawski 2014-02-18 16:08:33 UTC
Same here:

[    2.009086] [drm:intel_pipe_config_compare] *ERROR* mismatch in gmch_pfit.lvds_border_bits (expected 32768, found 0)
[    2.009087] ------------[ cut here ]------------
[    2.009126] WARNING: CPU: 1 PID: 130 at drivers/gpu/drm/i915/intel_display.c:8853 check_crtc_state+0x61f/0xb10 [i915]()
[    2.009127] pipe state doesn't match!
[    2.009133] Modules linked in: i915(+) i2c_algo_bit drm_kms_helper drm i2c_core video
[    2.009137] CPU: 1 PID: 130 Comm: systemd-udevd Not tainted 3.12.10-300.fc20.x86_64 #1
[    2.009138] Hardware name: Dell Inc. Inspiron 1470/0GKD99, BIOS A04 12/07/2009
Comment 5 Daniel Vetter 2014-04-13 10:01:24 UTC
Ok, finally gotten around to implement something based on Ville's analysis of the bug. Please test this patch:

http://patchwork.freedesktop.org/patch/24181/
Comment 6 max 2014-04-14 15:33:59 UTC
It seems that the patch fixes the issue.
I do see that call trace any more.
Thank you for your efforts.
Comment 7 Jani Nikula 2014-04-16 20:54:01 UTC
(In reply to comment #6)
> It seems that the patch fixes the issue.
> I do see that call trace any more.
> Thank you for your efforts.

Thanks for the report and testing. We prefer to keep the bugs open until we've actually merged the fix so we don't lose track of them. Thanks.
Comment 8 Jani Nikula 2014-04-24 10:47:05 UTC
Fixed by
commit 9953599bc02dbc1d3330e6a0bfc6c50e9dffcac6
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sun Apr 13 12:00:33 2014 +0200

    drm/i915: Don't check gmch state on inherited configs

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.