Ard Biesheuvel <ardb@xxxxxxxxxx> writes: > On Tue, 1 Aug 2023 at 08:22, Kamlesh Gurudasani <kamlesh@xxxxxx> wrote: >> >> Ard Biesheuvel <ardb@xxxxxxxxxx> writes: >> >> > On Sun, 30 Jul 2023 at 20:56, Kamlesh Gurudasani <kamlesh@xxxxxx> wrote: >> >> >> >> Add support for MCRC64 engine to calculate 64-bit CRC in Full-CPU mode >> >> >> >> MCRC64 engine calculates 64-bit cyclic redundancy checks (CRC) >> >> according to the ISO 3309 standard. >> >> >> >> Generator polynomial: x^64 + x^4 + x^3 + x + 1 >> >> Polynomial value: 0x000000000000001b >> >> >> > >> > How will this code be used? WIthout a user of the crc64-iso crypto API >> > algorithm, there is no point in having a driver that implements it. >> >> Thanks for the review. >> >> MCRC64 will be used to check the integrity of memory blocks. >> On TI K3 SOCs, users can use MCRC64 to accelerate the integrity check. >> > > Where is the implementation of this logic? Does it use the shash/ahash API? > > If so, it should be part of this series. We have implemented user-space application to utilize crc64-iso using below kernel module algif_hash: User-space interface for hash algorithms https://gist.github.com/ti-kamlesh/73abfcc1a33318bb3b199d36b6209e59 > > >> > >> > Also, *if* such a user exists, we'd need to have a generic C >> > implementation as well - we don't add new algorithms unless they can >> > be enabled on all platforms and architectures. >> >> If it is must, will implement generic C code. >> >> > >> > >> >> Tested with >> >> >> >> and tcrypt, >> >> sudo modprobe tcrypt mode=329 sec=1 >> >> >> >> Signed-off-by: Kamlesh Gurudasani <kamlesh@xxxxxx> >> >> --- >> >> Kamlesh Gurudasani (5): >> >> crypto: crc64 - add crc64-iso test vectors >> >> dt-bindings: crypto: Add binding for TI MCRC64 driver >> >> crypto: ti - add driver for MCRC64 engine >> >> arm64: dts: ti: k3-am62: Add dt node, cbass_main ranges for MCRC64 >> >> arm64: defconfig: enable MCRC module >> >> >> >> Documentation/devicetree/bindings/crypto/ti,mcrc64.yaml | 42 +++++++ >> >> MAINTAINERS | 7 ++ >> >> arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 7 ++ >> >> arch/arm64/boot/dts/ti/k3-am62.dtsi | 1 + >> >> arch/arm64/configs/defconfig | 2 + >> >> crypto/tcrypt.c | 5 + >> >> crypto/testmgr.c | 7 ++ >> >> crypto/testmgr.h | 401 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> >> drivers/crypto/Kconfig | 1 + >> >> drivers/crypto/Makefile | 1 + >> >> drivers/crypto/ti/Kconfig | 10 ++ >> >> drivers/crypto/ti/Makefile | 2 + >> >> drivers/crypto/ti/mcrc64.c | 360 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >> >> 13 files changed, 846 insertions(+) >> >> --- >> >> base-commit: d7b3af5a77e8d8da28f435f313e069aea5bcf172 >> >> change-id: 20230719-mcrc-upstream-7ae9a75cab37 >> >> >> >> Best regards, >> >> -- >> >> Kamlesh Gurudasani <kamlesh@xxxxxx> >> >>