Hi Sakari, On Tue, Dec 9, 2008 at 2:23 PM, Sakari Ailus <sakari.ailus@xxxxxxxxx> wrote: > The DMA part is definitely the ugliest part of omap24xxcam. > > This is actually also a DMA controller driver. The system DMA driver could > not be used as such as it was limited to just one controller --- the OMAP 2 > camera block has its own DMA controller with four transfers in queue > (maximum). > > There's also an MMU, not the system MMU but the camera block MMU. This MMU > is not being used now by omap24xxcam at all since when omap24xxcam driver > was written, there was not too much time available and no generic MMU > framework. So the MMU support was left out. Instead, there's a hack to > allocate as large as possible continuous memory areas and avoid overruns > that way. DMA transfer overruns happen on large proportion of frames without > this hack. This is due to legacy and carried forward to every new kernel version from year 2004. I hope someone having H4 EVM can do it lot faster than me, as I only have N8xx tablets, and debugging on them might be slow. > > Hiroshi Doyu is working on a generic IOMMU framework for OMAPs that could be > used here. With that framework available, converting the OMAP 2 camera > driver to use videobuf would be a lot easier. The performance would be > better, too. A generic DMA controller driver would be also good to have but > not mandatory. This is not yet mainlined, so let's incorporate IOMMU bits once it gets mainlined. -- ---Trilok Soni http://triloksoni.wordpress.com http://www.linkedin.com/in/triloksoni -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html