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-src
mailing list