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
@@ -126,8 +126,6 @@ static void intel_lvds_disable(struct intel_lvds *intel_lvds)
stat_reg = PP_STATUS;
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 http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/