My HP laptop has (had) this issue, where the _BQC method (Brightness
Query Current level) is missing and our ACPI code throws up its hands
and doesn't bother trying to adjust the brightness.  I patched my DSDT
to add a _BQC method to fix mine, but later I asked the acpica mailing
list if a missing _BQC was valid and what we should do about it.  They
said it was valid and I should maintain the value locally in the OS.

I attached a patch to bug 207086 which maintains the brightness level in
a static variable, initially set to 0.  If _BQC call fails, from then on
the code maintains LCD brightness in the static variable.

A possible problem with the code is if there are multiple displays with
backlight control, but _BQC doesn't have any concept of multiple
displays, so it's a non-problem.  Other than that, I probably violated
FreeBSD coding standards in several places.  I can stick the patch up on
Phabricator if desired.

References:
 - Patch -
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=187601&action=diff
 - FreeBSD bug #207086 -
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207086
 - ACPICA mailing list _BQC thread -
https://lists.acpica.org/pipermail/devel/2017-January/001074.html

_______________________________________________
freebsd-acpi@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"

Reply via email to