Date: Thu, 18 Mar 2004 14:34:38 -0800 (PST) From: Nate Lawson <nate@root.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/acpica acpi_cpu.c Message-ID: <20040318143247.Y10389@root.org> In-Reply-To: <200403181502.36093.jhb@FreeBSD.org> References: <200403172149.i2HLnl2V027784@repoman.freebsd.org> <200403171704.22042.jhb@FreeBSD.org> <20040317184508.B4725@root.org> <200403181502.36093.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@poupinou.org> > > > > Tested by: Scott Lambert <lambert@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040318143247.Y10389>