Bug 31370

Summary: [SNB] KMS doesn't enable
Product: DRI Reporter: Yi Sun <yi.sun>
Component: DRM/IntelAssignee: Chris Wilson <chris>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: medium CC: jbarnes, zhenyu.z.wang
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Yi Sun 2010-11-03 18:37:01 UTC
Environment:
------------
platform: HuronRiver
kernel:   (drm-intel-next)085ce2643713830cf772c12c1a16da9d0ba83f36


Bug detailed description:
--------------------------
The KMS doesn't work. Just VGA mode after kernel boot up. The dmesg information
is:
[drm:init_ring_common] *ERROR* render ring initialization failed ctl 00000000
head 00000000 tail 00000000 start 00000000
[drm:i915_driver_load] *ERROR* failed to init modeset

lspci is as following:
00:00.0 Host bridge: Intel Corporation Sandy Bridge DRAM Controller (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Device 0126 (rev 08)
00:19.0 Ethernet controller: Intel Corporation Device 1502 (rev 03)
00:1a.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #2 (rev 03)
00:1c.0 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 1 (rev b3)
00:1c.6 PCI bridge: Intel Corporation Cougar Point PCI Express Root Port 7 (rev b3)
00:1d.0 USB Controller: Intel Corporation Cougar Point USB Enhanced Host Controller #1 (rev 03)
00:1f.0 ISA bridge: Intel Corporation Cougar Point LPC Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation Cougar Point 6 port SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation Cougar Point SMBus Controller (rev 03)
Comment 1 Chris Wilson 2010-11-03 19:01:26 UTC
Same SNB revision as here (with the same symptoms). Do you have any other SNB systems to hand which you can check to see if any readback the ringbuffer registers correctly? As far as I can tell here, they spontaneously start reporting the correct values but not until after they've had the chance to wrap (and thus hang the machine).
Comment 2 Gordon Jin 2010-11-04 17:05:02 UTC
This only happens with -next kernel, right? If so, I'm not considering it blocking the intermediate release.
Comment 3 Chris Wilson 2010-11-04 17:11:34 UTC
The underlying issue appears to be a hw bug that can cause the system to hang when the ringbuffer is exhausted. The error message itself is only to draw attention to the fact that the registers return 0 and not the correct value and to see how widespread the issue is; that error is only in -next.
Comment 4 Chris Wilson 2010-11-07 05:24:51 UTC
Zhenyu found that his on rev 9 desktop system the registers where always reported correctly. So presuming that this is just an early hw bug:

commit 629e894173c9de589913cf649deaadec4b0579bd
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Nov 7 11:50:02 2010 +0000

    drm/i915/ringbuffer: Ignore failure to setup the ring on Sandybridge
    
    The ring buffer registers return 0 whilst idle (for some values of idle)
    on early Sandybridge hw. Persevere even when all appears hopeless...
    Fortunately the head auto-reporting prevents most hangs.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31370
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 5 Yi Sun 2010-11-07 17:16:37 UTC
The KMS works now.
Comment 6 Elizabeth 2017-10-06 14:53:17 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.