Re: [PATCH 1/6] mmc: tmio: split core functionality, DMA and MFD glue

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

 



Hi Ian

On Wed, 16 Mar 2011, Magnus Damm wrote:

> >>>> >> On Fri, Mar 11, 2011 at 4:51 PM, Guennadi Liakhovetski
> >>>> >> <g.liakhovetski@xxxxxx> wrote:
> >>>> >> > TMIO MMC chips contain an SD / SDIO IP core from Panasonic, similar to
> >>>> >> > the one, used in MN5774 and other MN57xx controllers. These IP cores are
> >>>> >> > included in many multifunction devices, in sh-mobile chips from Renesas,
> >>>> >> > in the latter case they can also use DMA. Some sh-mobile implementations
> >>>> >> > also have some other specialities, that MFD-based solutions don't have.
> >>>> >> > This makes supporting all these features in a monolithic driver inconveniet
> >>>> >> > and error-prone. This patch splits the driver into 3 parts: the core,
> >>>> >> > the MFD glue and the DMA support. In case of a modular build, two modules
> >>>> >> > will be built: mmc_tmio_core and mmc_tmio.
> >>>> >> >
> >>>> >> > Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
> 
> On Wed, Mar 16, 2011 at 8:09 PM, Ian Molton <ian@xxxxxxxxxxxxxx> wrote:
> > Im fine with it as long as it doesnt complicate my plan to add PXA DMA
> > to the driver.
> 
> Hi Ian,
> 
> Thanks for your email. I'm glad to hear that you have no objections to
> this patch series.
> 
> Regarding PXA DMA, without knowing the PXA DMA hardware that well
> (never recall using DMA on that platform), from a code reuse point of
> view it would be absolutely best to share the DMA Engine interface in
> the tmio mmc driver with the SDHI. But I'm not sure if any DMA Engine
> driver exists for the PXA though.

I presume you're talking about an external tmio MFD chip connected to a   
PXA SoC. Concerning adding DMA to this configuration, just like Magnus, I 
am not aware of any dmaengine implementations for PXA. I know, there is a 
private PXA DMA API, used, e.g., in pxa_camera.c and defined in 
arch/arm/plat-pxa/dma.c. I think, that's also what you would use for 
external DMA.

There has been a discussion whether the dmaengine API should be used 
universally, and the conclusion more or less was:

1. if your DMA engine can do standard operations like memcpy, xor, then 
yes
2. if you use drivers for external hardware or built-in IP blocks, that 
use the dmaengine API, then yes
3. otherwise it's not compulsory

So, until now PXA didn't have any of the (1) or (2) cases. Now, if you 
want to use tmio on PXA you have a choice: either (1) to add a new DMA 
glue to tmio for PXA, or (2) to add a dmaengine API to PXA DMA. The latter 
seems to be preferred. But even if you decide to go the first route, this 
driver split shall make your work easier.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux