Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jan 2015 11:46:21 +0100
From:      "Ranjan1018 ." <214748mv@gmail.com>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        Andrew Wilcox <AWilcox@wilcox-tech.com>, freebsd-current <freebsd-current@freebsd.org>, Konstantin Belousov <kib@freebsd.org>
Subject:   Re: drm2 regression: backlight adjustment on ivybridge no longer works
Message-ID:  <CACyC=qZJZw0DNWO%2BUd_pq_4V4d4A6yMnDF%2BwVqPgt1mg1txJWg@mail.gmail.com>
In-Reply-To: <CAJ-Vmom3gLa_2EoviL0Ck2B36Bpa-3P58%2BUp5rsLFaH-NS4ExQ@mail.gmail.com>
References:  <CAJ-VmomfBrBN6HVBq5FoRf1nRqvrhiDOw6RHjfs13j-9cqi1vg@mail.gmail.com> <CACyC=qYMT3VFx4GxypJ6F61pKSaxE0JKBK%2BudDMPSh4_ASAi6w@mail.gmail.com> <000e01d039fb$d5959930$80c0cb90$@Wilcox-Tech.com> <CACyC=qZeG8L%2BbZu=RacU_rdNVTFhyCFH2A%2BdNw71%2B09cZ20VgA@mail.gmail.com> <009501d03acb$4f380d70$eda82850$@Wilcox-Tech.com> <CAJ-Vmokph=BHH895uHxQh=dHPfb5_ik4MZrq8sOGrd0AtPzymQ@mail.gmail.com> <CAJ-Vmom3gLa_2EoviL0Ck2B36Bpa-3P58%2BUp5rsLFaH-NS4ExQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2015-01-28 10:11 GMT+01:00 Adrian Chadd <adrian@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)
@@ -6995,7 +6995,7 @@
      */
     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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACyC=qZJZw0DNWO%2BUd_pq_4V4d4A6yMnDF%2BwVqPgt1mg1txJWg>