From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
To: Andy Gross <agross@codeaurora.org>
Cc: Vinod Koul <vinod.koul@intel.com>,
dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH] dmaengine: qcom_bam_dma: Add descriptor flag APIs
Date: Thu, 22 May 2014 16:56:18 +0100 [thread overview]
Message-ID: <537E1E22.9070701@linaro.org> (raw)
In-Reply-To: <20140522153214.GB22327@qualcomm.com>
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>
>
WARNING: multiple messages have this Message-ID (diff)
From: srinivas.kandagatla@linaro.org (Srinivas Kandagatla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] dmaengine: qcom_bam_dma: Add descriptor flag APIs
Date: Thu, 22 May 2014 16:56:18 +0100 [thread overview]
Message-ID: <537E1E22.9070701@linaro.org> (raw)
In-Reply-To: <20140522153214.GB22327@qualcomm.com>
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>
>
next prev parent reply other threads:[~2014-05-22 15:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-17 22:04 [PATCH] dmaengine: qcom_bam_dma: Add descriptor flag APIs Andy Gross
2014-04-17 22:04 ` Andy Gross
2014-05-02 16:28 ` Vinod Koul
2014-05-02 16:28 ` Vinod Koul
2014-05-02 18:08 ` Andy Gross
2014-05-02 18:08 ` Andy Gross
2014-05-15 17:32 ` Andy Gross
2014-05-15 17:32 ` Andy Gross
2014-05-15 19:03 ` Srinivas Kandagatla
2014-05-15 19:03 ` Srinivas Kandagatla
2014-05-22 6:10 ` Vinod Koul
2014-05-22 6:10 ` Vinod Koul
2014-05-22 15:09 ` Andy Gross
2014-05-22 15:09 ` Andy Gross
2014-05-22 15:27 ` Srinivas Kandagatla
2014-05-22 15:27 ` Srinivas Kandagatla
2014-05-22 15:32 ` Andy Gross
2014-05-22 15:32 ` Andy Gross
2014-05-22 15:56 ` Srinivas Kandagatla [this message]
2014-05-22 15:56 ` Srinivas Kandagatla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=537E1E22.9070701@linaro.org \
--to=srinivas.kandagatla@linaro.org \
--cc=agross@codeaurora.org \
--cc=dmaengine@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vinod.koul@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.