From: Saravana Kannan <saravanak@google.com> To: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Rob Herring <robh+dt@kernel.org>, Frank Rowand <frowand.list@gmail.com>, Andrew Lunn <andrew@lunn.ch>, netdev@vger.kernel.org, kernel-team@android.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong <narmstrong@baylibre.com>, linux-amlogic@lists.infradead.org Subject: Re: [PATCH v2] of: property: fw_devlink: Add support for "phy-handle" property Date: Mon, 23 Aug 2021 11:22:31 -0700 [thread overview] Message-ID: <CAGETcx_xJCqOWtwZ9Ee2+0sPGNLM5=F=djtbdYENkAYZa0ynqQ@mail.gmail.com> (raw) In-Reply-To: <0a2c4106-7f48-2bb5-048e-8c001a7c3fda@samsung.com> On Mon, Aug 23, 2021 at 5:08 AM Marek Szyprowski <m.szyprowski@samsung.com> wrote: > > Hi, > > On 18.08.2021 04:17, Saravana Kannan wrote: > > Allows tracking dependencies between Ethernet PHYs and their consumers. > > > > Cc: Andrew Lunn <andrew@lunn.ch> > > Cc: netdev@vger.kernel.org > > Signed-off-by: Saravana Kannan <saravanak@google.com> > > This patch landed recently in linux-next as commit cf4b94c8530d ("of: > property: fw_devlink: Add support for "phy-handle" property"). It breaks > ethernet operation on my Amlogic-based ARM64 boards: Odroid C4 > (arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts) and N2 > (meson-g12b-odroid-n2.dts) as well as Khadas VIM3/VIM3l > (meson-g12b-a311d-khadas-vim3.dts and meson-sm1-khadas-vim3l.dts). > > In case of OdroidC4 I see the following entries in the > /sys/kernel/debug/devices_deferred: > > ff64c000.mdio-multiplexer > ff3f0000.ethernet > > Let me know if there is anything I can check to help debugging this issue. I'm fairly certain you are hitting this issue because the PHY device doesn't have a compatible property. And so the device link dependency is propagated up to the mdio bus. But busses as suppliers aren't good because busses never "probe". PHY seems to be one of those cases where it's okay to have the compatible property but also okay to not have it. You can confirm my theory by checking for the list of suppliers under ff64c000.mdio-multiplexer. You'd see mdio@0 (ext_mdio) and if you look at the "status" file under the folder it should be "dormant". If you add a compatible property that fits the formats a PHY node can have, that should also fix your issue (not the solution though). I'll send out a fix this week (once you confirm my analysis). Thanks for reporting it. -Saravana > > > --- > > v1 -> v2: > > - Fixed patch to address my misunderstanding of how PHYs get > > initialized. > > > > drivers/of/property.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/of/property.c b/drivers/of/property.c > > index 931340329414..0c0dc2e369c0 100644 > > --- a/drivers/of/property.c > > +++ b/drivers/of/property.c > > @@ -1291,6 +1291,7 @@ DEFINE_SIMPLE_PROP(pwms, "pwms", "#pwm-cells") > > DEFINE_SIMPLE_PROP(resets, "resets", "#reset-cells") > > DEFINE_SIMPLE_PROP(leds, "leds", NULL) > > DEFINE_SIMPLE_PROP(backlight, "backlight", NULL) > > +DEFINE_SIMPLE_PROP(phy_handle, "phy-handle", NULL) > > DEFINE_SUFFIX_PROP(regulators, "-supply", NULL) > > DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells") > > > > @@ -1379,6 +1380,7 @@ static const struct supplier_bindings of_supplier_bindings[] = { > > { .parse_prop = parse_resets, }, > > { .parse_prop = parse_leds, }, > > { .parse_prop = parse_backlight, }, > > + { .parse_prop = parse_phy_handle, }, > > { .parse_prop = parse_gpio_compat, }, > > { .parse_prop = parse_interrupts, }, > > { .parse_prop = parse_regulators, }, > > Best regards > -- > Marek Szyprowski, PhD > Samsung R&D Institute Poland >
WARNING: multiple messages have this Message-ID (diff)
From: Saravana Kannan <saravanak@google.com> To: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Rob Herring <robh+dt@kernel.org>, Frank Rowand <frowand.list@gmail.com>, Andrew Lunn <andrew@lunn.ch>, netdev@vger.kernel.org, kernel-team@android.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong <narmstrong@baylibre.com>, linux-amlogic@lists.infradead.org Subject: Re: [PATCH v2] of: property: fw_devlink: Add support for "phy-handle" property Date: Mon, 23 Aug 2021 11:22:31 -0700 [thread overview] Message-ID: <CAGETcx_xJCqOWtwZ9Ee2+0sPGNLM5=F=djtbdYENkAYZa0ynqQ@mail.gmail.com> (raw) In-Reply-To: <0a2c4106-7f48-2bb5-048e-8c001a7c3fda@samsung.com> On Mon, Aug 23, 2021 at 5:08 AM Marek Szyprowski <m.szyprowski@samsung.com> wrote: > > Hi, > > On 18.08.2021 04:17, Saravana Kannan wrote: > > Allows tracking dependencies between Ethernet PHYs and their consumers. > > > > Cc: Andrew Lunn <andrew@lunn.ch> > > Cc: netdev@vger.kernel.org > > Signed-off-by: Saravana Kannan <saravanak@google.com> > > This patch landed recently in linux-next as commit cf4b94c8530d ("of: > property: fw_devlink: Add support for "phy-handle" property"). It breaks > ethernet operation on my Amlogic-based ARM64 boards: Odroid C4 > (arm64/boot/dts/amlogic/meson-sm1-odroid-c4.dts) and N2 > (meson-g12b-odroid-n2.dts) as well as Khadas VIM3/VIM3l > (meson-g12b-a311d-khadas-vim3.dts and meson-sm1-khadas-vim3l.dts). > > In case of OdroidC4 I see the following entries in the > /sys/kernel/debug/devices_deferred: > > ff64c000.mdio-multiplexer > ff3f0000.ethernet > > Let me know if there is anything I can check to help debugging this issue. I'm fairly certain you are hitting this issue because the PHY device doesn't have a compatible property. And so the device link dependency is propagated up to the mdio bus. But busses as suppliers aren't good because busses never "probe". PHY seems to be one of those cases where it's okay to have the compatible property but also okay to not have it. You can confirm my theory by checking for the list of suppliers under ff64c000.mdio-multiplexer. You'd see mdio@0 (ext_mdio) and if you look at the "status" file under the folder it should be "dormant". If you add a compatible property that fits the formats a PHY node can have, that should also fix your issue (not the solution though). I'll send out a fix this week (once you confirm my analysis). Thanks for reporting it. -Saravana > > > --- > > v1 -> v2: > > - Fixed patch to address my misunderstanding of how PHYs get > > initialized. > > > > drivers/of/property.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/of/property.c b/drivers/of/property.c > > index 931340329414..0c0dc2e369c0 100644 > > --- a/drivers/of/property.c > > +++ b/drivers/of/property.c > > @@ -1291,6 +1291,7 @@ DEFINE_SIMPLE_PROP(pwms, "pwms", "#pwm-cells") > > DEFINE_SIMPLE_PROP(resets, "resets", "#reset-cells") > > DEFINE_SIMPLE_PROP(leds, "leds", NULL) > > DEFINE_SIMPLE_PROP(backlight, "backlight", NULL) > > +DEFINE_SIMPLE_PROP(phy_handle, "phy-handle", NULL) > > DEFINE_SUFFIX_PROP(regulators, "-supply", NULL) > > DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells") > > > > @@ -1379,6 +1380,7 @@ static const struct supplier_bindings of_supplier_bindings[] = { > > { .parse_prop = parse_resets, }, > > { .parse_prop = parse_leds, }, > > { .parse_prop = parse_backlight, }, > > + { .parse_prop = parse_phy_handle, }, > > { .parse_prop = parse_gpio_compat, }, > > { .parse_prop = parse_interrupts, }, > > { .parse_prop = parse_regulators, }, > > Best regards > -- > Marek Szyprowski, PhD > Samsung R&D Institute Poland > _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic
next prev parent reply other threads:[~2021-08-23 18:23 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-18 2:17 [PATCH v2] of: property: fw_devlink: Add support for "phy-handle" property Saravana Kannan 2021-08-18 17:00 ` Rob Herring [not found] ` <CGME20210823120849eucas1p11d3919886444358472be3edd1c662755@eucas1p1.samsung.com> 2021-08-23 12:08 ` Marek Szyprowski 2021-08-23 12:08 ` Marek Szyprowski 2021-08-23 12:42 ` Rob Herring 2021-08-23 12:42 ` Rob Herring 2021-08-23 13:16 ` Andrew Lunn 2021-08-23 13:16 ` Andrew Lunn 2021-08-23 18:13 ` Saravana Kannan 2021-08-23 18:13 ` Saravana Kannan 2021-08-23 19:50 ` Andrew Lunn 2021-08-23 19:50 ` Andrew Lunn 2021-08-24 6:52 ` Marek Szyprowski 2021-08-24 6:52 ` Marek Szyprowski 2021-08-23 18:22 ` Saravana Kannan [this message] 2021-08-23 18:22 ` Saravana Kannan 2021-08-23 19:58 ` Andrew Lunn 2021-08-23 19:58 ` Andrew Lunn 2021-08-23 20:48 ` Saravana Kannan 2021-08-23 20:48 ` Saravana Kannan 2021-08-23 22:01 ` Andrew Lunn 2021-08-23 22:01 ` Andrew Lunn 2021-08-23 22:08 ` Rob Herring 2021-08-23 22:08 ` Rob Herring 2021-08-24 7:03 ` Marek Szyprowski 2021-08-24 7:03 ` Marek Szyprowski 2021-08-24 7:31 ` Saravana Kannan 2021-08-24 7:31 ` Saravana Kannan 2021-09-01 2:37 ` Saravana Kannan 2021-09-01 2:37 ` Saravana Kannan 2021-09-01 7:22 ` Marek Szyprowski 2021-09-01 7:22 ` Marek Szyprowski 2021-09-08 21:58 ` [PATCH v1] RFC: of: property: fix phy-hanlde issue Saravana Kannan 2021-09-09 8:03 ` Marek Szyprowski 2021-09-14 0:54 ` Saravana Kannan 2021-09-14 4:44 ` Saravana Kannan 2021-09-14 6:15 ` Marek Szyprowski
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='CAGETcx_xJCqOWtwZ9Ee2+0sPGNLM5=F=djtbdYENkAYZa0ynqQ@mail.gmail.com' \ --to=saravanak@google.com \ --cc=andrew@lunn.ch \ --cc=devicetree@vger.kernel.org \ --cc=frowand.list@gmail.com \ --cc=kernel-team@android.com \ --cc=linux-amlogic@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=m.szyprowski@samsung.com \ --cc=narmstrong@baylibre.com \ --cc=netdev@vger.kernel.org \ --cc=robh+dt@kernel.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.