* [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
@ 2019-06-25 8:19 Jose Abreu
2019-06-25 10:29 ` Sergei Shtylyov
2019-06-25 13:11 ` Jose Abreu
0 siblings, 2 replies; 7+ messages in thread
From: Jose Abreu @ 2019-06-25 8:19 UTC (permalink / raw)
To: linux-kernel, netdev
Cc: Jose Abreu, Joao Pinto, David S . Miller, Giuseppe Cavallaro,
Alexandre Torgue
Some DT bindings do not have the PHY handle. Let's fallback to manually
discovery in case phylink_of_phy_connect() fails.
Reported-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic")
Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Cc: Joao Pinto <jpinto@synopsys.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
---
Hello Katsuhiro,
Can you please test this patch ?
---
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index a48751989fa6..f4593d2d9d20 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -950,9 +950,12 @@ static int stmmac_init_phy(struct net_device *dev)
node = priv->plat->phylink_node;
- if (node) {
+ if (node)
ret = phylink_of_phy_connect(priv->phylink, node, 0);
- } else {
+
+ /* Some DT bindings do not set-up the PHY handle. Let's try to
+ * manually parse it */
+ if (!node || ret) {
int addr = priv->plat->phy_addr;
struct phy_device *phydev;
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
2019-06-25 8:19 [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present Jose Abreu
@ 2019-06-25 10:29 ` Sergei Shtylyov
2019-06-25 10:51 ` Sergei Shtylyov
2019-06-25 13:11 ` Jose Abreu
1 sibling, 1 reply; 7+ messages in thread
From: Sergei Shtylyov @ 2019-06-25 10:29 UTC (permalink / raw)
To: Jose Abreu, linux-kernel, netdev
Cc: Joao Pinto, David S . Miller, Giuseppe Cavallaro, Alexandre Torgue
Hello!
On 25.06.2019 11:19, Jose Abreu wrote:
> Some DT bindings do not have the PHY handle. Let's fallback to manually
> discovery in case phylink_of_phy_connect() fails.
>
> Reported-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
> Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic")
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Cc: Joao Pinto <jpinto@synopsys.com>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> ---
> Hello Katsuhiro,
>
> Can you please test this patch ?
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index a48751989fa6..f4593d2d9d20 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -950,9 +950,12 @@ static int stmmac_init_phy(struct net_device *dev)
>
> node = priv->plat->phylink_node;
>
> - if (node) {
> + if (node)
> ret = phylink_of_phy_connect(priv->phylink, node, 0);
> - } else {
> +
> + /* Some DT bindings do not set-up the PHY handle. Let's try to
> + * manually parse it */
The multi-line comments inb the networking code should be formatted like
below:
/*
* bla
* bla
*/
> + if (!node || ret) {
> int addr = priv->plat->phy_addr;
> struct phy_device *phydev;
>
MBR, Sergei
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
2019-06-25 10:29 ` Sergei Shtylyov
@ 2019-06-25 10:51 ` Sergei Shtylyov
0 siblings, 0 replies; 7+ messages in thread
From: Sergei Shtylyov @ 2019-06-25 10:51 UTC (permalink / raw)
To: Jose Abreu, linux-kernel, netdev
Cc: Joao Pinto, David S . Miller, Giuseppe Cavallaro, Alexandre Torgue
On 25.06.2019 13:29, Sergei Shtylyov wrote:
>> Some DT bindings do not have the PHY handle. Let's fallback to manually
>> discovery in case phylink_of_phy_connect() fails.
>>
>> Reported-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
>> Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic")
>> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
>> Cc: Joao Pinto <jpinto@synopsys.com>
>> Cc: David S. Miller <davem@davemloft.net>
>> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
>> Cc: Alexandre Torgue <alexandre.torgue@st.com>
>> ---
>> Hello Katsuhiro,
>>
>> Can you please test this patch ?
>> ---
>> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> index a48751989fa6..f4593d2d9d20 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> @@ -950,9 +950,12 @@ static int stmmac_init_phy(struct net_device *dev)
>> node = priv->plat->phylink_node;
>> - if (node) {
>> + if (node)
>> ret = phylink_of_phy_connect(priv->phylink, node, 0);
>> - } else {
>> +
>> + /* Some DT bindings do not set-up the PHY handle. Let's try to
>> + * manually parse it */
>
> The multi-line comments inb the networking code should be formatted like
> below:
>
> /*
> * bla
Oops, that was the general comment format, networking code starts without
the leading empty line:\
/* bla
> * bla
> */
[...]
MBR, Sergei
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
2019-06-25 8:19 [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present Jose Abreu
2019-06-25 10:29 ` Sergei Shtylyov
@ 2019-06-25 13:11 ` Jose Abreu
2019-06-25 14:40 ` Katsuhiro Suzuki
1 sibling, 1 reply; 7+ messages in thread
From: Jose Abreu @ 2019-06-25 13:11 UTC (permalink / raw)
To: Jose Abreu, linux-kernel, netdev, Katsuhiro Suzuki
Cc: Joao Pinto, David S . Miller, Giuseppe Cavallaro, Alexandre Torgue
++ Katsuhiro
From: Jose Abreu <joabreu@synopsys.com>
> Some DT bindings do not have the PHY handle. Let's fallback to manually
> discovery in case phylink_of_phy_connect() fails.
>
> Reported-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
> Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic")
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Cc: Joao Pinto <jpinto@synopsys.com>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> ---
> Hello Katsuhiro,
>
> Can you please test this patch ?
> ---
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index a48751989fa6..f4593d2d9d20 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -950,9 +950,12 @@ static int stmmac_init_phy(struct net_device *dev)
>
> node = priv->plat->phylink_node;
>
> - if (node) {
> + if (node)
> ret = phylink_of_phy_connect(priv->phylink, node, 0);
> - } else {
> +
> + /* Some DT bindings do not set-up the PHY handle. Let's try to
> + * manually parse it */
> + if (!node || ret) {
> int addr = priv->plat->phy_addr;
> struct phy_device *phydev;
>
> --
> 2.7.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
2019-06-25 13:11 ` Jose Abreu
@ 2019-06-25 14:40 ` Katsuhiro Suzuki
2019-06-25 14:51 ` Andrew Lunn
0 siblings, 1 reply; 7+ messages in thread
From: Katsuhiro Suzuki @ 2019-06-25 14:40 UTC (permalink / raw)
To: Jose Abreu, linux-kernel, netdev
Cc: Joao Pinto, David S . Miller, Giuseppe Cavallaro, Alexandre Torgue
Hello Jose,
This patch works fine with my Tinker Board. Thanks a lot!
Tested-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
BTW, from network guys point of view, is it better to add a phy node
into device trees that have no phy node such as the Tinker Board?
Best Regards,
Katsuhiro Suzuki
On 2019/06/25 22:11, Jose Abreu wrote:
> ++ Katsuhiro
>
> From: Jose Abreu <joabreu@synopsys.com>
>
>> Some DT bindings do not have the PHY handle. Let's fallback to manually
>> discovery in case phylink_of_phy_connect() fails.
>>
>> Reported-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
>> Fixes: 74371272f97f ("net: stmmac: Convert to phylink and remove phylib logic")
>> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
>> Cc: Joao Pinto <jpinto@synopsys.com>
>> Cc: David S. Miller <davem@davemloft.net>
>> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
>> Cc: Alexandre Torgue <alexandre.torgue@st.com>
>> ---
>> Hello Katsuhiro,
>>
>> Can you please test this patch ?
>> ---
>> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> index a48751989fa6..f4593d2d9d20 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
>> @@ -950,9 +950,12 @@ static int stmmac_init_phy(struct net_device *dev)
>>
>> node = priv->plat->phylink_node;
>>
>> - if (node) {
>> + if (node)
>> ret = phylink_of_phy_connect(priv->phylink, node, 0);
>> - } else {
>> +
>> + /* Some DT bindings do not set-up the PHY handle. Let's try to
>> + * manually parse it */
>> + if (!node || ret) {
>> int addr = priv->plat->phy_addr;
>> struct phy_device *phydev;
>>
>> --
>> 2.7.4
>
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
2019-06-25 14:40 ` Katsuhiro Suzuki
@ 2019-06-25 14:51 ` Andrew Lunn
2019-06-25 15:26 ` Katsuhiro Suzuki
0 siblings, 1 reply; 7+ messages in thread
From: Andrew Lunn @ 2019-06-25 14:51 UTC (permalink / raw)
To: Katsuhiro Suzuki
Cc: Jose Abreu, linux-kernel, netdev, Joao Pinto, David S . Miller,
Giuseppe Cavallaro, Alexandre Torgue
On Tue, Jun 25, 2019 at 11:40:00PM +0900, Katsuhiro Suzuki wrote:
> Hello Jose,
>
> This patch works fine with my Tinker Board. Thanks a lot!
>
> Tested-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
>
>
> BTW, from network guys point of view, is it better to add a phy node
> into device trees that have no phy node such as the Tinker Board?
Hi Katsuhiro
It makes it less ambiguous if there is a phy-handle. It is then very
clear which PHY should be used. For a development board, which people
can be tinkering around with, there is a chance they add a second PHY
to the MDIO bus, or an Ethernet switch, etc. Without explicitly
listing the PHY, it might get the wrong one. However this is generally
a problem if phy_find_first() is used. I think in this case, something
is setting priv->plat->phy_addr, so it is also clearly defined which
PHY to use.
Andrew
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present
2019-06-25 14:51 ` Andrew Lunn
@ 2019-06-25 15:26 ` Katsuhiro Suzuki
0 siblings, 0 replies; 7+ messages in thread
From: Katsuhiro Suzuki @ 2019-06-25 15:26 UTC (permalink / raw)
To: Andrew Lunn
Cc: Jose Abreu, linux-kernel, netdev, Joao Pinto, David S . Miller,
Giuseppe Cavallaro, Alexandre Torgue
Hello Andrew,
On 2019/06/25 23:51, Andrew Lunn wrote:
> On Tue, Jun 25, 2019 at 11:40:00PM +0900, Katsuhiro Suzuki wrote:
>> Hello Jose,
>>
>> This patch works fine with my Tinker Board. Thanks a lot!
>>
>> Tested-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
>>
>>
>> BTW, from network guys point of view, is it better to add a phy node
>> into device trees that have no phy node such as the Tinker Board?
>
> Hi Katsuhiro
>
> It makes it less ambiguous if there is a phy-handle. It is then very
> clear which PHY should be used. For a development board, which people
> can be tinkering around with, there is a chance they add a second PHY
> to the MDIO bus, or an Ethernet switch, etc. Without explicitly
> listing the PHY, it might get the wrong one. However this is generally
> a problem if phy_find_first() is used. I think in this case, something
> is setting priv->plat->phy_addr, so it is also clearly defined which
> PHY to use.
>
> Andrew
>
Hmm, I see. This stmmac driver can choose PHY by the kernel module
parameter 'phyaddr' (if no one set this parameter, priv->plat->phy_addr
goes to 0). So there is no ambiguous in this case and need no changes
for device tree.
Thank you for your comment.
Best Regards,
Katsuhiro Suzuki
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-06-25 15:27 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-25 8:19 [PATCH net-next] net: stmmac: Fix the case when PHY handle is not present Jose Abreu
2019-06-25 10:29 ` Sergei Shtylyov
2019-06-25 10:51 ` Sergei Shtylyov
2019-06-25 13:11 ` Jose Abreu
2019-06-25 14:40 ` Katsuhiro Suzuki
2019-06-25 14:51 ` Andrew Lunn
2019-06-25 15:26 ` Katsuhiro Suzuki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).