cvs commit: src/sys/dev/acpica acpi_cpu.c

Nate Lawson nate at root.org
Thu Mar 18 14:34:37 PST 2004


On Thu, 18 Mar 2004, John Baldwin wrote:
> On Wednesday 17 March 2004 09:50 pm, Nate Lawson wrote:
> > On Wed, 17 Mar 2004, John Baldwin wrote:
> > > On Wednesday 17 March 2004 04:49 pm, Nate Lawson wrote:
> > > > njl         2004/03/17 13:49:47 PST
> > > >
> > > >   FreeBSD src repository
> > > >
> > > >   Modified files:
> > > >     sys/dev/acpica       acpi_cpu.c
> > > >   Log:
> > > >   Fix border error to allow systems that specify 100 for latency also
> > > > use C2 and 1000 to use C3.
> > > >
> > > >   Submitted by:   Bruno Ducrot <ducrot at poupinou.org>
> > > >   Tested by:      Scott Lambert <lambert at lambertfam.org>
> > >
> > > Hmm, the BIOS on my laptop uses those values when the C states are
> > > disabled (according to the BIOS text).  That is, my BIOS lets me turn C2
> > > and C3 on and off.  When turned on, it uses the values 1 and 85 for the
> > > latency, and when off it uses 100 and 1000.  Note that the kernel never
> > > uses C3 on this machine by the way with these latencies:
> > >
> > > hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/85
> >
> > That's incorrect behavior.  See Table 5-8 of the ACPI 2.0 spec (at or near
> > page 102).  Have you actually done an acpidump -t both with and without C2
> > disabled in your BIOS to see what it does?  Perhaps the manual is wrong
> > and it does the right thing.  In any case, your failure mode (not being
> > able to disable Cx states in BIOS) is not as bad as others (not being able
> > to use C2 when it's supported.)  You can always keep using the sysctl to
> > disable C2 and/or C3.
>
> What about the second problem I reported that the kernel doesn't ever use C3
> on this machine?

Likely you have an active bus master.  For now, you can't use C3 while a
USB driver is loaded or while playing back sound.  This is all due to the
bus master active status bit.  Fixing this requires ACPI to send USB a
quiesce message or make USB deactivate polling, then reactivate it every
second or so.

-Nate


More information about the cvs-all mailing list