Re: [PATCH v2 1/4] drm/bridge: Add fwnode based helpers to get the next bridge

Dmitry Baryshkov
2024-03-09T12:50:59Z

On Sat, 9 Mar 2024 at 13:25, Sui Jingfeng <sui.jingfeng@linux.dev> wrote:
>
> Hi,
>
>
> On 2024/3/9 18:39, Dmitry Baryshkov wrote:
> > On Sat, 9 Mar 2024 at 11:33, Sui Jingfeng <sui.jingfeng@linux.dev> wrote:
> >> Hi,
> >>
> >>
> >> On 2024/3/8 04:40, Dmitry Baryshkov wrote:
> >>>>> But really, there is nothing so hard about it:
> >>>>> - Change of_node to fw_node, apply an automatic patch changing this in
> >>>>> bridge drivers.
> >>>>> - Make drm_of_bridge functions convert passed of_node and comp
> >>>>>
> >>>>> After this we can start cleaning up bridge drivers to use fw_node API
> >>>>> natively as you did in your patches 2-4.
> >>>> Yes, it's not so hard. But I'm a little busy due to other downstream developing
> >>>> tasks. Sorry, very sorry!
> >>>>
> >>>> During the talk with you, I observed that you are very good at fwnode domain.
> >>>> Are you willing to help the community to do something? For example, currently
> >>>> the modern drm bridge framework is corrupted by legacy implement, is it possible
> >>>> for us to migrate them to modern? Instead of rotting there? such as the lontium-lt9611uxc.c
> >>>> which create a drm connector manually, not modernized yet and it's DT dependent.
> >>>> So, there are a lot things to do.
> >>> Actually, lontium-lt9611uxc.c does both of that 😉 It supports
> >>> creating a connector and it as well supports attaching to a chain
> >>> without creating a connector. Pretty nice, isn't it?
> >>
> >> But why the drm_bridge_connector helpers and/or the drm_connector bridge can't suit you need?
> >> Coding this way just add boilerplate into drm bridge subsystem, right?
> > Because there are platforms, like iMX LCDIF which can use the
> > lt9611uxc bridge, but do not make use of the drm_bridge_connector yet.
> >
>
> Well, I have just grepped across the drm-tip kernel branch, but I don't find
> iMX LCDIF you mentioned. See the search results pasted at bellow.

Please take a look at the commit 8ddce13ae696 ("drm/bridge: lt9611: Do
not generate HFP/HBP/HSA and EOT packet"). As you can see from the
description, Marek has been using this bridge with th iMX8MM / iMX8MP
boards. As soon as mxsfb has been updated to pass
DRM_BRIDGE_ATTACH_NO_CONNECTOR, we can drop corresponding code from
LT9611UXC driver.

> $ find . -name "*.dts" -type f | xargs grep "lontium,lt9611uxc"
> ./arm64/boot/dts/qcom/sm8450-hdk.dts: compatible = "lontium,lt9611uxc";
> ./arm64/boot/dts/qcom/qrb5165-rb5.dts: compatible = "lontium,lt9611uxc";
> ./arm64/boot/dts/qcom/qrb2210-rb1.dts: compatible = "lontium,lt9611uxc";
> ./arm64/boot/dts/qcom/qrb4210-rb2.dts: compatible = "lontium,lt9611uxc";
> ./arm64/boot/dts/qcom/sm8350-hdk.dts: compatible = "lontium,lt9611uxc";
>
>
> So I can't see the drm driver that you refer to, can you pointed it out for study
> purpose? Even it's exist, however, back to that time, why don't you posting a patch
> to switch it to the canonical design as you mentioned and give the community a clean
> design?

If you have iMX8 hardware, please do it. I don't have these boards and
I do not have an intention of acquiring them.

> And those are just *reasons*, from the viewpoint of the *result*.
> The merged patch results in a 'side-by-side' implement and boilerplate added
> into drm bridges subsystem, the results doesn't change no matter what the
> reason is, right?

--
With best wishes
Dmitry