[PATCH 00/11] Add cmd descriptor support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 even with
different BAM pipe , then there will be race condition.
To avoid this race condition BAM HW having LOCK/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.

Md Sadre Alam (11):
  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
  drivers: bam_dma: Add LOCK & UNLOCK flag support
  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

 drivers/crypto/qce/aead.c        |  16 +++
 drivers/crypto/qce/common.c      | 144 +++++++++++++------
 drivers/crypto/qce/core.c        |   9 ++
 drivers/crypto/qce/core.h        |  12 ++
 drivers/crypto/qce/dma.c         | 238 +++++++++++++++++++++++++++++++
 drivers/crypto/qce/dma.h         |  26 +++-
 drivers/crypto/qce/sha.c         |  16 +++
 drivers/crypto/qce/skcipher.c    |  16 +++
 drivers/dma/qcom/bam_dma.c       |  10 ++
 include/linux/dma/qcom_bam_dma.h |   2 +
 10 files changed, 447 insertions(+), 42 deletions(-)

-- 
2.34.1





[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux