Messages in this thread | | | From | Yangfl <> | Date | Sat, 20 May 2023 03:03:27 +0800 | Subject | Re: [PATCH v2 2/2] crypto: hisilicon/advca - Add SHA support |
| |
Herbert Xu <herbert@gondor.apana.org.au> 于2023年5月19日周五 16:43写道: > > On Sat, May 13, 2023 at 03:43:22PM +0800, David Yang wrote: > > > > +static int hica_sha_export(const struct hica_sha_priv *priv, void *out, > > + unsigned int digestsize) > > +{ > > + if (hica_sha_wait(priv, SHA_RECORD_READY)) > > + return -ETIMEDOUT; > > + > > + for (unsigned int i = 0; i < digestsize; i += sizeof(u32)) > > + *(u32 *) (out + i) = > > + be32_to_cpu(readl_relaxed(priv->base + SHA_OUT0 + i)); > > + > > + return 0; > > +} > > Can you please explain what this is doing? Is this exporting > the finalized hash, or the intermediate state? > > If it's exporting the intermediate state, why aren't you implementing > an import function? > > Thanks, > -- > Email: Herbert Xu <herbert@gondor.apana.org.au> > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
The intermediate state. Importing is done by hica_sha_init, since if I got it right, crypto hash api are required to handle multiple requests simultaneously, thus there will be no sense to set ctrl and state separately.
| |