On 11-03-25, 10:25, Bartosz Golaszewski wrote: > From: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx> > > Add lock and unlock flags for the command descriptor. With the former set > in the requester pipe, the bam controller will lock all other pipes and > process the request only from requester pipe. Unlocking can only be > performed from the same pipe. > > Setting the DMA_PREP_LOCK/DMA_PREP_UNLOCK flags in the command > descriptor means, the caller requests the BAM controller to be locked > for the duration of the transaction. In this case the BAM driver must > set the LOCK/UNLOCK bits in the HW descriptor respectively. > > Only BAM IPs version 1.4.0 and above support the LOCK/UNLOCK feature. > > Signed-off-by: Md Sadre Alam <quic_mdalam@xxxxxxxxxxx> > [Bartosz: reworked the commit message] > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > --- > Documentation/driver-api/dmaengine/provider.rst | 15 +++++++++++++++ > include/linux/dmaengine.h | 6 ++++++ > 2 files changed, 21 insertions(+) > > diff --git a/Documentation/driver-api/dmaengine/provider.rst b/Documentation/driver-api/dmaengine/provider.rst > index 3085f8b460fa..a032e55d0a4f 100644 > --- a/Documentation/driver-api/dmaengine/provider.rst > +++ b/Documentation/driver-api/dmaengine/provider.rst > @@ -628,6 +628,21 @@ DMA_CTRL_REUSE > - This flag is only supported if the channel reports the DMA_LOAD_EOT > capability. > > +- DMA_PREP_LOCK > + > + - If set, the DMA will lock all other pipes not related to the current > + pipe group, and keep handling the current pipe only. > + > + - All pipes not within this group will be locked by this pipe upon lock > + event. > + > + - only pipes which are in the same group and relate to the same Environment > + Execution(EE) will not be locked by a certain pipe. This does not make sense for me in generic context... Pipes and EEs are implementation details... Please generalise the description for a dma controller... -- ~Vinod