Re: [[PATCH] 8/9] DMA-UART-Driver-for-AST2500
From: Vinod
Date: Sat Oct 20 2018 - 12:26:33 EST
On 19-10-18, 12:41, sudheer.v wrote:
> On Fri, Oct 19, 2018 at 10:32:24AM +1100, Benjamin Herrenschmidt wrote:
> > On Thu, 2018-10-18 at 15:25 +0530, Vinod wrote:
> > >
> > > > It's not a dmaengine driver. It's a serial UART driver that happens to
> > > > use a dedicated DMA engine.
> > >
> > > Then I see no reason for it to use dmaengine APIs. The framework allows
> > > people to share a controller for many clients, but if you have dedicated
> > > one then you may use it directly
> >
> > Well... the engine is shared by a few UARTs, they have dedicated rings
> > but there's a common set of regs for interrupt handling etc.
> >
> > That said, I still think it could be contained within a UART driver,
> > there's little benefit in adding the framework overhead, esp since
> > these are really weak cores, any overhead will be felt.
> >
> > Ben.
> >
> > > > It's unclear whether it should be split into two drivers, or just have
> > > > the serial driver directly use the dma engine since that engine is
> > > > dedicated in HW to only work on those UARTs and nothing else...
> > > >
> > > > Cheers,
> > > > Ben.
>
> Initially we wanted to have a single driver,
> however we had an informal discussion with one of the maintainer
> and based on the feedback, followed the Linux DMA and UART architecture.
>
> If this seperate DMA-engine driver adds more overhead than benifit,
> we will merge them into a single UART driver and resubmitt the patches.
> Vinod,
> can this dma-controller driver sit under dma subsystem?.
> or better to move it under UART framework.
My advise would be to see what you can do with the DMA IP block. If this
can/would be used in different places then it would make sense to do a
dmaengine driver and solve the problem for everyone.
If this is always going to be hidden behind serial then maybe it makes
sense to be inside serial driver and not use dmaengine APIs
If you decide to prefer the former case, please move it to dmaengine and
resubmit :)
HTH
--
~Vinod