Re: [PATCH v2 0/3] dmaengine: Add support for immediate commands

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

 



On Fri Nov 4, 2022 at 6:10 PM IST, Vinod Koul wrote:
> On 27-10-22, 10:44, Sireesh Kodali wrote:
> > The IPA v2.x block, found on some older Qualcomm SoCs, uses BAM DMA to
> > send and receive packets from the AP. It also uses BAM to receive
> > commands from the AP (and possibly the modem). These commands are
> > encoded as "Immediate Commands". They vary from regular BAM DMA
> > commands. Adding support for immediate commands is trivial, but requires
> > also adding Immediate Commands to the dmaengine API, which is what this
> > patch series does.
>
> Can you explain a bit more. I understand you need "Immediate Commands"
> but am really reluctant to add another interface to support a specific
> use case
>

Apologies for the delayed response

BAM supports both regular commands, and "immediate commands". Currently,
commands are used by the Qualcom NAND chip driver, while "immediate
commands" are intended to be used by the (yet to be mainlined) IPA
driver. From the BAM driver perspective, both immediate and regular
commands are simply a matter of setting the appropriate flag in the
descriptor. I don't have access to the documentation on BAM to know
exactly how these two modes differ, however I do know they are not
interchangable. If a different API is suggested, I can change the
implementation as needed.

Regards,
Sireesh Kodali
> > 
> > Sireesh Kodali (3):
> >   doc: dmaengine: client-api: Add immediate commands in the DMA client
> >     API
> >   dmaengine: Add support for immediate commands in the client API
> >   dmaengine: bam_dma: Add support for immediate commands
> > 
> >  Documentation/driver-api/dmaengine/provider.rst | 10 ++++++++++
> >  drivers/dma/qcom/bam_dma.c                      |  3 +++
> >  include/linux/dmaengine.h                       |  4 ++++
> >  3 files changed, 17 insertions(+)
> > 
> > -- 
> > 2.38.1
>
> -- 
> ~Vinod





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux