tsec: Clean up Broadcom PHY status parsing

- Remove unnecessary printing "Enet starting in <speed>/<duplex>"
    This same information is already printed during normal ethernet
    operation in the form "Speed: 1000, full duplex".

- Add a check for link before determining link speed and duplex
    If there is no link, speed/duplex don't matter.  This also removes
    the annoying and unneeded "Auto-neg error, defaulting to 10BT/HD"
    message that occurs when no link is detected.

- Whitespace and line > 80 characters cleanup

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
Peter Tyser 2009-11-09 13:09:44 -06:00 committed by Ben Warren
parent 46e91674fb
commit 27165b5c32
1 changed files with 34 additions and 43 deletions

View File

@ -488,50 +488,41 @@ uint mii_BCM54xx_wirespeed(uint mii_reg, struct tsec_private *priv)
*/
uint mii_parse_BCM54xx_sr(uint mii_reg, struct tsec_private *priv)
{
/* If there is no link, speed and duplex don't matter */
if (!priv->link)
return 0;
switch((mii_reg & MIIM_BCM54xx_AUXSTATUS_LINKMODE_MASK) >> MIIM_BCM54xx_AUXSTATUS_LINKMODE_SHIFT){
case 1:
printf("Enet starting in 10BT/HD\n");
priv->duplexity = 0;
priv->speed = 10;
break;
case 2:
printf("Enet starting in 10BT/FD\n");
priv->duplexity = 1;
priv->speed = 10;
break;
case 3:
printf("Enet starting in 100BT/HD\n");
priv->duplexity = 0;
priv->speed = 100;
break;
case 5:
printf("Enet starting in 100BT/FD\n");
priv->duplexity = 1;
priv->speed = 100;
break;
case 6:
printf("Enet starting in 1000BT/HD\n");
priv->duplexity = 0;
priv->speed = 1000;
break;
case 7:
printf("Enet starting in 1000BT/FD\n");
priv->duplexity = 1;
priv->speed = 1000;
break;
default:
printf("Auto-neg error, defaulting to 10BT/HD\n");
priv->duplexity = 0;
priv->speed = 10;
break;
switch ((mii_reg & MIIM_BCM54xx_AUXSTATUS_LINKMODE_MASK) >>
MIIM_BCM54xx_AUXSTATUS_LINKMODE_SHIFT) {
case 1:
priv->duplexity = 0;
priv->speed = 10;
break;
case 2:
priv->duplexity = 1;
priv->speed = 10;
break;
case 3:
priv->duplexity = 0;
priv->speed = 100;
break;
case 5:
priv->duplexity = 1;
priv->speed = 100;
break;
case 6:
priv->duplexity = 0;
priv->speed = 1000;
break;
case 7:
priv->duplexity = 1;
priv->speed = 1000;
break;
default:
printf("Auto-neg error, defaulting to 10BT/HD\n");
priv->duplexity = 0;
priv->speed = 10;
break;
}
return 0;