aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/falcon.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2009-11-28 22:43:07 -0500
committerDavid S. Miller <davem@davemloft.net>2009-11-29 19:46:29 -0500
commit89c758fa47b54d8ce10d2b39ed09de6da0ba4324 (patch)
tree3ad41c34f54f071ea986597295623775fbd19dc9 /drivers/net/sfc/falcon.c
parent78c1f0a06551f6ff61bfd7c1a9302115a8135a62 (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.c27
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
3253static 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
3260static 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,