diff options
author | Logan Gunthorpe <[email protected]> | 2019-01-16 11:25:18 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2019-01-22 13:39:59 +0100 |
commit | aecc787c06f4300f4d954ef09a818e7e93e93cff (patch) | |
tree | 53c26ea8b052baa15d90afae40c76a4a7cea466a /tools/perf/scripts/python/bin/export-to-postgresql-report | |
parent | dce6d406669b56506192e726ffbb238e409a7120 (diff) |
iomap: Use non-raw io functions for io{read|write}XXbe
Fix an asymmetry in the io{read|write}XXbe functions in that the
big-endian variants make use of the raw io accessors while the
little-endian variants use the regular accessors. Some architectures
implement barriers to order against both spinlocks and DMA accesses
and for these case, the big-endian variant of the API would not be
protected.
Thus, change the mmio_XXXXbe macros to use the appropriate swab() function
wrapping the regular accessor. This is similar to what was done for PIO.
When this code was originally written, barriers in the IO accessors were
not common and the accessors simply wrapped the raw functions in a
conversion to CPU endianness. Since then, barriers have been added in
some architectures and are now missing in the big endian variant of the
API.
This also manages to silence a few sparse warnings that check
for using the correct endian types which the original code did
not annotate correctly.
Signed-off-by: Logan Gunthorpe <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Kate Stewart <[email protected]>
Cc: Philippe Ombredanne <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Link: http://lkml.kernel.org/r/CAK8P3a25zQDxyaY3iVv+JmSSzs7F6ssGc+HdBkGs54ZfViX+Fg@mail.gmail.com
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/export-to-postgresql-report')
0 files changed, 0 insertions, 0 deletions