ThinkPad x60 and FN keys

Rong-en Fan grafan at gmail.com
Tue Mar 20 04:52:48 UTC 2007


On 3/20/07, Nate Lawson <nate at root.org> wrote:
> Rong-en Fan wrote:
> > On 3/19/07, Taku YAMAMOTO <taku at tackymt.homeip.net> wrote:
> >> On Sat, 17 Mar 2007 17:10:38 +0800
> >> Fine.
> >> It's expected that brightness hotkeys aren't functional with
> >> acpi_video on
> >> recent ThinkPads because their BIOS stop handling of the brightness and
> >> rely on OS once acpi_video gets involved.
> >>
> >> The acpi_video module should of cource be enhanced to handle these
> >> brightness events defined in ACPI 3.0 spec. If I would have some spare
> >> time...
> >
> > Thank you. In the mean time, could we get the patch committed?
> > (I'm CC'ing Nate Lawson)
> >
> > BTW, if I understand you correctly, when acpi_video is loaded, fn+home/end
> > will generate some events to acpi_video, but our acpi_video does not handle
> > these events so the brightness are not adjusted? Is that right?
> >
> > Regards,
> > Rong-En Fan
> >
> > ==
> >
> > --- acpi_ec.c-1.69    Tue Feb 27 09:14:20 2007
> > +++ sys/dev/acpica/acpi_ec.c    Tue Feb 27 14:39:52 2007
> > @@ -825,6 +825,11 @@ EcGpeHandler(void *Context)
> >     CTR1(KTR_ACPI, "ec event was IBE/OBF, status %#x", EcStatus);
> >     sc->ec_csrvalue = EcStatus;
> >     wakeup(&sc->ec_csrvalue);
> > +    if (!sc->ec_sci_pend) {
> > +        Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_ISR);
> > +        if (ACPI_FAILURE(Status))
> > +        printf("EcGpeHandler: AcpiEnableEvent failed\n");
> > +    }
> >     } else if (!sc->ec_sci_pend) {
> >     /* SCI bit set and no pending query handler, so schedule one. */
> >     CTR0(KTR_ACPI, "ec queueing gpe handler");
>
> Crap, that is a bug.  In the path where the event was an SCI, we now no
> longer re-enable the GPE.  Thanks for pointing this out.
>
> I've committed a fix in rev 1.71.  See if it helps.

Yes. It works. Thank you!

Regards,
Rong-En Fan


More information about the freebsd-acpi mailing list