diff options
author | Keith Packard <keithp@keithp.com> | 2008-11-03 12:21:44 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-11-03 12:21:44 -0500 |
commit | 8d5c6603c408d91ecf543f244f10ccb8b500ad95 (patch) | |
tree | 733e70b2e7fd5e5251e2c813f6cdc2605e20bb40 /Documentation | |
parent | 0839ccb8ac6a9e2d5e175a4ae9c82b5c574d510d (diff) |
io mapping: improve documentation
Impact: add documentation
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/io-mapping.txt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Documentation/io-mapping.txt b/Documentation/io-mapping.txt index cd2f726becc8..473e43b2d588 100644 --- a/Documentation/io-mapping.txt +++ b/Documentation/io-mapping.txt | |||
@@ -71,6 +71,12 @@ range, creating a permanent kernel-visible mapping to the resource. The | |||
71 | map_atomic and map functions add the requested offset to the base of the | 71 | map_atomic and map functions add the requested offset to the base of the |
72 | virtual address returned by ioremap_wc. | 72 | virtual address returned by ioremap_wc. |
73 | 73 | ||
74 | On 32-bit processors, io_mapping_map_atomic_wc uses io_map_atomic_prot_pfn, | 74 | On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses |
75 | which uses the fixmaps to get us a mapping to a page using an atomic fashion. | 75 | kmap_atomic_pfn to map the specified page in an atomic fashion; |
76 | For io_mapping_map_wc, ioremap_wc() is used to get a mapping of the region. | 76 | kmap_atomic_pfn isn't really supposed to be used with device pages, but it |
77 | provides an efficient mapping for this usage. | ||
78 | |||
79 | On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and | ||
80 | io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which | ||
81 | performs an IPI to inform all processors about the new mapping. This results | ||
82 | in a significant performance penalty. | ||