--- a/drivers/gpu/drm/i915/i915_opregion.c 2010-07-25 18:55:40.360419215 -0400 +++ b/drivers/gpu/drm/i915/i915_opregion.c 2010-07-26 14:23:12.516523464 -0400 @@ -270,10 +279,12 @@ /* reserve the high 16 bits */ cpu_pwm_ctl &= ~(BACKLIGHT_DUTY_CYCLE_MASK); /* write the updated PWM frequency */ - I915_WRITE(BLC_PWM_CPU_CTL, cpu_pwm_ctl | level); + cpu_pwm_ctl = cpu_pwm_ctl | level; + if (! cpu_pwm_ctl ) cpu_pwm_ctl=0x4c2; + I915_WRITE(BLC_PWM_CPU_CTL, cpu_pwm_ctl); asle->cblv = (bclp*0x64)/0xff | ASLE_CBLV_VALID; - +printk(KERN_INFO "i915:i915_opregion.c reading of backlight level = 0x%08x\n", I915_READ(BLC_PWM_CPU_CTL)); return 0; }