powerpc: tiny memcpy_(to|from)io optimisation
authorAlbrecht Dreß <albrecht.dress@arcor.de>
Wed, 4 Nov 2009 23:43:12 +0000 (16:43 -0700)
committerGrant Likely <grant.likely@secretlab.ca>
Wed, 4 Nov 2009 23:43:12 +0000 (16:43 -0700)
This trivial patch changes memcpy_(to|from)io as to transfer as many
32-bit words as possible in 32-bit accesses (in the current solution,
the last 32-bit word was transferred as 4 byte accesses).

Signed-off-by: Albrecht Dreß <albrecht.dress@arcor.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
arch/powerpc/kernel/io.c

index 1882bf419fa6f294db6adf46e15d2a428493c414..8dc7547c23775ecbf4442243fea98c3b443d6121 100644 (file)
@@ -161,7 +161,7 @@ void _memcpy_fromio(void *dest, const volatile void __iomem *src,
                dest++;
                n--;
        }
-       while(n > 4) {
+       while(n >= 4) {
                *((u32 *)dest) = *((volatile u32 *)vsrc);
                eieio();
                vsrc += 4;
@@ -190,7 +190,7 @@ void _memcpy_toio(volatile void __iomem *dest, const void *src, unsigned long n)
                vdest++;
                n--;
        }
-       while(n > 4) {
+       while(n >= 4) {
                *((volatile u32 *)vdest) = *((volatile u32 *)src);
                src += 4;
                vdest += 4;