17 Jan, 2012

1 commit

  • Export remapping and unmapping interfaces - acpi_os_map_generic_address()
    and acpi_os_unmap_generic_address() - for ACPI generic registers that are
    backed by memory mapped I/O (MMIO).

    The acpi_os_map_generic_address() and acpi_os_unmap_generic_address()
    declarations may more properly belong in include/acpi/acpiosxf.h next to
    acpi_os_read_memory() but I believe that would require the ACPI CA making
    them an official part of the ACPI CA - OS interface.

    ACPI Generic Address Structure (GAS) reference (ACPI's fixed/generic
    hardware registers use the GAS format):
    ACPI Specification, Revision 4.0, Section 5.2.3.1, "Generic Address
    Structure"

    Signed-off-by: Myron Stowe
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Len Brown

    Myron Stowe
     

25 Feb, 2011

2 commits


21 Jan, 2011

1 commit

  • Commit ca9b600be38c ("ACPI / PM: Make suspend_nvs_save() use
    acpi_os_map_memory()") attempted to prevent the code in osl.c and nvs.c
    from using different ioremap() variants by making the latter use
    acpi_os_map_memory() for mapping the NVS pages. However, that also
    requires acpi_os_unmap_memory() to be used for unmapping them, which
    causes synchronize_rcu() to be executed many times in a row
    unnecessarily and introduces substantial delays during resume on some
    systems.

    Instead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c
    introduce acpi_os_ioremap() calling ioremap_cache() and make the code in
    both osl.c and nvs.c use it.

    Reported-by: Jeff Chua
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki