[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240214105223.GA78582@francesco-nb>
Date: Wed, 14 Feb 2024 11:52:23 +0100
From: Francesco Dolcini <francesco@...cini.it>
To: Roland Hieber <rhi@...gutronix.de>,
Linux Regressions <regressions@...ts.linux.dev>
Cc: Hiago De Franco <hiagofranco@...il.com>,
Marco Felsch <m.felsch@...gutronix.de>,
Shawn Guo <shawnguo@...nel.org>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Philipp Zabel <p.zabel@...gutronix.de>, kernel@...gutronix.de,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: MXSFB error: -ENODEV: Cannot connect bridge
+ Linux regression.
This is a regression on v6.8-rc1.
On Mon, Feb 12, 2024 at 12:07:06PM +0100, Roland Hieber wrote:
> On Thu, Feb 08, 2024 at 12:58:02PM -0300, Hiago De Franco wrote:
> > Hello all,
> >
> > while doing some tests with kernel v6.8-rc3 and Colibri iMX7D, we
> > noticed the following error:
> >
> > [ 0.432547] mxsfb 30730000.lcdif: error -ENODEV: Cannot connect bridge
> >
> > This was introduced by commit edbbae7fba495284f72f05768696572691231558
> > ("ARM: dts: imx7: add MIPI-DSI support"). This patch is routing the
> > lcdif to the mipi_dsi_in_lcdif endpoint, however we do not have the DSI
> > pins available in our edge connector. Instead, we use the parallel RGB
> > LCD interface directly with, as example, an external LVDS transmitter:
> >
> > &lcdif {
> > ...
> > status = "disabled";
> >
> > port {
> > lcdif_out: endpoint {
> > remote-endpoint = <&lcd_panel_in>;
> > };
> > };
> > };
> >
> > By applying the following patch, the issue is gone and the LVDS works
> > again:
> >
> > diff --git a/arch/arm/boot/dts/nxp/imx/imx7s.dtsi b/arch/arm/boot/dts/nxp/imx/imx7s.dtsi
> > index ebf7befcc11e..9c81c6baa2d3 100644
> > --- a/arch/arm/boot/dts/nxp/imx/imx7s.dtsi
> > +++ b/arch/arm/boot/dts/nxp/imx/imx7s.dtsi
> > @@ -834,16 +834,6 @@ lcdif: lcdif@...30000 {
> > <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>;
> > clock-names = "pix", "axi";
> > status = "disabled";
> > -
> > - port {
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - lcdif_out_mipi_dsi: endpoint@0 {
> > - reg = <0>;
> > - remote-endpoint = <&mipi_dsi_in_lcdif>;
> > - };
> > - };
> > };
> >
> > mipi_csi: mipi-csi@...50000 {
> > @@ -895,22 +885,6 @@ mipi_dsi: dsi@...60000 {
> > samsung,esc-clock-frequency = <20000000>;
> > samsung,pll-clock-frequency = <24000000>;
> > status = "disabled";
> > -
> > - ports {
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - port@0 {
> > - reg = <0>;
> > - #address-cells = <1>;
> > - #size-cells = <0>;
> > -
> > - mipi_dsi_in_lcdif: endpoint@0 {
> > - reg = <0>;
> > - remote-endpoint = <&lcdif_out_mipi_dsi>;
> > - };
> > - };
> > - };
> > };
> > };
> >
> > I would like to know your opinion about this patch before sending it,
> > does it makes sense for you? I understand that routing to endpoint
> > should be done in the SoM device tree, so we are free to rout other
> > endpoint without issues.
>
> As far as I understood, the LCDIF -> DSI connection is always present in
> the SoC. Can you overwrite the routing in your dts like this:?
>
> &lcdif_out_mipi_dsi {
> remote-endpoint = <&lcd_panel_in>;
> };
>
> I'm not sure what is the best default solution here for imx7s.dtsi. Also
> the labels don't work out in that case, this could be improved.
For sure for something to be defined a solution it should not introduce
regressions :-)
This commit makes other boards not work anymore, specifically this
reports is about colibri-imx7.
With that said, the following patch solves the issue
diff --git a/arch/arm/boot/dts/nxp/imx/imx7-colibri.dtsi b/arch/arm/boot/dts/nxp/imx/imx7-colibri.dtsi
index 9fe51884af79..966ad13e7c78 100644
--- a/arch/arm/boot/dts/nxp/imx/imx7-colibri.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx7-colibri.dtsi
@@ -536,12 +536,15 @@ &lcdif {
status = "disabled";
port {
- lcdif_out: endpoint {
+ lcdif_out: endpoint@0 {
+ reg = <0>;
remote-endpoint = <&lcd_panel_in>;
};
};
};
+/delete-node/ &mipi_dsi_in_lcdif;
+
/* Colibri PWM<A> */
&pwm1 {
pinctrl-names = "default";
However, ... I do not really like the delete node, but it's required to
prevent this error:
arch/arm/boot/dts/nxp/imx/imx7s.dtsi:908.37-911.9: Warning (graph_endpoint): /soc/bus@...00000/dsi@...60000/ports/port@...ndpoint@0: graph connection to node '/soc/bus@...00000/lcdif@...30000/port/endpoint@0' is not bidirectional
With that said, unless you have a better solution I would just send a
revert for your change.
Francesco
Powered by blists - more mailing lists