Linux 2.6.37

Chris Wilson chris at chris-wilson.co.uk
Thu Jan 6 09:49:48 PST 2011


On Thu, 6 Jan 2011 08:29:22 -0800, Linus Torvalds <torvalds at linux-foundation.org> wrote:
> On Thu, Jan 6, 2011 at 2:48 AM, Michal Hocko <mhocko at suse.cz> wrote:
> >
> > It seems that there is still a regression for intel graphic cards
> > backlight. One report is https://bugzilla.kernel.org/show_bug.cgi?id=22672.
> > I can reproduce the problem easily by:
> > xset dpms force standby; sleep 3s; xset dpms force on
> >
> > backlight doesn't get up (there is really dark picture though which
> > doesn't get brighter by function keys which work normally) after dpms on
> > until I close and open lid.
> 
> Hmm. That commit no longer reverts cleanly, so it's not trivial to
> test whether all those things are exactly the same issue. It's been
> bisected in the bugzilla entry, but it would be good to verify that
> yes, reverting it really does fix the issue, and your issue is the
> exact same one.
> 
> Chris, any ideas?

My fear is that some machines have a dependency between the backlight
and panel power status. The patch in question changed the timing between
turning on the panel and adjusting the backlight which would be restore
with:

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index aa23070..0b40b4f 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -106,6 +106,12 @@ static void intel_lvds_enable(struct intel_lvds *intel_lvds)
 	I915_WRITE(ctl_reg, I915_READ(ctl_reg) | POWER_TARGET_ON);
 	POSTING_READ(lvds_reg);
 
+	{
+		u32 reg = HAS_PCH_SPLIT(dev) ? PCH_PP_STATUS : PPS_STATUS;
+		if (wait_for(I915_READ(reg) & PP_ON, 1000))
+			DRM_ERROR("timed out waiting for panel to power up\n");
+	}
+
 	intel_panel_set_backlight(dev, dev_priv->backlight_level);
 }

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list