[PATCH 3/9] Add a mfd IPUv3 driver
From: Samuel Ortiz <hidden>
Date: 2011-02-01 10:51:32
Also in:
lkml
Hi Sascha, On Mon, Dec 20, 2010 at 11:48:41AM +0100, Sascha Hauer wrote:
The IPU is the Image Processing Unit found on i.MX50/51/53 SoCs. It features several units for image processing, this patch adds support for the units needed for Framebuffer support, namely: - Display Controller (dc) - Display Interface (di) - Display Multi Fifo Controller (dmfc) - Display Processor (dp) - Image DMA Controller (idmac) This patch is based on the Freescale driver, but follows a different approach. The Freescale code implements logical idmac channels and the handling of the subunits is hidden in common idmac code pathes in big switch/case statements. This patch instead just provides code and resource management for the different subunits. The user, in this case the framebuffer driver, decides how the different units play together. The IPU has other units missing in this patch: - CMOS Sensor Interface (csi) - Video Deinterlacer (vdi) - Sensor Multi FIFO Controler (smfc) - Image Converter (ic) - Image Rotator (irt) So expect more files to come in this directory.
I couldn't look into details as the patch is huge, but it looks mostly good. One thing I don't really like is the +static struct device *ipu_dev; +void __iomem *ipu_cm_reg; +void __iomem *ipu_idmac_reg; part. I know there is currently no HW supporting more than one of those controllers, but as a general principle I find this is not a good programming habit. Now, on a less technical note: I don't really see how this driver fits in the MFD category, unless the upcoming units support brings something new. If I were looking for the i.MX5x image processing unit, I would be looking under drivers/video/. Cheers, Samuel. -- Intel Open Source Technology Centre http://oss.intel.com/