[PATCH 3/9] Add a mfd IPUv3 driver

Sascha Hauer s.hauer at pengutronix.de
Tue Feb 1 05:59:09 EST 2011


On Tue, Feb 01, 2011 at 11:51:28AM +0100, Samuel Ortiz wrote:
> 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.

Ok, will look into it.

> 
> 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/.

The ipu unit also supports cameras which would go to drivers/media/video.
This is the original reason for putting it into drivers/mfd. That said,
I'm not very comfortable with putting it there, mostly because it
contains a lot of code to which a mfd maintainer can hardly say anything
to and because it's one framework more which has to synchronized when
changes to the IPU come.

Thanks,
 Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list