All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/6] Add SPAcc Crypto Driver
@ 2025-06-02  5:32 Pavitrakumar Managutte
  2025-06-02  5:32 ` [PATCH v3 1/6] dt-bindings: crypto: Document support for SPAcc Pavitrakumar Managutte
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Pavitrakumar Managutte @ 2025-06-02  5:32 UTC (permalink / raw)
  To: linux-crypto, linux-kernel, devicetree, herbert, robh
  Cc: krzk+dt, conor+dt, Ruud.Derwig, manjunath.hadli, adityak,
	Pavitrakumar Managutte

Add the driver for SPAcc(Security Protocol Accelerator), which is a             
crypto acceleration IP from Synopsys. The SPAcc supports multiple ciphers,      
hashes and AEAD algorithms with various modes. The driver currently supports    
below                                                                           
                                                                                
AEAD:                                                                           
- ccm(sm4)                                                                      
- ccm(aes)                                                                      
- gcm(sm4)                                                                      
- gcm(aes)                                                                      
- rfc7539(chacha20,poly1305)                                                    
                                                                                
cipher:                                                                         
- cbc(sm4)                                                                      
- ecb(sm4)                                                                      
- ctr(sm4)                                                                      
- xts(sm4)                                                                      
- cts(cbc(sm4))                                                                 
- cbc(aes)                                                                      
- ecb(aes)                                                                      
- xts(aes)                                                                      
- cts(cbc(aes))                                                                 
- ctr(aes)                                                                      
- chacha20                                                                      
- ecb(des)                                                                      
- cbc(des)                                                                      
- ecb(des3_ede)                                                                 
- cbc(des3_ede)                                                                 
                                                                                
hash:                                                                           
- cmac(aes)                                                                     
- xcbc(aes)                                                                     
- cmac(sm4)                                                                     
- xcbc(sm4)                                                                     
- hmac(md5)                                                                     
- md5                                                                           
- hmac(sha1)                                                                    
- sha1                                                                          
- sha224
- sha256                                                                        
- sha384                                                                        
- sha512                                                                        
- hmac(sha224)                                                                  
- hmac(sha256)                                                                  
- hmac(sha384)                                                                  
- hmac(sha512)                                                                  
- sha3-224                                                                      
- sha3-256                                                                      
- sha3-384                                                                      
- sha3-512                                                                      
- hmac(sm3)                                                                     
- sm3                                                                           
- michael_mic                                              

Pavitrakumar Managutte (6):
  dt-bindings: crypto: Document support for SPAcc
  Add SPAcc Skcipher support
  Add SPAcc AUTODETECT Support
  Add SPAcc ahash support
  Add SPAcc AEAD support
  Add SPAcc Kconfig and Makefile

changelog:
  v1->v2 changes:
    - Added local_bh_disable() and local_bh_enable() for the below calls.
      a. for ciphers skcipher_request_complete()
      b. for aead aead_request_complete()
      c. for hash ahash_request_complete()
    - dt-bindings updates
      a. removed snps,vspacc-priority and made it into config option
      b. renamed snps,spacc-wdtimer to snps,spacc-internal-counter
      c. Added description to all properties
    - Updated corresponding dt-binding changes to code 

  v2->v3 changes:
    - cra_init and cra_exit replaced with init_tfm and exit_tfm for hashes.
    - removed mutex_lock/unlock for spacc_skcipher_fallback call
    - dt-bindings updates
     a. updated SOC related information
     b. renamed compatible string as per SOC.
   - Updated corresponding dt-binding changes to code 

 .../bindings/crypto/snps,dwc-spacc.yaml       |   77 +
 drivers/crypto/Kconfig                        |    1 +
 drivers/crypto/Makefile                       |    1 +
 drivers/crypto/dwc-spacc/Kconfig              |  103 +
 drivers/crypto/dwc-spacc/Makefile             |   16 +
 drivers/crypto/dwc-spacc/spacc_aead.c         | 1297 +++++++++
 drivers/crypto/dwc-spacc/spacc_ahash.c        |  969 +++++++
 drivers/crypto/dwc-spacc/spacc_core.c         | 2464 +++++++++++++++++
 drivers/crypto/dwc-spacc/spacc_core.h         |  829 ++++++
 drivers/crypto/dwc-spacc/spacc_device.c       |  309 +++
 drivers/crypto/dwc-spacc/spacc_device.h       |  231 ++
 drivers/crypto/dwc-spacc/spacc_hal.c          |  374 +++
 drivers/crypto/dwc-spacc/spacc_hal.h          |  114 +
 drivers/crypto/dwc-spacc/spacc_interrupt.c    |  324 +++
 drivers/crypto/dwc-spacc/spacc_manager.c      |  610 ++++
 drivers/crypto/dwc-spacc/spacc_skcipher.c     |  763 +++++
 16 files changed, 8482 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/snps,dwc-spacc.yaml
 create mode 100644 drivers/crypto/dwc-spacc/Kconfig
 create mode 100644 drivers/crypto/dwc-spacc/Makefile
 create mode 100755 drivers/crypto/dwc-spacc/spacc_aead.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_ahash.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_core.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_core.h
 create mode 100644 drivers/crypto/dwc-spacc/spacc_device.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_device.h
 create mode 100644 drivers/crypto/dwc-spacc/spacc_hal.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_hal.h
 create mode 100644 drivers/crypto/dwc-spacc/spacc_interrupt.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_manager.c
 create mode 100644 drivers/crypto/dwc-spacc/spacc_skcipher.c


base-commit: 0a84874c7e7dde5cdddc80a82093120e924a348b
-- 
2.25.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-06-24  7:49 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-02  5:32 [PATCH v3 0/6] Add SPAcc Crypto Driver Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 1/6] dt-bindings: crypto: Document support for SPAcc Pavitrakumar Managutte
2025-06-02  5:58   ` Krzysztof Kozlowski
2025-06-03 11:45     ` Pavitrakumar Managutte
2025-06-03 12:04       ` Krzysztof Kozlowski
2025-06-04 12:20         ` Pavitrakumar Managutte
2025-06-04 14:07           ` Krzysztof Kozlowski
2025-06-06 11:02             ` Pavitrakumar Managutte
2025-06-06 11:25               ` Krzysztof Kozlowski
2025-06-06 12:58                 ` Pavitrakumar Managutte
2025-06-06 13:04                   ` Krzysztof Kozlowski
2025-06-24  7:49                     ` Pavitrakumar Managutte
2025-06-02  6:22   ` Krzysztof Kozlowski
2025-06-02  7:16     ` Ruud Derwig
2025-06-02  5:32 ` [PATCH v3 2/6] Add SPAcc Skcipher support Pavitrakumar Managutte
2025-06-02  6:05   ` Krzysztof Kozlowski
2025-06-03 12:02     ` Pavitrakumar Managutte
2025-06-03 12:07       ` Krzysztof Kozlowski
2025-06-04 10:50         ` Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 3/6] Add SPAcc AUTODETECT Support Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 4/6] Add SPAcc ahash support Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 5/6] Add SPAcc AEAD support Pavitrakumar Managutte
2025-06-02  5:32 ` [PATCH v3 6/6] Add SPAcc Kconfig and Makefile Pavitrakumar Managutte

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.