crypto: marvell/cesa - rearrange handling for sw padded hashes
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 18 Oct 2015 16:24:47 +0000 (17:24 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 20 Oct 2015 14:11:08 +0000 (22:11 +0800)
commitab270e7055e0aa9d4dc3bf419cdfdde340174978
tree29103e1ead15edaf40f78d1790c5c6f62454d8bf
parentaee84a7e6ed515f0f217317ff261a15db4bff0bb
crypto: marvell/cesa - rearrange handling for sw padded hashes

Rearrange the last request handling for hashes which require software
padding.

We prepare the padding to be appended, and then append as much of the
padding to any existing data that's already queued up, adding an
operation block and launching the operation.

Any remainder is then appended as a separate operation.

This ensures that the hardware only ever sees multiples of the hash
block size to be operated on for software padded hashes, thus ensuring
that the engine always indicates that it has finished the calculation.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/marvell/hash.c