From: Thomas Renninger <trenn-l3A5Bk7waGM@public.gmane.org>
To: Bruno Ducrot <ducrot-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
Cc: Janosch Machowinski <scotch-cGBD8117FJM@public.gmane.org>,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
Len Brown <len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: _CST implementation
Date: Tue, 19 Apr 2005 13:58:09 +0200 [thread overview]
Message-ID: <4264F251.5030705@suse.de> (raw)
In-Reply-To: <20050419092251.GK2298-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1514 bytes --]
Bruno Ducrot wrote:
> On Mon, Apr 18, 2005 at 07:25:54PM +0200, Thomas Renninger wrote:
>>Bruno Ducrot wrote:
>>>On Fri, Apr 15, 2005 at 10:50:44PM +0200, Janosch Machowinski wrote:
>>...
>>>>Oh I almost forgot another question :
>>>>About the validation of the C states. At the moment it is tested if the
>>>>latency of C2 if under 100 and if C3 latency is under 1000 but the
>>>>ACPI-Spec says that "There is no latency restrictions" so why do you do
>>>>this ? (My notebook hat a C3 latency of 1001)
>>>Normally you are right, but unfortunately there are still some strange
>>>misread of the specification by bios writters in that regard. Therefore
>>>if for C3 the latency is 1001 even if given by _CST, we should disable
>>>it.
>>>
>>My spec says (Revision 3.0, September 2, 2004):
>>The worst-case hardware latency for this state is declared in the FADT
>>(p. 257).
>>
>>And there they say (p. 98):
>>The worst-case hardware latency, in microseconds, to enter and
>>exit a C2 state. A value > 100 indicates the system does not
>>support a C2 state.
>>The worst-case hardware latency, in microseconds, to enter and
>>exit a C3 state. A value > 1000 indicates the system does not
>>support a C3 state.
>>
>
> For P_LVL2_LAT and P_LVL3_LAT defined in the FADT only. There are no
> such restriction if _CST exist (see 8.1.5 and 8.4.2).
> If power states are defined via _CST, then all of them are valid.
>
Thanks, only knew of the fadt restrictions.
This should fix it?
Only compile tested.
Thomas
[-- Attachment #2: CST_long_latencies --]
[-- Type: text/plain, Size: 1379 bytes --]
Patch allows longer latencies for _CST provided c-states.
(cmp. with ACPI spec (see 8.1.5 and 8.4.2)).
--- linux-2.6.11.orig/drivers/acpi/processor_idle.c 2005-03-02 08:38:25.000000000 +0100
+++ linux-2.6.11/drivers/acpi/processor_idle.c 2005-04-19 13:47:17.000000000 +0200
@@ -646,7 +646,8 @@
}
-static void acpi_processor_power_verify_c2(struct acpi_processor_cx *cx)
+static void acpi_processor_power_verify_c2(struct acpi_processor *pr,
+ struct acpi_processor_cx *cx)
{
ACPI_FUNCTION_TRACE("acpi_processor_get_power_verify_c2");
@@ -657,7 +658,7 @@
* C2 latency must be less than or equal to 100
* microseconds.
*/
- else if (cx->latency > ACPI_PROCESSOR_MAX_C2_LATENCY) {
+ else if (!pr->flags.has_cst && cx->latency > ACPI_PROCESSOR_MAX_C2_LATENCY) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"latency too large [%d]\n",
cx->latency));
@@ -695,7 +696,7 @@
* C3 latency must be less than or equal to 1000
* microseconds.
*/
- else if (cx->latency > ACPI_PROCESSOR_MAX_C3_LATENCY) {
+ else if (!pr->flags.has_cst && cx->latency > ACPI_PROCESSOR_MAX_C3_LATENCY) {
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
"latency too large [%d]\n",
cx->latency));
@@ -757,7 +758,7 @@
break;
case ACPI_STATE_C2:
- acpi_processor_power_verify_c2(cx);
+ acpi_processor_power_verify_c2(pr, cx);
break;
case ACPI_STATE_C3:
next prev parent reply other threads:[~2005-04-19 11:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-15 20:50 _CST implementation Janosch Machowinski
2005-04-18 12:07 ` Bruno Ducrot
[not found] ` <20050418120744.GG2298-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-04-18 12:23 ` Janosch Machowinski
2005-04-18 14:21 ` Bruno Ducrot
2005-04-18 17:25 ` Thomas Renninger
[not found] ` <4263EDA2.4030106-l3A5Bk7waGM@public.gmane.org>
2005-04-18 17:52 ` Janosch Machowinski
2005-04-19 9:22 ` Bruno Ducrot
[not found] ` <20050419092251.GK2298-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-04-19 11:58 ` Thomas Renninger [this message]
[not found] ` <4264F251.5030705-l3A5Bk7waGM@public.gmane.org>
2005-04-19 13:45 ` Bruno Ducrot
[not found] ` <20050419134518.GL2298-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-04-19 20:05 ` Stefan Seyfried
[not found] ` <20050419200505.GE19499-l0tNAEGuAhhzZ8+rp42Dbp9+tswZ0GTaehPwdyo5hKaELgA04lAiVw@public.gmane.org>
2005-04-19 20:11 ` Rich Townsend
[not found] ` <42656601.3060304-OBnUx95tOyn10jlvfTC4gA@public.gmane.org>
2005-04-20 9:45 ` Bruno Ducrot
[not found] ` <20050420094556.GN2298-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2005-04-22 13:00 ` Thomas Renninger
[not found] ` <4268F572.4090707-l3A5Bk7waGM@public.gmane.org>
2005-04-22 17:13 ` Janosch Machowinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4264F251.5030705@suse.de \
--to=trenn-l3a5bk7wagm@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=ducrot-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org \
--cc=len.brown-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=scotch-cGBD8117FJM@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox