Re: drm2 regression: backlight adjustment on ivybridge no longer works

From: Ranjan1018 . <214748mv_at_gmail.com>
Date: Thu, 29 Jan 2015 11:46:21 +0100
2015-01-28 10:11 GMT+01:00 Adrian Chadd <adrian_at_freebsd.org>:

> ugh, so because i can't sleep, I read the Linux i915 history for
> backlight changes.
>
> Turns out if I disable bit 30 in ivb_pch_pwm_override() to register
> BLC_PWM_PCH_CTL1, the acpi video setting works. The keyboard settings
> still don't, but I'll worry about that later.
>
> Bit 30 in the linux drm code is:
>
> #define   BLM_PCH_OVERRIDE_ENABLE               (1 << 30)
>
> The linux dri code doesn't set that for ivybridge - only for broadwell.
>
> (also, the linux driver has POSTING_READ() which I'm guessing is to
> ensure things made it out to the device and have been flushed before
> doing another IO operation.)
>
> I have my (via sysctl) panel backlight control working again.
>
>
>
> -adrian
>

Thank you guys,
the backlight control works again on my laptop with this patch, suggested
by Adrian :

--- sys/dev/drm2/i915/intel_display.c.orig   (revision 277487)
+++ sys/dev/drm2/i915/intel_display.c        (working copy)
_at__at_ -6995,7 +6995,7 _at__at_
      */
     I915_WRITE(BLC_PWM_CPU_CTL2, PWM_ENABLE);
     I915_WRITE(BLC_PWM_CPU_CTL, 0);
-    I915_WRITE(BLC_PWM_PCH_CTL1, PWM_ENABLE | (1<<30));
+    I915_WRITE(BLC_PWM_PCH_CTL1, PWM_ENABLE);
 }

 void intel_modeset_init_hw(struct drm_device *dev)

but the patch by Andrew does not hurts:
http://foxkit.us/FreeBSD/i915-uninitialised-var-fix.diff

I am running r277871 with both patches applied.

Regards,
Maurizio
Received on Thu Jan 29 2015 - 09:46:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:55 UTC