Linux 2.6.37-rc8 (no fb)

Jesse Barnes jbarnes at virtuousgeek.org
Wed Dec 29 13:53:15 PST 2010


> > Doesn't change anything here. Display stays blank.
> 
> Sounds like your problem is separate from SSC then, more likely related
> to panel power or backlight control.  Have you tried bisecting for the
> problem between 2.6.35 and 2.6.36?

Nevermind, I just checked out the bug, looks like it is panel power
related.  Can you try this patch?

If it doesn't work, can you send me the output of intel_reg_dumper from
before you turn off the display and after you try to turn it back on?

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center

diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index aa23070..830e3b0 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -82,8 +82,6 @@ static void intel_lvds_enable(struct intel_lvds *intel_lvds)
 		lvds_reg = LVDS;
 	}
 
-	I915_WRITE(lvds_reg, I915_READ(lvds_reg) | LVDS_PORT_EN);
-
 	if (intel_lvds->pfit_dirty) {
 		/*
 		 * Enable automatic panel scaling so that non-native modes
@@ -104,7 +102,7 @@ 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);
+	POSTING_READ(ctl_reg);
 
 	intel_panel_set_backlight(dev, dev_priv->backlight_level);
 }
@@ -136,8 +134,7 @@ static void intel_lvds_disable(struct intel_lvds *intel_lvds)
 		intel_lvds->pfit_dirty = true;
 	}
 
-	I915_WRITE(lvds_reg, I915_READ(lvds_reg) & ~LVDS_PORT_EN);
-	POSTING_READ(lvds_reg);
+	POSTING_READ(ctl_reg);
 }
 
 static void intel_lvds_dpms(struct drm_encoder *encoder, int mode)


More information about the dri-devel mailing list