[PATCH v12 3/4] drm/bridge: anx7625: add MIPI DPI input feature

Xin Ji xji at analogixsemi.com
Mon Mar 21 11:52:26 UTC 2022


On Tue, Mar 08, 2022 at 11:00:20AM +0100, Robert Foss wrote:
> On Mon, 7 Mar 2022 at 16:49, Robert Foss <robert.foss at linaro.org> wrote:
> >
> > On Mon, 7 Mar 2022 at 07:12, Chen-Yu Tsai <wenst at chromium.org> wrote:
> > >
> > > On Sun, Mar 06, 2022 at 07:13:30PM +0200, Laurent Pinchart wrote:
> > > > Hello Xin,
> > > >
> > > > (Question for Rob below, and I'm afraid this is urgent as we need to
> > > > merge a fix in v5.17).
> > > >
> > > > On Fri, Nov 05, 2021 at 11:19:03AM +0800, Xin Ji wrote:
> > > > > The basic anx7625 driver only support MIPI DSI rx signal input.
> > > > > This patch add MIPI DPI rx input configuration support, after apply
> > > > > this patch, the driver can support DSI rx or DPI rx by adding
> > > > > 'bus-type' in DT.
> > > > >
> > > > > Reviewed-by: Robert Foss <robert.foss at linaro.org>
> > > > > Signed-off-by: Xin Ji <xji at analogixsemi.com>
> > > > > ---
> > > > >  drivers/gpu/drm/bridge/analogix/anx7625.c | 247 ++++++++++++++++------
> > > > >  drivers/gpu/drm/bridge/analogix/anx7625.h |  18 +-
> > > > >  2 files changed, 205 insertions(+), 60 deletions(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > > > > index f48e91134c20..f7c3386c8929 100644
> > > > > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > > > > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > >
> > > [...]
> > >
> > > > >  static int anx7625_parse_dt(struct device *dev,
> > > > >                         struct anx7625_platform_data *pdata)
> > > > >  {
> > > > > -   struct device_node *np = dev->of_node;
> > > > > +   struct device_node *np = dev->of_node, *ep0;
> > > > >     struct drm_panel *panel;
> > > > >     int ret;
> > > > > +   int bus_type, mipi_lanes;
> > > > > +
> > > > > +   anx7625_get_swing_setting(dev, pdata);
> > > > >
> > > > > +   pdata->is_dpi = 1; /* default dpi mode */
> > > > >     pdata->mipi_host_node = of_graph_get_remote_node(np, 0, 0);
> > > > >     if (!pdata->mipi_host_node) {
> > > > >             DRM_DEV_ERROR(dev, "fail to get internal panel.\n");
> > > > >             return -ENODEV;
> > > > >     }
> > > > >
> > > > > -   DRM_DEV_DEBUG_DRIVER(dev, "found dsi host node.\n");
> > > > > +   bus_type = V4L2_FWNODE_BUS_TYPE_PARALLEL;
> > > > > +   mipi_lanes = MAX_LANES_SUPPORT;
> > > > > +   ep0 = of_graph_get_endpoint_by_regs(np, 0, 0);
> > > > > +   if (ep0) {
> > > > > +           if (of_property_read_u32(ep0, "bus-type", &bus_type))
> > > > > +                   bus_type = 0;
> > > > > +
> > > > > +           mipi_lanes = of_property_count_u32_elems(ep0, "data-lanes");
> > > > > +   }
> > > > > +
> > > > > +   if (bus_type == V4L2_FWNODE_BUS_TYPE_PARALLEL) /* bus type is Parallel(DSI) */
> > > >
> > > > This is not correct *at all*. V4L2_FWNODE_BUS_TYPE_PARALLEL has nothing
> > > > to do with DSI. DSI stands for Digital *Serial* Interface. If anything,
> > > > the V4L2_FWNODE_BUS_TYPE_PARALLEL type would map better to DPI, even if
> > > > it's not an exact match.
> > > >
> > > > This patch has landed in v5.17-rc1, along with the corresponding
> > > > bindings. As DT bindings are an ABI, we should really fix this before
> > > > v5.17 is released. There is no DSI bus types defined in DT, and adding
> > > > one as a fix so late in the v5.17-rc cycle seems a bit of a stretch to
> > > > me (unless Rob disagrees).
> > > >
> > > > It would seem best to revert this series and the corresponding bindings,
> > > > and retry in v5.18.
> > >
> > > There is a DT patch using this property that is already queued up for 5.17
> > > in the soc tree:
> > >
> > > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fall%2F20220214200507.2500693-1-nfraprado%40collabora.com%2F&data=04%7C01%7Cxji%40analogixsemi.com%7C69542695a9cd42cff5a508da00ea7baa%7Cb099b0b4f26c4cf59a0fd5be9acab205%7C0%7C0%7C637823304343387964%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=KbitBhnvGWfpHu6PNLUmrgdqcoZbXaA3hGwq9iAjQfI%3D&reserved=0
> > >
> > > merged here:
> > >
> > > https://nam10.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit.kernel.org%2Fsoc%2Fsoc%2Fc%2F32568ae37596b529628ac09b875f4874e614f63f&data=04%7C01%7Cxji%40analogixsemi.com%7C69542695a9cd42cff5a508da00ea7baa%7Cb099b0b4f26c4cf59a0fd5be9acab205%7C0%7C0%7C637823304343387964%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=YJAs0IPxR0hrHpGR7K00itcTIF9cnz4L4ta%2B9ACQdSk%3D&reserved=0
> > >
> > > We will need to revert that one as well.
> >
> > I just submitted a series reverting the dt-binding change + the
> > related commit to "mt8183: jacuzzi".
> > Can I get a quick r-b/a-b in order to get this into v5.17.
> >
> > https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fall%2F20220307154558.2505734-3-robert.foss%40linaro.org%2F&data=04%7C01%7Cxji%40analogixsemi.com%7C69542695a9cd42cff5a508da00ea7baa%7Cb099b0b4f26c4cf59a0fd5be9acab205%7C0%7C0%7C637823304343387964%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=S5ScH2jid3ZRobvO%2Fl2nVgdOvFHNj1nWafTQYG3L9d0%3D&reserved=0
> >
> 
> v2 of revert submitted.
> 
> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fall%2F20220308094911.2680291-1-robert.foss%40linaro.org%2F&data=04%7C01%7Cxji%40analogixsemi.com%7C69542695a9cd42cff5a508da00ea7baa%7Cb099b0b4f26c4cf59a0fd5be9acab205%7C0%7C0%7C637823304343387964%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=D6ulS16g4v4x0u23OtYRrSeitTqllWwDzPiT%2BxMcQQg%3D&reserved=0
> 
> Xin: Will you spin a series that adds DPI support and re-enables DPI
> for anx7625? Additionally, "mt8183: jacuzzi" will have to have DPI
> re-enabled.
Hi Robert Foss, I'm little confused, do I need resend this serial or
send a patch based on currently define(V4L2_FWNODE_BUS_TYPE_PARALLEL)?

And use V4L2_FWNODE_BUS_TYPE_PARALLEL for DPI, other value for DSI
setup?

Thanks,
Xin


More information about the dri-devel mailing list