Re: [PATCH v2 00/17] Enable Qualcomm Crypto Engine on sm8250

From: Bhupesh Sharma
Date: Sat May 08 2021 - 15:08:40 EST


Hi Rob,

On Sat, 8 May 2021 at 02:44, Rob Herring <robh@xxxxxxxxxx> wrote:
>
> On Thu, May 06, 2021 at 03:07:14AM +0530, Bhupesh Sharma wrote:
> > Changes since v1:
> > =================
> > - v1 can be seen here: https://lore.kernel.org/linux-arm-msm/20210310052503.3618486-1-bhupesh.sharma@xxxxxxxxxx/
> > - v1 did not work well as reported earlier by Dmitry, so v2 contains the following
> > changes/fixes:
> > ~ Enable the interconnect path b/w BAM DMA and main memory first
> > before trying to access the BAM DMA registers.
> > ~ Enable the interconnect path b/w qce crytpo and main memory first
> > before trying to access the qce crypto registers.
> > ~ Make sure to document the required and optional properties for both
> > BAM DMA and qce crypto drivers.
> > ~ Add a few debug related print messages in case the qce crypto driver
> > passes or fails to probe.
> > ~ Convert the qce crypto driver probe to a defered one in case the BAM DMA
> > or the interconnect driver(s) (needed on specific Qualcomm parts) are not
> > yet probed.
> >
> > Qualcomm crypto engine is also available on sm8250 SoC.
> > It supports hardware accelerated algorithms for encryption
> > and authentication. It also provides support for aes, des, 3des
> > encryption algorithms and sha1, sha256, hmac(sha1), hmac(sha256)
> > authentication algorithms.
> >
> > Tested the enabled crypto algorithms with cryptsetup test utilities
> > on sm8250-mtp and RB5 board (see [1]).
> >
> > While at it, also make a minor fix in 'sdm845.dtsi', to make
> > sure it confirms with the other .dtsi files which expose
> > crypto nodes on qcom SoCs.
> >
> > Cc: Thara Gopinath <thara.gopinath@xxxxxxxxxx>
> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> > Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> > Cc: Andy Gross <agross@xxxxxxxxxx>
> > Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> > Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> > Cc: Stephen Boyd <sboyd@xxxxxxxxxx>
> > Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>
> > Cc: Vinod Koul <vkoul@xxxxxxxxxx>
> > Cc: dmaengine@xxxxxxxxxxxxxxx
> > Cc: linux-clk@xxxxxxxxxxxxxxx
> > Cc: linux-crypto@xxxxxxxxxxxxxxx
> > Cc: devicetree@xxxxxxxxxxxxxxx
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: bhupesh.linux@xxxxxxxxx
> >
> > Bhupesh Sharma (14):
> > dt-bindings: qcom-bam: Add 'interconnects' & 'interconnect-names' to
> > optional properties
> > dt-bindings: qcom-bam: Add 'iommus' to required properties
> > dt-bindings: qcom-qce: Add 'iommus' to required properties
> > dt-bindings: qcom-qce: Add 'interconnects' and move 'clocks' to
> > optional properties
> > arm64/dts: qcom: sdm845: Use RPMH_CE_CLK macro directly
> > dt-bindings: crypto : Add new compatible strings for qcom-qce
>
> Please convert these bindings to schemas.

Ok, will fix it in v3.

Thanks,
Bhupesh

>
> > arm64/dts: qcom: Use new compatibles for crypto nodes
> > crypto: qce: Add new compatibles for qce crypto driver
> > crypto: qce: Print a failure msg in case probe() fails
> > crypto: qce: Convert the device found dev_dbg() to dev_info()
> > dma: qcom: bam_dma: Create a new header file for BAM DMA driver
> > crypto: qce: Defer probing if BAM dma is not yet initialized
> > crypto: qce: Defer probe in case interconnect is not yet initialized
> > arm64/dts: qcom: sm8250: Add dt entries to support crypto engine.
> >
> > Thara Gopinath (3):
> > dma: qcom: bam_dma: Add support to initialize interconnect path
> > crypto: qce: core: Add support to initialize interconnect path
> > crypto: qce: core: Make clocks optional
> >
> > .../devicetree/bindings/crypto/qcom-qce.txt | 22 +-
> > .../devicetree/bindings/dma/qcom_bam_dma.txt | 5 +
> > arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
> > arch/arm64/boot/dts/qcom/sdm845.dtsi | 6 +-
> > arch/arm64/boot/dts/qcom/sm8250.dtsi | 28 ++
> > drivers/crypto/qce/core.c | 112 +++++--
> > drivers/crypto/qce/core.h | 3 +
> > drivers/dma/qcom/bam_dma.c | 306 ++----------------
> > include/soc/qcom/bam_dma.h | 290 +++++++++++++++++
> > 9 files changed, 457 insertions(+), 317 deletions(-)
> > create mode 100644 include/soc/qcom/bam_dma.h
> >
> > --
> > 2.30.2
> >