diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-11-28 22:43:07 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-29 19:46:29 -0500 |
commit | 89c758fa47b54d8ce10d2b39ed09de6da0ba4324 (patch) | |
tree | 3ad41c34f54f071ea986597295623775fbd19dc9 /drivers/net/sfc/falcon.c | |
parent | 78c1f0a06551f6ff61bfd7c1a9302115a8135a62 (diff) |
sfc: Add power-management and wake-on-LAN support
Wake-on-LAN is a stub for Falcon, but will be implemented fully for
new NICs.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/falcon.c')
-rw-r--r-- | drivers/net/sfc/falcon.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index 3466616c01c0..8f2c58305538 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -3245,6 +3245,27 @@ void falcon_stop_nic_stats(struct efx_nic *efx) | |||
3245 | 3245 | ||
3246 | /************************************************************************** | 3246 | /************************************************************************** |
3247 | * | 3247 | * |
3248 | * Wake on LAN | ||
3249 | * | ||
3250 | ************************************************************************** | ||
3251 | */ | ||
3252 | |||
3253 | static void falcon_get_wol(struct efx_nic *efx, struct ethtool_wolinfo *wol) | ||
3254 | { | ||
3255 | wol->supported = 0; | ||
3256 | wol->wolopts = 0; | ||
3257 | memset(&wol->sopass, 0, sizeof(wol->sopass)); | ||
3258 | } | ||
3259 | |||
3260 | static int falcon_set_wol(struct efx_nic *efx, u32 type) | ||
3261 | { | ||
3262 | if (type != 0) | ||
3263 | return -EINVAL; | ||
3264 | return 0; | ||
3265 | } | ||
3266 | |||
3267 | /************************************************************************** | ||
3268 | * | ||
3248 | * Revision-dependent attributes used by efx.c | 3269 | * Revision-dependent attributes used by efx.c |
3249 | * | 3270 | * |
3250 | ************************************************************************** | 3271 | ************************************************************************** |
@@ -3266,6 +3287,9 @@ struct efx_nic_type falcon_a1_nic_type = { | |||
3266 | .push_irq_moderation = falcon_push_irq_moderation, | 3287 | .push_irq_moderation = falcon_push_irq_moderation, |
3267 | .push_multicast_hash = falcon_push_multicast_hash, | 3288 | .push_multicast_hash = falcon_push_multicast_hash, |
3268 | .reconfigure_port = falcon_reconfigure_port, | 3289 | .reconfigure_port = falcon_reconfigure_port, |
3290 | .get_wol = falcon_get_wol, | ||
3291 | .set_wol = falcon_set_wol, | ||
3292 | .resume_wol = efx_port_dummy_op_void, | ||
3269 | .default_mac_ops = &falcon_xmac_operations, | 3293 | .default_mac_ops = &falcon_xmac_operations, |
3270 | 3294 | ||
3271 | .revision = EFX_REV_FALCON_A1, | 3295 | .revision = EFX_REV_FALCON_A1, |
@@ -3299,6 +3323,9 @@ struct efx_nic_type falcon_b0_nic_type = { | |||
3299 | .push_irq_moderation = falcon_push_irq_moderation, | 3323 | .push_irq_moderation = falcon_push_irq_moderation, |
3300 | .push_multicast_hash = falcon_push_multicast_hash, | 3324 | .push_multicast_hash = falcon_push_multicast_hash, |
3301 | .reconfigure_port = falcon_reconfigure_port, | 3325 | .reconfigure_port = falcon_reconfigure_port, |
3326 | .get_wol = falcon_get_wol, | ||
3327 | .set_wol = falcon_set_wol, | ||
3328 | .resume_wol = efx_port_dummy_op_void, | ||
3302 | .default_mac_ops = &falcon_xmac_operations, | 3329 | .default_mac_ops = &falcon_xmac_operations, |
3303 | 3330 | ||
3304 | .revision = EFX_REV_FALCON_B0, | 3331 | .revision = EFX_REV_FALCON_B0, |