cvs commit: src/sys/dev/mii brgphy.c
Jung-uk Kim
jkim at FreeBSD.org
Tue Mar 20 20:48:15 UTC 2007
On Tuesday 20 March 2007 03:28 pm, John Polstra wrote:
> Jung-uk Kim wrote:
> > jkim 2007-03-19 23:17:39 UTC
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/dev/mii brgphy.c
> > Log:
> > Revert couple of changes from 1.51 and 1.52. Reading link
> > status with BMSR is okay for most of the chipsets but BCM5701 PHY
> > does not seem to like it.
>
> I'm not sure what you mean by "does not seem to like it", but did
> you try reading the BMSR twice? The link status bit is a latching
> bit. If you read the register once and it shows no link status,
> that only means that at some point since you previously read the
> register, link was lost. It says nothing about the current status
> of link. The only way to find out the current status of link is to
> read the register twice. The first read clears the latch, and the
> second read reports the current status. This is not specific to
> the Broadcom chips. It is standard across all PHYs.
Believe me, I know that. ;-) I was experimenting on brgphy.c some
time ago and discovered all of my Broadcom PHYs are not 'standard'
PHYs (in your definition), i.e., BMSR's link status bit is not
latching. That is why I just used BMSR instead of aux status
register to reduce register access. This commit actually reverts
them to the old (but safer) behavior because BCM5701 PHY 'seems' to
be more standard. Unfortunately we don't have any documents to
verify anything ATM. We are flying blind. :-(
Jung-uk Kim
More information about the cvs-src
mailing list