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