summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/io.c
diff options
context:
space:
mode:
authorAlbrecht Dreß <albrecht.dress@arcor.de>2009-11-04 16:43:12 -0700
committerGrant Likely <grant.likely@secretlab.ca>2009-11-04 16:43:12 -0700
commita22c65f81ae28656b80d2acc687cf6318eb15bba (patch)
tree18090f675ad36a6dc6a91f88d34ace88784fa1fa /arch/powerpc/kernel/io.c
parent5cc17d7e01abd77eda1267a75748cfc84c92a523 (diff)
downloadlinux-a22c65f81ae28656b80d2acc687cf6318eb15bba.tar.gz
linux-a22c65f81ae28656b80d2acc687cf6318eb15bba.tar.bz2
linux-a22c65f81ae28656b80d2acc687cf6318eb15bba.zip
powerpc: tiny memcpy_(to|from)io optimisation
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>
Diffstat (limited to 'arch/powerpc/kernel/io.c')
-rw-r--r--arch/powerpc/kernel/io.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/io.c b/arch/powerpc/kernel/io.c
index 1882bf419fa6..8dc7547c2377 100644
--- a/arch/powerpc/kernel/io.c
+++ b/arch/powerpc/kernel/io.c
@@ -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;