aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/tenxpress.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sfc/tenxpress.c')
-rw-r--r--drivers/net/sfc/tenxpress.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/drivers/net/sfc/tenxpress.c b/drivers/net/sfc/tenxpress.c
index 19cfc318954c..80c8d6e3131e 100644
--- a/drivers/net/sfc/tenxpress.c
+++ b/drivers/net/sfc/tenxpress.c
@@ -189,25 +189,12 @@
189 * rails */ 189 * rails */
190#define LNPGA_PDOWN_WAIT (HZ / 5) 190#define LNPGA_PDOWN_WAIT (HZ / 5)
191 191
192static int crc_error_reset_threshold = 100;
193module_param(crc_error_reset_threshold, int, 0644);
194MODULE_PARM_DESC(crc_error_reset_threshold,
195 "Max number of CRC errors before XAUI reset");
196
197struct tenxpress_phy_data { 192struct tenxpress_phy_data {
198 enum efx_loopback_mode loopback_mode; 193 enum efx_loopback_mode loopback_mode;
199 atomic_t bad_crc_count;
200 enum efx_phy_mode phy_mode; 194 enum efx_phy_mode phy_mode;
201 int bad_lp_tries; 195 int bad_lp_tries;
202}; 196};
203 197
204void tenxpress_crc_err(struct efx_nic *efx)
205{
206 struct tenxpress_phy_data *phy_data = efx->phy_data;
207 if (phy_data != NULL)
208 atomic_inc(&phy_data->bad_crc_count);
209}
210
211static ssize_t show_phy_short_reach(struct device *dev, 198static ssize_t show_phy_short_reach(struct device *dev,
212 struct device_attribute *attr, char *buf) 199 struct device_attribute *attr, char *buf)
213{ 200{
@@ -627,13 +614,6 @@ static void tenxpress_phy_poll(struct efx_nic *efx)
627 614
628 if (phy_data->phy_mode != PHY_MODE_NORMAL) 615 if (phy_data->phy_mode != PHY_MODE_NORMAL)
629 return; 616 return;
630
631 if (EFX_WORKAROUND_10750(efx) &&
632 atomic_read(&phy_data->bad_crc_count) > crc_error_reset_threshold) {
633 EFX_ERR(efx, "Resetting XAUI due to too many CRC errors\n");
634 falcon_reset_xaui(efx);
635 atomic_set(&phy_data->bad_crc_count, 0);
636 }
637} 617}
638 618
639static void tenxpress_phy_fini(struct efx_nic *efx) 619static void tenxpress_phy_fini(struct efx_nic *efx)