All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Jiang <dave.jiang@intel.com>
To: Vinod Koul <vinod.koul@intel.com>, Abhishek Sahu <absahu@codeaurora.org>
Cc: "andy.gross@linaro.org" <andy.gross@linaro.org>,
	"david.brown@linaro.org" <david.brown@linaro.org>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"linux-soc@vger.kernel.org" <linux-soc@vger.kernel.org>,
	"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data descriptors.
Date: Mon, 31 Jul 2017 09:35:53 -0700	[thread overview]
Message-ID: <790ee7c8-a011-431f-e878-636c1e8832fb@intel.com> (raw)
In-Reply-To: <20170731123405.GK3053@localhost>



On 07/31/2017 05:34 AM, Vinod Koul wrote:
> On Fri, Jul 28, 2017 at 09:38:56PM +0530, Abhishek Sahu wrote:
>> On 2017-07-19 17:48, Abhishek Sahu wrote:
>>> On 2017-07-19 15:37, Vinod Koul wrote:
>>>> On Mon, Jun 26, 2017 at 06:19:27PM +0530, Abhishek Sahu wrote:
>>>>> Some of the DMA controllers are capable of issuing the commands
>>>>> to peripheral by the DMA. These commands can be list of register
>>>>> reads/writes and its different from normal data reads/writes.
>>>>> This patch adds new flag DMA_PREP_CMD in DMA API which tells
>>>>> the driver that the data passed to DMA API is in command format
>>>>> and DMA driver will form descriptor in the required format.
>>>>>
>>>>> This flag can be used by any DMA controller driver which requires
>>>>> special handling for non-Data descriptors.
>>>>
>>>> Please add Documentation for this new flag in
>>>> Documentation/dmaengine/provider.txt
>>>>
>>>
>>> Sure. I will add update the documentation in v3.
>>>
>>>>>
>>>>> Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
>>>>> ---
>>>>> include/linux/dmaengine.h | 3 +++
>>>>> 1 file changed, 3 insertions(+)
>>>>>
>>>>> diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
>>>>> index 5336808..bbc297e 100644
>>>>> --- a/include/linux/dmaengine.h
>>>>> +++ b/include/linux/dmaengine.h
>>>>> @@ -186,6 +186,8 @@ struct dma_interleaved_template {
>>>>>  *  on the result of this operation
>>>>>  * @DMA_CTRL_REUSE: client can reuse the descriptor and submit again
>>>>> till
>>>>>  *  cleared or freed
>>>>> + * @DMA_PREP_CMD: tell the driver that the data passed to DMA API is
>>>>> in command
>>>>> + *  format and it will be used for configuring the peripheral
>>>>> registers.
>>>>
>>>> Can you explain what is command format..?
>>>>
>>>
>>> The command format is not generic and its format will be dependent
>>> upon DMA engine. The client drivers will give data in its own
>>> command formats and this flag will be passed to DMA API’s to do
>>> the parsing according to its own command format.
>>>
>>> Currently this flag description and name is inclined towards
>>> Qualcomm BAM DMA command flag. We want to make this flag as
>>> generic one so require your suggestion regarding this.
>>> Will renaming this flag as DMA_PREP_NON_DATA or
>>> DMA_PREP_CUSTOM make it more generic?
>>>
>>
>>  can we use same flag name DMA_PREP_CMD or should we
>>  go for some other name?
> 
> Are you asking for using DMA_PREP_CMD, for that I think should be ok
> 
> If you asking about adding a new flag with DMA_PREP_CMD, then it would no

Vinod, I wonder if we should introduce a DMA_PREP_CUSTOM flag and then
reserve X number of upper flag bits to vendor specified that only they
care about. That way they can define whatever they want in the upper
bits if they need it.


> 
>>
>>>>>  */
>>>>> enum dma_ctrl_flags {
>>>>> 	DMA_PREP_INTERRUPT = (1 << 0),
>>>>> @@ -195,6 +197,7 @@ enum dma_ctrl_flags {
>>>>> 	DMA_PREP_CONTINUE = (1 << 4),
>>>>> 	DMA_PREP_FENCE = (1 << 5),
>>>>> 	DMA_CTRL_REUSE = (1 << 6),
>>>>> +	DMA_PREP_CMD = (1 << 7),
>>>>> };
>>>>>
>>
>>
>> -- 
>> Abhishek Sahu
> 

  parent reply	other threads:[~2017-07-31 16:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26 12:49 [PATCH v2 0/3] Support for QCOM BAM DMA command descriptor Abhishek Sahu
2017-06-26 12:49 ` [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data descriptors Abhishek Sahu
2017-07-17  9:24   ` Abhishek Sahu
2017-07-19 10:11     ` Vinod Koul
2017-07-19 12:26       ` Abhishek Sahu
2017-07-19 10:07   ` Vinod Koul
2017-07-19 12:18     ` Abhishek Sahu
2017-07-28 16:08       ` Abhishek Sahu
2017-07-31 12:34         ` Vinod Koul
2017-07-31 13:01           ` Abhishek Sahu
2017-07-31 16:35           ` Dave Jiang [this message]
2017-08-02  4:53             ` Vinod Koul
2017-06-26 12:49 ` [PATCH v2 2/3] dmaengine: qcom: bam_dma: wrapper functions for command descriptor Abhishek Sahu
2017-07-19 10:09   ` Vinod Koul
2017-07-19 11:31     ` Abhishek Sahu
2017-06-26 12:49 ` [PATCH v2 3/3] dmaengine: qcom: bam_dma: add command descriptor flag Abhishek Sahu

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=790ee7c8-a011-431f-e878-636c1e8832fb@intel.com \
    --to=dave.jiang@intel.com \
    --cc=absahu@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=dan.j.williams@intel.com \
    --cc=david.brown@linaro.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-soc@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.