Re: [PATCH 3/9] Add a mfd IPUv3 driver

From: Sascha Hauer
Date: Tue Feb 01 2011 - 05:59:17 EST


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 |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/