mbox series

[V7,0/4] Add Xilinx's ZynqMP AES-GCM driver support

Message ID 1581935204-25673-1-git-send-email-kalyani.akula@xilinx.com (mailing list archive)
Headers show
Series Add Xilinx's ZynqMP AES-GCM driver support | expand

Message

Kalyani Akula Feb. 17, 2020, 10:26 a.m. UTC
This patch set adds support for
- dt-binding docs for Xilinx ZynqMP AES driver
- Adds device tree node for ZynqMP AES driver
- Adds communication layer support for aes in zynqmp.c
- Adds Xilinx ZynqMP driver for AES Algorithm

NOTE: This patchset is based on Michal's branch
https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git/log/?h=arm/drivers
because of possible merge conflict for 1/4 patch with below commit
commit 461011b1e1ab ("drivers: firmware: xilinx: Add support for feature check")

V7 Changes:
- Rebased this patchset on Cryptodev-2.6 tree and fixed compilation
 issue seen. The issue is seen due to the below
 commit af5034e8e4a5("crypto: remove propagation of CRYPTO_TFM_RES_* flags")

V6 Changes:
- Updated SPDX-License-Identifier in xlnx,zynqmp-aes.yaml.

V5 Changes :
- Moved arm64: zynqmp: Add Xilinx AES node from 2/4 to 4/4.
- Moved crypto: Add Xilinx AES driver patch from 4/4 to 3/4.
- Moved dt-bindings patch from 1/4 to 2/4
- Moved firmware: xilinx: Add ZynqMP aes API for AES patch from 3/4 to 1/4
- Converted dt-bindings from .txt to .yaml format.
- Corrected typo in the subject.
- Updated zynqmp-aes node to correct location.
- Replaced ARCH_ZYNQMP with ZYNQMP_FIRMWARE in Kconfig
- Removed extra new lines and added wherever necessary. 
- Updated Signed-off-by sequence.
- Ran checkpatch for all patches in the series.

V4 Changes :
- Addressed review comments.

V3 Changes :
- Added software fallback in cases where Hardware doesn't have
  the capability to handle the request.
- Removed use of global variable for storing the driver data.
- Enabled CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and executed all
  the kernel selftests. Also covered tests with tcrypt module.

V2 Changes :
- Converted RFC PATCH to PATCH
- Removed ALG_SET_KEY_TYPE that was added to support keytype
  attribute. Taken using setkey interface.
- Removed deprecated BLKCIPHER in Kconfig
- Erased Key/IV from the buffer.
- Renamed zynqmp-aes driver to zynqmp-aes-gcm.
- Addressed few other review comments


Kalyani Akula (4):
  firmware: xilinx: Add ZynqMP aes API for AES functionality
  dt-bindings: crypto: Add bindings for ZynqMP AES-GCM driver
  crypto: Add Xilinx AES driver
  arm64: zynqmp: Add Xilinx AES node.

 .../bindings/crypto/xlnx,zynqmp-aes.yaml           |  37 ++
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |   4 +
 drivers/crypto/Kconfig                             |  12 +
 drivers/crypto/Makefile                            |   1 +
 drivers/crypto/xilinx/Makefile                     |   2 +
 drivers/crypto/xilinx/zynqmp-aes-gcm.c             | 457 +++++++++++++++++++++
 drivers/firmware/xilinx/zynqmp.c                   |  25 ++
 include/linux/firmware/xlnx-zynqmp.h               |   2 +
 8 files changed, 540 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/crypto/xlnx,zynqmp-aes.yaml
 create mode 100644 drivers/crypto/xilinx/Makefile
 create mode 100644 drivers/crypto/xilinx/zynqmp-aes-gcm.c

Comments

Herbert Xu Feb. 28, 2020, 12:50 a.m. UTC | #1
On Mon, Feb 17, 2020 at 03:56:40PM +0530, Kalyani Akula wrote:
> This patch set adds support for
> - dt-binding docs for Xilinx ZynqMP AES driver
> - Adds device tree node for ZynqMP AES driver
> - Adds communication layer support for aes in zynqmp.c
> - Adds Xilinx ZynqMP driver for AES Algorithm
> 
> NOTE: This patchset is based on Michal's branch
> https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git/log/?h=arm/drivers
> because of possible merge conflict for 1/4 patch with below commit
> commit 461011b1e1ab ("drivers: firmware: xilinx: Add support for feature check")
> 
> V7 Changes:
> - Rebased this patchset on Cryptodev-2.6 tree and fixed compilation
>  issue seen. The issue is seen due to the below
>  commit af5034e8e4a5("crypto: remove propagation of CRYPTO_TFM_RES_* flags")
> 
> V6 Changes:
> - Updated SPDX-License-Identifier in xlnx,zynqmp-aes.yaml.
> 
> V5 Changes :
> - Moved arm64: zynqmp: Add Xilinx AES node from 2/4 to 4/4.
> - Moved crypto: Add Xilinx AES driver patch from 4/4 to 3/4.
> - Moved dt-bindings patch from 1/4 to 2/4
> - Moved firmware: xilinx: Add ZynqMP aes API for AES patch from 3/4 to 1/4
> - Converted dt-bindings from .txt to .yaml format.
> - Corrected typo in the subject.
> - Updated zynqmp-aes node to correct location.
> - Replaced ARCH_ZYNQMP with ZYNQMP_FIRMWARE in Kconfig
> - Removed extra new lines and added wherever necessary. 
> - Updated Signed-off-by sequence.
> - Ran checkpatch for all patches in the series.
> 
> V4 Changes :
> - Addressed review comments.
> 
> V3 Changes :
> - Added software fallback in cases where Hardware doesn't have
>   the capability to handle the request.
> - Removed use of global variable for storing the driver data.
> - Enabled CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and executed all
>   the kernel selftests. Also covered tests with tcrypt module.
> 
> V2 Changes :
> - Converted RFC PATCH to PATCH
> - Removed ALG_SET_KEY_TYPE that was added to support keytype
>   attribute. Taken using setkey interface.
> - Removed deprecated BLKCIPHER in Kconfig
> - Erased Key/IV from the buffer.
> - Renamed zynqmp-aes driver to zynqmp-aes-gcm.
> - Addressed few other review comments
> 
> 
> Kalyani Akula (4):
>   firmware: xilinx: Add ZynqMP aes API for AES functionality
>   dt-bindings: crypto: Add bindings for ZynqMP AES-GCM driver
>   crypto: Add Xilinx AES driver
>   arm64: zynqmp: Add Xilinx AES node.
> 
>  .../bindings/crypto/xlnx,zynqmp-aes.yaml           |  37 ++
>  arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |   4 +
>  drivers/crypto/Kconfig                             |  12 +
>  drivers/crypto/Makefile                            |   1 +
>  drivers/crypto/xilinx/Makefile                     |   2 +
>  drivers/crypto/xilinx/zynqmp-aes-gcm.c             | 457 +++++++++++++++++++++
>  drivers/firmware/xilinx/zynqmp.c                   |  25 ++
>  include/linux/firmware/xlnx-zynqmp.h               |   2 +
>  8 files changed, 540 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/crypto/xlnx,zynqmp-aes.yaml
>  create mode 100644 drivers/crypto/xilinx/Makefile
>  create mode 100644 drivers/crypto/xilinx/zynqmp-aes-gcm.c

Patches 1-3 applied.  Thanks.