staging: gasket: core: switch to relaxed memory-mapped I/O
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>
This commit is contained in:
parent
6c258edc64
commit
717264bab4
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue