Re: [Regression] Laptop screen dark when lid closed and reopened.with 3.1

From: Alex Davis
Date: Sun Oct 02 2011 - 15:20:27 EST

Sometime in the past: Keith Packard <keithp@xxxxxxxxxx> wrote:

>> One good thing about the 3.1 kernels is that I now have the /sys/class/backlight/intel_backlight directory
>> in addition to /sys/class/backlight/dell_backlight. With intel_backlight, I can control the LCD brightness;
>> dell_backlight never worked, neither in 3.0 or 3.1.
>Can you tell if the screen is blank with the backlight on, or is the
>screen drawn correctly and the backlight off?
>If the screen is blank but the backlight is on, then you may want a
>patch which is on my drm-intel-fixes branch.
>If the screen is drawn, but the backlight is off, you may want to try
>reverting the native backlight patch:
>Author: Matthew Garrett <mjg@xxxxxxxxxx>  2011-08-12 03:11:33
>Committer: Keith Packard <keithp@xxxxxxxxxx>  2011-08-15 12:10:25
>Parent: 302983e9059e9ef5de3ca7671918eeb237c5971e (drm/i915/pch: Fix integer math bugs in panel fitting)
>Not all systems expose a firmware or platform mechanism for changing the backlight intensity on i915, so add native driver support.

The following patch fixes the problem for me:

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 31da77f..9c16243 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -126,8 +126,6 @@ static void intel_lvds_disable(struct intel_lvds *intel_lvds)
         stat_reg = PP_STATUS;
-    intel_panel_disable_backlight(dev);
     I915_WRITE(ctl_reg, I915_READ(ctl_reg) & ~POWER_TARGET_ON);
     if (wait_for((I915_READ(stat_reg) & PP_ON) == 0, 1000))
         DRM_ERROR("timed out waiting for panel to power off\n");

This patch is against 3.1 rc8 with Keith Packard's drm-intel-fixes merged in.

Putting printk's in ./drivers/gpu/drm/i915/intel_panel.c showed that intel_get_brightness was being called after

the panel was disabled, which caused a 0 to be saved as the value to restore the brightness. intel_panel_disable_backlight
merely sets the brightness to 0. Commenting out this call allows the correct brightness value to be saved.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at