Re: [RESEND PATCH 00/10] crypto: k3: Add sa2ul driver

From: Eric Biggers
Date: Fri Jun 28 2019 - 01:25:49 EST


On Fri, Jun 28, 2019 at 10:44:26AM +0530, keerthy wrote:
>
>
> On 6/28/2019 10:23 AM, Eric Biggers wrote:
> > Hi Keerthy,
> >
> > On Fri, Jun 28, 2019 at 09:57:35AM +0530, Keerthy wrote:
> > > The series adds Crypto hardware accelerator support for SA2UL.
> > > SA2UL stands for security accelerator ultra lite.
> > >
> > > The Security Accelerator (SA2_UL) subsystem provides hardware
> > > cryptographic acceleration for the following use cases:
> > > â Encryption and authentication for secure boot
> > > â Encryption and authentication of content in applications
> > > requiring DRM (digital rights management) and
> > > content/asset protection
> > > The device includes one instantiation of SA2_UL named SA2_UL0
> > >
> > > SA2UL needs on tx channel and a pair of rx dma channels.
> > >
> > > This series has dependency on UDMA series. Hence is based on top of:
> > >
> > > https://patchwork.kernel.org/project/linux-dmaengine/list/?series=114105
> > >
> > > The above series adds couple of dmaengine APIs that are used
> > > by the sa2ul driver. Hence there is a hard dependency on the
> > > above series.
> > >
> > > Resending with linux-crypto list in Cc.
> > >
> > > Keerthy (10):
> > > dt-bindings: crypto: k3: Add sa2ul bindings documentation
> > > crypto: sa2ul: Add crypto driver
> > > crypto: sa2ul: Add AES ECB Mode support
> > > crypto: sa2ul: Add aead support for hmac(sha1)cbc(aes) algorithm
> > > crypto: sha256_generic: Export the Transform function
> > > crypto: sa2ul: Add hmac(sha256)cbc(aes) AEAD Algo support
> > > crypto: sa2ul: Add hmac(sha1) HMAC algorithm support
> > > crypto: sa2ul: Add hmac(sha256) HMAC algorithm support
> > > sa2ul: Add 3DES ECB & CBC Mode support
> > > arm64: dts: k3-am6: Add crypto accelarator node
> > >
> > > .../devicetree/bindings/crypto/sa2ul.txt | 47 +
> > > arch/arm64/boot/dts/ti/k3-am65-main.dtsi | 33 +
> > > crypto/sha256_generic.c | 3 +-
> > > drivers/crypto/Kconfig | 17 +
> > > drivers/crypto/Makefile | 1 +
> > > drivers/crypto/sa2ul.c | 2232 +++++++++++++++++
> > > drivers/crypto/sa2ul.h | 384 +++
> > > include/crypto/sha.h | 1 +
> > > 8 files changed, 2717 insertions(+), 1 deletion(-)
> > > create mode 100644 Documentation/devicetree/bindings/crypto/sa2ul.txt
> > > create mode 100644 drivers/crypto/sa2ul.c
> > > create mode 100644 drivers/crypto/sa2ul.h
> >
> > Did you run the crypto self-tests on this driver? i.e. boot a kernel with
> >
> > # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
> > CONFIG_DEBUG_KERNEL=y
> > CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y
> >
> > What are the results?
>
> Eric,
>
> Thanks for your response. I did try with that. All test cases
> were passing on 4.19 kernel before the testmgr revamp.
>

That's surprising, since your driver doesn't implement update() for hashing, so
it should have been failing at least the HMAC tests. Are you sure you really
ran the tests?

> Currently few of the test cases do fail. For ex: Appending
> the last ivlen bytes of cipher text as the IV.

Well, these need to be fixed.

>
> >
> > Also, this patchset does not compile for me.
>
> This has dependency on UDMA series:
> https://patchwork.kernel.org/cover/10930969/

I had that applied.

- Eric