提交 14a67f3c 编写于 作者: A Ayaz Abdulla 提交者: Jeff Garzik

forcedeth bug fix: cicada phy

This patch contains errata fixes for the cicada phy. It only renamed the
defines to be phy specific.
Signed-off-by: NAyaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 05ffdd7b
...@@ -557,12 +557,12 @@ union ring_type { ...@@ -557,12 +557,12 @@ union ring_type {
#define PHYID2_MODEL_MASK 0x03f0 #define PHYID2_MODEL_MASK 0x03f0
#define PHY_MODEL_MARVELL_E3016 0x220 #define PHY_MODEL_MARVELL_E3016 0x220
#define PHY_MARVELL_E3016_INITMASK 0x0300 #define PHY_MARVELL_E3016_INITMASK 0x0300
#define PHY_INIT1 0x0f000 #define PHY_CICADA_INIT1 0x0f000
#define PHY_INIT2 0x0e00 #define PHY_CICADA_INIT2 0x0e00
#define PHY_INIT3 0x01000 #define PHY_CICADA_INIT3 0x01000
#define PHY_INIT4 0x0200 #define PHY_CICADA_INIT4 0x0200
#define PHY_INIT5 0x0004 #define PHY_CICADA_INIT5 0x0004
#define PHY_INIT6 0x02000 #define PHY_CICADA_INIT6 0x02000
#define PHY_GIGABIT 0x0100 #define PHY_GIGABIT 0x0100
#define PHY_TIMEOUT 0x1 #define PHY_TIMEOUT 0x1
...@@ -1141,14 +1141,14 @@ static int phy_init(struct net_device *dev) ...@@ -1141,14 +1141,14 @@ static int phy_init(struct net_device *dev)
/* phy vendor specific configuration */ /* phy vendor specific configuration */
if ((np->phy_oui == PHY_OUI_CICADA) && (phyinterface & PHY_RGMII) ) { if ((np->phy_oui == PHY_OUI_CICADA) && (phyinterface & PHY_RGMII) ) {
phy_reserved = mii_rw(dev, np->phyaddr, MII_RESV1, MII_READ); phy_reserved = mii_rw(dev, np->phyaddr, MII_RESV1, MII_READ);
phy_reserved &= ~(PHY_INIT1 | PHY_INIT2); phy_reserved &= ~(PHY_CICADA_INIT1 | PHY_CICADA_INIT2);
phy_reserved |= (PHY_INIT3 | PHY_INIT4); phy_reserved |= (PHY_CICADA_INIT3 | PHY_CICADA_INIT4);
if (mii_rw(dev, np->phyaddr, MII_RESV1, phy_reserved)) { if (mii_rw(dev, np->phyaddr, MII_RESV1, phy_reserved)) {
printk(KERN_INFO "%s: phy init failed.\n", pci_name(np->pci_dev)); printk(KERN_INFO "%s: phy init failed.\n", pci_name(np->pci_dev));
return PHY_ERROR; return PHY_ERROR;
} }
phy_reserved = mii_rw(dev, np->phyaddr, MII_NCONFIG, MII_READ); phy_reserved = mii_rw(dev, np->phyaddr, MII_NCONFIG, MII_READ);
phy_reserved |= PHY_INIT5; phy_reserved |= PHY_CICADA_INIT5;
if (mii_rw(dev, np->phyaddr, MII_NCONFIG, phy_reserved)) { if (mii_rw(dev, np->phyaddr, MII_NCONFIG, phy_reserved)) {
printk(KERN_INFO "%s: phy init failed.\n", pci_name(np->pci_dev)); printk(KERN_INFO "%s: phy init failed.\n", pci_name(np->pci_dev));
return PHY_ERROR; return PHY_ERROR;
...@@ -1156,7 +1156,7 @@ static int phy_init(struct net_device *dev) ...@@ -1156,7 +1156,7 @@ static int phy_init(struct net_device *dev)
} }
if (np->phy_oui == PHY_OUI_CICADA) { if (np->phy_oui == PHY_OUI_CICADA) {
phy_reserved = mii_rw(dev, np->phyaddr, MII_SREVISION, MII_READ); phy_reserved = mii_rw(dev, np->phyaddr, MII_SREVISION, MII_READ);
phy_reserved |= PHY_INIT6; phy_reserved |= PHY_CICADA_INIT6;
if (mii_rw(dev, np->phyaddr, MII_SREVISION, phy_reserved)) { if (mii_rw(dev, np->phyaddr, MII_SREVISION, phy_reserved)) {
printk(KERN_INFO "%s: phy init failed.\n", pci_name(np->pci_dev)); printk(KERN_INFO "%s: phy init failed.\n", pci_name(np->pci_dev));
return PHY_ERROR; return PHY_ERROR;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册