Re: [PATCH] dmaengine: qcom_bam_dma: Add descriptor flag APIs

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

 





On 22/05/14 16:32, Andy Gross wrote:
On Thu, May 22, 2014 at 04:27:05PM +0100, Srinivas Kandagatla wrote:

<snip>


The EOT is not used for every transaction.  It is part of a handshaking
protocol with the attached peripheral, much like the NWD (notify when done).  As
near as I can tell today, no peripheral depends on the EOB, so we could drop it
for now until it is needed and cross this bridge when we need to.

As EOT behaviour is totally dependent on the attached peripheral(or
channel), Can't we make this specific to channel by passing
additional flags in the DT dma channel descriptors? This will be
better abstraction for drivers as well.

Even for channels where you want to use EOT, you don't use it for every
transaction.  So a global channel flag isn't going to work.  This is the same
for NWD.  It is a per descriptor choice.

Thanks Andy for explaining, I got it now.


I know that EOT flag is part of descriptor but still some channels
*must* have EOT to run there state-machine correctly. So making it
optional for those channels might be wrong.

Are there any use cases for particular *channel* where EOT
requirement changes dynamically?

I2C is one example.  You place EOT on the last transaction that makes up a
write/read transaction.  You may have multiple descriptors to send data, but the
last one has EOT.  And for read transactions, you place NWD on the last read
transaction.

<snip>

--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux