[PATCH v7 12/12] drm: sun4: dsi: Convert to bridge driver
Jagan Teki
jagan at amarulasolutions.com
Wed Mar 29 15:38:17 UTC 2023
On Wed, Mar 29, 2023 at 8:29 PM Maxime Ripard <maxime at cerno.tech> wrote:
>
> Hi,
>
> The patch prefix should be drm/sun4i:
I did follow my previous prefix, I will update this.
>
> On Wed, Mar 29, 2023 at 06:49:29PM +0530, Jagan Teki wrote:
> > Convert the encoder to bridge driver in order to standardize on a
> > single API by supporting all varients of downstream bridge devices.
>
> Which variant, and why do we need to convert to a bridge to support all of them?
Downstream bridge variants like DSI panel, DSI bridge and
I2C-Configured DSI bridges. Bridge conversion would be required for
the DSI host to access the more variety and complex downstream bridges
in a standardized bridge chain way which is indeed complex for encoder
driven DSI hosts.
>
> > The drm_encoder can't be removed as it's exposed to userspace, so it
> > then becomes a dumb encoder, without any operation implemented.
> >
> > Tested on DSI Panel, DSI Bridge, I2C-Configured DSI Bridge.
> >
> > Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
>
> [...]
>
> > +static const struct component_ops sun6i_dsi_ops;
> > +
> > static int sun6i_dsi_attach(struct mipi_dsi_host *host,
> > struct mipi_dsi_device *device)
> > {
> > struct sun6i_dsi *dsi = host_to_sun6i_dsi(host);
> > - struct drm_panel *panel = of_drm_find_panel(device->dev.of_node);
>
> That one looks unrelated. Why do you need that change?
This was replaced with drmm_of_dsi_get_bridge for lookup of both panel
and bridge. I think I will separate this into another patch.
Thanks,
Jagan.
More information about the dri-devel
mailing list