svn commit: r212549 - head/sys/dev/acpica

Andriy Gapon avg at FreeBSD.org
Mon Sep 13 09:51:24 UTC 2010


Author: avg
Date: Mon Sep 13 09:51:24 2010
New Revision: 212549
URL: http://svn.freebsd.org/changeset/base/212549

Log:
  acpi_cpu: do not apply P_LVLx_LAT rules to latencies returned by _CST
  
  ACPI specification sates that if P_LVL2_LAT > 100, then a system doesn't
  support C2; if P_LVL3_LAT > 1000, then C3 is not supported.
  But there are no such rules for Cx state data returned by _CST.  If a
  state is not supported it should not be included into the return
  package.  In other words, any latency value returned by _CST is valid,
  it's up to the OS and/or user to decide whether to use it.
  
  Submitted by:	nork
  Suggested by:	mav
  MFC after:	1 week

Modified:
  head/sys/dev/acpica/acpi_cpu.c

Modified: head/sys/dev/acpica/acpi_cpu.c
==============================================================================
--- head/sys/dev/acpica/acpi_cpu.c	Mon Sep 13 09:23:38 2010	(r212548)
+++ head/sys/dev/acpica/acpi_cpu.c	Mon Sep 13 09:51:24 2010	(r212549)
@@ -690,19 +690,11 @@ acpi_cpu_cx_cst(struct acpi_cpu_softc *s
 	    sc->cpu_cx_count++;
 	    continue;
 	case ACPI_STATE_C2:
-	    if (cx_ptr->trans_lat > 100) {
-		ACPI_DEBUG_PRINT((ACPI_DB_INFO,
-				 "acpi_cpu%d: C2[%d] not available.\n",
-				 device_get_unit(sc->cpu_dev), i));
-		continue;
-	    }
 	    sc->cpu_non_c3 = i;
 	    break;
 	case ACPI_STATE_C3:
 	default:
-	    if (cx_ptr->trans_lat > 1000 ||
-		(cpu_quirks & CPU_QUIRK_NO_C3) != 0) {
-
+	    if ((cpu_quirks & CPU_QUIRK_NO_C3) != 0) {
 		ACPI_DEBUG_PRINT((ACPI_DB_INFO,
 				 "acpi_cpu%d: C3[%d] not available.\n",
 				 device_get_unit(sc->cpu_dev), i));


More information about the svn-src-head mailing list