1. 23 1月, 2010 2 次提交
  2. 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
  3. 17 1月, 2010 2 次提交
  4. 16 1月, 2010 5 次提交
  5. 31 12月, 2009 3 次提交
  6. 30 12月, 2009 2 次提交
  7. 25 12月, 2009 1 次提交
  8. 24 12月, 2009 1 次提交
  9. 22 12月, 2009 12 次提交
  10. 17 12月, 2009 4 次提交
  11. 16 12月, 2009 3 次提交
    • H
      ACPI: fix for lapic_timer_propagate_broadcast() · 918aae42
      Hidetoshi Seto 提交于
      I got following warning on ia64 box:
        In function 'acpi_processor_power_verify':
        642: warning: passing argument 2 of 'smp_call_function_single' from
        incompatible pointer type
      
      This smp_call_function_single() was introduced by a commit
      f833bab8:
      
       > @@ -162,8 +162,9 @@
       >               pr->power.timer_broadcast_on_state = state;
       >  }
       >
       > -static void lapic_timer_propagate_broadcast(struct acpi_processor *pr)
       > +static void lapic_timer_propagate_broadcast(void *arg)
       >  {
       > +       struct acpi_processor *pr = (struct acpi_processor *) arg;
       >         unsigned long reason;
       >
       >         reason = pr->power.timer_broadcast_on_state < INT_MAX ?
       > @@ -635,7 +636,8 @@
       >                 working++;
       >         }
       >
       > -       lapic_timer_propagate_broadcast(pr);
       > +       smp_call_function_single(pr->id, lapic_timer_propagate_broadcast,
       > +                                pr, 1);
       >
       >         return (working);
       >  }
      
      The problem is that the lapic_timer_propagate_broadcast() has 2 versions:
      One is real code that modified in the above commit, and the other is NOP
      code that used when !ARCH_APICTIMER_STOPS_ON_C3:
      
        static void lapic_timer_propagate_broadcast(struct acpi_processor *pr) { }
      
      So I got warning because of !ARCH_APICTIMER_STOPS_ON_C3.
      
      We really want to do nothing here on !ARCH_APICTIMER_STOPS_ON_C3, so
      modify lapic_timer_propagate_broadcast() of real version to use
      smp_call_function_single() in it.
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Acked-by: NSuresh Siddha <suresh.b.siddha@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      918aae42
    • A
      acpi_pad: squish warning · f67538f8
      Andrew Morton 提交于
      drivers/acpi/acpi_pad.c: In function 'power_saving_thread':
      drivers/acpi/acpi_pad.c:103: warning: 'preferred_cpu' may be used uninitialized in this function
      
      Cc: Shaohua Li <shaohua.li@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      f67538f8
    • A
      ACPI: dock: minor whitespace and style cleanups · 747479a3
      Alex Chiang 提交于
      Removed some stray whitespaces
      Added whitespace when needed for legibility
      Removed unneeded curly braces
      Removed useless void casts
      Removed unnecessary local variable initialization
      Renamed variables to help out with 80-column fixes
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Acked-by: NShaohua Li <shaohua.li@intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      747479a3