ext Mauro Carvalho Chehab wrote:
On Thu, 27 Nov 2008 00:14:51 +0530
"Trilok Soni" <soni.trilok@xxxxxxxxx> wrote:
+
+/*
+ *
+ * DMA hardware.
+ *
+ */
+
+/* Ack all interrupt on CSR and IRQSTATUS_L0 */
+static void omap24xxcam_dmahw_ack_all(unsigned long base)
Oh, no! yet another dma video buffers handling...
Soni, couldn't this be converted to use videobuf?
Yes, it could be.
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.
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.
Cheers,
--
Sakari Ailus
sakari.ailus@xxxxxxxxx
--
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