aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/net_driver.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2010-02-03 04:30:50 -0500
committerDavid S. Miller <davem@davemloft.net>2010-02-03 22:12:44 -0500
commit4f16c0739145476ba37a7fa9eea0c33850efc2ce (patch)
tree3ba72c3d44a3d7ca4814cdb83caf2ca4aa608a85 /drivers/net/sfc/net_driver.h
parent7a6b8f6f7f74085a1330b0f9765d81bcea8c58b7 (diff)
sfc: Replace PHY MDIO test with an 'alive' test
SFC9000-family boards do not all use MDIO PHYs, so we need a different test for PHY aliveness. Introduce a PHY operation test_alive(). For PHYs attached to Falcon, use a common implementation based on the existing PHY MDIO test. For PHYs managed through MCDI, use the appropriate MCDI request. Change test name in ethtool from 'core mdio' to 'phy alive'. Rename test_results::mdio to phy_alive and test_results::phy to phy_ext. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r--drivers/net/sfc/net_driver.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index d5aab5b3fa06..8f951e4f15be 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -516,8 +516,9 @@ struct efx_mac_operations {
516 * @set_settings: Set ethtool settings. Serialised by the mac_lock. 516 * @set_settings: Set ethtool settings. Serialised by the mac_lock.
517 * @set_npage_adv: Set abilities advertised in (Extended) Next Page 517 * @set_npage_adv: Set abilities advertised in (Extended) Next Page
518 * (only needed where AN bit is set in mmds) 518 * (only needed where AN bit is set in mmds)
519 * @test_alive: Test that PHY is 'alive' (online)
519 * @test_name: Get the name of a PHY-specific test/result 520 * @test_name: Get the name of a PHY-specific test/result
520 * @run_tests: Run tests and record results as appropriate. 521 * @run_tests: Run tests and record results as appropriate (offline).
521 * Flags are the ethtool tests flags. 522 * Flags are the ethtool tests flags.
522 */ 523 */
523struct efx_phy_operations { 524struct efx_phy_operations {
@@ -532,6 +533,7 @@ struct efx_phy_operations {
532 int (*set_settings) (struct efx_nic *efx, 533 int (*set_settings) (struct efx_nic *efx,
533 struct ethtool_cmd *ecmd); 534 struct ethtool_cmd *ecmd);
534 void (*set_npage_adv) (struct efx_nic *efx, u32); 535 void (*set_npage_adv) (struct efx_nic *efx, u32);
536 int (*test_alive) (struct efx_nic *efx);
535 const char *(*test_name) (struct efx_nic *efx, unsigned int index); 537 const char *(*test_name) (struct efx_nic *efx, unsigned int index);
536 int (*run_tests) (struct efx_nic *efx, int *results, unsigned flags); 538 int (*run_tests) (struct efx_nic *efx, int *results, unsigned flags);
537}; 539};