From: Rob Herring <robh@kernel.org>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@gmail.com>,
Helge Deller <deller@gmx.de>, Jaroslav Kysela <perex@perex.cz>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Mark Brown <broonie@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Maxime Ripard <mripard@kernel.org>,
Michal Simek <michal.simek@amd.com>,
Saravana Kannan <saravanak@google.com>,
Takashi Iwai <tiwai@suse.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-fbdev@vger.kernel.org, linux-media@vger.kernel.org,
linux-omap@vger.kernel.org, linux-sound@vger.kernel.org,
Sakari Ailus <sakari.ailus@iki.fi>
Subject: Re: [PATCH v4 1/9] of: property: add of_graph_get_next_port()
Date: Thu, 29 Aug 2024 10:45:15 -0500 [thread overview]
Message-ID: <20240829154515.GD465065-robh@kernel.org> (raw)
In-Reply-To: <87a5gx2pva.wl-kuninori.morimoto.gx@renesas.com>
On Wed, Aug 28, 2024 at 05:11:37AM +0000, Kuninori Morimoto wrote:
> We have endpoint base functions
> - of_graph_get_next_device_endpoint()
> - of_graph_get_device_endpoint_count()
> - for_each_of_graph_device_endpoint()
>
> Here, for_each_of_graph_device_endpoint() loop finds each endpoints
>
> ports {
> port@0 {
> (1) endpoint {...};
> };
> port@1 {
> (2) endpoint {...};
> };
> ...
> };
>
> In above case, it finds endpoint as (1) -> (2) -> ...
>
> Basically, user/driver knows which port is used for what, but not in
> all cases. For example on flexible/generic driver case, how many ports
> are used is not fixed.
>
> For example Sound Generic Card driver which is used from many venders
> can't know how many ports are used. Because the driver is very
> flexible/generic, it is impossible to know how many ports are used,
> it depends on each vender SoC and/or its used board.
>
> And more, the port can have multi endpoints. For example Generic Sound
> Card case, it supports many type of connection between CPU / Codec, and
> some of them uses multi endpoint in one port.
> Then, Generic Sound Card want to handle each connection via "port"
> instead of "endpoint".
> But, it is very difficult to handle each "port" via existing
> for_each_of_graph_device_endpoint(). Getting "port" via of_get_parent()
> from "endpoint" doesn't work. see below.
>
> ports {
> port@0 {
> (1) endpoint@0 {...};
> (2) endpoint@1 {...};
> };
> port@1 {
> (3) endpoint {...};
> };
> ...
> };
>
> In other case, we want to handle "ports" same as "port" for some reasons.
>
> node {
> => ports@0 {
> port@0 { ... };
> port@1 { ... };
> ...
> };
> => ports@1 {
> ...
> };
> };
There is no schema that supports this structure. The closest thing we
have is in-ports and out-ports in Coresight bindings.
In any case, it should be a separate patch, not buried in here.
Rob
next prev parent reply other threads:[~2024-08-29 15:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-28 5:11 [PATCH v4 0/9] of: property: add of_graph_get_next_port/port_endpoint() Kuninori Morimoto
2024-08-28 5:11 ` [PATCH v4 1/9] of: property: add of_graph_get_next_port() Kuninori Morimoto
2024-08-29 15:45 ` Rob Herring [this message]
2024-08-29 23:29 ` Kuninori Morimoto
2024-08-29 15:50 ` Rob Herring
2024-08-29 23:41 ` Kuninori Morimoto
2024-08-28 5:11 ` [PATCH v4 2/9] of: property: add of_graph_get_next_port_endpoint() Kuninori Morimoto
2024-08-28 5:11 ` [PATCH v4 3/9] ASoC: test-component: use new of_graph functions Kuninori Morimoto
2024-08-28 5:11 ` [PATCH v4 4/9] ASoC: rcar_snd: " Kuninori Morimoto
2024-08-29 15:41 ` Rob Herring
2024-08-29 23:15 ` Kuninori Morimoto
2024-08-28 5:12 ` [PATCH v4 5/9] ASoC: audio-graph-card: " Kuninori Morimoto
2024-08-28 5:12 ` [PATCH v4 6/9] ASoC: audio-graph-card2: " Kuninori Morimoto
2024-08-28 5:12 ` [PATCH v4 7/9] gpu: drm: omapdrm: " Kuninori Morimoto
2024-08-28 5:12 ` [PATCH v4 8/9] fbdev: omapfb: " Kuninori Morimoto
2024-08-29 15:43 ` Rob Herring
2024-08-29 23:17 ` Kuninori Morimoto
2024-08-28 5:12 ` [PATCH v4 9/9] media: xilinx-tpg: " Kuninori Morimoto
2024-08-29 14:54 ` Rob Herring
2024-08-29 23:05 ` Kuninori Morimoto
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=20240829154515.GD465065-robh@kernel.org \
--to=robh@kernel.org \
--cc=airlied@gmail.com \
--cc=broonie@kernel.org \
--cc=daniel@ffwll.ch \
--cc=deller@gmx.de \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mchehab@kernel.org \
--cc=michal.simek@amd.com \
--cc=mripard@kernel.org \
--cc=perex@perex.cz \
--cc=sakari.ailus@iki.fi \
--cc=saravanak@google.com \
--cc=tiwai@suse.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tzimmermann@suse.de \
/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: link
Be 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.