From: Kamlesh Gurudasani <kamlesh@ti.com>
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>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: <linux-crypto@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-stm32@st-md-mailman.stormreply.com>,
Kamlesh Gurudasani <kamlesh@ti.com>
Subject: [PATCH v2 0/6] Add support for Texas Instruments MCRC64 engine
Date: Fri, 11 Aug 2023 00:58:47 +0530 [thread overview]
Message-ID: <20230719-mcrc-upstream-v2-0-4152b987e4c2@ti.com> (raw)
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.
The ISO 3309 64-bit CRC model parameters are as follows:
Generator Polynomial: x^64 + x^4 + x^3 + x + 1
Polynomial Value: 0x000000000000001B
Initial value: 0x0000000000000000
Reflected Input: False
Reflected Output: False
Xor Final: 0x0000000000000000
Tested with
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y
and tcrypt,
sudo modprobe tcrypt mode=329 sec=1
User space application implemented using algif_hash,
https://gist.github.com/ti-kamlesh/73abfcc1a33318bb3b199d36b6209e59
Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
---
Changes in v2:
- Add generic implementation of crc64-iso
- Fixes according to review comments
- Link to v1: https://lore.kernel.org/r/20230719-mcrc-upstream-v1-0-dc8798a24c47@ti.com
---
Kamlesh Gurudasani (6):
lib: add ISO 3309 model crc64
crypto: crc64 - add crc64-iso framework
dt-bindings: crypto: Add Texas Instruments MCRC64
crypto: ti - add driver for MCRC64 engine
arm64: dts: ti: k3-am62: Add dt node, cbass_main ranges for MCRC64
arm64: defconfig: enable TI MCRC64 module
Documentation/devicetree/bindings/crypto/ti,mcrc64.yaml | 47 ++++++++
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/Kconfig | 11 ++
crypto/Makefile | 1 +
crypto/crc64_iso_generic.c | 119 ++++++++++++++++++
crypto/tcrypt.c | 5 +
crypto/testmgr.c | 7 ++
crypto/testmgr.h | 404 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/crypto/Kconfig | 1 +
drivers/crypto/Makefile | 1 +
drivers/crypto/ti/Kconfig | 10 ++
drivers/crypto/ti/Makefile | 2 +
drivers/crypto/ti/mcrc64.c | 442 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
include/linux/crc64.h | 5 +
lib/crc64-iso.c | 126 +++++++++++++++++++
lib/crc64.c | 27 +++++
lib/gen_crc64table.c | 6 +
20 files changed, 1231 insertions(+)
---
base-commit: 21ef7b1e17d039053edaeaf41142423810572741
change-id: 20230719-mcrc-upstream-7ae9a75cab37
Best regards,
--
Kamlesh Gurudasani <kamlesh@ti.com>
next reply other threads:[~2023-08-10 19:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-10 19:28 Kamlesh Gurudasani [this message]
2023-08-10 19:28 ` [PATCH v2 1/6] lib: add ISO 3309 model crc64 Kamlesh Gurudasani
2023-08-10 19:28 ` [PATCH v2 2/6] crypto: crc64 - add crc64-iso framework Kamlesh Gurudasani
2023-08-11 4:24 ` Eric Biggers
2023-08-11 6:40 ` [EXTERNAL] " Kamlesh Gurudasani
2023-08-12 2:55 ` Eric Biggers
2023-08-18 7:25 ` [EXTERNAL] " Kamlesh Gurudasani
2024-02-22 21:50 ` Elliott, Robert (Servers)
2024-02-29 8:45 ` Kamlesh Gurudasani
2023-08-10 19:28 ` [PATCH v2 3/6] dt-bindings: crypto: Add Texas Instruments MCRC64 Kamlesh Gurudasani
2023-08-11 15:34 ` Conor Dooley
2023-08-11 15:36 ` Conor Dooley
2024-05-27 8:25 ` [EXTERNAL] " Kamlesh Gurudasani
2024-05-27 8:33 ` Krzysztof Kozlowski
2024-05-27 10:11 ` Kamlesh Gurudasani
2024-05-29 5:13 ` Vignesh Raghavendra
2023-08-10 19:28 ` [PATCH v2 4/6] crypto: ti - add driver for MCRC64 engine Kamlesh Gurudasani
2023-08-10 19:28 ` [PATCH v2 5/6] arm64: dts: ti: k3-am62: Add dt node, cbass_main ranges for MCRC64 Kamlesh Gurudasani
2023-08-10 20:21 ` Nishanth Menon
2023-08-10 19:28 ` [PATCH v2 6/6] arm64: defconfig: enable TI MCRC64 module Kamlesh Gurudasani
2023-08-10 20:25 ` Nishanth Menon
2023-08-12 3:01 ` [PATCH v2 0/6] Add support for Texas Instruments MCRC64 engine Eric Biggers
2023-08-18 9:06 ` [EXTERNAL] " Kamlesh Gurudasani
2023-08-22 5:17 ` Eric Biggers
2023-08-30 11:51 ` [EXTERNAL] " Kamlesh Gurudasani
2023-09-20 6:53 ` Kamlesh Gurudasani
2023-10-03 6:07 ` Kamlesh Gurudasani
2023-08-30 13:48 ` Kamlesh Gurudasani
2023-08-30 14:46 ` Kamlesh Gurudasani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230719-mcrc-upstream-v2-0-4152b987e4c2@ti.com \
--to=kamlesh@ti.com \
--cc=alexandre.torgue@foss.st.com \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=kristo@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=nm@ti.com \
--cc=robh+dt@kernel.org \
--cc=vigneshr@ti.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).