1. 23 2月, 2010 3 次提交
    • R
      ACPI / ACPICA: Multiple system notify handlers per device · 3f0be671
      Rafael J. Wysocki 提交于
      Currently it only is possible to install one system notify handler
      per namespace node, but this is not enough for PCI run-time power
      management, because we need to install power management notifiers for
      devices that already have hotplug notifiers installed.  While in
      principle this could be handled at the PCI level, that would be
      suboptimal due to the way in which the ACPI-based PCI hotplug code is
      designed.
      
      For this reason, modify ACPICA so that it is possible to install more
      than one system notify handler per namespace node.  Namely, make
      acpi_install_notify_handler(), acpi_remove_notify_handler() and
      acpi_ev_notify_dispatch() use a list of system notify handler objects
      associated with a namespace node.
      
      Make acpi_remove_notify_handler() call acpi_os_wait_events_complete()
      upfront to avoid a situation in which concurrent instance of
      acpi_remove_notify_handler() removes the handler from under us while
      we're waiting for the event queues to flush.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      3f0be671
    • R
      ACPI / PM: Add more run-time wake-up fields · f517709d
      Rafael J. Wysocki 提交于
      Use the run_wake flag to mark all devices for which run-time wake-up
      events may be generated by the platform.  Introduce a new wake-up
      flag, always_enabled, for marking devices that should be permanently
      enabled to generate run-time events.  Also, introduce a reference
      counter for run-wake devices and a function that will initialize all
      of the run-time wake-up fields for given device.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NLen Brown <len.brown@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      f517709d
    • R
      ACPI: Use GPE reference counting to support shared GPEs · 9630bdd9
      Rafael J. Wysocki 提交于
      ACPI GPEs may map to multiple devices.  The current GPE interface
      only provides a mechanism for enabling and disabling GPEs, making
      it difficult to change the state of GPEs at runtime without extensive
      cooperation between devices.
      
      Add an API to allow devices to indicate whether or not they want
      their device's GPE to be enabled for both runtime and wakeup events.
      
      Remove the old GPE type handling entirely, which gets rid of various
      quirks, like the implicit disabling with GPE type setting. This
      requires a small amount of rework in order to ensure that non-wake
      GPEs are enabled by default to preserve existing behaviour.
      
      Based on patches from Matthew Garrett <mjg@redhat.com>.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      9630bdd9
  2. 18 2月, 2010 1 次提交
  3. 16 2月, 2010 2 次提交
  4. 01 2月, 2010 2 次提交
  5. 23 1月, 2010 2 次提交
  6. 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
  7. 17 1月, 2010 2 次提交
  8. 16 1月, 2010 5 次提交
  9. 31 12月, 2009 3 次提交
  10. 30 12月, 2009 2 次提交
  11. 25 12月, 2009 1 次提交
  12. 24 12月, 2009 1 次提交
  13. 22 12月, 2009 11 次提交