aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/ael1002.c
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2008-10-08 20:38:29 -0400
committerDavid S. Miller <davem@davemloft.net>2008-10-08 20:38:29 -0400
commit044979827eda13675abab99879ebe3ea535d59fa (patch)
treebc4917540c36679c56cd1d3e70d26242233a555c /drivers/net/cxgb3/ael1002.c
parent78e4689e908adc8334272756c32c9218d1967408 (diff)
cxgb3: simplify port type struct and usage
Second step in overall phy layer reorganization. Clean up the port_type_info structure. Support coextistence of clause 22 and clause 45 MDIO devices. Select the type of MDIO transaction on a per transaction basis. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/ael1002.c')
-rw-r--r--drivers/net/cxgb3/ael1002.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/net/cxgb3/ael1002.c b/drivers/net/cxgb3/ael1002.c
index bf22e56429fb..f4e046e32fc6 100644
--- a/drivers/net/cxgb3/ael1002.c
+++ b/drivers/net/cxgb3/ael1002.c
@@ -122,7 +122,9 @@ static struct cphy_ops ael1002_ops = {
122int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter, 122int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter,
123 int phy_addr, const struct mdio_ops *mdio_ops) 123 int phy_addr, const struct mdio_ops *mdio_ops)
124{ 124{
125 cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops); 125 cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops,
126 SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE,
127 "10GBASE-R");
126 ael100x_txon(phy); 128 ael100x_txon(phy);
127 return 0; 129 return 0;
128} 130}
@@ -178,7 +180,9 @@ static struct cphy_ops ael1006_ops = {
178int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter, 180int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter,
179 int phy_addr, const struct mdio_ops *mdio_ops) 181 int phy_addr, const struct mdio_ops *mdio_ops)
180{ 182{
181 cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops); 183 cphy_init(phy, adapter, phy_addr, &ael1006_ops, mdio_ops,
184 SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE,
185 "10GBASE-SR");
182 ael100x_txon(phy); 186 ael100x_txon(phy);
183 return 0; 187 return 0;
184} 188}
@@ -198,7 +202,9 @@ int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter,
198{ 202{
199 unsigned int stat; 203 unsigned int stat;
200 204
201 cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops); 205 cphy_init(phy, adapter, phy_addr, &qt2045_ops, mdio_ops,
206 SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_TP,
207 "10GBASE-CX4");
202 208
203 /* 209 /*
204 * Some cards where the PHY is supposed to be at address 0 actually 210 * Some cards where the PHY is supposed to be at address 0 actually
@@ -256,6 +262,8 @@ static struct cphy_ops xaui_direct_ops = {
256int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter, 262int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter,
257 int phy_addr, const struct mdio_ops *mdio_ops) 263 int phy_addr, const struct mdio_ops *mdio_ops)
258{ 264{
259 cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops); 265 cphy_init(phy, adapter, phy_addr, &xaui_direct_ops, mdio_ops,
266 SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_TP,
267 "10GBASE-CX4");
260 return 0; 268 return 0;
261} 269}