diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-12-13 00:50:08 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-13 00:58:17 -0500 |
commit | 177dfcd80f28f8fbc3e22c2d8b24d21cb86f1d97 (patch) | |
tree | a6e5e9949f388d48ac20c4efbb2811762ac5f9d4 /drivers/net/sfc/mac.h | |
parent | 356eebb2b3af24cc701823f1e025f04eef333239 (diff) |
sfc: Add support for sub-10G speeds
The SFC4000 has a separate MAC for use at sub-10G speeds. Introduce
an efx_mac_operations structure with implementations for the two MACs.
Switch between the MACs as necessary.
PHY settings are independent of the MAC, so add get_settings() and
set_settings() to efx_phy_operations. Also add macs field to indicate
which MACs the PHY is connected to.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/mac.h')
-rw-r--r-- | drivers/net/sfc/mac.h | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/drivers/net/sfc/mac.h b/drivers/net/sfc/mac.h index a31571c69137..4e7074278fe1 100644 --- a/drivers/net/sfc/mac.h +++ b/drivers/net/sfc/mac.h | |||
@@ -1,7 +1,7 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | * Driver for Solarflare Solarstorm network controllers and boards | 2 | * Driver for Solarflare Solarstorm network controllers and boards |
3 | * Copyright 2005-2006 Fen Systems Ltd. | 3 | * Copyright 2005-2006 Fen Systems Ltd. |
4 | * Copyright 2006-2007 Solarflare Communications Inc. | 4 | * Copyright 2006-2008 Solarflare Communications Inc. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms of the GNU General Public License version 2 as published | 7 | * under the terms of the GNU General Public License version 2 as published |
@@ -13,17 +13,7 @@ | |||
13 | 13 | ||
14 | #include "net_driver.h" | 14 | #include "net_driver.h" |
15 | 15 | ||
16 | extern int falcon_init_xmac(struct efx_nic *efx); | 16 | extern struct efx_mac_operations falcon_gmac_operations; |
17 | extern void falcon_reconfigure_xmac(struct efx_nic *efx); | 17 | extern struct efx_mac_operations falcon_xmac_operations; |
18 | extern void falcon_update_stats_xmac(struct efx_nic *efx); | ||
19 | extern void falcon_fini_xmac(struct efx_nic *efx); | ||
20 | extern int falcon_check_xmac(struct efx_nic *efx); | ||
21 | extern void falcon_xmac_sim_phy_event(struct efx_nic *efx); | ||
22 | extern int falcon_xmac_get_settings(struct efx_nic *efx, | ||
23 | struct ethtool_cmd *ecmd); | ||
24 | extern int falcon_xmac_set_settings(struct efx_nic *efx, | ||
25 | struct ethtool_cmd *ecmd); | ||
26 | extern int falcon_xmac_set_pause(struct efx_nic *efx, | ||
27 | enum efx_fc_type pause_params); | ||
28 | 18 | ||
29 | #endif | 19 | #endif |