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/falcon.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/falcon.h')
-rw-r--r-- | drivers/net/sfc/falcon.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/sfc/falcon.h b/drivers/net/sfc/falcon.h index be025ba7a6c6..7869c3d74383 100644 --- a/drivers/net/sfc/falcon.h +++ b/drivers/net/sfc/falcon.h | |||
@@ -12,6 +12,7 @@ | |||
12 | #define EFX_FALCON_H | 12 | #define EFX_FALCON_H |
13 | 13 | ||
14 | #include "net_driver.h" | 14 | #include "net_driver.h" |
15 | #include "efx.h" | ||
15 | 16 | ||
16 | /* | 17 | /* |
17 | * Falcon hardware control | 18 | * Falcon hardware control |
@@ -65,6 +66,7 @@ extern int falcon_probe_port(struct efx_nic *efx); | |||
65 | extern void falcon_remove_port(struct efx_nic *efx); | 66 | extern void falcon_remove_port(struct efx_nic *efx); |
66 | 67 | ||
67 | /* MAC/PHY */ | 68 | /* MAC/PHY */ |
69 | extern int falcon_switch_mac(struct efx_nic *efx); | ||
68 | extern bool falcon_xaui_link_ok(struct efx_nic *efx); | 70 | extern bool falcon_xaui_link_ok(struct efx_nic *efx); |
69 | extern int falcon_dma_stats(struct efx_nic *efx, | 71 | extern int falcon_dma_stats(struct efx_nic *efx, |
70 | unsigned int done_offset); | 72 | unsigned int done_offset); |
@@ -77,6 +79,7 @@ extern int falcon_init_interrupt(struct efx_nic *efx); | |||
77 | extern void falcon_enable_interrupts(struct efx_nic *efx); | 79 | extern void falcon_enable_interrupts(struct efx_nic *efx); |
78 | extern void falcon_generate_test_event(struct efx_channel *channel, | 80 | extern void falcon_generate_test_event(struct efx_channel *channel, |
79 | unsigned int magic); | 81 | unsigned int magic); |
82 | extern void falcon_sim_phy_event(struct efx_nic *efx); | ||
80 | extern void falcon_generate_interrupt(struct efx_nic *efx); | 83 | extern void falcon_generate_interrupt(struct efx_nic *efx); |
81 | extern void falcon_set_int_moderation(struct efx_channel *channel); | 84 | extern void falcon_set_int_moderation(struct efx_channel *channel); |
82 | extern void falcon_disable_interrupts(struct efx_nic *efx); | 85 | extern void falcon_disable_interrupts(struct efx_nic *efx); |