Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1691290 > unrolled thread

Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data descriptors.

Started byVinod Koul <vinod.koul@intel.com>
First post2017-07-19 12:10 +0200
Last post2017-07-28 18:10 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data  descriptors. Vinod Koul <vinod.koul@intel.com> - 2017-07-19 12:10 +0200
    Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data  descriptors. Abhishek Sahu <absahu@codeaurora.org> - 2017-07-19 14:20 +0200
      Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data  descriptors. Abhishek Sahu <absahu@codeaurora.org> - 2017-07-28 18:10 +0200

#1691290 — Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data descriptors.

FromVinod Koul <vinod.koul@intel.com>
Date2017-07-19 12:10 +0200
SubjectRe: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data descriptors.
Message-ID<u4U5B-74z-39@gated-at.bofh.it>
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

> 
> 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..?

>   */
>  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),
>  };
>  
>  /**
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
> 

-- 
~Vinod

[toc] | [next] | [standalone]


#1691631

FromAbhishek Sahu <absahu@codeaurora.org>
Date2017-07-19 14:20 +0200
Message-ID<u4W7o-8rU-5@gated-at.bofh.it>
In reply to#1691290
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?

>>   */
>>  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),
>>  };
>> 
>>  /**
>> --
>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
>> member of Code Aurora Forum, hosted by The Linux Foundation
>> 

-- 
Abhishek Sahu

[toc] | [prev] | [next] | [standalone]


#1698917

FromAbhishek Sahu <absahu@codeaurora.org>
Date2017-07-28 18:10 +0200
Message-ID<u8fZT-5YC-3@gated-at.bofh.it>
In reply to#1691631
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?

>>>   */
>>>  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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web