17 Jan, 2009

1 commit


09 Jan, 2009

6 commits


06 Jan, 2009

1 commit


04 Jan, 2009

1 commit


31 Dec, 2008

12 commits

  • Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    robert.moore@intel.com
     
  • This returns the FADT support to the original behavior, which is
    to use default register widths. However, now check each register
    definition and report a warning if it differs from the default.
    This is a first step to moving away from the default widths,
    rather than outright believing the widths in all FADTs for all
    machines, considered rather dangerous until more data is obtained.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    robert.moore@intel.com
     
  • 1) Update the register lengths for the PM1 event blocks. The
    length must be divided by two in order to use these to access
    the status registers.
    2) Add run-time option to use default register lengths to override a
    faulty FADT.
    3) Add warning message if any of the X64 address structures contain a length
    that does not match the legacy length earlier in the FADT.
    4) Move all FADT warning messages into the ValidateFadt function.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Used to specify whether the OSL mutex interfaces should be used,
    or binary semaphores instead.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Eliminate extraneous "zero length subtable" messages.
    Fix subtable output for ERST, MCFG, EINJ tables.
    Implement all subtables for HEST.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • acpi.h now includes only the "public" acpica headers. All other
    acpica headers are "private" and should not be included by acpica
    users. One new file, accommon.h is used to include the commonly
    used private headers for acpica code generation. Future plans
    are to move all private headers to a new subdirectory.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Uses the FADT-defined reset register and reset value. Checks the
    FADT flags for the reset register supported bit. Supports reset
    register in memory or I/O space, but not in PCI config space
    since the host has the information to do it.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Changed the acpi_hw_low_level_read and acpi_hw_low_level_write functions to
    the public acpi_read and acpi_write to allow direct access to
    ACPI registers. Removed the "width" parameter since the width
    can be obtained from the input GAS structure. Updated the FADT
    initialization to setup the GAS structures with the proper
    widths. Some widths are still hardcoded because many FADTs have
    incorrect register lengths.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Added acpi_disable_all_gpes and acpi_enable_all_runtime_gpes for
    public use.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • This function maps an input GPE index to a GPE block device. Also
    Added acpi_current_gpe_count to track the current number of GPEs
    that are being managed by the ACPICA core (both FADT-based GPEs
    and the GPEs contained in GPE block devices.)

    Modify drivers/acpi/system.c to use these 2 new interfaces

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • return_ACPI_STATUS is an internal acpica function, replace it with return.
    acpi_gbl_permanent_mmap moved from acglobal.h to acpixf.h for external use

    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     
  • use ACPI_ALLOCATE_BUFFER to remove the allocations
    within acpi_pci_bind(), acpi_pci_unbind() and acpi_pci_bind_root().
    While there, delete some unnecessary param inits from those routines.

    Delete concept of ACPI_PATHNAME_MAX, since this was the last use.

    Signed-off-by: Len Brown

    Len Brown
     

30 Dec, 2008

7 commits

  • Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Merge the code that validates control method argument counts into
    the predefined validation module. Eliminates possible multiple
    warnings for incorrect counts.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • For predefined methods (such as _BIF), add automatic conversion for
    objects that are required to be a String, but a Buffer was found
    instead. This can happen when reading string battery data from
    an operation region, because it used to be difficult to convert
    the data from buffer to string from within the ASL. Linux BZ 11822.

    http://bugzilla.kernel.org/show_bug.cgi?id=11822

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Use a global pointer instead of using AcpiGetTableByIndex for
    each FACS access. This simplifies the code for the Global Lock
    and the Firmware Waking Vector(s).

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Add a loop counter to force exit from AML While loops if the
    count becomes too large. This can occur in poorly written AML
    when the hardware does not respond within a while loop and the
    loop does not implement a timeout. The maximum loop count is
    configurable. A new exception code is returned when a loop is
    broken, AE_AML_INFINITE_LOOP. Bob Moore, Alexey Starikovskiy.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • Split AcpiSetFirmwareWakingVector into two: one for the 32-bit
    vector, another for the 64-bit vector. This is required because the
    host OS must setup the wake much differently for each vector (real
    vs. protected mode, etc.) and the interface should not be deciding
    which vector to use. Also eliminate the GetFirmwareWakingVector
    interface, as it served no purpose (only the firmware reads the
    vector, OS only writes the vector.) ACPICA BZ 731.

    http://www.acpica.org/bugzilla/show_bug.cgi?id=731

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     
  • New compiler is pickier than older versions.
    Joerg Sonnenberger. From ACPICA BZ 732.

    http://www.acpica.org/bugzilla/show_bug.cgi?id=732

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     

19 Dec, 2008

2 commits

  • The ACPI interpreter usually runs with irqs enabled.
    However, during suspend/resume it runs with
    irqs disabled to evaluate _GTS/_BFS, as well as
    by irqrouter_resume() which evaluates _CRS, _PRS, _SRS.

    http://bugzilla.kernel.org/show_bug.cgi?id=12252

    Signed-off-by: Wu Fengguang
    Signed-off-by: Len Brown

    Wu Fengguang
     
  • 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: Bjorn Helgaas
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

27 Nov, 2008

2 commits

  • A generic work-around from ACPICA is in the queue,
    but since Linux has a work-around in its battery
    driver, we can disable this warning now.

    Allow _BIF method to return an Package with Buffer elements

    http://bugzilla.kernel.org/show_bug.cgi?id=11822

    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     
  • This can happen if the _WAK method returns nothing (as per ACPI
    1.0) but does return an integer if the implicit return mechanism
    is enabled. This is the only method that has this problem,
    since it is also defined to return a package of two integers
    (ACPI 1.0b+). In all other cases, if a method returns an object
    when one was not expected, no warning is issued.

    Signed-off-by: Bob Moore
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Bob Moore
     

12 Nov, 2008

5 commits


08 Nov, 2008

3 commits

  • This is a reimplemention of commit
    0119509c4fbc9adcef1472817fda295334612976
    from Matthew Garrett

    This patch got removed because of a regression: ThinkPads with a
    Intel graphics card and an Integrated Graphics Device BIOS implementation
    stopped working.
    In fact, they only worked because the ACPI device of the discrete, the
    wrong one, got used (via int10). So ACPI functions were poking on the wrong
    hardware used which is a sever bug.
    The next patch provides support for above ThinkPads to be able to
    switch brightness via the legacy thinkpad_acpi driver and automatically
    detect when to use it.

    Original commit message from Matthew Garrett:
    Vendors often ship machines with a choice of integrated or discrete
    graphics, and use the same DSDT for both. As a result, the ACPI video
    module will locate devices that may not exist on this specific platform.
    Attempt to determine whether the device exists or not, and abort the
    device creation if it doesn't.

    http://bugzilla.kernel.org/show_bug.cgi?id=9614

    Signed-off-by: Thomas Renninger
    Acked-by: Zhang Rui
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Thomas Renninger
     
  • /sys/module/acpi/parameters/debug_layers used to contain only the
    debug layers defined by the ACPI CA. This patch adds the additional
    layer definitions for ACPI drivers.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown

    Bjorn Helgaas
     
  • Some of the component definitions that were previous scattered around
    the drivers conflict with each other. That doesn't hurt anything
    except that setting one bit in the debug_layer mask would turn on
    debugging in two different modules. This patch fixes the conflicts.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown

    Bjorn Helgaas