Re: [PATCH v2 7/8] dmaengine: add a driver for Intel integrated DMA 64-bit

From: Vinod Koul
Date: Tue Jun 02 2015 - 08:48:03 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/