aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/cxgb3/common.h
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2009-03-12 17:14:19 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-13 14:30:47 -0400
commitbf792094ef830117312b3990b63474320ec864c0 (patch)
treedb47894a787ec8eee78b34c500661fd17231229f /drivers/net/cxgb3/common.h
parentcd40658a616050df0a50d0a3ded06e3ebcc0a04a (diff)
cxgb3: detect mac link faults.
The driver currently ignores the local or remote link faults raised at the mac layer. This patch fixes it. Our mac however only advertizes link events, so wait for the phy to stabilize the link, then enable mac link events interrupts. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/common.h')
-rw-r--r--drivers/net/cxgb3/common.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/cxgb3/common.h b/drivers/net/cxgb3/common.h
index db4f4f575b6a..9ee021e750c8 100644
--- a/drivers/net/cxgb3/common.h
+++ b/drivers/net/cxgb3/common.h
@@ -280,6 +280,7 @@ struct mac_stats {
280 unsigned long num_toggled; /* # times toggled TxEn due to stuck TX */ 280 unsigned long num_toggled; /* # times toggled TxEn due to stuck TX */
281 unsigned long num_resets; /* # times reset due to stuck TX */ 281 unsigned long num_resets; /* # times reset due to stuck TX */
282 282
283 unsigned long link_faults; /* # detected link faults */
283}; 284};
284 285
285struct tp_mib_stats { 286struct tp_mib_stats {
@@ -701,6 +702,8 @@ int t3_phy_lasi_intr_handler(struct cphy *phy);
701void t3_intr_enable(struct adapter *adapter); 702void t3_intr_enable(struct adapter *adapter);
702void t3_intr_disable(struct adapter *adapter); 703void t3_intr_disable(struct adapter *adapter);
703void t3_intr_clear(struct adapter *adapter); 704void t3_intr_clear(struct adapter *adapter);
705void t3_xgm_intr_enable(struct adapter *adapter, int idx);
706void t3_xgm_intr_disable(struct adapter *adapter, int idx);
704void t3_port_intr_enable(struct adapter *adapter, int idx); 707void t3_port_intr_enable(struct adapter *adapter, int idx);
705void t3_port_intr_disable(struct adapter *adapter, int idx); 708void t3_port_intr_disable(struct adapter *adapter, int idx);
706void t3_port_intr_clear(struct adapter *adapter, int idx); 709void t3_port_intr_clear(struct adapter *adapter, int idx);
@@ -708,6 +711,7 @@ int t3_slow_intr_handler(struct adapter *adapter);
708int t3_phy_intr_handler(struct adapter *adapter); 711int t3_phy_intr_handler(struct adapter *adapter);
709 712
710void t3_link_changed(struct adapter *adapter, int port_id); 713void t3_link_changed(struct adapter *adapter, int port_id);
714void t3_link_fault(struct adapter *adapter, int port_id);
711int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc); 715int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc);
712const struct adapter_info *t3_get_adapter_info(unsigned int board_id); 716const struct adapter_info *t3_get_adapter_info(unsigned int board_id);
713int t3_seeprom_read(struct adapter *adapter, u32 addr, __le32 *data); 717int t3_seeprom_read(struct adapter *adapter, u32 addr, __le32 *data);
@@ -744,6 +748,8 @@ int t3_mc7_bd_read(struct mc7 *mc7, unsigned int start, unsigned int n,
744 748
745int t3_mac_reset(struct cmac *mac); 749int t3_mac_reset(struct cmac *mac);
746void t3b_pcs_reset(struct cmac *mac); 750void t3b_pcs_reset(struct cmac *mac);
751void t3_mac_disable_exact_filters(struct cmac *mac);
752void t3_mac_enable_exact_filters(struct cmac *mac);
747int t3_mac_enable(struct cmac *mac, int which); 753int t3_mac_enable(struct cmac *mac, int which);
748int t3_mac_disable(struct cmac *mac, int which); 754int t3_mac_disable(struct cmac *mac, int which);
749int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu); 755int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu);