Messages in this thread Patch in this message | | | Date | Sun, 2 Oct 2011 12:20:19 -0700 (PDT) | From | Alex Davis <> | Subject | Re: [Regression] Laptop screen dark when lid closed and reopened.with 3.1 |
| |
Sometime in the past: Keith Packard <keithp@keithp.com> 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. > >git://anongit.freedesktop.org/~keithp/linux > >If the screen is drawn, but the backlight is off, you may want to try >reverting the native backlight patch: > >aaa6fd2a004147bf32fce05720938236de3361d9 > >Author: Matthew Garrett <mjg@redhat.com> 2011-08-12 03:11:33 >Committer: Keith Packard <keithp@keithp.com> 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. > >-- >keith.packard@intel.com
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.
Thoughts? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |