Message ID | 20250418093506.1349-1-zhaoqunqin@loongson.cn |
---|---|
Headers | show |
Series | Add Loongson Security Engine chip driver | expand |
Hi, Qunqin, On Fri, Apr 18, 2025 at 5:33 PM Qunqin Zhao <zhaoqunqin@loongson.cn> wrote: > > The Loongson Security Engine chip supports RNG, SM2, SM3 and SM4 > accelerator engines. Each engine have its own DMA buffer provided > by the controller. The kernel cannot directly send commands to the > engine and must first send them to the controller, which will > forward them to the corresponding engine. Based on these engines, > TPM2 have been implemented in the chip, then let's treat TPM2 itself > as an engine. > > v8: Like Lee said, the base driver goes beyond MFD scope. Since these > are all encryption related drivers and SM2, SM3, and SM4 drivers > will be added to the crypto subsystem in the future, the base driver > need to be changed when adding these drivers. Therefore, it may be > more appropriate to place the base driver within the crypto subsystem. I don't know what Lee Jones exactly means. But I don't think this version is what he wants. You move the SE driver from drivers/mfd to drivers/crypto, but it is still a mfd driver because of "struct mfd_cell engines". Huacai > > Removed complete callback in all drivers. Removed the concepts of > "channel", "msg" and "request" as they may be confusing. Used the > concepts of "egnine" and "command" may be better. > > v7: Addressed Huacai's comments. > > v6: mfd :MFD_LS6000SE -> MFD_LOONGSON_SE, ls6000se.c -> loongson-se.c > > crypto :CRYPTO_DEV_LS6000SE_RNG -> CRYPTO_DEV_LOONGSON_RNG, > ls6000se-rng.c ->loongson-rng.c > > tpm: TCG_LSSE -> TCG_LOONGSON, tpm_lsse.c ->tpm_loongson.c > > v5: Registered "ls6000se-rng" device in mfd driver. > v4: Please look at changelog in tpm and MAINTAINERS. No changes to mfd > and crypto. > v3: Put the updates to the MAINTAINERS in a separate patch. > > Qunqin Zhao (5): > crypto: loongson - Add Loongson Security Engine chip controller driver > crypto: loongson - add Loongson RNG driver support > MAINTAINERS: Add entry for Loongson crypto driver > tpm: Add a driver for Loongson TPM device > MAINTAINERS: Add tpm_loongson.c to LOONGSON CRYPTO DRIVER entry > > MAINTAINERS | 7 + > drivers/char/tpm/Kconfig | 9 + > drivers/char/tpm/Makefile | 1 + > drivers/char/tpm/tpm_loongson.c | 78 ++++++++ > drivers/crypto/Kconfig | 1 + > drivers/crypto/Makefile | 1 + > drivers/crypto/loongson/Kconfig | 17 ++ > drivers/crypto/loongson/Makefile | 3 + > drivers/crypto/loongson/loongson-rng.c | 198 ++++++++++++++++++++ > drivers/crypto/loongson/loongson-se.c | 239 +++++++++++++++++++++++++ > drivers/crypto/loongson/loongson-se.h | 52 ++++++ > 11 files changed, 606 insertions(+) > create mode 100644 drivers/char/tpm/tpm_loongson.c > create mode 100644 drivers/crypto/loongson/Kconfig > create mode 100644 drivers/crypto/loongson/Makefile > create mode 100644 drivers/crypto/loongson/loongson-rng.c > create mode 100644 drivers/crypto/loongson/loongson-se.c > create mode 100644 drivers/crypto/loongson/loongson-se.h > > > base-commit: 8ffd015db85fea3e15a77027fda6c02ced4d2444 > -- > 2.45.2 > >