From patchwork Tue Jan 26 21:15:28 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Len Brown X-Patchwork-Id: 75238 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o0QLFYuc022581 for ; Tue, 26 Jan 2010 21:15:34 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752881Ab0AZVPd (ORCPT ); Tue, 26 Jan 2010 16:15:33 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753251Ab0AZVPd (ORCPT ); Tue, 26 Jan 2010 16:15:33 -0500 Received: from vms173015pub.verizon.net ([206.46.173.15]:59936 "EHLO vms173015pub.verizon.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752881Ab0AZVPc (ORCPT ); Tue, 26 Jan 2010 16:15:32 -0500 Received: from localhost.localdomain ([unknown] [74.104.151.18]) by vms173015.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0KWV009QLHPTHH20@vms173015.mailsrvcs.net> for linux-acpi@vger.kernel.org; Tue, 26 Jan 2010 15:15:32 -0600 (CST) Received: from localhost.localdomain (d975xbx2 [127.0.0.1]) by localhost.localdomain (8.14.2/8.14.2) with ESMTP id o0QLFStT009894; Tue, 26 Jan 2010 16:15:29 -0500 Received: from localhost (lenb@localhost) by localhost.localdomain (8.14.2/8.14.2/Submit) with ESMTP id o0QLFS40009890; Tue, 26 Jan 2010 16:15:28 -0500 X-Authentication-warning: localhost.localdomain: lenb owned process doing -bs Date: Tue, 26 Jan 2010 16:15:28 -0500 (EST) From: Len Brown X-X-Sender: lenb@localhost.localdomain To: stable@kernel.org Cc: linux-acpi@vger.kernel.org Subject: [PATCH 2.6.{29-32}.stable] ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C Message-id: User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-version: 1.0 Content-type: TEXT/PLAIN; charset=US-ASCII Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Index: linux-2.6.32.y/drivers/acpi/processor_idle.c =================================================================== --- linux-2.6.32.y.orig/drivers/acpi/processor_idle.c +++ linux-2.6.32.y/drivers/acpi/processor_idle.c @@ -299,6 +299,17 @@ static int acpi_processor_get_power_info pr->power.states[ACPI_STATE_C2].latency = acpi_gbl_FADT.C2latency; pr->power.states[ACPI_STATE_C3].latency = acpi_gbl_FADT.C3latency; + /* + * FADT specified C2 latency must be less than or equal to + * 100 microseconds. + */ + if (acpi_gbl_FADT.C2latency > ACPI_PROCESSOR_MAX_C2_LATENCY) { + ACPI_DEBUG_PRINT((ACPI_DB_INFO, + "C2 latency too large [%d]\n", acpi_gbl_FADT.C2latency)); + /* invalidate C2 */ + pr->power.states[ACPI_STATE_C2].address = 0; + } + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "lvl2[0x%08x] lvl3[0x%08x]\n", pr->power.states[ACPI_STATE_C2].address, @@ -495,16 +506,6 @@ static void acpi_processor_power_verify_ return; /* - * C2 latency must be less than or equal to 100 - * microseconds. - */ - else if (cx->latency > ACPI_PROCESSOR_MAX_C2_LATENCY) { - ACPI_DEBUG_PRINT((ACPI_DB_INFO, - "latency too large [%d]\n", cx->latency)); - return; - } - - /* * Otherwise we've met all of our C2 requirements. * Normalize the C2 latency to expidite policy */