PATCH: ecng for 6.x and 7.x
William Grzybowski
william88 at gmail.com
Tue Sep 11 14:49:22 PDT 2007
On 9/11/07, Nate Lawson <nate at root.org> wrote:
>
> William Grzybowski wrote:
> > On 9/6/07, *Nate Lawson* <nate at root.org <mailto:nate at root.org>> wrote:
> >
> > Nate Lawson wrote:
> > > I've done some major rework on the EC driver. This should help
> with
> > > various problems, including timeouts while checking battery status
> or
> > > temperature. The attached patches are for 6.x and 7.x. Please
> > test and
> > > let me know if you get any new errors on dmesg or if it fixes
> > things for
> > > you (especially HP/Compaq laptop owners).
> > >
> > > If you still have problems, try setting each of these tunables
> > > individually and then both together (i.e., in
> > /boot/loader.conf). Note
> > > that this will be four (4) test runs total, so don't just set both
> and
> > > say it doesn't work.
> > >
> > > debug.acpi.ec.burst= "1"
> > > debug.acpi.ec.polled="1"
> > >
> > > I've tested both patches on a Panasonic Y4 and UnnamedOEM laptop,
> no
> > > problems in either regular or burst mode.
> > >
> > >
> > > Commit message:
> > > Rewrite the EC driver event model. The main goal is to avoid
> > > polling/interrupt-driven fallback and instead use polling only
> during
> > > boot and pure interrupt-driven mode after boot. Polled mode could
> be
> > > relegated completely to a legacy role if we could enable
> interrupts
> > > during boot. Polled mode can be forced after boot by setting
> > > debug.acpi.ec.polled="1", i.e. if there are timeouts.
> >
> > One minor note -- power off shutdown (shutdown/halt -p) is turned
> into a
> > (safe) reboot with this patch. I have tested the fix, which is just
> to
> > force polled mode during shutdown as well. I don't have time to
> > re-roll
> > the patch today but will send tomorrow.
> >
> > Please test the patch as posted, ignoring that minor issue. The
> test
> > results during normal use are still valid.
> >
> >
> > Hi Nate,
> >
> > I tested this patch on my acer notebook (intel chipset) and i did not
> > notice any changes, unless some errors on dmesg, like:
> > acpi_ec0: EcCommand: no response to 0x84
> > acpi_ec0: GPE query failed: AE_NO_HARDWARE_RESPONSE
> > acpi_ec0: EcCommand: no response to 0x82
> > acpi_ec0: EcCommand: no response to 0x80
> > ACPI Error (psparse-0626): Method parse/execution failed
> > [\\_TZ_.THRM._TMP] (Node 0xc3bbdcc0), AE_NO_HARDWARE_RESPONSE
> > ACPI Error (psparse-0626): Method parse/execution failed
> > [\\_SB_.ACAD._PSR] (Node 0xc3bc02a0), AE_NO_HARDWARE_RESPONSE
>
> As I noted before, your system enters the poll loop with the status
> appearing to be already complete. Can you get back to me on my previous
> questions, especially whether forcing polled mode works for you? I
> didn't see any errors in that dmesg case.
>
> I've updated the patches to do one final check if the interrupt-driven
> mode gets a timeout. If the status is complete, it will force the
> system back into polled mode since interrupt mode doesn't work. It also
> has a case for polled mode during boot where the status appears to be
> already complete. It waits a short while before actually checking the
> status, just in case the EC is really slow and hasn't gotten to work on
> the new request yet.
>
> Give it a try also, with no tunables set.
>
Hi,
Unfortunelly I don't had time to complete the tests which you asked to, i
got a lot of work ;(.
Tomorrow I will use my free time to do it all and the new ones.
Thanks Nate.
--
William Grzybowski
------------------------------------------
Jabber: william88 at gmail dot com
Curitiba/PR - Brazil
More information about the freebsd-current
mailing list