* [PATCH] phylib: Fix Freescale TBI PHY detection
@ 2009-01-13 16:05 Anton Vorontsov
2009-01-14 15:03 ` Anton Vorontsov
0 siblings, 1 reply; 4+ messages in thread
From: Anton Vorontsov @ 2009-01-13 16:05 UTC (permalink / raw)
To: Jeff Garzik
Cc: linuxppc-dev, netdev, Andy Fleming, David Miller, Giulio Benetti
Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of
commit 3ee82383f0098a2e13acc8cf1be8e47512f41e5a
Author: Giulio Benetti <giulio.benetti@micronovasrl.com>
Date: Thu Nov 13 21:53:13 2008 +0000
phy: fix phy address bug
PHYID returns 0xffff and not 0xffffffff when not found and in some
case(at91sam9263) 0x0. Maybe this patch could be useful.
phy_device.c treats PHY ID == 0x0 as bogus IDs, and that results in
gianfar driver failure to see the TBI PHYs. This code snippet triggers:
if (!priv->tbiphy) {
printk(KERN_WARNING "SGMII mode requires that the device "
"tree specify a tbi-handle\n");
return;
}
Although tbi-handle is specified in the device tree.
Btw, technically PHY ID == 0x0 is a valid ID (if we ever see a PHY
manufactured by Xerox :-).
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
---
There is one thing I don't actually understand though...
Andy, were you testing the TBI support on a hardware where PHY ID
!= 0x0 or maybe your TBI PHY support patch (commit b31a1d8b41513b,
dated Tue Dec 16 15:29:15 2008) was based on a bit outdated kernel
version? Because according to the git timestamps, the TBI support
was not working since the submission.
Just in case, the hardware I'm seeing the PHY ID == 0x0 is
MPC8378E-MDS.
Thanks,
drivers/net/phy/phy_device.c | 9 ---------
1 files changed, 0 insertions(+), 9 deletions(-)
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index e354601..0a06e4f 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -231,15 +231,6 @@ struct phy_device * get_phy_device(struct mii_bus *bus, int addr)
if ((phy_id & 0x1fffffff) == 0x1fffffff)
return NULL;
- /*
- * Broken hardware is sometimes missing the pull-up resistor on the
- * MDIO line, which results in reads to non-existent devices returning
- * 0 rather than 0xffff. Catch this here and treat 0 as a non-existent
- * device as well.
- */
- if (phy_id == 0)
- return NULL;
-
dev = phy_device_create(bus, addr, phy_id);
return dev;
--
1.5.6.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] phylib: Fix Freescale TBI PHY detection
2009-01-13 16:05 [PATCH] phylib: Fix Freescale TBI PHY detection Anton Vorontsov
@ 2009-01-14 15:03 ` Anton Vorontsov
2009-01-14 18:20 ` Andy Fleming
0 siblings, 1 reply; 4+ messages in thread
From: Anton Vorontsov @ 2009-01-14 15:03 UTC (permalink / raw)
To: Jeff Garzik
Cc: linuxppc-dev, Giulio Benetti, Andy Fleming, David Miller, netdev
On Tue, Jan 13, 2009 at 07:05:13PM +0300, Anton Vorontsov wrote:
> Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of
>
> commit 3ee82383f0098a2e13acc8cf1be8e47512f41e5a
> Author: Giulio Benetti <giulio.benetti@micronovasrl.com>
> Date: Thu Nov 13 21:53:13 2008 +0000
>
> phy: fix phy address bug
>
> PHYID returns 0xffff and not 0xffffffff when not found and in some
> case(at91sam9263) 0x0. Maybe this patch could be useful.
>
> phy_device.c treats PHY ID == 0x0 as bogus IDs, and that results in
> gianfar driver failure to see the TBI PHYs. This code snippet triggers:
>
> if (!priv->tbiphy) {
> printk(KERN_WARNING "SGMII mode requires that the device "
> "tree specify a tbi-handle\n");
> return;
> }
>
> Although tbi-handle is specified in the device tree.
>
> Btw, technically PHY ID == 0x0 is a valid ID (if we ever see a PHY
> manufactured by Xerox :-).
>
> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
>
> There is one thing I don't actually understand though...
>
> Andy, were you testing the TBI support on a hardware where PHY ID
> != 0x0 or maybe your TBI PHY support patch (commit b31a1d8b41513b,
> dated Tue Dec 16 15:29:15 2008) was based on a bit outdated kernel
> version? Because according to the git timestamps, the TBI support
> was not working since the submission.
>
> Just in case, the hardware I'm seeing the PHY ID == 0x0 is
> MPC8378E-MDS.
I think I got it. Probably the TBI support patch was based on the
powerpc.git next, and the commit that broke the TBI support
was in the net-next-2.6 tree.
That explains why nobody noticed the issue.
> drivers/net/phy/phy_device.c | 9 ---------
> 1 files changed, 0 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> index e354601..0a06e4f 100644
> --- a/drivers/net/phy/phy_device.c
> +++ b/drivers/net/phy/phy_device.c
> @@ -231,15 +231,6 @@ struct phy_device * get_phy_device(struct mii_bus *bus, int addr)
> if ((phy_id & 0x1fffffff) == 0x1fffffff)
> return NULL;
>
> - /*
> - * Broken hardware is sometimes missing the pull-up resistor on the
> - * MDIO line, which results in reads to non-existent devices returning
> - * 0 rather than 0xffff. Catch this here and treat 0 as a non-existent
> - * device as well.
> - */
> - if (phy_id == 0)
> - return NULL;
> -
> dev = phy_device_create(bus, addr, phy_id);
>
> return dev;
> --
> 1.5.6.5
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] phylib: Fix Freescale TBI PHY detection
2009-01-14 15:03 ` Anton Vorontsov
@ 2009-01-14 18:20 ` Andy Fleming
2009-01-14 22:38 ` David Miller
0 siblings, 1 reply; 4+ messages in thread
From: Andy Fleming @ 2009-01-14 18:20 UTC (permalink / raw)
To: avorontsov
Cc: linuxppc-dev, Giulio Benetti, Jeff Garzik, David Miller, netdev
On Jan 14, 2009, at 9:03 AM, Anton Vorontsov wrote:
>>
>> There is one thing I don't actually understand though...
>>
>> Andy, were you testing the TBI support on a hardware where PHY ID
>> != 0x0 or maybe your TBI PHY support patch (commit b31a1d8b41513b,
>> dated Tue Dec 16 15:29:15 2008) was based on a bit outdated kernel
>> version? Because according to the git timestamps, the TBI support
>> was not working since the submission.
>>
>> Just in case, the hardware I'm seeing the PHY ID == 0x0 is
>> MPC8378E-MDS.
>
> I think I got it. Probably the TBI support patch was based on the
> powerpc.git next, and the commit that broke the TBI support
> was in the net-next-2.6 tree.
>
> That explains why nobody noticed the issue.
Yeah, I dropped the ball. I saw the patch go in, thought that might
break something, but I didn't find time to look into it. Thanks for
finding and reverting this bug.
Acked-by: Andy Fleming <afleming@freescale.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] phylib: Fix Freescale TBI PHY detection
2009-01-14 18:20 ` Andy Fleming
@ 2009-01-14 22:38 ` David Miller
0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2009-01-14 22:38 UTC (permalink / raw)
To: afleming; +Cc: linuxppc-dev, jgarzik, giulio.benetti, netdev
From: Andy Fleming <afleming@freescale.com>
Date: Wed, 14 Jan 2009 12:20:35 -0600
> On Jan 14, 2009, at 9:03 AM, Anton Vorontsov wrote:
> >>
> >> There is one thing I don't actually understand though...
> >>
> >> Andy, were you testing the TBI support on a hardware where PHY ID
> >> != 0x0 or maybe your TBI PHY support patch (commit b31a1d8b41513b,
> >> dated Tue Dec 16 15:29:15 2008) was based on a bit outdated kernel
> >> version? Because according to the git timestamps, the TBI support
> >> was not working since the submission.
> >>
> >> Just in case, the hardware I'm seeing the PHY ID == 0x0 is
> >> MPC8378E-MDS.
> >
> > I think I got it. Probably the TBI support patch was based on the
> > powerpc.git next, and the commit that broke the TBI support
> > was in the net-next-2.6 tree.
> >
> > That explains why nobody noticed the issue.
>
>
> Yeah, I dropped the ball. I saw the patch go in, thought that might break something, but I didn't find time to look into it. Thanks for finding and reverting this bug.
>
> Acked-by: Andy Fleming <afleming@freescale.com>
Patch applied, thanks everyone.
I was worried when I applied the patch causing this, that some
device would in fact trigger that specific test. Turns out
my worries were warranted :)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-01-14 22:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-13 16:05 [PATCH] phylib: Fix Freescale TBI PHY detection Anton Vorontsov
2009-01-14 15:03 ` Anton Vorontsov
2009-01-14 18:20 ` Andy Fleming
2009-01-14 22:38 ` David Miller
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).