Re: [PATCH v9] dmaengine: Add Xilinx AXI Direct Memory Access Engine driver support

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

 



On Mon, Oct 05, 2015 at 03:48:39PM +0000, Appana Durga Kedareswara Rao wrote:
> > Pls justify why we should have two drivers. Looking at code makes me think
> > otherwise
> 
>
[pls wrap your messages within 80 chars, I have reflowed below]
 
> I agree with you and even initially we had a common driver with the
> similar implementation as you were mentioning.  Later on, being soft IPs,
> new features were added and the IPs became diversified. As an example,
> this driver has a residue Calculation whereas the other driver (VDMA) is
> not applicable and the way interrupts are handled is completely different.
> Briefly, they are two complete different IPs with a different register set
> and descriptor format. Eventually, it became too complex To manage the
> common driver as the code became messy with lot of conditions around.
> Mainly the validation process is a big concern, as every change In the IP
> compels to test all the complete features of both IPs.  So, we got
> convinced to the approach of separating the drivers to overcome this and
> it comes with Few addition lines of common code.

No it is not that hard, bunch of people already do that.

You need is a smart probe or perhaps invoke IP specfic method to
initialize dma controller.

In above case no one forces you to register status callback for both, you
can do based on the controller probed...

I am sorry but validation is not a strong point here. I have a driver which
manages bunch of different generations. Reuse helps in having lesser code
and bug fixes across generations easily..

We cant have two drivers pretty much doing same thing in kernel

Please fix this and come back

-- 
~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