* [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA Hi! This small series improves DRM bridges code by silencing a noisy error coming from of-graph code for the device-trees that are missing a display bridge graph. graph: no port node found in ... One example where this error happens is an older bridge-less DTB used in conjunction with a newer kernel which has a display controller driver that supports DRM bridges. Changelog: v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and improved commit's message in the "add of_graph_is_present()" patch. Thanks to Laurent Pinchart for spotting the problems! v9: - These two patches are factored out from [1] in order to ease applying of the patches. - The of_graph_presents() is renamed to of_graph_is_present() like it was requested by Rob Herring in the review comment to [1]. - Added Rob's r-b. [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 Dmitry Osipenko (2): of_graph: add of_graph_is_present() drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence drivers/gpu/drm/drm_of.c | 9 +++++++++ drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of_graph.h | 6 ++++++ 3 files changed, 38 insertions(+) -- 2.26.0 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: linux-tegra, devicetree, linux-kernel, dri-devel Hi! This small series improves DRM bridges code by silencing a noisy error coming from of-graph code for the device-trees that are missing a display bridge graph. graph: no port node found in ... One example where this error happens is an older bridge-less DTB used in conjunction with a newer kernel which has a display controller driver that supports DRM bridges. Changelog: v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and improved commit's message in the "add of_graph_is_present()" patch. Thanks to Laurent Pinchart for spotting the problems! v9: - These two patches are factored out from [1] in order to ease applying of the patches. - The of_graph_presents() is renamed to of_graph_is_present() like it was requested by Rob Herring in the review comment to [1]. - Added Rob's r-b. [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 Dmitry Osipenko (2): of_graph: add of_graph_is_present() drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence drivers/gpu/drm/drm_of.c | 9 +++++++++ drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of_graph.h | 6 ++++++ 3 files changed, 38 insertions(+) -- 2.26.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: dri-devel, linux-tegra, devicetree, linux-kernel Hi! This small series improves DRM bridges code by silencing a noisy error coming from of-graph code for the device-trees that are missing a display bridge graph. graph: no port node found in ... One example where this error happens is an older bridge-less DTB used in conjunction with a newer kernel which has a display controller driver that supports DRM bridges. Changelog: v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and improved commit's message in the "add of_graph_is_present()" patch. Thanks to Laurent Pinchart for spotting the problems! v9: - These two patches are factored out from [1] in order to ease applying of the patches. - The of_graph_presents() is renamed to of_graph_is_present() like it was requested by Rob Herring in the review comment to [1]. - Added Rob's r-b. [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 Dmitry Osipenko (2): of_graph: add of_graph_is_present() drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence drivers/gpu/drm/drm_of.c | 9 +++++++++ drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of_graph.h | 6 ++++++ 3 files changed, 38 insertions(+) -- 2.26.0 ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <20200701074232.13632-1-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH v10 1/2] of_graph: add of_graph_is_present() 2020-07-01 7:42 ` Dmitry Osipenko (?) @ 2020-07-01 7:42 ` Dmitry Osipenko -1 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA In some cases it's very useful to silently check whether port node exists at all in a device-tree before proceeding with parsing the graph. The DRM bridges code is one example of such case where absence of a graph in a device-tree is a legit condition. This patch adds of_graph_is_present() which returns true if given device-tree node contains OF graph port. Reviewed-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of_graph.h | 6 ++++++ 2 files changed, 29 insertions(+) diff --git a/drivers/of/property.c b/drivers/of/property.c index 6a5760f0d6cd..fed7229d9d9f 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -29,6 +29,29 @@ #include "of_private.h" +/** + * of_graph_is_present() - check graph's presence + * @node: pointer to device_node containing graph port + * + * Return: True if @node has a port or ports (with a port) sub-node, + * false otherwise. + */ +bool of_graph_is_present(const struct device_node *node) +{ + struct device_node *ports, *port; + + ports = of_get_child_by_name(node, "ports"); + if (ports) + node = ports; + + port = of_get_child_by_name(node, "port"); + of_node_put(ports); + of_node_put(port); + + return !!port; +} +EXPORT_SYMBOL(of_graph_is_present); + /** * of_property_count_elems_of_size - Count the number of elements in a property * diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h index 01038a6aade0..4d7756087b6b 100644 --- a/include/linux/of_graph.h +++ b/include/linux/of_graph.h @@ -38,6 +38,7 @@ struct of_endpoint { child = of_graph_get_next_endpoint(parent, child)) #ifdef CONFIG_OF +bool of_graph_is_present(const struct device_node *node); int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint); int of_graph_get_endpoint_count(const struct device_node *np); @@ -56,6 +57,11 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, u32 port, u32 endpoint); #else +static inline bool of_graph_is_present(const struct device_node *node) +{ + return false; +} + static inline int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint) { -- 2.26.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v10 1/2] of_graph: add of_graph_is_present() @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: linux-tegra, devicetree, linux-kernel, dri-devel In some cases it's very useful to silently check whether port node exists at all in a device-tree before proceeding with parsing the graph. The DRM bridges code is one example of such case where absence of a graph in a device-tree is a legit condition. This patch adds of_graph_is_present() which returns true if given device-tree node contains OF graph port. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of_graph.h | 6 ++++++ 2 files changed, 29 insertions(+) diff --git a/drivers/of/property.c b/drivers/of/property.c index 6a5760f0d6cd..fed7229d9d9f 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -29,6 +29,29 @@ #include "of_private.h" +/** + * of_graph_is_present() - check graph's presence + * @node: pointer to device_node containing graph port + * + * Return: True if @node has a port or ports (with a port) sub-node, + * false otherwise. + */ +bool of_graph_is_present(const struct device_node *node) +{ + struct device_node *ports, *port; + + ports = of_get_child_by_name(node, "ports"); + if (ports) + node = ports; + + port = of_get_child_by_name(node, "port"); + of_node_put(ports); + of_node_put(port); + + return !!port; +} +EXPORT_SYMBOL(of_graph_is_present); + /** * of_property_count_elems_of_size - Count the number of elements in a property * diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h index 01038a6aade0..4d7756087b6b 100644 --- a/include/linux/of_graph.h +++ b/include/linux/of_graph.h @@ -38,6 +38,7 @@ struct of_endpoint { child = of_graph_get_next_endpoint(parent, child)) #ifdef CONFIG_OF +bool of_graph_is_present(const struct device_node *node); int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint); int of_graph_get_endpoint_count(const struct device_node *np); @@ -56,6 +57,11 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, u32 port, u32 endpoint); #else +static inline bool of_graph_is_present(const struct device_node *node) +{ + return false; +} + static inline int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint) { -- 2.26.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v10 1/2] of_graph: add of_graph_is_present() @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: dri-devel, linux-tegra, devicetree, linux-kernel In some cases it's very useful to silently check whether port node exists at all in a device-tree before proceeding with parsing the graph. The DRM bridges code is one example of such case where absence of a graph in a device-tree is a legit condition. This patch adds of_graph_is_present() which returns true if given device-tree node contains OF graph port. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/of/property.c | 23 +++++++++++++++++++++++ include/linux/of_graph.h | 6 ++++++ 2 files changed, 29 insertions(+) diff --git a/drivers/of/property.c b/drivers/of/property.c index 6a5760f0d6cd..fed7229d9d9f 100644 --- a/drivers/of/property.c +++ b/drivers/of/property.c @@ -29,6 +29,29 @@ #include "of_private.h" +/** + * of_graph_is_present() - check graph's presence + * @node: pointer to device_node containing graph port + * + * Return: True if @node has a port or ports (with a port) sub-node, + * false otherwise. + */ +bool of_graph_is_present(const struct device_node *node) +{ + struct device_node *ports, *port; + + ports = of_get_child_by_name(node, "ports"); + if (ports) + node = ports; + + port = of_get_child_by_name(node, "port"); + of_node_put(ports); + of_node_put(port); + + return !!port; +} +EXPORT_SYMBOL(of_graph_is_present); + /** * of_property_count_elems_of_size - Count the number of elements in a property * diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h index 01038a6aade0..4d7756087b6b 100644 --- a/include/linux/of_graph.h +++ b/include/linux/of_graph.h @@ -38,6 +38,7 @@ struct of_endpoint { child = of_graph_get_next_endpoint(parent, child)) #ifdef CONFIG_OF +bool of_graph_is_present(const struct device_node *node); int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint); int of_graph_get_endpoint_count(const struct device_node *np); @@ -56,6 +57,11 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, u32 port, u32 endpoint); #else +static inline bool of_graph_is_present(const struct device_node *node) +{ + return false; +} + static inline int of_graph_parse_endpoint(const struct device_node *node, struct of_endpoint *endpoint) { -- 2.26.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
[parent not found: <20200701074232.13632-2-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH v10 1/2] of_graph: add of_graph_is_present() 2020-07-01 7:42 ` Dmitry Osipenko (?) @ 2020-07-01 7:55 ` Laurent Pinchart -1 siblings, 0 replies; 18+ messages in thread From: Laurent Pinchart @ 2020-07-01 7:55 UTC (permalink / raw) To: Dmitry Osipenko Cc: Thierry Reding, Sam Ravnborg, Rob Herring, Frank Rowand, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA Hi Dmitry, Thank you for the patch. On Wed, Jul 01, 2020 at 10:42:31AM +0300, Dmitry Osipenko wrote: > In some cases it's very useful to silently check whether port node exists > at all in a device-tree before proceeding with parsing the graph. The DRM > bridges code is one example of such case where absence of a graph in a > device-tree is a legit condition. > > This patch adds of_graph_is_present() which returns true if given > device-tree node contains OF graph port. > > Reviewed-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> > Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Reviewed-by: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org> > --- > drivers/of/property.c | 23 +++++++++++++++++++++++ > include/linux/of_graph.h | 6 ++++++ > 2 files changed, 29 insertions(+) > > diff --git a/drivers/of/property.c b/drivers/of/property.c > index 6a5760f0d6cd..fed7229d9d9f 100644 > --- a/drivers/of/property.c > +++ b/drivers/of/property.c > @@ -29,6 +29,29 @@ > > #include "of_private.h" > > +/** > + * of_graph_is_present() - check graph's presence > + * @node: pointer to device_node containing graph port > + * > + * Return: True if @node has a port or ports (with a port) sub-node, > + * false otherwise. > + */ > +bool of_graph_is_present(const struct device_node *node) > +{ > + struct device_node *ports, *port; > + > + ports = of_get_child_by_name(node, "ports"); > + if (ports) > + node = ports; > + > + port = of_get_child_by_name(node, "port"); > + of_node_put(ports); > + of_node_put(port); > + > + return !!port; > +} > +EXPORT_SYMBOL(of_graph_is_present); > + > /** > * of_property_count_elems_of_size - Count the number of elements in a property > * > diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h > index 01038a6aade0..4d7756087b6b 100644 > --- a/include/linux/of_graph.h > +++ b/include/linux/of_graph.h > @@ -38,6 +38,7 @@ struct of_endpoint { > child = of_graph_get_next_endpoint(parent, child)) > > #ifdef CONFIG_OF > +bool of_graph_is_present(const struct device_node *node); > int of_graph_parse_endpoint(const struct device_node *node, > struct of_endpoint *endpoint); > int of_graph_get_endpoint_count(const struct device_node *np); > @@ -56,6 +57,11 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, > u32 port, u32 endpoint); > #else > > +static inline bool of_graph_is_present(const struct device_node *node) > +{ > + return false; > +} > + > static inline int of_graph_parse_endpoint(const struct device_node *node, > struct of_endpoint *endpoint) > { -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v10 1/2] of_graph: add of_graph_is_present() @ 2020-07-01 7:55 ` Laurent Pinchart 0 siblings, 0 replies; 18+ messages in thread From: Laurent Pinchart @ 2020-07-01 7:55 UTC (permalink / raw) To: Dmitry Osipenko Cc: devicetree, Sam Ravnborg, linux-kernel, dri-devel, Rob Herring, Thierry Reding, linux-tegra, Frank Rowand Hi Dmitry, Thank you for the patch. On Wed, Jul 01, 2020 at 10:42:31AM +0300, Dmitry Osipenko wrote: > In some cases it's very useful to silently check whether port node exists > at all in a device-tree before proceeding with parsing the graph. The DRM > bridges code is one example of such case where absence of a graph in a > device-tree is a legit condition. > > This patch adds of_graph_is_present() which returns true if given > device-tree node contains OF graph port. > > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/of/property.c | 23 +++++++++++++++++++++++ > include/linux/of_graph.h | 6 ++++++ > 2 files changed, 29 insertions(+) > > diff --git a/drivers/of/property.c b/drivers/of/property.c > index 6a5760f0d6cd..fed7229d9d9f 100644 > --- a/drivers/of/property.c > +++ b/drivers/of/property.c > @@ -29,6 +29,29 @@ > > #include "of_private.h" > > +/** > + * of_graph_is_present() - check graph's presence > + * @node: pointer to device_node containing graph port > + * > + * Return: True if @node has a port or ports (with a port) sub-node, > + * false otherwise. > + */ > +bool of_graph_is_present(const struct device_node *node) > +{ > + struct device_node *ports, *port; > + > + ports = of_get_child_by_name(node, "ports"); > + if (ports) > + node = ports; > + > + port = of_get_child_by_name(node, "port"); > + of_node_put(ports); > + of_node_put(port); > + > + return !!port; > +} > +EXPORT_SYMBOL(of_graph_is_present); > + > /** > * of_property_count_elems_of_size - Count the number of elements in a property > * > diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h > index 01038a6aade0..4d7756087b6b 100644 > --- a/include/linux/of_graph.h > +++ b/include/linux/of_graph.h > @@ -38,6 +38,7 @@ struct of_endpoint { > child = of_graph_get_next_endpoint(parent, child)) > > #ifdef CONFIG_OF > +bool of_graph_is_present(const struct device_node *node); > int of_graph_parse_endpoint(const struct device_node *node, > struct of_endpoint *endpoint); > int of_graph_get_endpoint_count(const struct device_node *np); > @@ -56,6 +57,11 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, > u32 port, u32 endpoint); > #else > > +static inline bool of_graph_is_present(const struct device_node *node) > +{ > + return false; > +} > + > static inline int of_graph_parse_endpoint(const struct device_node *node, > struct of_endpoint *endpoint) > { -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v10 1/2] of_graph: add of_graph_is_present() @ 2020-07-01 7:55 ` Laurent Pinchart 0 siblings, 0 replies; 18+ messages in thread From: Laurent Pinchart @ 2020-07-01 7:55 UTC (permalink / raw) To: Dmitry Osipenko Cc: Thierry Reding, Sam Ravnborg, Rob Herring, Frank Rowand, dri-devel, linux-tegra, devicetree, linux-kernel Hi Dmitry, Thank you for the patch. On Wed, Jul 01, 2020 at 10:42:31AM +0300, Dmitry Osipenko wrote: > In some cases it's very useful to silently check whether port node exists > at all in a device-tree before proceeding with parsing the graph. The DRM > bridges code is one example of such case where absence of a graph in a > device-tree is a legit condition. > > This patch adds of_graph_is_present() which returns true if given > device-tree node contains OF graph port. > > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/of/property.c | 23 +++++++++++++++++++++++ > include/linux/of_graph.h | 6 ++++++ > 2 files changed, 29 insertions(+) > > diff --git a/drivers/of/property.c b/drivers/of/property.c > index 6a5760f0d6cd..fed7229d9d9f 100644 > --- a/drivers/of/property.c > +++ b/drivers/of/property.c > @@ -29,6 +29,29 @@ > > #include "of_private.h" > > +/** > + * of_graph_is_present() - check graph's presence > + * @node: pointer to device_node containing graph port > + * > + * Return: True if @node has a port or ports (with a port) sub-node, > + * false otherwise. > + */ > +bool of_graph_is_present(const struct device_node *node) > +{ > + struct device_node *ports, *port; > + > + ports = of_get_child_by_name(node, "ports"); > + if (ports) > + node = ports; > + > + port = of_get_child_by_name(node, "port"); > + of_node_put(ports); > + of_node_put(port); > + > + return !!port; > +} > +EXPORT_SYMBOL(of_graph_is_present); > + > /** > * of_property_count_elems_of_size - Count the number of elements in a property > * > diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h > index 01038a6aade0..4d7756087b6b 100644 > --- a/include/linux/of_graph.h > +++ b/include/linux/of_graph.h > @@ -38,6 +38,7 @@ struct of_endpoint { > child = of_graph_get_next_endpoint(parent, child)) > > #ifdef CONFIG_OF > +bool of_graph_is_present(const struct device_node *node); > int of_graph_parse_endpoint(const struct device_node *node, > struct of_endpoint *endpoint); > int of_graph_get_endpoint_count(const struct device_node *np); > @@ -56,6 +57,11 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, > u32 port, u32 endpoint); > #else > > +static inline bool of_graph_is_present(const struct device_node *node) > +{ > + return false; > +} > + > static inline int of_graph_parse_endpoint(const struct device_node *node, > struct of_endpoint *endpoint) > { -- Regards, Laurent Pinchart ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v10 2/2] drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence 2020-07-01 7:42 ` Dmitry Osipenko (?) @ 2020-07-01 7:42 ` Dmitry Osipenko -1 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA When graph isn't defined in a device-tree, the of_graph_get_remote_node() prints a noisy error message, telling that port node is not found. This is undesirable behaviour in our case because absence of a panel/bridge graph is a valid case. Let's check the graph's presence in a device-tree before proceeding with parsing of the graph. Reviewed-by: Sam Ravnborg <sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- drivers/gpu/drm/drm_of.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index b50b44e76279..fdb05fbf72a0 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -246,6 +246,15 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, if (panel) *panel = NULL; + /* + * of_graph_get_remote_node() produces a noisy error message if port + * node isn't found and the absence of the port is a legit case here, + * so at first we silently check whether graph presents in the + * device-tree node. + */ + if (!of_graph_is_present(np)) + return -ENODEV; + remote = of_graph_get_remote_node(np, port, endpoint); if (!remote) return -ENODEV; -- 2.26.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v10 2/2] drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: linux-tegra, devicetree, linux-kernel, dri-devel When graph isn't defined in a device-tree, the of_graph_get_remote_node() prints a noisy error message, telling that port node is not found. This is undesirable behaviour in our case because absence of a panel/bridge graph is a valid case. Let's check the graph's presence in a device-tree before proceeding with parsing of the graph. Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/gpu/drm/drm_of.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index b50b44e76279..fdb05fbf72a0 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -246,6 +246,15 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, if (panel) *panel = NULL; + /* + * of_graph_get_remote_node() produces a noisy error message if port + * node isn't found and the absence of the port is a legit case here, + * so at first we silently check whether graph presents in the + * device-tree node. + */ + if (!of_graph_is_present(np)) + return -ENODEV; + remote = of_graph_get_remote_node(np, port, endpoint); if (!remote) return -ENODEV; -- 2.26.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v10 2/2] drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence @ 2020-07-01 7:42 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 7:42 UTC (permalink / raw) To: Thierry Reding, Sam Ravnborg, Laurent Pinchart, Rob Herring, Frank Rowand Cc: dri-devel, linux-tegra, devicetree, linux-kernel When graph isn't defined in a device-tree, the of_graph_get_remote_node() prints a noisy error message, telling that port node is not found. This is undesirable behaviour in our case because absence of a panel/bridge graph is a valid case. Let's check the graph's presence in a device-tree before proceeding with parsing of the graph. Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/gpu/drm/drm_of.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index b50b44e76279..fdb05fbf72a0 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -246,6 +246,15 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, if (panel) *panel = NULL; + /* + * of_graph_get_remote_node() produces a noisy error message if port + * node isn't found and the absence of the port is a legit case here, + * so at first we silently check whether graph presents in the + * device-tree node. + */ + if (!of_graph_is_present(np)) + return -ENODEV; + remote = of_graph_get_remote_node(np, port, endpoint); if (!remote) return -ENODEV; -- 2.26.0 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v10 0/2] Silence missing-graph error for DRM bridges 2020-07-01 7:42 ` Dmitry Osipenko (?) @ 2020-07-01 9:02 ` Sam Ravnborg -1 siblings, 0 replies; 18+ messages in thread From: Sam Ravnborg @ 2020-07-01 9:02 UTC (permalink / raw) To: Dmitry Osipenko Cc: Thierry Reding, Laurent Pinchart, Rob Herring, Frank Rowand, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA Hi Dmitry On Wed, Jul 01, 2020 at 10:42:30AM +0300, Dmitry Osipenko wrote: > Hi! > > This small series improves DRM bridges code by silencing a noisy error > coming from of-graph code for the device-trees that are missing a > display bridge graph. > > graph: no port node found in ... > > One example where this error happens is an older bridge-less DTB used > in conjunction with a newer kernel which has a display controller driver > that supports DRM bridges. > > Changelog: > > v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and > improved commit's message in the "add of_graph_is_present()" patch. > Thanks to Laurent Pinchart for spotting the problems! > > v9: - These two patches are factored out from [1] in order to ease applying > of the patches. > > - The of_graph_presents() is renamed to of_graph_is_present() like it > was requested by Rob Herring in the review comment to [1]. > > - Added Rob's r-b. > > [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 > > Dmitry Osipenko (2): > of_graph: add of_graph_is_present() > drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence Thanks for your patience with these - applied to drm-misc-next now. Sam > > drivers/gpu/drm/drm_of.c | 9 +++++++++ > drivers/of/property.c | 23 +++++++++++++++++++++++ > include/linux/of_graph.h | 6 ++++++ > 3 files changed, 38 insertions(+) > > -- > 2.26.0 ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 9:02 ` Sam Ravnborg 0 siblings, 0 replies; 18+ messages in thread From: Sam Ravnborg @ 2020-07-01 9:02 UTC (permalink / raw) To: Dmitry Osipenko Cc: devicetree, linux-kernel, dri-devel, Rob Herring, Thierry Reding, Laurent Pinchart, linux-tegra, Frank Rowand Hi Dmitry On Wed, Jul 01, 2020 at 10:42:30AM +0300, Dmitry Osipenko wrote: > Hi! > > This small series improves DRM bridges code by silencing a noisy error > coming from of-graph code for the device-trees that are missing a > display bridge graph. > > graph: no port node found in ... > > One example where this error happens is an older bridge-less DTB used > in conjunction with a newer kernel which has a display controller driver > that supports DRM bridges. > > Changelog: > > v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and > improved commit's message in the "add of_graph_is_present()" patch. > Thanks to Laurent Pinchart for spotting the problems! > > v9: - These two patches are factored out from [1] in order to ease applying > of the patches. > > - The of_graph_presents() is renamed to of_graph_is_present() like it > was requested by Rob Herring in the review comment to [1]. > > - Added Rob's r-b. > > [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 > > Dmitry Osipenko (2): > of_graph: add of_graph_is_present() > drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence Thanks for your patience with these - applied to drm-misc-next now. Sam > > drivers/gpu/drm/drm_of.c | 9 +++++++++ > drivers/of/property.c | 23 +++++++++++++++++++++++ > include/linux/of_graph.h | 6 ++++++ > 3 files changed, 38 insertions(+) > > -- > 2.26.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 9:02 ` Sam Ravnborg 0 siblings, 0 replies; 18+ messages in thread From: Sam Ravnborg @ 2020-07-01 9:02 UTC (permalink / raw) To: Dmitry Osipenko Cc: Thierry Reding, Laurent Pinchart, Rob Herring, Frank Rowand, dri-devel, linux-tegra, devicetree, linux-kernel Hi Dmitry On Wed, Jul 01, 2020 at 10:42:30AM +0300, Dmitry Osipenko wrote: > Hi! > > This small series improves DRM bridges code by silencing a noisy error > coming from of-graph code for the device-trees that are missing a > display bridge graph. > > graph: no port node found in ... > > One example where this error happens is an older bridge-less DTB used > in conjunction with a newer kernel which has a display controller driver > that supports DRM bridges. > > Changelog: > > v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and > improved commit's message in the "add of_graph_is_present()" patch. > Thanks to Laurent Pinchart for spotting the problems! > > v9: - These two patches are factored out from [1] in order to ease applying > of the patches. > > - The of_graph_presents() is renamed to of_graph_is_present() like it > was requested by Rob Herring in the review comment to [1]. > > - Added Rob's r-b. > > [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 > > Dmitry Osipenko (2): > of_graph: add of_graph_is_present() > drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence Thanks for your patience with these - applied to drm-misc-next now. Sam > > drivers/gpu/drm/drm_of.c | 9 +++++++++ > drivers/of/property.c | 23 +++++++++++++++++++++++ > include/linux/of_graph.h | 6 ++++++ > 3 files changed, 38 insertions(+) > > -- > 2.26.0 ^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <20200701090240.GA22218-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org>]
* Re: [PATCH v10 0/2] Silence missing-graph error for DRM bridges 2020-07-01 9:02 ` Sam Ravnborg (?) @ 2020-07-01 9:31 ` Dmitry Osipenko -1 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 9:31 UTC (permalink / raw) To: Sam Ravnborg Cc: Thierry Reding, Laurent Pinchart, Rob Herring, Frank Rowand, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA 01.07.2020 12:02, Sam Ravnborg пишет: > Hi Dmitry > On Wed, Jul 01, 2020 at 10:42:30AM +0300, Dmitry Osipenko wrote: >> Hi! >> >> This small series improves DRM bridges code by silencing a noisy error >> coming from of-graph code for the device-trees that are missing a >> display bridge graph. >> >> graph: no port node found in ... >> >> One example where this error happens is an older bridge-less DTB used >> in conjunction with a newer kernel which has a display controller driver >> that supports DRM bridges. >> >> Changelog: >> >> v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and >> improved commit's message in the "add of_graph_is_present()" patch. >> Thanks to Laurent Pinchart for spotting the problems! >> >> v9: - These two patches are factored out from [1] in order to ease applying >> of the patches. >> >> - The of_graph_presents() is renamed to of_graph_is_present() like it >> was requested by Rob Herring in the review comment to [1]. >> >> - Added Rob's r-b. >> >> [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 >> >> Dmitry Osipenko (2): >> of_graph: add of_graph_is_present() >> drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence > > Thanks for your patience with these - applied to drm-misc-next now. Thanks to you and Laurent! ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 9:31 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 9:31 UTC (permalink / raw) To: Sam Ravnborg Cc: devicetree, linux-kernel, dri-devel, Rob Herring, Thierry Reding, Laurent Pinchart, linux-tegra, Frank Rowand 01.07.2020 12:02, Sam Ravnborg пишет: > Hi Dmitry > On Wed, Jul 01, 2020 at 10:42:30AM +0300, Dmitry Osipenko wrote: >> Hi! >> >> This small series improves DRM bridges code by silencing a noisy error >> coming from of-graph code for the device-trees that are missing a >> display bridge graph. >> >> graph: no port node found in ... >> >> One example where this error happens is an older bridge-less DTB used >> in conjunction with a newer kernel which has a display controller driver >> that supports DRM bridges. >> >> Changelog: >> >> v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and >> improved commit's message in the "add of_graph_is_present()" patch. >> Thanks to Laurent Pinchart for spotting the problems! >> >> v9: - These two patches are factored out from [1] in order to ease applying >> of the patches. >> >> - The of_graph_presents() is renamed to of_graph_is_present() like it >> was requested by Rob Herring in the review comment to [1]. >> >> - Added Rob's r-b. >> >> [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 >> >> Dmitry Osipenko (2): >> of_graph: add of_graph_is_present() >> drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence > > Thanks for your patience with these - applied to drm-misc-next now. Thanks to you and Laurent! _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v10 0/2] Silence missing-graph error for DRM bridges @ 2020-07-01 9:31 ` Dmitry Osipenko 0 siblings, 0 replies; 18+ messages in thread From: Dmitry Osipenko @ 2020-07-01 9:31 UTC (permalink / raw) To: Sam Ravnborg Cc: Thierry Reding, Laurent Pinchart, Rob Herring, Frank Rowand, dri-devel, linux-tegra, devicetree, linux-kernel 01.07.2020 12:02, Sam Ravnborg пишет: > Hi Dmitry > On Wed, Jul 01, 2020 at 10:42:30AM +0300, Dmitry Osipenko wrote: >> Hi! >> >> This small series improves DRM bridges code by silencing a noisy error >> coming from of-graph code for the device-trees that are missing a >> display bridge graph. >> >> graph: no port node found in ... >> >> One example where this error happens is an older bridge-less DTB used >> in conjunction with a newer kernel which has a display controller driver >> that supports DRM bridges. >> >> Changelog: >> >> v10:- Corrected doc-comment, unbroke the of_graph_get_next_endpoint() and >> improved commit's message in the "add of_graph_is_present()" patch. >> Thanks to Laurent Pinchart for spotting the problems! >> >> v9: - These two patches are factored out from [1] in order to ease applying >> of the patches. >> >> - The of_graph_presents() is renamed to of_graph_is_present() like it >> was requested by Rob Herring in the review comment to [1]. >> >> - Added Rob's r-b. >> >> [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=184102 >> >> Dmitry Osipenko (2): >> of_graph: add of_graph_is_present() >> drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence > > Thanks for your patience with these - applied to drm-misc-next now. Thanks to you and Laurent! ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2020-07-02 7:25 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-07-01 7:42 [PATCH v10 0/2] Silence missing-graph error for DRM bridges Dmitry Osipenko 2020-07-01 7:42 ` Dmitry Osipenko 2020-07-01 7:42 ` Dmitry Osipenko [not found] ` <20200701074232.13632-1-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2020-07-01 7:42 ` [PATCH v10 1/2] of_graph: add of_graph_is_present() Dmitry Osipenko 2020-07-01 7:42 ` Dmitry Osipenko 2020-07-01 7:42 ` Dmitry Osipenko [not found] ` <20200701074232.13632-2-digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2020-07-01 7:55 ` Laurent Pinchart 2020-07-01 7:55 ` Laurent Pinchart 2020-07-01 7:55 ` Laurent Pinchart 2020-07-01 7:42 ` [PATCH v10 2/2] drm/of: Make drm_of_find_panel_or_bridge() to check graph's presence Dmitry Osipenko 2020-07-01 7:42 ` Dmitry Osipenko 2020-07-01 7:42 ` Dmitry Osipenko 2020-07-01 9:02 ` [PATCH v10 0/2] Silence missing-graph error for DRM bridges Sam Ravnborg 2020-07-01 9:02 ` Sam Ravnborg 2020-07-01 9:02 ` Sam Ravnborg [not found] ` <20200701090240.GA22218-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org> 2020-07-01 9:31 ` Dmitry Osipenko 2020-07-01 9:31 ` Dmitry Osipenko 2020-07-01 9:31 ` Dmitry Osipenko
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.