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

Sireesh Kodali
2022-11-24T03:14:30Z

On Mon Nov 14, 2022 at 3:53 AM IST, Vinod Koul wrote:
> On 11-11-22, 10:42, Sireesh Kodali wrote:
> > 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.
>
> Ok, can you please explain what is meant by 'regular' cmd and
> 'immediate', lets see what is required here

I unfortunately don't have access to any documentation that explains the
difference between the two. All I know is that IPA requires using
immediate commands, while the QCOM NAND driver requires using 'regular'
commands.

Regards,
Sireesh
>
> --
> ~Vinod