On Tue, May 26, 2015 at 09:49:57AM +0300, Andy Shevchenko wrote: > On Tue, May 26, 2015 at 7:06 AM, Vinod Koul <vinod.koul@xxxxxxxxx> wrote: > > On Mon, May 25, 2015 at 07:09:31PM +0300, Andy Shevchenko wrote: > >> Intel integrated DMA (iDMA) 64-bit is a specific IP that is used as a part of > >> LPSS devices such as HSUART or SPI. The iDMA IP is attached for private > >> usage on each host controller independently. > >> > >> While it has similarities with Synopsys DesignWare DMA, the following > >> distinctions doesn't allow to use the existing driver: > >> - 64-bit mode with corresponding changes in Hardware Linked List data structure > >> - many slight differences in the channel registers > >> > >> Moreover this driver is based on the DMA virtual channels framework that helps > >> to make the driver cleaner and easy to understand. > >> > > Looking at code and iDMA controllers (if this is the same as I have used), we > > have register compatibility with DW controller, so why new driver and why not > > use and enhance dw driver ? > > Take a look closer. There are many, like I mentioned, slight but not > least changes in the registers, besides *64-bit mode*: > - ctl_hi represents bytes, not items > - 2 bytes of burst is supported (dw has no gap there) > - shuffling bits between ctl_* and cfg_* > - new bits with different meaning in ctl_* and cfg_*. Yes these are the changes which I was thinking and these would impact only calculating different values for a descriptor, so based on device probed you cna load a specfic operation for calculating, rest of the driver code is agnostic > > Preliminary we did a patchset for dw_dmac, but above hw changes blows > up and messes the driver code. I really would prefer to have those two > separate I think it should be doable and reading this patch also doesnt convince me for that > > However, the 32-bit iDMA which is used in Baytrail might be driven by dw_dmac. Also what part here is specfic to *64* bit ? -- ~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