Re: [PATCH] drm: bridge: tc358764: Use drm panel_bridge API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 13, 2021 at 06:27:37PM +0530, Jagan Teki wrote:
> On Mon, Dec 13, 2021 at 6:16 PM Laurent Pinchart wrote:
> > On Mon, Dec 13, 2021 at 06:09:23PM +0530, Jagan Teki wrote:
> > > On Mon, Dec 13, 2021 at 6:02 PM Laurent Pinchart wrote:
> > > > On Mon, Dec 13, 2021 at 05:49:29PM +0530, Jagan Teki wrote:
> > > > > Replace the manual panel handling code by a drm panel_bridge via
> > > > > devm_drm_of_get_bridge().
> > > > >
> > > > > Adding panel_bridge handling,
> > > > >
> > > > > - Drops drm_connector and related operations as drm_bridge_attach
> > > > >   creates connector during attachment.
> > > > >
> > > > > - Drops panel pointer and panel healpers.
> > > > >
> > > > > This simplifies the driver and allows all components in the display
> > > > > pipeline to be treated as bridges.
> > > > >
> > > > > Signed-off-by: Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx>
> > > > > ---
> > > > >  drivers/gpu/drm/bridge/tc358764.c | 99 ++-----------------------------
> > > > >  1 file changed, 6 insertions(+), 93 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/bridge/tc358764.c b/drivers/gpu/drm/bridge/tc358764.c
> > > > > index c1e35bdf9232..28480bdc4287 100644
> > > > > --- a/drivers/gpu/drm/bridge/tc358764.c
> > > > > +++ b/drivers/gpu/drm/bridge/tc358764.c
> > > > > @@ -153,10 +153,9 @@ static const char * const tc358764_supplies[] = {
> > > > >  struct tc358764 {
> > > > >       struct device *dev;
> > > > >       struct drm_bridge bridge;
> > > > > -     struct drm_connector connector;
> > > > > +     struct drm_bridge *panel_bridge;
> > > >
> > > > s/panel_bridge/next_bridge/ as it may not be a panel.
> > >
> > > Sometime, I'm a strong believer of my own notation (I may be wrong)
> > > based on my understanding. This is downstream bridge and the only
> > > option it to connect is panel and panel in bridge terminology are
> > > treated as panel_bridge. This is the reason I have used panel_bridge.
> > > next_bridge notation will be used if the bridge connected to any
> > > downstream bridge, like we can use next_bridge notation in host bridge
> > > drivers as host bridge can be an option of connecting downstream
> > > bridge or panel.
> >
> > The downstream bridge doesn't have to be a DSI panel, it could be an
> > LVDS-to-DPI bridge for instance, or an LVDS-to-HDMI encoder.
> 
> Okay. What are use-cases where we can use panel_bridge?

The panel bridge wraps a drm_panel in a drm_bridge, which makes it
completely transparent for the other bridges in the chain whether their
output is connected to a panel or to something else. I would thus never
call a variable panel_bridge unless in the panel bridge driver itself.

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux