]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
staging: gasket: core: switch to relaxed memory-mapped I/O
authorTodd Poynor <toddpoynor@google.com>
Fri, 10 Aug 2018 03:21:04 +0000 (20:21 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Aug 2018 17:43:44 +0000 (19:43 +0200)
Use of readl() is deprecated; readl_relaxed() with appropriate memory
barriers is preferred.  Switch to relaxed reads and writes for better
performance as well.  Memory barriers required for I/O vs. normal
memory access on Apex devices have already been explicitly coded in the
page table routines.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gasket/gasket_core.h

index 275fd0b345b6ea460e8a68e835b026211e622c0e..fd7e75b765a6dde27ab2e814d30604e9a3612934 100644 (file)
@@ -590,25 +590,25 @@ const char *gasket_num_name_lookup(uint num,
 static inline ulong gasket_dev_read_64(struct gasket_dev *gasket_dev, int bar,
                                       ulong location)
 {
-       return readq(&gasket_dev->bar_data[bar].virt_base[location]);
+       return readq_relaxed(&gasket_dev->bar_data[bar].virt_base[location]);
 }
 
 static inline void gasket_dev_write_64(struct gasket_dev *dev, u64 value,
                                       int bar, ulong location)
 {
-       writeq(value, &dev->bar_data[bar].virt_base[location]);
+       writeq_relaxed(value, &dev->bar_data[bar].virt_base[location]);
 }
 
 static inline void gasket_dev_write_32(struct gasket_dev *dev, u32 value,
                                       int bar, ulong location)
 {
-       writel(value, &dev->bar_data[bar].virt_base[location]);
+       writel_relaxed(value, &dev->bar_data[bar].virt_base[location]);
 }
 
 static inline u32 gasket_dev_read_32(struct gasket_dev *dev, int bar,
                                     ulong location)
 {
-       return readl(&dev->bar_data[bar].virt_base[location]);
+       return readl_relaxed(&dev->bar_data[bar].virt_base[location]);
 }
 
 static inline void gasket_read_modify_write_64(struct gasket_dev *dev, int bar,