Re: [PATCH 3/3] crypto: Add Allwinner Security System crypto accelerator

Marek Vasut
2014-07-23T14:07:30Z

On Wednesday, July 23, 2014 at 03:57:35 PM, Herbert Xu wrote:
> On Sat, May 24, 2014 at 02:00:03PM +0200, Marek Vasut wrote:
> > > + }
> > > +#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 ?

Best regards,
Marek Vasut