* [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan
@ 2011-07-08 8:22 Raju, Sundaram
2011-07-08 10:04 ` Russell King - ARM Linux
2011-07-08 17:06 ` Linus Walleij
0 siblings, 2 replies; 6+ messages in thread
From: Raju, Sundaram @ 2011-07-08 8:22 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
I am planning to move TI SDMA driver in OMAP tree
into the dmaengine framework.
The first immediate issue of concern I noticed is the
huge number of client drivers that use the existing SDMA driver.
More than 15 client drivers are using the current SDMA driver.
Moving the SDMA driver along with all of these client drivers at a
single stretch seems a humungous task.
I noticed a model in the existing DMA drivers in dmaengine
framework that will over come this issue.
I would like to follow the Freescale i.MX DMA driver model,
where imx-dma.c in drivers/dma which implements all the
dmaengine hooks, internally uses the APIs in dma-v1.c file in
arch/arm/mach-imx. All APIs in dma-v1.c are also exported
out for direct use by clients.
Advantages of this model:
1. No compilation breaks for any of the existing client drivers.
2. Client drivers can be moved one by one to the new SDMA driver
after complete testing on all OMAP boards.
We can mark the old SDMA driver APIs as deprecated and insist on
all client drivers to be moved to the new SDMA driver in the
dmaengine framework soon.
I have made the preliminary changes in code for this design and
I am in the phase of testing a few client drivers. If this is a good way
to proceed then I will send out my patches with the client drivers I
have changed for review once I am done with the testing.
Let me know your thoughts.
Regards,
Sundaram
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan
2011-07-08 8:22 [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan Raju, Sundaram
@ 2011-07-08 10:04 ` Russell King - ARM Linux
2011-07-08 10:14 ` Raju, Sundaram
2011-07-12 16:00 ` Vinod Koul
2011-07-08 17:06 ` Linus Walleij
1 sibling, 2 replies; 6+ messages in thread
From: Russell King - ARM Linux @ 2011-07-08 10:04 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Jul 08, 2011 at 01:52:17PM +0530, Raju, Sundaram wrote:
> I am planning to move TI SDMA driver in OMAP tree
> into the dmaengine framework.
>
> The first immediate issue of concern I noticed is the
> huge number of client drivers that use the existing SDMA driver.
> More than 15 client drivers are using the current SDMA driver.
>
> Moving the SDMA driver along with all of these client drivers at a
> single stretch seems a humungous task.
> I noticed a model in the existing DMA drivers in dmaengine
> framework that will over come this issue.
It _is_ sane to build a dmaengine driver on top of the existing SoC
private API, then convert the drivers to DMA engine, and then cleanup
the resulting DMA engine driver.
What we must make sure though is that the DMA engine slave API (which
isn't well documented) is correctly implemented before drivers are
converted over to use the DMA engine support code, otherwise we may
end up with lots of drivers that require re-fixing several times over.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan
2011-07-08 10:04 ` Russell King - ARM Linux
@ 2011-07-08 10:14 ` Raju, Sundaram
2011-07-08 10:27 ` Tony Lindgren
2011-07-12 16:00 ` Vinod Koul
1 sibling, 1 reply; 6+ messages in thread
From: Raju, Sundaram @ 2011-07-08 10:14 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> Sent: Friday, July 08, 2011 3:34 PM
> To: Raju, Sundaram
> Cc: linux-arm-kernel at lists.infradead.org; linux-omap at vger.kernel.org; Dan;
> Shilimkar, Santosh; linux-kernel at vger.kernel.org
> Subject: Re: [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design
> plan
>
> On Fri, Jul 08, 2011 at 01:52:17PM +0530, Raju, Sundaram wrote:
> > I am planning to move TI SDMA driver in OMAP tree
> > into the dmaengine framework.
> >
> > The first immediate issue of concern I noticed is the
> > huge number of client drivers that use the existing SDMA driver.
> > More than 15 client drivers are using the current SDMA driver.
> >
> > Moving the SDMA driver along with all of these client drivers at a
> > single stretch seems a humungous task.
> > I noticed a model in the existing DMA drivers in dmaengine
> > framework that will over come this issue.
>
> It _is_ sane to build a dmaengine driver on top of the existing SoC
> private API, then convert the drivers to DMA engine, and then cleanup
> the resulting DMA engine driver.
Yes, that is what I thought. Thanks.
>
> What we must make sure though is that the DMA engine slave API (which
> isn't well documented) is correctly implemented before drivers are
> converted over to use the DMA engine support code, otherwise we may
> end up with lots of drivers that require re-fixing several times over.
>
Very true! Agreed!
I will send over the patches for review once I am done with testing.
Regards,
Sundaram
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan
2011-07-08 10:14 ` Raju, Sundaram
@ 2011-07-08 10:27 ` Tony Lindgren
0 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2011-07-08 10:27 UTC (permalink / raw)
To: linux-arm-kernel
* Raju, Sundaram <sundaram@ti.com> [110708 03:09]:
> > -----Original Message-----
> > From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> > Sent: Friday, July 08, 2011 3:34 PM
> > To: Raju, Sundaram
> > Cc: linux-arm-kernel at lists.infradead.org; linux-omap at vger.kernel.org; Dan;
> > Shilimkar, Santosh; linux-kernel at vger.kernel.org
> > Subject: Re: [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design
> > plan
> >
> > On Fri, Jul 08, 2011 at 01:52:17PM +0530, Raju, Sundaram wrote:
> > > I am planning to move TI SDMA driver in OMAP tree
> > > into the dmaengine framework.
> > >
> > > The first immediate issue of concern I noticed is the
> > > huge number of client drivers that use the existing SDMA driver.
> > > More than 15 client drivers are using the current SDMA driver.
> > >
> > > Moving the SDMA driver along with all of these client drivers at a
> > > single stretch seems a humungous task.
> > > I noticed a model in the existing DMA drivers in dmaengine
> > > framework that will over come this issue.
> >
> > It _is_ sane to build a dmaengine driver on top of the existing SoC
> > private API, then convert the drivers to DMA engine, and then cleanup
> > the resulting DMA engine driver.
>
> Yes, that is what I thought. Thanks.
Yes that's what we did with the gpiolib changes. That allows then
converting the drivers over to the DMA engine API one function at
a time (or one driver at a time).
Regards,
Tony
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan
2011-07-08 8:22 [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan Raju, Sundaram
2011-07-08 10:04 ` Russell King - ARM Linux
@ 2011-07-08 17:06 ` Linus Walleij
1 sibling, 0 replies; 6+ messages in thread
From: Linus Walleij @ 2011-07-08 17:06 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Jul 8, 2011 at 10:22 AM, Raju, Sundaram <sundaram@ti.com> wrote:
> I would like to follow the Freescale i.MX DMA driver model,
> where imx-dma.c in drivers/dma which implements all the
> dmaengine hooks, internally uses the APIs in dma-v1.c file in
> arch/arm/mach-imx. All APIs in dma-v1.c are also exported
> out for direct use by clients.
>(...)
> Let me know your thoughts.
Sounds like a plan, just do it.
I think Samsung are currently using the scheme to migrate to
dmaengine as well.
Thanks,
Linus Walleij
^ permalink raw reply [flat|nested] 6+ messages in thread
* [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan
2011-07-08 10:04 ` Russell King - ARM Linux
2011-07-08 10:14 ` Raju, Sundaram
@ 2011-07-12 16:00 ` Vinod Koul
1 sibling, 0 replies; 6+ messages in thread
From: Vinod Koul @ 2011-07-12 16:00 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, 2011-07-08 at 11:04 +0100, Russell King - ARM Linux wrote:
> On Fri, Jul 08, 2011 at 01:52:17PM +0530, Raju, Sundaram wrote:
> > I am planning to move TI SDMA driver in OMAP tree
> > into the dmaengine framework.
> >
> > The first immediate issue of concern I noticed is the
> > huge number of client drivers that use the existing SDMA driver.
> > More than 15 client drivers are using the current SDMA driver.
> >
> > Moving the SDMA driver along with all of these client drivers at a
> > single stretch seems a humungous task.
> > I noticed a model in the existing DMA drivers in dmaengine
> > framework that will over come this issue.
>
> It _is_ sane to build a dmaengine driver on top of the existing SoC
> private API, then convert the drivers to DMA engine, and then cleanup
> the resulting DMA engine driver.
>
> What we must make sure though is that the DMA engine slave API (which
> isn't well documented) is correctly implemented before drivers are
> converted over to use the DMA engine support code, otherwise we may
> end up with lots of drivers that require re-fixing several times over.
Russel,
Remember we have addressed the documentation part, is there something
else you feel is still missing?
--
~Vinod Koul
Intel Corp.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-07-12 16:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-08 8:22 [RFC] dmaengine: Moving TI SDMA driver to dmaengine - design plan Raju, Sundaram
2011-07-08 10:04 ` Russell King - ARM Linux
2011-07-08 10:14 ` Raju, Sundaram
2011-07-08 10:27 ` Tony Lindgren
2011-07-12 16:00 ` Vinod Koul
2011-07-08 17:06 ` Linus Walleij
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).