Message ID | s5hk3panhaq.wl%tiwai@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Mar 14, 2013 at 4:15 PM, Takashi Iwai <tiwai@suse.de> wrote: > I noticed that a Haswell desktop machine with eDP gets only the blank > screen on the latest Linus tree. It works fine with 3.8, so it's a > regression since 3.9-rc1. Actually, it's not a regression. It's > three regressions in a shot! (I had to do painful bisections three > times...) > > c464b2a17c59adedbdc02cc54341d630354edc3 > drm/i915: set TRANSCODER_EDP even earlier > > d6dd9eb1d96d2b7345fe4664066c2b7ed86da898 > drm/i915: dynamic Haswell display power well support > > commit cf0a6584aa6d382f802f2c3cacac23ccbccde0cd > drm/i915: write backlight harder > > > The first commit affects no matter whether power well is on or off. > It brings the eDP output always blank. Can you please attach the xrandr output and drm.debug=0xe dmesg from booting for that hsw eDP machine quickly? Thanks, Daniel
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c index a3730e0..99ef9a3 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c @@ -317,10 +317,13 @@ void intel_panel_enable_backlight(struct drm_device *dev, enum pipe pipe) { struct drm_i915_private *dev_priv = dev->dev_private; + int prev_level; if (dev_priv->backlight_level == 0) dev_priv->backlight_level = intel_panel_get_max_backlight(dev); + prev_level = intel_panel_get_backlight(dev); + dev_priv->backlight_enabled = true; intel_panel_actually_set_backlight(dev, dev_priv->backlight_level); @@ -363,7 +366,7 @@ set_level: * On some machines, BLC_PWM_CPU_CTL is cleared to zero automatically * when BLC_PWM_CPU_CTL2 and BLC_PWM_PCH_CTL1 are written. */ - if (!intel_panel_get_backlight(dev)) + if (!prev_level && dev_priv->backlight_level) intel_panel_actually_set_backlight(dev, dev_priv->backlight_level); }