From: Jagan Teki <jagan@amarulasolutions.com> To: Maxime Ripard <maxime@cerno.tech> Cc: Neil Armstrong <narmstrong@baylibre.com>, Robert Foss <robert.foss@linaro.org>, linux-sunxi@googlegroups.com, dri-devel@lists.freedesktop.org, Chen-Yu Tsai <wens@csie.org>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Sam Ravnborg <sam@ravnborg.org>, linux-amarula@amarulasolutions.com, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v5 3/7] drm: sun4i: dsi: Convert to bridge driver Date: Thu, 25 Nov 2021 21:44:14 +0530 [thread overview] Message-ID: <CAMty3ZBT9ZgwUs3g+5kjcp2DcWryA02YADAS_Kt8-EGe85VSZg@mail.gmail.com> (raw) In-Reply-To: <20211125161026.ndfygaa6c4nnst4i@gilmour> On Thu, Nov 25, 2021 at 9:40 PM Maxime Ripard <maxime@cerno.tech> wrote: > > On Thu, Nov 25, 2021 at 07:55:41PM +0530, Jagan Teki wrote: > > Hi, > > > > On Thu, Nov 25, 2021 at 7:45 PM Maxime Ripard <maxime@cerno.tech> wrote: > > > > > > On Wed, Nov 24, 2021 at 12:02:47AM +0530, Jagan Teki wrote: > > > > > > > > > + dsi->panel = of_drm_find_panel(remote); > > > > > > > > > + if (IS_ERR(dsi->panel)) { > > > > > > > > > + dsi->panel = NULL; > > > > > > > > > + > > > > > > > > > + dsi->next_bridge = of_drm_find_bridge(remote); > > > > > > > > > + if (IS_ERR(dsi->next_bridge)) { > > > > > > > > > + dev_err(dsi->dev, "failed to find bridge\n"); > > > > > > > > > + return PTR_ERR(dsi->next_bridge); > > > > > > > > > + } > > > > > > > > > + } else { > > > > > > > > > + dsi->next_bridge = NULL; > > > > > > > > > + } > > > > > > > > > + > > > > > > > > > + of_node_put(remote); > > > > > > > > > > > > > > > > Using devm_drm_of_get_bridge would greatly simplify the driver > > > > > > > > > > > > > > I'm aware of this and this would break the existing sunxi dsi binding, > > > > > > > we are not using ports based pipeline in dsi node. Of-course you have > > > > > > > pointed the same before, please check below > > > > > > > https://patchwork.kernel.org/project/dri-devel/patch/20210322140152.101709-2-jagan@amarulasolutions.com/ > > > > > > > > > > > > Then drm_of_find_panel_or_bridge needs to be adjusted to handle the DSI > > > > > > bindings and look for a panel or bridge not only through the OF graph, > > > > > > but also on the child nodes > > > > > > > > > > Okay. I need to check this. > > > > > > > > devm_drm_of_get_bridge is not working with legacy binding like the one > > > > used in sun6i dsi > > > > > > There's nothing legacy about it. > > > > What I'm mean legacy here with current binding used in sun6i-dsi like this. > > > > &dsi { > > vcc-dsi-supply = <®_dcdc1>; /* VCC-DSI */ > > status = "okay"; > > > > panel@0 { > > compatible = "bananapi,s070wv20-ct16-icn6211"; > > reg = <0>; > > reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* > > LCD-RST: PL5 */ > > enable-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* > > LCD-PWR-EN: PB7 */ > > backlight = <&backlight>; > > }; > > }; > > Yes, I know, it's the generic DSI binding. It's still not legacy. > > > devm_drm_of_get_bridge cannot find the device with above binding and > > able to find the device with below binding. > > > > &dsi { > > vcc-dsi-supply = <®_dcdc1>; /* VCC-DSI */ > > status = "okay"; > > > > ports { > > #address-cells = <1>; > > #size-cells = <0>; > > > > dsi_out: port@0 { > > reg = <0>; > > > > dsi_out_bridge: endpoint { > > remote-endpoint = <&bridge_out_dsi>; > > }; > > }; > > }; > > > > panel@0 { > > compatible = "bananapi,s070wv20-ct16-icn6211"; > > reg = <0>; > > reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* LCD-RST: PL5 */ > > enable-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* LCD-PWR-EN: PB7 */ > > backlight = <&backlight>; > > > > port { > > bridge_out_dsi: endpoint { > > remote-endpoint = <&dsi_out_bridge>; > > }; > > }; > > }; > > }; > > Yes, I know, and that's because ... Okay. I will use find panel and bridge separately instead of devm_drm_of_get_bridge in version patches. > > > > > > > > https://patchwork.kernel.org/project/dri-devel/patch/20211122065223.88059-6-jagan@amarulasolutions.com/ > > > > > > > > dsi->next_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node, 0, 0); > > > > if (IS_ERR(dsi->next_bridge)) > > > > return PTR_ERR(dsi->next_bridge); > > > > > > > > It is only working if we have ports on the pipeline, something like this > > > > https://patchwork.kernel.org/project/dri-devel/patch/20210214194102.126146-8-jagan@amarulasolutions.com/ > > > > > > > > Please have a look and let me know if I miss anything? > > > > > > Yes, you're missing the answer you quoted earlier: > > > > Yes, I'm trying to resolve the comment one after another. Will get back. > > ... You've ignored that comment. Not understand which comment you mean. There are few about bridge conversion details, I will send my comments. Thanks, Jagan.
WARNING: multiple messages have this Message-ID (diff)
From: Jagan Teki <jagan@amarulasolutions.com> To: Maxime Ripard <maxime@cerno.tech> Cc: Chen-Yu Tsai <wens@csie.org>, Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Neil Armstrong <narmstrong@baylibre.com>, Robert Foss <robert.foss@linaro.org>, Sam Ravnborg <sam@ravnborg.org>, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@googlegroups.com, linux-amarula@amarulasolutions.com Subject: Re: [PATCH v5 3/7] drm: sun4i: dsi: Convert to bridge driver Date: Thu, 25 Nov 2021 21:44:14 +0530 [thread overview] Message-ID: <CAMty3ZBT9ZgwUs3g+5kjcp2DcWryA02YADAS_Kt8-EGe85VSZg@mail.gmail.com> (raw) In-Reply-To: <20211125161026.ndfygaa6c4nnst4i@gilmour> On Thu, Nov 25, 2021 at 9:40 PM Maxime Ripard <maxime@cerno.tech> wrote: > > On Thu, Nov 25, 2021 at 07:55:41PM +0530, Jagan Teki wrote: > > Hi, > > > > On Thu, Nov 25, 2021 at 7:45 PM Maxime Ripard <maxime@cerno.tech> wrote: > > > > > > On Wed, Nov 24, 2021 at 12:02:47AM +0530, Jagan Teki wrote: > > > > > > > > > + dsi->panel = of_drm_find_panel(remote); > > > > > > > > > + if (IS_ERR(dsi->panel)) { > > > > > > > > > + dsi->panel = NULL; > > > > > > > > > + > > > > > > > > > + dsi->next_bridge = of_drm_find_bridge(remote); > > > > > > > > > + if (IS_ERR(dsi->next_bridge)) { > > > > > > > > > + dev_err(dsi->dev, "failed to find bridge\n"); > > > > > > > > > + return PTR_ERR(dsi->next_bridge); > > > > > > > > > + } > > > > > > > > > + } else { > > > > > > > > > + dsi->next_bridge = NULL; > > > > > > > > > + } > > > > > > > > > + > > > > > > > > > + of_node_put(remote); > > > > > > > > > > > > > > > > Using devm_drm_of_get_bridge would greatly simplify the driver > > > > > > > > > > > > > > I'm aware of this and this would break the existing sunxi dsi binding, > > > > > > > we are not using ports based pipeline in dsi node. Of-course you have > > > > > > > pointed the same before, please check below > > > > > > > https://patchwork.kernel.org/project/dri-devel/patch/20210322140152.101709-2-jagan@amarulasolutions.com/ > > > > > > > > > > > > Then drm_of_find_panel_or_bridge needs to be adjusted to handle the DSI > > > > > > bindings and look for a panel or bridge not only through the OF graph, > > > > > > but also on the child nodes > > > > > > > > > > Okay. I need to check this. > > > > > > > > devm_drm_of_get_bridge is not working with legacy binding like the one > > > > used in sun6i dsi > > > > > > There's nothing legacy about it. > > > > What I'm mean legacy here with current binding used in sun6i-dsi like this. > > > > &dsi { > > vcc-dsi-supply = <®_dcdc1>; /* VCC-DSI */ > > status = "okay"; > > > > panel@0 { > > compatible = "bananapi,s070wv20-ct16-icn6211"; > > reg = <0>; > > reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* > > LCD-RST: PL5 */ > > enable-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* > > LCD-PWR-EN: PB7 */ > > backlight = <&backlight>; > > }; > > }; > > Yes, I know, it's the generic DSI binding. It's still not legacy. > > > devm_drm_of_get_bridge cannot find the device with above binding and > > able to find the device with below binding. > > > > &dsi { > > vcc-dsi-supply = <®_dcdc1>; /* VCC-DSI */ > > status = "okay"; > > > > ports { > > #address-cells = <1>; > > #size-cells = <0>; > > > > dsi_out: port@0 { > > reg = <0>; > > > > dsi_out_bridge: endpoint { > > remote-endpoint = <&bridge_out_dsi>; > > }; > > }; > > }; > > > > panel@0 { > > compatible = "bananapi,s070wv20-ct16-icn6211"; > > reg = <0>; > > reset-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* LCD-RST: PL5 */ > > enable-gpios = <&pio 1 7 GPIO_ACTIVE_HIGH>; /* LCD-PWR-EN: PB7 */ > > backlight = <&backlight>; > > > > port { > > bridge_out_dsi: endpoint { > > remote-endpoint = <&dsi_out_bridge>; > > }; > > }; > > }; > > }; > > Yes, I know, and that's because ... Okay. I will use find panel and bridge separately instead of devm_drm_of_get_bridge in version patches. > > > > > > > > https://patchwork.kernel.org/project/dri-devel/patch/20211122065223.88059-6-jagan@amarulasolutions.com/ > > > > > > > > dsi->next_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node, 0, 0); > > > > if (IS_ERR(dsi->next_bridge)) > > > > return PTR_ERR(dsi->next_bridge); > > > > > > > > It is only working if we have ports on the pipeline, something like this > > > > https://patchwork.kernel.org/project/dri-devel/patch/20210214194102.126146-8-jagan@amarulasolutions.com/ > > > > > > > > Please have a look and let me know if I miss anything? > > > > > > Yes, you're missing the answer you quoted earlier: > > > > Yes, I'm trying to resolve the comment one after another. Will get back. > > ... You've ignored that comment. Not understand which comment you mean. There are few about bridge conversion details, I will send my comments. Thanks, Jagan. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2021-11-25 16:14 UTC|newest] Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-22 6:52 [PATCH v5 0/7] drm: sun4i: dsi: Convert drm bridge Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 6:52 ` [PATCH v5 1/7] drm: sun4i: dsi: Drop DRM bind race with bridge attach Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 6:52 ` [PATCH v5 2/7] drm: sun4i: dsi: Add component only once DSI device attached Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 6:52 ` [PATCH v5 3/7] drm: sun4i: dsi: Convert to bridge driver Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 10:07 ` Maxime Ripard 2021-11-22 10:07 ` Maxime Ripard 2021-11-22 12:45 ` Laurent Pinchart 2021-11-22 12:45 ` Laurent Pinchart 2021-11-22 13:48 ` Jagan Teki 2021-11-22 13:48 ` Jagan Teki 2021-11-22 14:04 ` Maxime Ripard 2021-11-22 14:04 ` Maxime Ripard 2021-11-22 14:19 ` Jagan Teki 2021-11-22 14:19 ` Jagan Teki 2021-11-22 15:04 ` Maxime Ripard 2021-11-22 15:04 ` Maxime Ripard 2021-11-25 16:17 ` Jagan Teki 2021-11-25 16:17 ` Jagan Teki 2021-11-23 18:32 ` Jagan Teki 2021-11-23 18:32 ` Jagan Teki 2021-11-25 14:15 ` Maxime Ripard 2021-11-25 14:15 ` Maxime Ripard 2021-11-25 14:25 ` Jagan Teki 2021-11-25 14:25 ` Jagan Teki 2021-11-25 16:10 ` Maxime Ripard 2021-11-25 16:10 ` Maxime Ripard 2021-11-25 16:14 ` Jagan Teki [this message] 2021-11-25 16:14 ` Jagan Teki 2021-11-26 16:04 ` Maxime Ripard 2021-11-26 16:04 ` Maxime Ripard 2021-11-30 7:39 ` Jagan Teki 2021-11-30 7:39 ` Jagan Teki 2021-12-05 17:39 ` Michael Nazzareno Trimarchi 2021-12-05 17:39 ` Michael Nazzareno Trimarchi 2021-11-22 12:52 ` Neil Armstrong 2021-11-22 12:52 ` Neil Armstrong 2021-11-22 13:16 ` Jagan Teki 2021-11-22 13:16 ` Jagan Teki 2021-11-22 15:35 ` Neil Armstrong 2021-11-22 15:35 ` Neil Armstrong 2021-11-22 17:19 ` Dave Stevenson 2021-11-22 17:19 ` Dave Stevenson 2021-11-23 8:19 ` Neil Armstrong 2021-11-23 8:19 ` Neil Armstrong 2021-11-22 6:52 ` [PATCH v5 4/7] drm: sun4i: dsi: Add mode_set function Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 10:07 ` Maxime Ripard 2021-11-22 10:07 ` Maxime Ripard 2021-11-22 13:05 ` Jagan Teki 2021-11-22 13:05 ` Jagan Teki 2021-11-22 13:28 ` Maxime Ripard 2021-11-22 13:28 ` Maxime Ripard 2021-11-22 13:51 ` Jagan Teki 2021-11-22 13:51 ` Jagan Teki 2021-11-22 14:09 ` Maxime Ripard 2021-11-22 14:09 ` Maxime Ripard 2021-11-22 14:31 ` Jagan Teki 2021-11-22 14:31 ` Jagan Teki 2021-11-22 15:06 ` Maxime Ripard 2021-11-22 15:06 ` Maxime Ripard 2021-11-22 15:17 ` Jagan Teki 2021-11-22 15:17 ` Jagan Teki 2021-11-22 6:52 ` [DO NOT MERGE] [PATCH v5 5/7] ARM: dts: sun8i: bananapi-m2m: Enable S070WV20-CT16 Panel Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 6:52 ` [DO NOT MERGE] [PATCH v5 6/7] ARM: dts: sun8i: bananapi-m2m: Enable ICN6211 DSI Bridge Jagan Teki 2021-11-22 6:52 ` Jagan Teki 2021-11-22 6:52 ` [DO NOT MERGE] [PATCH v5 7/7] ARM: dts: sun8i: Enable DLPC3433 Bridge (I2C) Jagan Teki 2021-11-22 6:52 ` Jagan Teki
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAMty3ZBT9ZgwUs3g+5kjcp2DcWryA02YADAS_Kt8-EGe85VSZg@mail.gmail.com \ --to=jagan@amarulasolutions.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=laurent.pinchart@ideasonboard.com \ --cc=linux-amarula@amarulasolutions.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-sunxi@googlegroups.com \ --cc=maxime@cerno.tech \ --cc=narmstrong@baylibre.com \ --cc=robert.foss@linaro.org \ --cc=sam@ravnborg.org \ --cc=wens@csie.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.