Re: [PATCH v2 8/8] [RFC] drm/ingenic: convert to component framework for jz4780 hdmi

From: Daniel Vetter
Date: Tue Aug 10 2021 - 05:32:03 EST


On Thu, Aug 05, 2021 at 06:17:32PM +0200, Paul Cercueil wrote:
> Hi Nikolaus and Laurent,
>
> Le jeu., août 5 2021 at 18:07:20 +0200, H. Nikolaus Schaller
> <hns@xxxxxxxxxxxxx> a écrit :
> > Hi Laurent,
> >
> > > Am 05.08.2021 um 17:04 schrieb Laurent Pinchart
> > > <laurent.pinchart@xxxxxxxxxxxxxxxx>:
> > >
> > > Hi Nikolaus,
> > >
> > > Thank you for the patch.
> > >
> > > On Thu, Aug 05, 2021 at 04:07:57PM +0200, H. Nikolaus Schaller
> > > wrote:
> > > > This patch attempts to convert the ingenic-dw-hdmi driver
> > > > into a version that uses the component framework.
> > >
> > > Why ? What problem would this solve ?
> >
> > Well, it was suggested in a v1 we did post several months ago. I have
> > not
> > looked up by whom and do not exactly remember the reasons.
> >
> > We now simply thought that it is common style since dome dw-hdmi drivers
> > make use of it but some others don't. And we got it working without.
> >
> > If it is not needed/requested by anyone, we can drop it from v3 (or add
> > later).
>
> I don't remember exactly TBH - the only reason to use a component is to have
> access to the main driver's "drm_device" structure. The IPU needs it for
> instance, to register planes; but I don't think this HDMI driver needs it as
> it registers a bridge.

Imo for bridges/panels we really should move _away_ from component, not
towards it. If there's a gap in the bridge/panel api (I think there's some
patches floating around exactly to make this more a multi-step process for
reasons like the above) then we need to fix that.

Unfortunately the dw-hdmi and also dw-dsi drivers are very much built on
top of component.c and side-step the bridge stuff quite a lot. That
results in quite bad integration pains all around as we add more users of
these.

The other unfortunate thing is that there's not many people working in
this area, so fundamental improvements to the core design take a long time
to make and then even longer to roll out. It's a bit a tough spot, but
also, help very much welcome :-)
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch