resources: add io-mapping functions to dynamically map large device apertures
authorKeith Packard <keithp@keithp.com>
Fri, 31 Oct 2008 02:38:18 +0000 (19:38 -0700)
committerIngo Molnar <mingo@elte.hu>
Fri, 31 Oct 2008 09:12:39 +0000 (10:12 +0100)
commit9663f2e6a6cf3f82b06d8fb699b11b80f92553ba
tree108ce4d443e87c8ddc00c028c995b83a6d01e420
parentfd9409343521eac22b6ed51686128a643c7c976b
resources: add io-mapping functions to dynamically map large device apertures

Impact: add new generic io_map_*() APIs

Graphics devices have large PCI apertures which would consume a significant
fraction of a 32-bit address space if mapped during driver initialization.
Using ioremap at runtime is impractical as it is too slow.

This new set of interfaces uses atomic mappings on 32-bit processors and a
large static mapping on 64-bit processors to provide reasonable 32-bit
performance and optimal 64-bit performance.

The current implementation sits atop the io_map_atomic fixmap-based
mechanism for 32-bit processors.

This includes some editorial suggestions from Randy Dunlap for
Documentation/io-mapping.txt

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Documentation/io-mapping.txt [new file with mode: 0644]
include/linux/io-mapping.h [new file with mode: 0644]