On 21/03/13 16:00, Akshay Saraswat wrote:
> This patch set adds hardware acceleration for SHA 256
> with the help of ACE.
> 
> Changes since v1:
>       - Patch-1: Fixed few nits.
>       - Patch-2: Removed not required config.
>       - Patch-3: Added sha256 to hash command instead of new sha256 command.
> 
> Changes since v2:
>         - Patch-1: 
>               - Added falling back to software sha256 in case length exceeds 
> buffer limit.
>               - Reduced one tab at lines 533, 559 and 571 in the patch.
>               - Removed space after a cast at line 506 in the patch.
>               - Removed blank line at line 561 in the patch.
>               - Removed space before semicolon at line 576 in the patch.
>         - Patch-2: 
>               - Added "SHA1" in the comment for config.
>         - Patch-3: 
>               - Added new nodes for SHA1 and SHA256 in struct hash_algo for 
> the case when
>                 ACE is enabled.
>               - Added new declaration for function pointer hash_func_ws with 
> different
>                 return type.
>         - Patch-4: 
>               - New patch to enable config for hash command.
> 
> Changes since v3:
>       - Patch-1:
>               - Removed buffer limit since there are 2 regs for address 
> hash_msg_size_high
>                 and low.
>                 That means buffer length could go upto 2^64 bits which is 
> practically 
>               - Removed falling back to software sha256 because there is no 
> buffer limit.
>               - Removed "/ 4" to sha1 and sha256 lengths and added increment 
> to 4 in for
>                 loop at line 573.
>               - Timed out still kept to be 100 ms since this is enough for 
> hardware to
>                 switch status to idle from busy.
>                 In case it couldn't that means h/w is faulty.
>       - Patch-2:
>               - Added "Acked-by: Simon Glass <s...@chromium.org>".
>       - Patch-3:
>               - New patch.
>       - Patch-4:
>               - Changed command names to lower case in algo struct.
>               - Added generic ace_sha config.
>       - Patch-5: Added acked-by Simon Glass
>               - Added new generic config for ace_sha to enable ace support in 
> hash.c.
> 
> Changes since v4:
>       - Patch-1:
>               - Added include for clk.h.
>               - Added define for MAX_FREQ.
>               - Added timeout calculation as per frequency.
>               - Changed "i+=4" to "i++" and "len" to "len/4" in for loop at 
> line 591
>                 in this patch.
>               - Added two new functions ace_sha256 and ace_sha1.
>       - Patch-2: None.
>       - Patch-3:
>               - Changed function names in struct algo.
>               - Replaced ACE_SHA_TYPE to CHUNSZ in struct algo.
>       - Patch-4: Added "Acked-by: Simon Glass <s...@chromium.org>".
> 
> Changes since v5:
>       - Patch-1:
>               - Removed ace_sha.h.
>               - Renamed ace_sfr.h as ace_sha.h.
>               - Removed timeout and checking for PRNG_ERROR bit in 
> HASH_STATUS register.
>                 PRNG_ERROR bit high means setup was not done properly. Since 
> there is no
>                 way to detect faulty h/w, we consider the possible fact that 
> h/w should
>                 not be able to setup feed properly if it's faulty.
>               - Renamed function name ace_sha256 to hw_sha256 and ace_sha1 to 
> hw_sha1.
>       - Patch-2: None.
>       - Patch-3:
>               - Added file hw_sha.h.
>               - Changed CONFIG_ACE_SHA to CONFIG_SHA_HW_ACCEL.
>               - Renamed function names ace_sha1 and ace_sha256 to hw_sha1 and 
> hw_sha256
>                 respectively.
>       - Patch-4:
>               - Removed "Acked-by: Simon Glass <s...@chromium.org>" because 
> of a change.
>               - Changed CONFIG_ACE_SHA to CONFIG_SHA_HW_ACCEL.
> 
> Changes since v6:
>       - Patch-1: Added "Acked-by: Simon Glass <s...@chromium.org>".
>       - Patch-2: None.
>       - Patch-3:
>               - Changed position of "hw_sha.h" among includes (alpha order).
>               - Rebased patch.
>       - Patch-4: Added "Acked-by: Simon Glass <s...@chromium.org>".
> 
> Changes since v7:
>       - Patch-1:
>               - Moved ace_sha.h to drivers/crypto.
>               - Removed parantheses where not required in ace_sha.h.
>               - Removed leftover time limit comment in ace_sha.c.
>               - Replaced "break" with "return -EBUSY" in PRNGERROR check.
>       - Patch-2: None.
>       - Patch-3: Added "Acked-by: Simon Glass <s...@chromium.org>".
>       - Patch-4: None.
> 
> Akshay Saraswat (4):
>   Exynos: Add hardware accelerated SHA256 and SHA1
>   Exynos: config: Enable ACE HW for SHA 256 for Exynos
>   gen: Add sha h/w acceleration to hash
>   Exynos: config: Enable hash command
> 
>  Makefile                               |   1 +
>  arch/arm/include/asm/arch-exynos/cpu.h |   4 +
>  common/hash.c                          |  18 ++
>  drivers/crypto/Makefile                |  47 +++++
>  drivers/crypto/ace_sha.c               | 126 +++++++++++++
>  drivers/crypto/ace_sha.h               | 325 
> +++++++++++++++++++++++++++++++++
>  include/configs/exynos5250-dt.h        |   5 +
>  include/hw_sha.h                       |  50 +++++
>  8 files changed, 576 insertions(+)
>  create mode 100644 drivers/crypto/Makefile
>  create mode 100644 drivers/crypto/ace_sha.c
>  create mode 100644 drivers/crypto/ace_sha.h
>  create mode 100644 include/hw_sha.h
> 

applied to u-boot-samsung.

Thanks,
Minkyu Kang.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to