Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[bisected] i915 dpms does not switch back light on

21 views
Skip to first unread message

Wouter M. Koolen

unread,
Oct 27, 2011, 6:50:01 AM10/27/11
to
Hi guys,

After update from kernel 3.0.8 to 3.1 I encounter the following problem.
When power saving turns off the back light, key/mouse activity does not
turn it back on. I can turn it back on by pressing the "brightness++" key.

The following sequence also leaves the backlight off:
xset dpms force off; xset dpms force on
while the next, conceptually similar sequence, reenables it just fine:
xbacklight -set 0; xbacklight -set 100

In each case the problem only manifests itself on the laptop's internal
panel. The backlight of a second display panel connected to the mini DVI
port (using a VGA converter) is turned back on in each case.


My graphics card is a
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960
Integrated Graphics Controller (primary) (rev 03)
which is driven by i915.

The problem is perfectly reproducible. Bisection points out that first
bad commit is aaa6fd2a004147bf32fce05720938236de3361d9

Author: Matthew Garrett <m...@redhat.com> 2011-08-12 11:11:33
Committer: Keith Packard <kei...@keithp.com> 2011-08-15 20:10:25
Parent: 13d83a672e9bbd52ae82c2f611dfd845a957e8b4 (drm/i915: split out
PCH refclk update code)
Branches: linux-3.1.y, master, remotes/origin/linux-3.1.y,
remotes/origin/master
Follows: v3.1-rc1
Precedes: v3.1-rc3

Not all systems expose a firmware or platform mechanism for
changing the backlight intensity on i915, so add native driver support.

I am running Debian testing on a MacBook 4,1 with the following X tools.

xorg 1:7.6+9
xserver-xorg 1:7.6+9
xserver-xorg-core 2:1.11.1.901-2
xserver-xorg-input-all 1:7.6+9
xserver-xorg-input-evdev 1:2.6.0-2+b2
xserver-xorg-input-synaptics 1.4.1-1+b1
xserver-xorg-video-intel 2:2.16.0-1

dmesg, lspci and .config attached.

I hope this information is helpful in sorting out the problem. If not,
don't hesitate to indicate additional information that would be relevant.

With kind regards,

Wouter Koolen
dmesg
lspci
config-3.1.0.git

Alex Davis

unread,
Oct 27, 2011, 3:30:02 PM10/27/11
to
>Hi guys,
>
>After update from kernel 3.0.8 to 3.1 I encounter the following problem.
>When power saving turns off the back light, key/mouse activity does not
>turn it back on. I can turn it back on by pressing the "brightness++" key.


I've been having this problem as well. I created a patch that fixes the problem for me and others:

diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 6f56676..a9e0c7b 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -262,6 +262,8 @@ void intel_panel_disable_backlight(struct drm_device *dev)
                dev_priv->backlight_level = intel_panel_get_backlight(dev);
                dev_priv->backlight_enabled = false;
        }
+
+       intel_panel_set_backlight(dev, 0);
 }


For more info, see http://marc.info/?l=linux-kernel&m=131959957117710&w=2

I code, therefore I am
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Alex Davis

unread,
Oct 27, 2011, 4:40:02 PM10/27/11
to


>I've been having this problem as well. I created a patch that fixes the problem for me and others:
>
>diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
>index 6f56676..a9e0c7b 100644
>--- a/drivers/gpu/drm/i915/intel_panel.c
>+++ b/drivers/gpu/drm/i915/intel_panel.c
>@@ -262,6 +262,8 @@ void intel_panel_disable_backlight(struct drm_device *dev)
>                dev_priv->backlight_level = intel_panel_get_backlight(dev);
>                dev_priv->backlight_enabled = false;
>        }
>+
>+       intel_panel_set_backlight(dev, 0);
> }
>

If the patch above doesn't work, try this one:

diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 6f56676..a9e0c7b 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -262,6 +262,8 @@ void intel_panel_disable_backlight(struct drm_device *dev)
                dev_priv->backlight_level = intel_panel_get_backlight(dev);
                dev_priv->backlight_enabled = false;
        }
+
+       intel_panel_set_backlight(dev, 0);
 }
 
 void intel_panel_enable_backlight(struct drm_device *dev)

Wouter M. Koolen

unread,
Oct 31, 2011, 10:00:03 AM10/31/11
to
On 10/27/2011 09:38 PM, Alex Davis wrote:
> If the patch above doesn't work, try this one:
>
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 6f56676..a9e0c7b 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -262,6 +262,8 @@ void intel_panel_disable_backlight(struct drm_device *dev)
> dev_priv->backlight_level = intel_panel_get_backlight(dev);
> dev_priv->backlight_enabled = false;
> }
> +
> + intel_panel_set_backlight(dev, 0);
> }
>
> void intel_panel_enable_backlight(struct drm_device *dev)
Hi Alex,

That indeed solves the problem here.

Thanks for your swift response.

Wouter

Alex Davis

unread,
Oct 31, 2011, 7:50:02 PM10/31/11
to


>> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
>> index 6f56676..a9e0c7b 100644
>> --- a/drivers/gpu/drm/i915/intel_panel.c
>> +++ b/drivers/gpu/drm/i915/intel_panel.c
>> @@ -262,6 +262,8 @@ void intel_panel_disable_backlight(struct drm_device *dev)
>>                  dev_priv->backlight_level = intel_panel_get_backlight(dev);
>>                  dev_priv->backlight_enabled = false;
>>          }
>> +
>> +      intel_panel_set_backlight(dev, 0);
>>  }
>>    void intel_panel_enable_backlight(struct drm_device *dev)
>Hi Alex,
>
>That indeed solves the problem here.
>
>Thanks for your swift response.
>
>Wouter

Actually, I sent you the wrong patch: the patch was supposed to remove those lines, not add them.
0 new messages