Re: [PATCH 1/4] dma: fsl-qdma: add qDMA Command queue mode driver

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

 



On Tue, Dec 19, 2017 at 11:19:52AM +0000, Wen He wrote:

> > > This struct defined description two different dma message format that
> > > Compound Command Descriptor Format and qDMA Compound S/G Format,
> > if add this too to union, it could be ambiguous.
> > 
> > at lower level do we care about the format, we fill and submit to HW
> > 
> 
> Okay, Is that ok? 
> 
> Will and below using fsl_qdma_desc_format instead fsl_qdma_ccfg and delete fsl_qdma_csgf in next version. 
> Keep and fixed all of description call function, the desc pointer defined by the fsl_qdma_descs_format.
> 
> struct fsl_qdma_desc_format *ccdf, *csgf;
> 
> then fill and submit to HW.

Looks okay for now, will check the resulting code and let you know

> > > > IIRC there are macros which which take care of this, can you check
> > > > other FSL drivers please
> > > >
> > >
> > > Okay, but I search the FSL drivers and no found. Do you know where are
> > them ?
> > 
> > See DMA_IN/OUT in dma/fsldma.h
> > 
> 
> Okay, but DMA_IN/OUT need struct fsldma_chan.
> May be I can refer to it that Implement a similar macro, will and below to instead it in next version.
> 
> #define QDMA_IN(fsl_qdma_engine, addr)                                  \
>                 (((fsl_qdma_engine)->big_endian & FSL_DMA_BIG_ENDIAN) ?         \
>                         ioread32be(addr) : ioread32(addr))
> 
> #define QDMA_OUT(fsl_qdma_engine, addr, val)                            \
>                 (((fsl_qdma_engine)->big_endian & FSL_DMA_BIG_ENDIAN) ?         \
>                         iowrite32be(val, addr) : iowrite32(val, addr))

Ah that would be duplicate. How about making it common and abstracting this
as FSL_DMA_IN/OUT and using in both drivers?
-- 
~Vinod
--
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