Re: [PATCH v2 2/2] crypto: hisilicon/advca - Add SHA support

Yangfl
2023-05-19T19:04:11Z

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.