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