diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-09-01 07:49:02 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-03 09:53:48 -0400 |
commit | 8c8661e4cefdd1ddbfe7d5120f046694555d9e5c (patch) | |
tree | 0618e0392140bccadf012381e64a795dfe2e41a4 /drivers/net/sfc/falcon_xmac.c | |
parent | a515089c963b045f65c495cee1d344d8cb75e1d1 (diff) |
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.c | 14 |
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) | |||
373 | reset_xgxs = ((xgxs_loopback != old_xgxs_loopback) || | 373 | reset_xgxs = ((xgxs_loopback != old_xgxs_loopback) || |
374 | (xaui_loopback != old_xaui_loopback) || | 374 | (xaui_loopback != old_xaui_loopback) || |
375 | (xgmii_loopback != old_xgmii_loopback)); | 375 | (xgmii_loopback != old_xgmii_loopback)); |
376 | if (reset_xgxs) { | 376 | |
377 | falcon_read(efx, ®, XX_PWR_RST_REG); | 377 | if (reset_xgxs) |
378 | EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSTX_EN, 1); | 378 | falcon_reset_xaui(efx); |
379 | EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSRX_EN, 1); | ||
380 | falcon_write(efx, ®, XX_PWR_RST_REG); | ||
381 | udelay(1); | ||
382 | EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSTX_EN, 0); | ||
383 | EFX_SET_OWORD_FIELD(reg, XX_RSTXGXSRX_EN, 0); | ||
384 | falcon_write(efx, ®, XX_PWR_RST_REG); | ||
385 | udelay(1); | ||
386 | } | ||
387 | } | 379 | } |
388 | 380 | ||
389 | falcon_read(efx, ®, XX_CORE_STAT_REG); | 381 | falcon_read(efx, ®, XX_CORE_STAT_REG); |