[Fwd: Re: bge Ierr rate increase from 5.3R -> 6.1R]

John Polstra jdp at polstra.com
Mon Jan 8 16:44:01 PST 2007


On 30-Dec-2006 Bruce Evans wrote:
> More debugging showed that almost any of the reads of the phy in mii
> cause an input error,

The errors appear to be caused by the code in bge_miibus_{read,write}reg
that clears and then restores the BGE_MIMODE_AUTOPOLL bit of the
BGE_MI_MODE register.  If you remove those chunks of code, the errors
go away even when mii_tick is called periodically, and the chip
performs quite well under heavy traffic load in both directions.

I know that some of the *_MODE registers in these chips cause problems
if they are read, so I tried putting a shadow copy of the register
into the softc and doing only writes to the hardware register.  But
that didn't help in this case.

I seem to recall having heard that Broadcom discourages the use of
PHY autopolling for unspecified reasons.  The Linux driver from
Broadcom had code to support it, but it was never actually used for
any devices.  The current Linux driver uses autopolling only for the
Altima chip that's present on the inexpensive Netgear GA302T card.

I agree with you that we shouldn't need to call mii_tick periodically,
except perhaps for a few very old variants of the Broadcom chip.

John


More information about the freebsd-net mailing list