spidernet: move medium variable into card struct
This moves the medium variable into the spidernet card structure. It renames the GMII_ variables to BCM54XX specific ones. Signed-off-by: Jens Osterkamp <jens@de.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Родитель
fc8e13da91
Коммит
4b23a554db
|
@ -1909,26 +1909,26 @@ static void spider_net_link_phy(unsigned long data)
|
|||
|
||||
pr_info("%s: link is down trying to bring it up\n", card->netdev->name);
|
||||
|
||||
switch (phy->medium) {
|
||||
case GMII_COPPER:
|
||||
switch (card->medium) {
|
||||
case BCM54XX_COPPER:
|
||||
/* enable fiber with autonegotiation first */
|
||||
if (phy->def->ops->enable_fiber)
|
||||
phy->def->ops->enable_fiber(phy, 1);
|
||||
phy->medium = GMII_FIBER;
|
||||
card->medium = BCM54XX_FIBER;
|
||||
break;
|
||||
|
||||
case GMII_FIBER:
|
||||
case BCM54XX_FIBER:
|
||||
/* fiber didn't come up, try to disable fiber autoneg */
|
||||
if (phy->def->ops->enable_fiber)
|
||||
phy->def->ops->enable_fiber(phy, 0);
|
||||
phy->medium = GMII_UNKNOWN;
|
||||
card->medium = BCM54XX_UNKNOWN;
|
||||
break;
|
||||
|
||||
case GMII_UNKNOWN:
|
||||
case BCM54XX_UNKNOWN:
|
||||
/* copper, fiber with and without failed,
|
||||
* retry from beginning */
|
||||
spider_net_setup_aneg(card);
|
||||
phy->medium = GMII_COPPER;
|
||||
card->medium = BCM54XX_COPPER;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -444,6 +444,8 @@ struct spider_net_card {
|
|||
struct pci_dev *pdev;
|
||||
struct mii_phy phy;
|
||||
|
||||
int medium;
|
||||
|
||||
void __iomem *regs;
|
||||
|
||||
struct spider_net_descr_chain tx_chain;
|
||||
|
|
Загрузка…
Ссылка в новой задаче