xf86-video-intel

Jesse Barnes jbarnes at virtuousgeek.org
Thu Nov 22 08:28:59 PST 2007


On Thursday, November 22, 2007 1:05 am Lukas Hejtmanek wrote:
> On Tue, Nov 20, 2007 at 12:49:57PM -0800, Jesse Barnes wrote:
> > Ooh, that's actually a bug I think... does this work better for you?
>
> also something like the patch below is needed otherwise the driver restores
> backlight level to the level gained at the server startup every time some
> application touches screensaver.
>
> diff --git a/src/i830_lvds.c b/src/i830_lvds.c
> index a3a56f7..ab6b472 100644
> --- a/src/i830_lvds.c
> +++ b/src/i830_lvds.c
> @@ -355,6 +354,14 @@ i830SetLVDSPanelPower(xf86OutputPtr output, Bool on)
>      I830Ptr                pI830 = I830PTR(pScrn);
>      CARD32                 pp_status;
>
> +    /* We need to save current backlight level which can be different from
> +     * the server start up so that we restore it correctly.
> +     * We assume that if LVDS is turned on, it contains also correct
> backlight +     * level.
> +     */
> +    if (INREG(PP_CONTROL) & POWER_TARGET_ON)
> +        dev_priv->backlight_duty_cycle = dev_priv->get_backlight(output);
> +
>      if (on) {
>         OUTREG(PP_CONTROL, INREG(PP_CONTROL) | POWER_TARGET_ON);
>         do {

Yeah, good catch.  I'll push something like these patches upstream soon.

Thanks,
Jesse



More information about the xorg mailing list