Thread (22 messages) 22 messages, 4 authors, 2021-02-11

Re: [PATCH] dmaengine: qcom: bam_dma: Add LOCK and UNLOCK flag bit support

From: <hidden>
Date: 2021-01-12 09:31:18
Also in: linux-arm-msm, linux-doc, lkml

On 2020-12-22 17:48, mdalam@codeaurora.org wrote:
On 2020-12-21 23:39, Thara Gopinath wrote:
quoted
On 12/21/20 2:35 AM, mdalam@codeaurora.org wrote:
quoted
On 2020-12-19 09:05, Thara Gopinath wrote:
quoted
On 12/17/20 9:37 AM, Md Sadre Alam wrote:
quoted
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.
Hi,

This is a generic question. What is the point of LOCK/UNLOCK with
allocating LOCK groups to the individual dma channels? By default
doesn't all channels fall in the same group. This would mean that
a lock does not prevent the dma controller from not executing a
transaction on the other channels.
The Pipe Locking/Unlocking will be only on command-descriptor.
Upon encountering a command descriptor 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.
So unless you assign pipe groups, this will not work as intended
right? So this patch is only half of the solution. There should also
be a patch allowing pipe groups to be assigned. Without that extra bit
this patch does nothing , right ?
Yes you are right.
We are having some register which will configure the pipe lock group.
But these registers are not exposed to non-secure world. These 
registers
only accessible through secure world. Currently in IPQ5018 SoC we are
configuring
these register in secure world to configure pipe lock group.
ping! Is there any update on this ? Do you need any further info ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help