diff options
Diffstat (limited to 'arch/arm/crypto/sha2-ce-core.S')
-rw-r--r-- | arch/arm/crypto/sha2-ce-core.S | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/arch/arm/crypto/sha2-ce-core.S b/arch/arm/crypto/sha2-ce-core.S index 96af09fe957b..87ec11a5f405 100644 --- a/arch/arm/crypto/sha2-ce-core.S +++ b/arch/arm/crypto/sha2-ce-core.S @@ -69,27 +69,18 @@ .word 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 /* - * void sha2_ce_transform(int blocks, u8 const *src, u32 *state, - * u8 *head); + * void sha2_ce_transform(struct sha256_state *sst, u8 const *src, + int blocks); */ ENTRY(sha2_ce_transform) /* load state */ - vld1.32 {dga-dgb}, [r2] - - /* load partial input (if supplied) */ - teq r3, #0 - beq 0f - vld1.32 {q0-q1}, [r3]! - vld1.32 {q2-q3}, [r3] - teq r0, #0 - b 1f + vld1.32 {dga-dgb}, [r0] /* load input */ 0: vld1.32 {q0-q1}, [r1]! vld1.32 {q2-q3}, [r1]! - subs r0, r0, #1 + subs r2, r2, #1 -1: #ifndef CONFIG_CPU_BIG_ENDIAN vrev32.8 q0, q0 vrev32.8 q1, q1 @@ -129,6 +120,6 @@ ENTRY(sha2_ce_transform) bne 0b /* store new state */ - vst1.32 {dga-dgb}, [r2] + vst1.32 {dga-dgb}, [r0] bx lr ENDPROC(sha2_ce_transform) |