[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4155a886b3b3027d4ca8bb7a13801852ef8754e7.camel@siemens.com>
Date: Tue, 18 Mar 2025 13:35:13 +0000
From: "Sverdlin, Alexander" <alexander.sverdlin@...mens.com>
To: "laurent.pinchart@...asonboard.com" <laurent.pinchart@...asonboard.com>,
"tzimmermann@...e.de" <tzimmermann@...e.de>, "simona@...ll.ch"
<simona@...ll.ch>, "jyri.sarha@....fi" <jyri.sarha@....fi>,
"tomi.valkeinen@...asonboard.com" <tomi.valkeinen@...asonboard.com>,
"robh@...nel.org" <robh@...nel.org>, "airlied@...il.com" <airlied@...il.com>,
"krzk+dt@...nel.org" <krzk+dt@...nel.org>, "aradhya.bhatia@...ux.dev"
<aradhya.bhatia@...ux.dev>, "maarten.lankhorst@...ux.intel.com"
<maarten.lankhorst@...ux.intel.com>, "conor+dt@...nel.org"
<conor+dt@...nel.org>, "mripard@...nel.org" <mripard@...nel.org>
CC: "j-choudhary@...com" <j-choudhary@...com>, "dmitry.baryshkov@...aro.org"
<dmitry.baryshkov@...aro.org>, "u-kumar1@...com" <u-kumar1@...com>,
"max.oss.09@...il.com" <max.oss.09@...il.com>, "francesco@...cini.it"
<francesco@...cini.it>, "devarsht@...com" <devarsht@...com>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"nm@...com" <nm@...com>, "vigneshr@...com" <vigneshr@...com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>, "praneeth@...com"
<praneeth@...com>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 3/3] drm/tidss: Add OLDI bridge support
Hi Aradhya!
On Sun, 2024-11-24 at 20:06 +0530, Aradhya Bhatia wrote:
> From: Aradhya Bhatia <a-bhatia1@...com>
>
> The AM62x and AM62Px SoCs feature 2 OLDI TXes each, which makes it
> possible to connect them in dual-link or cloned single-link OLDI display
> modes. The current OLDI support in tidss_dispc.c can only support for
> a single OLDI TX, connected to a VP and doesn't really support
> configuration of OLDIs in the other modes. The current OLDI support in
> tidss_dispc.c also works on the principle that the OLDI output can only
> be served by one, and only one, DSS video-port. This isn't the case in
> the AM62Px SoC, where there are 2 DSS controllers present that share the
> OLDI TXes.
>
> Having their own devicetree and their own bridge entity will help
> support the various display modes and sharing possiblilities of the OLDI
> hardware.
>
> For all these reasons, add support for the OLDI TXes as DRM bridges.
...
> +int tidss_oldi_init(struct tidss_device *tidss)
> +{
> + struct tidss_oldi *oldi;
> + struct device_node *child;
> + struct drm_bridge *bridge;
> + u32 parent_vp, oldi_instance, companion_instance;
> + enum tidss_oldi_link_type link_type = OLDI_MODE_UNSUPPORTED;
> + struct device_node *oldi_parent;
> + int ret = 0;
> +
> + tidss->num_oldis = 0;
> +
> + oldi_parent = of_get_child_by_name(tidss->dev->of_node, "oldi-transmitters");
> + if (!oldi_parent)
> + /* Return gracefully */
> + return 0;
> +
> + for_each_child_of_node(oldi_parent, child) {
Would for_each_available_child_of_node() make sense here so that
k3-am62-main.dtsi would have both ports with status = "disabled" and
the users will enable one or another?
> + ret = get_parent_dss_vp(child, &parent_vp);
> + if (ret) {
> + if (ret == -ENODEV) {
> + /*
> + * ENODEV means that this particular OLDI node
> + * is not connected with the DSS, which is not
> + * a harmful case. There could be another OLDI
> + * which may still be connected.
> + * Continue to search for that.
> + */
> + ret = 0;
> + continue;
> + }
> + goto err_put_node;
> + }
--
Alexander Sverdlin
Siemens AG
www.siemens.com
Powered by blists - more mailing lists