Skip to content

Commit

Permalink
Documentation/io-mapping: Remove outdated blurb
Browse files Browse the repository at this point in the history
The implementation details in the documentation are outdated and not really
helpful. Remove them.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: https://lore.kernel.org/r/20201103095858.734064977@linutronix.de
  • Loading branch information
Thomas Gleixner committed Nov 6, 2020
1 parent 351191a commit 9bf6f7b
Showing 1 changed file with 0 additions and 22 deletions.
22 changes: 0 additions & 22 deletions Documentation/driver-api/io-mapping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,25 +73,3 @@ for pages mapped with io_mapping_map_wc.
At driver close time, the io_mapping object must be freed::

void io_mapping_free(struct io_mapping *mapping)

Current Implementation
======================

The initial implementation of these functions uses existing mapping
mechanisms and so provides only an abstraction layer and no new
functionality.

On 64-bit processors, io_mapping_create_wc calls ioremap_wc for the whole
range, creating a permanent kernel-visible mapping to the resource. The
map_atomic and map functions add the requested offset to the base of the
virtual address returned by ioremap_wc.

On 32-bit processors with HIGHMEM defined, io_mapping_map_atomic_wc uses
kmap_atomic_pfn to map the specified page in an atomic fashion;
kmap_atomic_pfn isn't really supposed to be used with device pages, but it
provides an efficient mapping for this usage.

On 32-bit processors without HIGHMEM defined, io_mapping_map_atomic_wc and
io_mapping_map_wc both use ioremap_wc, a terribly inefficient function which
performs an IPI to inform all processors about the new mapping. This results
in a significant performance penalty.

0 comments on commit 9bf6f7b

Please sign in to comment.