Messages in this thread | | | Date | Fri, 28 Jul 2017 21:38:56 +0530 | From | Abhishek Sahu <> | Subject | Re: [PATCH v2 1/3] dmaengine: add DMA_PREP_CMD for non-Data descriptors. |
| |
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
| |