All of lore.kernel.org
 help / color / mirror / Atom feed
From: mdalam@codeaurora.org
To: Vinod Koul <vkoul@kernel.org>
Cc: corbet@lwn.net, agross@kernel.org, bjorn.andersson@linaro.org,
	dan.j.williams@intel.com, dmaengine@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, sricharan@codeaurora.org,
	mdalam=codeaurora.org@codeaurora.org
Subject: Re: [PATCH] dmaengine: qcom: bam_dma: Add LOCK and UNLOCK flag bit support
Date: Thu, 14 Jan 2021 01:20:28 +0530	[thread overview]
Message-ID: <e3cf7c4fc02c54d17fd2fd213f39005b@codeaurora.org> (raw)
In-Reply-To: <20210112101056.GI2771@vkoul-mobl>

On 2021-01-12 15:40, Vinod Koul wrote:
> On 12-01-21, 15:01, mdalam@codeaurora.org wrote:
>> On 2020-12-21 23:03, mdalam@codeaurora.org wrote:
>> > On 2020-12-21 14:53, Vinod Koul wrote:
>> > > Hello,
>> > >
>> > > On 17-12-20, 20:07, Md Sadre Alam wrote:
>> > > > This change will add support for LOCK & UNLOCK flag bit support
>> > > > on CMD descriptor.
>> > > >
>> > > > If DMA_PREP_LOCK flag passed in prep_slave_sg then requester of this
>> > > > transaction wanted to lock the DMA controller for this transaction so
>> > > > BAM driver should set LOCK bit for the HW descriptor.
>> > > >
>> > > > If DMA_PREP_UNLOCK flag passed in prep_slave_sg then requester
>> > > > of this
>> > > > transaction wanted to unlock the DMA controller.so BAM driver
>> > > > should set
>> > > > UNLOCK bit for the HW descriptor.
>> > >
>> > > Can you explain why would we need to first lock and then unlock..? How
>> > > would this be used in real world.
>> > >
>> > > I have read a bit of documentation but is unclear to me. Also should
>> > > this be exposed as an API to users, sounds like internal to driver..?
>> > >
>> >
>> > IPQ5018 SoC having only one Crypto Hardware Engine. This Crypto Hardware
>> > Engine
>> > will be shared between A53 core & ubi32 core. There is two separate
>> > driver dedicated
>> > to A53 core and ubi32 core. So to use Crypto Hardware Engine
>> > parallelly for encryption/description
>> > we need bam locking mechanism. if one driver will submit the request
>> > for encryption/description
>> > to Crypto then first it has to set LOCK flag bit on command descriptor
>> > so that other pipes will
>> > get locked.
>> >
>> > The Pipe Locking/Unlocking will be only on command-descriptor. Upon
>> > encountering a command descriptor
> 
> Can you explain what is a cmd descriptor?

   In BAM pipe descriptor structure there is a field called CMD (Command 
descriptor).
   CMD allows the SW to create descriptors of type Command which does not 
generate any data transmissions
   but configures registers in the Peripheral (write operations, and read 
registers operations ).
   Using command descriptor enables the SW to queue new configurations 
between data transfers in advance.

> 
>> > with LOCK bit set, The BAM will lock all other pipes not related to
>> > the current pipe group, and keep
>> > handling the current pipe only until it sees the UNLOCK set then it
>> > will release all locked pipes.
>> > locked pipe will not fetch new descriptors even if it got event/events
>> > adding more descriptors for
>> > this pipe (locked pipe).
>> >
>> > No need to expose as an API to user because its internal to driver, so
>> > while preparing command descriptor
>> > just we have to update the LOCK/UNLOCK flag.
> 
> So IIUC, no api right? it would be internal to driver..?

   Yes its totally internal to deriver.

  reply	other threads:[~2021-01-13 19:51 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 14:37 [PATCH] dmaengine: qcom: bam_dma: Add LOCK and UNLOCK flag bit support Md Sadre Alam
2020-12-19  3:35 ` Thara Gopinath
2020-12-21  7:35   ` mdalam
2020-12-21 18:09     ` Thara Gopinath
2020-12-22 12:18       ` mdalam
2021-01-12  9:30         ` mdalam
2020-12-21  9:23 ` Vinod Koul
2020-12-21 17:33   ` mdalam
2021-01-12  9:31     ` mdalam
2021-01-12 10:10       ` Vinod Koul
2021-01-13 19:50         ` mdalam [this message]
2021-01-15  5:58           ` Vinod Koul
2021-01-18  3:51             ` mdalam
2021-01-19 16:45               ` Vinod Koul
2021-01-27 18:26                 ` mdalam
2021-02-01  6:05                   ` Vinod Koul
2021-02-01  6:22                     ` mdalam
2021-02-01  6:43                       ` Vinod Koul
2021-02-01 15:50                         ` mdalam
2021-02-09 16:39                           ` mdalam
2021-02-09 17:35                           ` Bjorn Andersson
2021-02-11  4:01                             ` mdalam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e3cf7c4fc02c54d17fd2fd213f39005b@codeaurora.org \
    --to=mdalam@codeaurora.org \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mdalam=codeaurora.org@codeaurora.org \
    --cc=sricharan@codeaurora.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.