1. 16 1月, 2010 1 次提交
  2. 24 12月, 2009 1 次提交
  3. 22 12月, 2009 1 次提交
    • A
      ACPI: processor: call _PDC early · 78f16996
      Alex Chiang 提交于
      We discovered that at least one machine (HP Envy), methods in the DSDT
      attempt to call external methods defined in a dynamically loaded SSDT.
      
      Unfortunately, the DSDT methods we are trying to call are part of the
      EC initialization, which happens very early, and the the dynamic SSDT
      is only loaded when a processor _PDC method runs much later.
      
      This results in namespace lookup errors for the (as of yet) undefined
      methods.
      
      Since Windows doesn't have any issues with this machine, we take it
      as a hint that they must be evaluating _PDC much earlier than we are.
      
      Thus, the proper thing for Linux to do should be to match the Windows
      implementation more closely.
      
      Provide a mechanism to call _PDC before we enable the EC. Doing so loads
      the dynamic tables, and allows the EC to be enabled correctly.
      
      The ACPI processor driver will still evaluate _PDC in its .add() method
      to cover the hotplug case.
      
      Resolves: http://bugzilla.kernel.org/show_bug.cgi?id=14824
      
      Cc: ming.m.lin@intel.com
      Signed-off-by: NAlex Chiang <achiang@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      78f16996
  4. 17 12月, 2009 2 次提交
  5. 26 9月, 2009 1 次提交
  6. 19 9月, 2009 1 次提交
  7. 27 8月, 2009 1 次提交
  8. 18 6月, 2009 5 次提交
  9. 08 5月, 2009 1 次提交
    • L
      ACPI: power: update error message · ddc50b6a
      Len Brown 提交于
      "Transitioning device [%s] to D%d" is not correct.
      We print this line when we attempted to transition
      the device, and it failed.
      
      So instead, print
      "Device [%s] failed to transition to D%d\n"
      
      This can happen under two conditions:
      
      1. acpi_power_transition() fails when trying to handle the
         _ON/_OFF for associated power resource.
      
      2. acpi_evaluate_object() on the explicit _PS0/_PS3
         for that actual device could fail.
      
      this change clarifies, but doesn't fix
      http://bugzilla.kernel.org/show_bug.cgi?id=13243Signed-off-by: NLen Brown <len.brown@intel.com>
      ddc50b6a
  10. 28 3月, 2009 9 次提交
  11. 17 3月, 2009 1 次提交
  12. 16 3月, 2009 1 次提交
  13. 09 2月, 2009 2 次提交
  14. 19 12月, 2008 1 次提交
    • B
      ACPI: fix 2.6.28 acpi.debug_level regression · e76f4276
      Bjorn Helgaas 提交于
      acpi_early_init() was changed to over-write the cmdline param,
      making it really inconvenient to set debug flags at boot-time.
      
      Also,
      This sets the default level to "info", which is what all the ACPI
      drivers use.  So to enable messages from drivers, you only have to
      supply the "layer" (a.k.a. "component").  For non-"info" ACPI core
      and ACPI interpreter messages, you have to supply both level and
      layer masks, as before.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      e76f4276
  15. 08 11月, 2008 1 次提交
  16. 07 11月, 2008 1 次提交
    • B
      ACPI: remove CONFIG_ACPI_EC · 8950d89a
      Bjorn Helgaas 提交于
      Remove CONFIG_ACPI_EC.  It was always set the same as CONFIG_ACPI,
      and it had no menu label, so there was no way to set it to anything
      other than "y".
      
      Per section 6.5.4 of the ACPI 3.0b specification,
      
          OSPM must make Embedded Controller operation regions, accessed
          via the Embedded Controllers described in ECDT, available before
          executing any control method.
      
      The ECDT table is optional, but if it is present, the above text
      means that the EC it describes is a required part of the ACPI
      subsystem, so CONFIG_ACPI_EC=n wouldn't make sense.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Acked-by: NAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      8950d89a
  17. 23 10月, 2008 3 次提交
  18. 11 10月, 2008 2 次提交
    • M
      ACPI: Change acpi_evaluate_integer to support 64-bit on 32-bit kernels · 27663c58
      Matthew Wilcox 提交于
      As of version 2.0, ACPI can return 64-bit integers.  The current
      acpi_evaluate_integer only supports 64-bit integers on 64-bit platforms.
      Change the argument to take a pointer to an acpi_integer so we support
      64-bit integers on all platforms.
      
      lenb: replaced use of "acpi_integer" with "unsigned long long"
      lenb: fixed bug in acpi_thermal_trips_update()
      Signed-off-by: NMatthew Wilcox <willy@linux.intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      27663c58
    • Z
      ACPI: Enable EC device immediately after ACPI full initialization · 455c8793
      Zhao Yakui 提交于
      when there is no ECDT table and no _INI object for EC device, it will be
      enabled before scanning ACPI device. But it is too late after the following
      the commit is merged.
          >commit 7752d5cf
          > Author: Robert Hancock <hancockr@shaw.ca>
          > Date:   Fri Feb 15 01:27:20 2008 -0800
             >x86: validate against acpi motherboard resources
      
         After the above commit is merged, OS will check whether MCFG area is
      reserved in ACPI motherboard resources by calling the function of
      acpi_get_devices when there exists MCFG table. In the acpi_get_devices the _STA
      object will be evaluated to check the status of the ACPI device. On some broken
      BIOS the MYEC object of EC device is initialized as one, which indicates that
      EC operation region is already accessible before enabling EC device.So on these
      broken BIOS the EC operation region will be accessed in course of evaluating
      the _STA object before enabling EC device, which causes that OS will print the
      following warning messages:
          >ACPI Error (evregion-0315): No handler for Region [EC__] (ffff88007f8145e8)
      [EmbeddedControl] [20080609]
          >ACPI Error (exfldio-0290): Region EmbeddedControl(3) has no handler [20080321]
          >ACPI Error (psparse-0530): Method parse/execution failed [\_SB_.PCI0.SBRG.
               EC__.BAT1._STA] (Node ffff81013fc17a00), AE_NOT_EXIST
          >ACPI Error (uteval-0233): Method execution failed [\_SB_.PCI0.SBRG.EC__.BAT1.
               _STA] (Node ffff81013fc17a00), AE_NOT_EXIST
      
      Although the above warning message is harmless, it looks confusing.
      So it is necessary to enable EC device as early as possible.Maybe it is
      appropriate to enable it immediately after ACPI full initialization.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=11255
      http://bugzilla.kernel.org/show_bug.cgi?id=11374
      http://bugzilla.kernel.org/show_bug.cgi?id=11660Signed-off-by: NZhao Yakui <yakui.zhao@intel.com>
      Acked-by: NAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      455c8793
  19. 24 9月, 2008 1 次提交
  20. 17 7月, 2008 1 次提交
  21. 08 7月, 2008 2 次提交
    • R
      PCI ACPI: Rework PCI handling of wake-up · eb9d0fe4
      Rafael J. Wysocki 提交于
      * Introduce function acpi_pm_device_sleep_wake() for enabling and
        disabling the system wake-up capability of devices that are power
        manageable by ACPI.
      
      * Introduce function acpi_bus_can_wakeup() allowing other (dependent)
        subsystems to check if ACPI is able to enable the system wake-up
        capability of given device.
      
      * Introduce callback .sleep_wake() in struct pci_platform_pm_ops and
        for the ACPI PCI 'driver' make it use acpi_pm_device_sleep_wake().
      
      * Introduce callback .can_wakeup() in struct pci_platform_pm_ops and
        for the ACPI 'driver' make it use acpi_bus_can_wakeup().
      
      * Move the PME# handlig code out of pci_enable_wake() and split it
        into two functions, pci_pme_capable() and pci_pme_active(),
        allowing the caller to check if given device is capable of
        generating PME# from given power state and to enable/disable the
        device's PME# functionality, respectively.
      
      * Modify pci_enable_wake() to use the new ACPI callbacks and the new
        PME#-related functions.
      
      * Drop the generic .platform_enable_wakeup() callback that is not
        used any more.
      
      * Introduce device_set_wakeup_capable() that will set the
        power.can_wakeup flag of given device.
      
      * Rework PCI device PM initialization so that, if given device is
        capable of generating wake-up events, either natively through the
        PME# mechanism, or with the help of the platform, its
        power.can_wakeup flag is set and its power.should_wakeup flag is
        unset as appropriate.
      
      * Make ACPI set the power.can_wakeup flag for devices found to be
        wake-up capable by it.
      
      * Make the ACPI wake-up code enable/disable GPEs for devices that
        have the wakeup.flags.prepared flag set (which means that their
        wake-up power has been enabled).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      eb9d0fe4
    • R
      ACPI: Introduce acpi_bus_power_manageable function · 3737b2b1
      Rafael J. Wysocki 提交于
      Introduce function acpi_bus_power_manageable() allowing other
      (dependent) subsystems to check if ACPI is able to power manage given
      device.  This may be useful, for example, for PCI device power
      management.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@suse.cz>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      3737b2b1
  22. 27 4月, 2008 1 次提交
    • R
      x86: validate against acpi motherboard resources · 7752d5cf
      Robert Hancock 提交于
      This path adds validation of the MMCONFIG table against the ACPI reserved
      motherboard resources.  If the MMCONFIG table is found to be reserved in
      ACPI, we don't bother checking the E820 table.  The PCI Express firmware
      spec apparently tells BIOS developers that reservation in ACPI is required
      and E820 reservation is optional, so checking against ACPI first makes
      sense.  Many BIOSes don't reserve the MMCONFIG region in E820 even though
      it is perfectly functional, the existing check needlessly disables MMCONFIG
      in these cases.
      
      In order to do this, MMCONFIG setup has been split into two phases.  If PCI
      configuration type 1 is not available then MMCONFIG is enabled early as
      before.  Otherwise, it is enabled later after the ACPI interpreter is
      enabled, since we need to be able to execute control methods in order to
      check the ACPI reserved resources.  Presently this is just triggered off
      the end of ACPI interpreter initialization.
      
      There are a few other behavioral changes here:
      
      - Validate all MMCONFIG configurations provided, not just the first one.
      
      - Validate the entire required length of each configuration according to
        the provided ending bus number is reserved, not just the minimum required
        allocation.
      
      - Validate that the area is reserved even if we read it from the chipset
        directly and not from the MCFG table.  This catches the case where the
        BIOS didn't set the location properly in the chipset and has mapped it
        over other things it shouldn't have.
      
      This also cleans up the MMCONFIG initialization functions so that they
      simply do nothing if MMCONFIG is not compiled in.
      
      Based on an original patch by Rajesh Shah from Intel.
      
      [akpm@linux-foundation.org: many fixes and cleanups]
      Signed-off-by: NRobert Hancock <hancockr@shaw.ca>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: NAndi Kleen <ak@suse.de>
      Cc: Rajesh Shah <rajesh.shah@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      7752d5cf