Message ID | 20230719-mcrc-upstream-v1-0-dc8798a24c47@ti.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:918b:0:b0:3e4:2afc:c1 with SMTP id s11csp1631535vqg; Sun, 30 Jul 2023 12:18:10 -0700 (PDT) X-Google-Smtp-Source: APBJJlHvXFYtr+TPrdl2UvquvQ0fHsvg1bVWea1NHfZ659h3EhwkVsXCRc7PtKWgHK4eT5Sp21zD X-Received: by 2002:a05:6a20:938c:b0:13b:79db:e222 with SMTP id x12-20020a056a20938c00b0013b79dbe222mr9203399pzh.53.1690744690341; Sun, 30 Jul 2023 12:18:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690744690; cv=none; d=google.com; s=arc-20160816; b=blGWjOlSwhrJuGn12VyK4FvomdMooqIvV5xkTO7JDQycSC9HdUwC+Mj4AlGKzV8hOD M8UqLwSU5QGx4lIcb4epCjAOkUwXGdxLE/ooPXHaQBfwNBYD572sSCI7qalClyAEoa03 xRm9c+WG9m/2NQcQqJsbFBhyyXiNySIyoa6bd/3iWi/NPzldvxaUJNWDpYtVfBLDLobN F1ciIvbN8dodwiHSLpP3B0Dp7Pl4A53NSXbhxkHgOBizCjIOeawE1P8ZvBfysMi+Ac7T Egl0+Vu5yiaj5ZD58CK9uFP5+GcXO/HJ8ootzHxksAAK5evfxeUyyS+D1r3Sume5xYnR WjLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:content-transfer-encoding:mime-version :message-id:date:subject:from:dkim-signature; bh=yG/C1vbEErBlqYLn5hHGKIm0ols70MLrcZtSkgmvJic=; fh=tERuYBhD73Fe0G31EAbYVjkUdnd3US6+gaDHWx/XGEo=; b=LZJG8wH9KIiakx8gOQLZGHYFSmo5jbIBjJr6AF1tBx98GExObvwOUkoTH6C0pcpHwH 77jIu4F5fQdoZswZ4V4F/MKdr6i3Er9NVOBujnPWcQC8C0K++gP+ACIMS23ktDuQ0Bi4 /rzZNwPi60J3YYYC8At9fYHlB7mC+j27hI1tBcuacPBX7/yL9Q3yCNnvy52ChDsBLO5F Z/mYmjyN5hOu3dBa83FhR/ntLfZfILA6LhMa12aC5Z5EjAsk+9Z9vxHhWRuGxhnZvmV4 /M2MTxwo1InzKpYanbuSfY9LhGOs5MLMUJwlmVt3pwERBzNb4KGsA33JrdSm49K42rAx GIuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=ZCttN7hd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t14-20020a056a00138e00b0068706ae24c0si5115374pfg.326.2023.07.30.12.17.57; Sun, 30 Jul 2023 12:18:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b=ZCttN7hd; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230002AbjG3S4l (ORCPT <rfc822;dengxinlin2429@gmail.com> + 99 others); Sun, 30 Jul 2023 14:56:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229972AbjG3S4f (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Sun, 30 Jul 2023 14:56:35 -0400 Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97A3910F5; Sun, 30 Jul 2023 11:56:31 -0700 (PDT) Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 36UIuAst001274; Sun, 30 Jul 2023 13:56:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1690743370; bh=yG/C1vbEErBlqYLn5hHGKIm0ols70MLrcZtSkgmvJic=; h=From:Subject:Date:To:CC; b=ZCttN7hdARyCLRCqFTy1CyIY73o2EWl9QxW8BVe1DppRtKQZFAwsAp/3Z/D2amwYX QG+e08SOw9DF6b7uBrx6ox0Fxmu0A/f7GB1nniBgovWa86mc2qDQmH2h2E18gTjOBu lNJ/Dbk8TJEeONFZX1g3Zi6MFloC/ADGqc9xbM3I= Received: from DLEE110.ent.ti.com (dlee110.ent.ti.com [157.170.170.21]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 36UIuA6L124302 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 30 Jul 2023 13:56:10 -0500 Received: from DLEE113.ent.ti.com (157.170.170.24) by DLEE110.ent.ti.com (157.170.170.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Sun, 30 Jul 2023 13:56:10 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE113.ent.ti.com (157.170.170.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via Frontend Transport; Sun, 30 Jul 2023 13:56:10 -0500 Received: from localhost (ileaxei01-snat.itg.ti.com [10.180.69.5]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 36UIu9Zg015546; Sun, 30 Jul 2023 13:56:10 -0500 From: Kamlesh Gurudasani <kamlesh@ti.com> Subject: [PATCH 0/5] Add support for Texas Instruments MCRC64 engine Date: Mon, 31 Jul 2023 00:25:53 +0530 Message-ID: <20230719-mcrc-upstream-v1-0-dc8798a24c47@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIADmyxmQC/x2NywqDQAwAf0VyNuCDsthfEQ/ZNNUcdiuJloL47 649DsMwB7iYisOzOsDkq66fXKCtK+CF8iyor8LQNV3fhHbAxMa4r76ZUMJAMlB4MMU+QGkiuWA 0yrzcVSLfxG6xmrz19x+N03leeUoT6XgAAAA= To: Herbert Xu <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>, Tero Kristo <kristo@kernel.org>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org> CC: <linux-crypto@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, Kamlesh Gurudasani <kamlesh@ti.com> X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1690743368; l=1888; i=kamlesh@ti.com; s=20230614; h=from:subject:message-id; bh=6RXzhJuPKeQVT8yLoZOXGWG94dhuDQSE8rTpk961348=; b=jwvxNJyk0a+aMYzVanzcXvyehNYsQJdWePIz/+o/sCCT/07HIFTvMa3m8AQqkwx6Yyfvpzk1e DQ+nUXijCgADfC/XP1BL70vN4fklgYGgaJYGvN1tyJRlThAriGWPSLT X-Developer-Key: i=kamlesh@ti.com; a=ed25519; pk=db9XKPVWDGJVqj2jDqgnPQd6uQf3GZ3oaQa4bq1odGo= X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772874304729496197 X-GMAIL-MSGID: 1772874304729496197 |
Series |
Add support for Texas Instruments MCRC64 engine
|
|
Message
Kamlesh Gurudasani
July 30, 2023, 6:55 p.m. UTC
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
Tested with
and tcrypt,
sudo modprobe tcrypt mode=329 sec=1
Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
---
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,
Comments
On 30/07/2023 20:55, Kamlesh Gurudasani wrote: > Add binding for Texas Instruments MCRC64 driver A nit, subject: drop second/last, redundant "binding for". The "dt-bindings" prefix is already stating that these are bindings. Here and subject: drop driver. Bindings are for hardware. Neither commit nor bindings in description: field explain what is this hardware. > > Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> > --- > Documentation/devicetree/bindings/crypto/ti,mcrc64.yaml | 42 ++++++++++++++++++++++++++++++++++++++++++ > MAINTAINERS | 5 +++++ > 2 files changed, 47 insertions(+) > > diff --git a/Documentation/devicetree/bindings/crypto/ti,mcrc64.yaml b/Documentation/devicetree/bindings/crypto/ti,mcrc64.yaml > new file mode 100644 > index 000000000000..1d1e3f87638c > --- /dev/null > +++ b/Documentation/devicetree/bindings/crypto/ti,mcrc64.yaml > @@ -0,0 +1,42 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/crypto/ti,mcrc64.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Texas Instruments MCRC64 bindings Drop bindings. If you tested your code, you would see a warning, so: It does not look like you tested the bindings, at least after quick look. Please run `make dt_binding_check` (see Documentation/devicetree/bindings/writing-schema.rst for instructions). Maybe you need to update your dtschema and yamllint. > + > +maintainers: > + - Kamlesh Gurudasani <kamlesh@ti.com> > + > +properties: > + compatible: > + const: ti,mcrc64 What's this? Part of SoC? Then the compatible is not correct. > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + power-domains: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - power-domains > + > +additionalProperties: false > + > +examples: > + - | > + mcrc64: mcrc64@30300000 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "ti,mcrc64"; > + reg = <0x00 0x30300000 0x00 0x1000>; > + clocks = <&k3_clks 116 0>; > + power-domains = <&k3_pds 116 TI_SCI_PD_EXCLUSIVE>; > + }; Indentation is messed up. > Best regards, Krzysztof
On Sun, 30 Jul 2023 at 20:56, Kamlesh Gurudasani <kamlesh@ti.com> 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. 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. > Tested with > > and tcrypt, > sudo modprobe tcrypt mode=329 sec=1 > > Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> > --- > 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@ti.com> >
Ard Biesheuvel <ardb@kernel.org> writes: > On Sun, 30 Jul 2023 at 20:56, Kamlesh Gurudasani <kamlesh@ti.com> 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. > > 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@ti.com> >> --- >> 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@ti.com> >>
On Tue, 1 Aug 2023 at 08:22, Kamlesh Gurudasani <kamlesh@ti.com> wrote: > > Ard Biesheuvel <ardb@kernel.org> writes: > > > On Sun, 30 Jul 2023 at 20:56, Kamlesh Gurudasani <kamlesh@ti.com> 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. > > > > 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@ti.com> > >> --- > >> 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@ti.com> > >>
Ard Biesheuvel <ardb@kernel.org> writes: > On Tue, 1 Aug 2023 at 08:22, Kamlesh Gurudasani <kamlesh@ti.com> wrote: >> >> Ard Biesheuvel <ardb@kernel.org> writes: >> >> > On Sun, 30 Jul 2023 at 20:56, Kamlesh Gurudasani <kamlesh@ti.com> 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@ti.com> >> >> --- >> >> 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@ti.com> >> >>