Commit 18a1d5e1 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Helge Deller

parisc: Add ioread64_lo_hi() and iowrite64_lo_hi()

It's a followup to the previous commit f15309d7 ("parisc: Add
ioread64_hi_lo() and iowrite64_hi_lo()") which does only half of
the job. Add the rest, so we won't get a new kernel test robot
reports.

Fixes: f15309d7 ("parisc: Add ioread64_hi_lo() and iowrite64_hi_lo()")
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent d7da660c
...@@ -346,6 +346,16 @@ u64 ioread64be(const void __iomem *addr) ...@@ -346,6 +346,16 @@ u64 ioread64be(const void __iomem *addr)
return *((u64 *)addr); return *((u64 *)addr);
} }
u64 ioread64_lo_hi(const void __iomem *addr)
{
u32 low, high;
low = ioread32(addr);
high = ioread32(addr + sizeof(u32));
return low + ((u64)high << 32);
}
u64 ioread64_hi_lo(const void __iomem *addr) u64 ioread64_hi_lo(const void __iomem *addr)
{ {
u32 low, high; u32 low, high;
...@@ -419,6 +429,12 @@ void iowrite64be(u64 datum, void __iomem *addr) ...@@ -419,6 +429,12 @@ void iowrite64be(u64 datum, void __iomem *addr)
} }
} }
void iowrite64_lo_hi(u64 val, void __iomem *addr)
{
iowrite32(val, addr);
iowrite32(val >> 32, addr + sizeof(u32));
}
void iowrite64_hi_lo(u64 val, void __iomem *addr) void iowrite64_hi_lo(u64 val, void __iomem *addr)
{ {
iowrite32(val >> 32, addr + sizeof(u32)); iowrite32(val >> 32, addr + sizeof(u32));
...@@ -530,6 +546,7 @@ EXPORT_SYMBOL(ioread32); ...@@ -530,6 +546,7 @@ EXPORT_SYMBOL(ioread32);
EXPORT_SYMBOL(ioread32be); EXPORT_SYMBOL(ioread32be);
EXPORT_SYMBOL(ioread64); EXPORT_SYMBOL(ioread64);
EXPORT_SYMBOL(ioread64be); EXPORT_SYMBOL(ioread64be);
EXPORT_SYMBOL(ioread64_lo_hi);
EXPORT_SYMBOL(ioread64_hi_lo); EXPORT_SYMBOL(ioread64_hi_lo);
EXPORT_SYMBOL(iowrite8); EXPORT_SYMBOL(iowrite8);
EXPORT_SYMBOL(iowrite16); EXPORT_SYMBOL(iowrite16);
...@@ -538,6 +555,7 @@ EXPORT_SYMBOL(iowrite32); ...@@ -538,6 +555,7 @@ EXPORT_SYMBOL(iowrite32);
EXPORT_SYMBOL(iowrite32be); EXPORT_SYMBOL(iowrite32be);
EXPORT_SYMBOL(iowrite64); EXPORT_SYMBOL(iowrite64);
EXPORT_SYMBOL(iowrite64be); EXPORT_SYMBOL(iowrite64be);
EXPORT_SYMBOL(iowrite64_lo_hi);
EXPORT_SYMBOL(iowrite64_hi_lo); EXPORT_SYMBOL(iowrite64_hi_lo);
EXPORT_SYMBOL(ioread8_rep); EXPORT_SYMBOL(ioread8_rep);
EXPORT_SYMBOL(ioread16_rep); EXPORT_SYMBOL(ioread16_rep);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment