Bug 42616

Summary: Regression: Black screen on KMS, with lvds_use_ssc re-enabled
Product: DRI Reporter: Cedric Sodhi <manday>
Component: DRM/IntelAssignee: Chris Wilson <chris>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: high CC: ben, chris, daniel, jbarnes, keithp
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg with cc03bbf1
none
dmesg with 3.1 mainline
none
intel_gpu_dump with cc03bbf1
none
intel_gpu_dump with 3.1 mainline
none
[michel] dmesg output with working KMS (3.1.0 + unrelated ath9k and btrfs patches)
none
[michel] dmesg output with black screen after KMS (3.2.0-rc1 + ath9k patch)
none
[michel] intel_reg_dump output with working KMS (3.1.0+)
none
[michel] intel_reg_dump output with black screen after KMS (3.2.0-rc1+) none

Description Cedric Sodhi 2011-11-05 02:03:41 UTC
Created attachment 53173 [details]
dmesg with cc03bbf1

Booting into cc03bbf1 results in a black screen once KMS starts, the system keeps running in the background but the screen remains unusuable.
Comment 1 Cedric Sodhi 2011-11-05 02:04:29 UTC
Created attachment 53174 [details]
dmesg with 3.1 mainline
Comment 2 Cedric Sodhi 2011-11-05 02:05:09 UTC
Created attachment 53175 [details]
intel_gpu_dump with cc03bbf1
Comment 3 Cedric Sodhi 2011-11-05 02:05:46 UTC
Created attachment 53176 [details]
intel_gpu_dump with 3.1 mainline
Comment 4 Michel Alexandre Salim 2011-11-09 02:48:14 UTC
This regression appears to have made it into 3.2.0-rc1 as well. I'll provide my information as soon as I can gather them.
Comment 5 Michel Alexandre Salim 2011-11-09 04:10:39 UTC
Created attachment 53321 [details]
[michel] dmesg output with working KMS (3.1.0 + unrelated ath9k and btrfs patches)
Comment 6 Michel Alexandre Salim 2011-11-09 04:11:56 UTC
Created attachment 53322 [details]
[michel] dmesg output with black screen after KMS (3.2.0-rc1 + ath9k patch)
Comment 7 Michel Alexandre Salim 2011-11-09 04:12:56 UTC
Created attachment 53323 [details]
[michel] intel_reg_dump output with working KMS (3.1.0+)
Comment 8 Michel Alexandre Salim 2011-11-09 04:14:09 UTC
Created attachment 53324 [details]
[michel] intel_reg_dump output with black screen after KMS (3.2.0-rc1+)
Comment 9 Michel Alexandre Salim 2011-11-09 04:47:38 UTC
So this is because lvds_use_ssc is somehow re-enabled; booting with i915.lvds_use_ssc=0 works around the issue for me.

Keith added a framework for blacklisting models that don't support SSC (435793dfb8) and I added my laptop to this blacklist (070d329ae52e2) so it's weird that the issue is cropping up again. I'll try and see if the relevant code is still being used or not
Comment 10 Michel Alexandre Salim 2011-11-09 05:12:22 UTC
The problem was introduced in commit 72bbe58cd9568c77 from September 26th:

  drm/i915: Allow SSC parameter to override VBT value

In the function intel_panel_use_ssc, now if i915_panel_use_ssc >= 0 (and it's an unsigned int initialized to -1 so it's always greater than 0), then the check for whether the device is in the quirks table is short-circuited since the function immediately returns true at that point.

Shouldn't the quirk table always overrides whatever the default SSC setting is (unless overridden by the user)? In which case perhaps either check for quirks first and short-circuit, or also check that there are no quirks even if i915_panel_use_ssc is greater than 0.
Comment 11 Chris Wilson 2011-12-13 06:35:02 UTC
The user overrides the quirk which overrides the probe which overrides the default.

commit 4415e63b13c68c2f56d16d400a1ae345f68cf655
Author: Keith Packard <keithp@keithp.com>
Date:   Wed Nov 9 09:57:50 2011 -0800

    drm/i915: Module parameters using '-1' as default must be signed type
    
    Testing i915_panel_use_ssc for the default value was broken, so the
    driver would never autodetect the correct value.
    
    Signed-off-by: Keith Packard <keithp@keithp.com>
    Reviewed-by:   Michel Alexandre Salim <salimma@fedoraproject.org>
    Tested-by:     Michel Alexandre Salim <salimma@fedoraproject.org>
    Cc: stable@kernel.org

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.