summaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/falcon_xmac.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2008-09-01 13:49:02 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-09-03 15:53:48 +0200
commit8c8661e4cefdd1ddbfe7d5120f046694555d9e5c (patch)
tree0618e0392140bccadf012381e64a795dfe2e41a4 /drivers/net/sfc/falcon_xmac.c
parentsfc: Rework the bitfield header so that we can identify fields by bit number (diff)
downloadlinux-8c8661e4cefdd1ddbfe7d5120f046694555d9e5c.tar.xz
linux-8c8661e4cefdd1ddbfe7d5120f046694555d9e5c.zip
sfc: Extend self-tests
Include PMA/PMD in loopback self-tests as intended. Add NVRAM checksum validation and include it in self-tests. Add register self-tests. Run PHY self-tests where available. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/sfc/falcon_xmac.c')
-rw-r--r--drivers/net/sfc/falcon_xmac.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/net/sfc/falcon_xmac.c b/drivers/net/sfc/falcon_xmac.c
index a9ae06a2ae2d..0d9f68ff71e7 100644
--- a/drivers/net/sfc/falcon_xmac.c
+++ b/drivers/net/sfc/falcon_xmac.c
@@ -373,17 +373,9 @@ static void falcon_reconfigure_xgxs_core(struct efx_nic *efx)
reset_xgxs = ((xgxs_loopback != old_xgxs_loopback) ||
(xaui_loopback != old_xaui_loopback) ||
(xgmii_loopback != old_xgmii_loopback));
- if (reset_xgxs) {
- falcon_read(efx, &reg, XX_PWR_RST_REG);
- EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSTX_EN, 1);
- EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSRX_EN, 1);
- falcon_write(efx, &reg, XX_PWR_RST_REG);
- udelay(1);
- EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSTX_EN, 0);
- EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSRX_EN, 0);
- falcon_write(efx, &reg, XX_PWR_RST_REG);
- udelay(1);
- }
+
+ if (reset_xgxs)
+ falcon_reset_xaui(efx);
}
falcon_read(efx, &reg, XX_CORE_STAT_REG);