1. 20 1月, 2010 5 次提交
    • L
      ACPI: delete acpi_processor_power_verify_c2() · d22edd29
      Len Brown 提交于
      no functional change -- cleanup only.
      
      acpi_processor_power_verify_c2() was nearly empty due to a previous patch,
      so expand its remains into its one caller and delete it.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      d22edd29
    • L
      ACPI: allow C3 > 1000usec · a6d72c18
      Len Brown 提交于
      Do for C3 what the previous patch did for C2.
      
      The C2 patch was in response to a highly visible
      and multiply reported C-state/turbo failure,
      while this change has no bug report in-hand.
      
      This will enable C3 in Linux on systems where BIOS
      overstates C3 latency in _CST.  It will also enable
      future systems which may actually have C3 > 1000usec.
      
      Linux has always ignored ACPI BIOS C3 with exit latency > 1000 usec,
      and the ACPI spec is clear that is correct FADT-supplied C3.
      
      However, the ACPI spec explicitly states that _CST-supplied C-states
      have no latency limits.
      
      So move the 1000usec C3 test out of the code shared
      by FADT and _CST code-paths, and into the FADT-specific path.
      Signed-off-by: NLen Brown <len.brown@intel.com>
      a6d72c18
    • L
      ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C · 5d76b6f6
      Len Brown 提交于
      Linux has always ignored ACPI BIOS C2 with exit latency > 100 usec,
      and the ACPI spec is clear that is correct FADT-supplied C2.
      
      However, the ACPI spec explicitly states that _CST-supplied C-states
      have no latency limits.
      
      So move the 100usec C2 test out of the code shared
      by FADT and _CST code-paths, and into the FADT-specific path.
      
      This bug has not been visible until Nehalem, which advertises
      a CPU-C2 worst case exit latency on servers of 205usec.
      That (incorrect) figure is being used by BIOS writers
      on mobile Nehalem systems for the AC configuration.
      Thus, Linux ignores C2 leaving just C1, which is
      saves less power, and also impacts performance
      by preventing the use of turbo mode.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=15064Tested-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      5d76b6f6
    • D
      ACPI: power_meter: remove double kfree() · 7f07a605
      Darren Jenkins 提交于
      resource->domain_devices can be double kfree()'d in a couple of places.
      Fix this by setting num_domain_devices = 0 after the kfree().
      
      Coverity CID: 13356, 13355, 13354
      Signed-off-by: NDarren Jenkins <darrenrjenkins@gmail.com>
      Acked-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      7f07a605
    • A
      ACPI: processor: restrict early _PDC to opt-in platforms · 2205cbe8
      Alex Chiang 提交于
      Commit 78f16996 (ACPI: processor: call _PDC early) blindly walks
      the namespace and calls _PDC on every processor object it finds.
      
      This change may cause issues on platforms that declare dummy
      values for SSDTs on non-present processors (disabled in MADT).
      When we call _PDC and dynamically attempt to execute the AML
      Load() op on these dummy SSDTs, there's no telling what might
      happen.
      
      Rather than finding every platform that has bogus SSDTs, restrict
      early _PDC calls to platforms that are known to need early
      evaluation of _PDC.
      
      This is a minimal, temporary fix (given the context of the
      current release cycle). A real solution of checking the MADT for
      non-present processors will be written for the next merge window.
      
      References:
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=14710
      	http://bugzilla.kernel.org/show_bug.cgi?id=14954Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      2205cbe8
  2. 19 1月, 2010 1 次提交
  3. 18 1月, 2010 4 次提交
  4. 17 1月, 2010 30 次提交