public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
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:

  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