Re: [PATCH v7 1/8] dmaengine: add DMA_PREP_LOCK and DMA_PREP_UNLOCK flag
From: Vinod Koul
Date: Sun Mar 30 2025 - 12:21:04 EST
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