On Wed, Jul 23, 2014 at 04:07:20PM +0200, Marek Vasut wrote:
On Wednesday, July 23, 2014 at 03:57:35 PM, Herbert Xu wrote:
quoted
On Sat, May 24, 2014 at 02:00:03PM +0200, Marek Vasut wrote:
quoted
quoted
+ }
+#endif
+
+#ifdef CONFIG_CRYPTO_DEV_SUNXI_SS_MD5
+ err = crypto_register_shash(&sunxi_md5_alg);
Do not use shash for such device. This is clearly and ahash (and async in
general) device. The rule of a thumb here is that you use sync algos only
for devices which have dedicated instructions for computing the
transformation. For devices which are attached to some kind of bus, you
use async algos (ahash etc).
I'm sorry that I didn't catch this earlier but there is no such
rule.
Unless you need the async interface you should stick to the sync
interfaces for the sake of simplicity.
We have a number of existing drivers that are synchronous but
using the async interface. They should either be converted
over to the sync interface or made interrupt-driven if possible.
Sure, but this device is interrupt driven and uses DMA to feed the crypto
engine, therefore async, right ?
If it's interrupt-driven, then yes it would certainly make sense to
be async. But all I see is polling in the latest posting, was the
first version different?
Cheers,
--
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt