[SUNGEM]: PHY updates & pause fixes (#2)
This patch adds support for a few more PHYs used by Apple and fixes advertising and detecting of Pause (we were missing setting the bit in MII_ADVERTISE and weren't testing in LPA for all PHYs). Note that I currently only advertise pause, not asymetric pause. I don't know for sure the details there, I suppose I should read a bit more 802.3 references, and I don't now what sungem is capable of, but I noticed the PCS code (originated from you) does the same. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
7f18ba6248
commit
63ea998a26
@@ -30,7 +30,7 @@ struct mii_phy_def
|
||||
struct mii_phy
|
||||
{
|
||||
struct mii_phy_def* def;
|
||||
int advertising;
|
||||
u32 advertising;
|
||||
int mii_id;
|
||||
|
||||
/* 1: autoneg enabled, 0: disabled */
|
||||
@@ -85,6 +85,9 @@ extern int mii_phy_probe(struct mii_phy *phy, int mii_id);
|
||||
#define MII_BCM5221_SHDOW_AUX_MODE4_IDDQMODE 0x0001
|
||||
#define MII_BCM5221_SHDOW_AUX_MODE4_CLKLOPWR 0x0004
|
||||
|
||||
/* MII BCM5241 Additional registers */
|
||||
#define MII_BCM5241_SHDOW_AUX_MODE4_STANDBYPWR 0x0008
|
||||
|
||||
/* MII BCM5400 1000-BASET Control register */
|
||||
#define MII_BCM5400_GB_CONTROL 0x09
|
||||
#define MII_BCM5400_GB_CONTROL_FULLDUPLEXCAP 0x0200
|
||||
@@ -115,5 +118,7 @@ extern int mii_phy_probe(struct mii_phy *phy, int mii_id);
|
||||
#define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 0xc000
|
||||
#define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 0x2000
|
||||
#define MII_M1011_PHY_SPEC_STATUS_RESOLVED 0x0800
|
||||
#define MII_M1011_PHY_SPEC_STATUS_TX_PAUSE 0x0008
|
||||
#define MII_M1011_PHY_SPEC_STATUS_RX_PAUSE 0x0004
|
||||
|
||||
#endif /* __SUNGEM_PHY_H__ */
|
||||
|
Reference in New Issue
Block a user