[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3p43hay67bofcddnar7wm2bsods5zqbylnjhnd22gcbniztymn@2zziltxxbaiv>
Date: Fri, 16 Aug 2024 11:01:34 -0500
From: Bjorn Andersson <andersson@...nel.org>
To: Md Sadre Alam <quic_mdalam@...cinc.com>
Cc: vkoul@...nel.org, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, konradybcio@...nel.org, thara.gopinath@...il.com,
herbert@...dor.apana.org.au, davem@...emloft.net, gustavoars@...nel.org,
u.kleine-koenig@...gutronix.de, kees@...nel.org, agross@...nel.org,
linux-arm-msm@...r.kernel.org, dmaengine@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org, quic_srichara@...cinc.com,
quic_varada@...cinc.com, quic_utiwari@...cinc.com
Subject: Re: [PATCH v2 00/16] Add cmd descriptor support
On Thu, Aug 15, 2024 at 02:27:09PM GMT, Md Sadre Alam wrote:
> This series of patches will add command descriptor
> support to read/write crypto engine register via
> BAM/DMA
>
> We need this support because if there is multiple EE's
> (Execution Environment) accessing the same CE then there
> will be race condition. To avoid this race condition
> BAM HW hsving LOC/UNLOCK feature on BAM pipes and this
> LOCK/UNLOCK will be set via command descriptor only.
>
> Since each EE's having their dedicated BAM pipe, BAM allows
> Locking and Unlocking on BAM pipe. So if one EE's requesting
> for CE5 access then that EE's first has to LOCK the BAM pipe
> while setting LOCK bit on command descriptor and then access
> it. After finishing the request EE's has to UNLOCK the BAM pipe
> so in this way we race condition will not happen.
>
> tested with "tcrypt.ko" and "kcapi" tool.
>
> Need help to test these all the patches on msm platform
>
> v2:
> * Addressed all the comments from v1
Please describe the actual changes you're making between your versions.
> * Added the dt-binding
> * Added locking/unlocking mechanism in bam driver
Seems to me that this was already part of v1, as patch 6/11?
Regards,
Bjorn
>
> v1:
> * https://lore.kernel.org/lkml/20231214114239.2635325-1-quic_mdalam@quicinc.com/
> * Initial set of patches for cmd descriptor support
>
> Md Sadre Alam (16):
> dt-bindings: dma: qcom,bam: Add bam pipe lock
> dmaengine: qcom: bam_dma: add bam_pipe_lock dt property
> dmaengine: qcom: bam_dma: add LOCK & UNLOCK flag support
> crypto: qce - Add support for crypto address read
> crypto: qce - Add bam dma support for crypto register r/w
> crypto: qce - Convert register r/w for skcipher via BAM/DMA
> crypto: qce - Convert register r/w for sha via BAM/DMA
> crypto: qce - Convert register r/w for aead via BAM/DMA
> crypto: qce - Add LOCK and UNLOCK flag support
> crypto: qce - Add support for lock aquire,lock release api.
> crypto: qce - Add support for lock/unlock in skcipher
> crypto: qce - Add support for lock/unlock in sha
> crypto: qce - Add support for lock/unlock in aead
> arm64: dts: qcom: ipq9574: enable bam pipe locking/unlocking
> arm64: dts: qcom: ipq8074: enable bam pipe locking/unlocking
> arm64: dts: qcom: ipq6018: enable bam pipe locking/unlocking
>
> .../devicetree/bindings/dma/qcom,bam-dma.yaml | 8 +
> arch/arm64/boot/dts/qcom/ipq6018.dtsi | 1 +
> arch/arm64/boot/dts/qcom/ipq8074.dtsi | 1 +
> arch/arm64/boot/dts/qcom/ipq9574.dtsi | 1 +
> drivers/crypto/qce/aead.c | 4 +
> drivers/crypto/qce/common.c | 142 +++++++----
> drivers/crypto/qce/core.c | 13 +-
> drivers/crypto/qce/core.h | 12 +
> drivers/crypto/qce/dma.c | 232 ++++++++++++++++++
> drivers/crypto/qce/dma.h | 26 +-
> drivers/crypto/qce/sha.c | 4 +
> drivers/crypto/qce/skcipher.c | 4 +
> drivers/dma/qcom/bam_dma.c | 14 +-
> include/linux/dmaengine.h | 6 +
> 14 files changed, 424 insertions(+), 44 deletions(-)
>
> --
> 2.34.1
>
Powered by blists - more mailing lists