mirror of https://github.com/OpenIPC/firmware.git
42 lines
1.2 KiB
Diff
42 lines
1.2 KiB
Diff
diff -drupN a/arch/arm64/kernel/io.c b/arch/arm64/kernel/io.c
|
|
--- a/arch/arm64/kernel/io.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/arch/arm64/kernel/io.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -25,8 +25,7 @@
|
|
*/
|
|
void __memcpy_fromio(void *to, const volatile void __iomem *from, size_t count)
|
|
{
|
|
- while (count && (!IS_ALIGNED((unsigned long)from, 8) ||
|
|
- !IS_ALIGNED((unsigned long)to, 8))) {
|
|
+ while (count && !IS_ALIGNED((unsigned long)from, 8)) {
|
|
*(u8 *)to = __raw_readb(from);
|
|
from++;
|
|
to++;
|
|
@@ -54,23 +53,22 @@ EXPORT_SYMBOL(__memcpy_fromio);
|
|
*/
|
|
void __memcpy_toio(volatile void __iomem *to, const void *from, size_t count)
|
|
{
|
|
- while (count && (!IS_ALIGNED((unsigned long)to, 8) ||
|
|
- !IS_ALIGNED((unsigned long)from, 8))) {
|
|
- __raw_writeb(*(volatile u8 *)from, to);
|
|
+ while (count && !IS_ALIGNED((unsigned long)to, 8)) {
|
|
+ __raw_writeb(*(u8 *)from, to);
|
|
from++;
|
|
to++;
|
|
count--;
|
|
}
|
|
|
|
while (count >= 8) {
|
|
- __raw_writeq(*(volatile u64 *)from, to);
|
|
+ __raw_writeq(*(u64 *)from, to);
|
|
from += 8;
|
|
to += 8;
|
|
count -= 8;
|
|
}
|
|
|
|
while (count) {
|
|
- __raw_writeb(*(volatile u8 *)from, to);
|
|
+ __raw_writeb(*(u8 *)from, to);
|
|
from++;
|
|
to++;
|
|
count--;
|