summaryrefslogtreecommitdiffstats
path: root/arch/mips/cavium-octeon
diff options
context:
space:
mode:
authorPaul Martin <paul.martin@codethink.co.uk>2015-03-30 17:01:00 +0100
committerRalf Baechle <ralf@linux-mips.org>2015-04-01 17:22:15 +0200
commitd2a948d2db68bda8780df636cf6390748953793f (patch)
tree58b14ab3d0390c9082a3796b69910f16debebe3b /arch/mips/cavium-octeon
parent8a5cc923af4298e7d40a434398743c03ef875fb1 (diff)
downloadop-kernel-dev-d2a948d2db68bda8780df636cf6390748953793f.zip
op-kernel-dev-d2a948d2db68bda8780df636cf6390748953793f.tar.gz
MIPS: Octeon: Make octeon-md5 driver endian-agnostic
The octeon crypto co-processor expects values to be big endian. Wrap the data transfers with cpu_to_be64() and be64_to_cpu() transformations. This passes for all the MD5 test vectors in crypto/testmgr.h Signed-off-by: Paul Martin <paul.martin@codethink.co.uk> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/9631/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/cavium-octeon')
-rw-r--r--arch/mips/cavium-octeon/crypto/octeon-crypto.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/mips/cavium-octeon/crypto/octeon-crypto.h b/arch/mips/cavium-octeon/crypto/octeon-crypto.h
index 3550725..df6912e 100644
--- a/arch/mips/cavium-octeon/crypto/octeon-crypto.h
+++ b/arch/mips/cavium-octeon/crypto/octeon-crypto.h
@@ -33,7 +33,7 @@ do { \
__asm__ __volatile__ ( \
"dmtc2 %[rt],0x0048+" STR(index) \
: \
- : [rt] "d" (value)); \
+ : [rt] "d" (cpu_to_be64(value))); \
} while (0)
/*
@@ -48,7 +48,7 @@ do { \
: [rt] "=d" (__value) \
: ); \
\
- __value; \
+ be64_to_cpu(__value); \
})
/*
@@ -59,7 +59,7 @@ do { \
__asm__ __volatile__ ( \
"dmtc2 %[rt],0x0040+" STR(index) \
: \
- : [rt] "d" (value)); \
+ : [rt] "d" (cpu_to_be64(value))); \
} while (0)
/*
@@ -70,7 +70,7 @@ do { \
__asm__ __volatile__ ( \
"dmtc2 %[rt],0x4047" \
: \
- : [rt] "d" (value)); \
+ : [rt] "d" (cpu_to_be64(value))); \
} while (0)
/*
OpenPOWER on IntegriCloud