ACPI: Maintain a list of ACPI memory mapped I/O remappings
authorMyron Stowe <myron.stowe@hp.com>
Thu, 21 Oct 2010 20:23:53 +0000 (14:23 -0600)
committerLen Brown <len.brown@intel.com>
Mon, 25 Oct 2010 03:25:52 +0000 (23:25 -0400)
commit620242ae8c3d9c0b1a77451744fb2d855d1e7342
tree33271319c7628aa51998fadf5df0f492c36abb4f
parentb3ba1efec2a58f4dc0647f4c0099c27d6ab92595
ACPI: Maintain a list of ACPI memory mapped I/O remappings

For memory mapped I/O (MMIO) remappings, add a list to maintain the
remappings and augment the corresponding mapping and unmapping interface
routines (acpi_os_map_memory() and acpi_os_unmap_memory()) to
dynamically add to, and delete from, the list.

The current ACPI I/O accessing methods - acpi_read() and acpi_write() -
end up calling ioremap() when accessing MMIO.  This prevents use of these
methods within interrupt context (IRQ and/or NMI), since ioremap() may
block to allocate memory.  Maintaining a list of MMIO remappings enables
accesses to such areas from within interrupt context provided they have
been pre-mapped.

Signed-off-by: Myron Stowe <myron.stowe@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/osl.c