Skip to content

Samsung crypto engine

Maurus Cuelenaere linux-arm-kernel linux-crypto linux-samsung-soc 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9ARM: S3C64XX: Add SDMA clocksarch/arm/mach-s3c64xx/clock.c+12 -00 replies
2/9ARM: S3C64XX: Add SDMA support to DMA corearch/arm/mach-s3c64xx/dma.c+41 -100 replies
3/9ARM: S3C64XX: Stop and flush requests on freeingarch/arm/mach-s3c64xx/dma.c+2 -10 replies
4/9ARM: S3C64XX: Add support for secur clockarch/arm/mach-s3c64xx/clock.c+9 -00 replies
5/9ARM: S3C64XX: Add crypto engine register definitionsarch/arm/mach-s3c64xx/include/mach/map.h arch/arm/mach-s3c64xx/include/mach/regs-sss.h+30 -00 replies
6/9ARM: S5PC100: Add crypto engine register definitionsarch/arm/mach-s5pc100/include/mach/map.h arch/arm/mach-s5pc100/include/mach/regs-sss.h+33 -00 replies
7/9ARM: SAMSUNG: Add crypto engine platform definitionarch/arm/Kconfig arch/arm/plat-samsung/Kconfig arch/arm/plat-samsung/Makefile +2 more+56 -00 replies
8/9ARM: SAMSUNG: Add crypto engine register definitionsarch/arm/plat-samsung/include/plat/regs-sss.h+153 -00 replies
9/9crypto: Add Samsung crypto engine driverdrivers/crypto/Kconfig drivers/crypto/Makefile drivers/crypto/s3c-sss.c+1332 -02 replies
9/9crypto: Add Samsung crypto engine driver+0 -01 reply
9/9crypto: Add Samsung crypto engine driver+0 -01 reply
9/9crypto: Add Samsung crypto engine driver+0 -02 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC/PATCH 0/9] Samsung crypto engine

Hi all,

this patchset introduces crypto acceleration support for the crypto engine available in S3C64XX and S5PC100 SoC's. I only have access to a S3C6410 board so it would be nice if people could test these patches on S5PC100.

The driver currently only supports AES and (T)DES in PIO mode, but even then it doesn't always succeed the DES self-tests so the driver part of this patch is more an RFC than an actual patch.

AES seems to work better than (T)DES, but it hangs on 64-bytes transfers (DES hangs on a 24-byte transfer).

There is support for DMA in the driver, but that has its own set of problems (it can't even finish a single transfer).

I've tagged the patches I think are worthy for upstreaming with [PATCH], the others are tagged with [RFC] (reviews are welcome!).

I'm not completely sure about my approach of handling the subsystems' register offsets currently as this limits the driver to S3C64XX- or S5PC100-only.

Mapping these to virtual space could solve this and would have the benefit of reducing the ~11MB IO space on S3C64XX SoC's.

Maurus Cuelenaere (9):
ARM: S3C64XX: Add SDMA clocks
ARM: S3C64XX: Add SDMA support to DMA core
ARM: S3C64XX: Stop and flush requests on freeing
ARM: S3C64XX: Add support for secur clock
ARM: S3C64XX: Add crypto engine register definitions
ARM: S5PC100: Add crypto engine register definitions
ARM: SAMSUNG: Add crypto engine platform definition
ARM: SAMSUNG: Add crypto engine register definitions
crypto: Add Samsung crypto engine driver

 arch/arm/Kconfig                              |    2 +
 arch/arm/mach-s3c64xx/clock.c                 |   21 +
 arch/arm/mach-s3c64xx/dma.c                   |   54 +-
 arch/arm/mach-s3c64xx/include/mach/map.h      |    3 +
 arch/arm/mach-s3c64xx/include/mach/regs-sss.h |   27 +
 arch/arm/mach-s5pc100/include/mach/map.h      |    4 +
 arch/arm/mach-s5pc100/include/mach/regs-sss.h |   29 +
 arch/arm/plat-samsung/Kconfig                 |    5 +
 arch/arm/plat-samsung/Makefile                |    1 +
 arch/arm/plat-samsung/dev-sss.c               |   46 +
 arch/arm/plat-samsung/include/plat/devs.h     |    2 +
 arch/arm/plat-samsung/include/plat/regs-sss.h |  153 +++
 drivers/crypto/Kconfig                        |   11 +
 drivers/crypto/Makefile                       |    1 +
 drivers/crypto/s3c-sss.c                      | 1320 +++++++++++++++++++++++++
 15 files changed, 1668 insertions(+), 11 deletions(-)
 create mode 100644 arch/arm/mach-s3c64xx/include/mach/regs-sss.h
 create mode 100644 arch/arm/mach-s5pc100/include/mach/regs-sss.h
 create mode 100644 arch/arm/plat-samsung/dev-sss.c
 create mode 100644 arch/arm/plat-samsung/include/plat/regs-sss.h
 create mode 100644 drivers/crypto/s3c-sss.c