summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/conf/files.amd641
-rw-r--r--sys/dev/sfxge/common/efsys.h1
-rw-r--r--sys/dev/sfxge/common/efx.h82
-rw-r--r--sys/dev/sfxge/common/efx_check.h6
-rw-r--r--sys/dev/sfxge/common/efx_impl.h1
-rw-r--r--sys/dev/sfxge/common/efx_nic.c2
-rw-r--r--sys/dev/sfxge/common/efx_wol.c415
-rw-r--r--sys/modules/sfxge/Makefile2
8 files changed, 3 insertions, 507 deletions
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index d568dd4..c8bf5d2 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -352,7 +352,6 @@ dev/sfxge/common/efx_rx.c optional sfxge pci
dev/sfxge/common/efx_sram.c optional sfxge pci
dev/sfxge/common/efx_tx.c optional sfxge pci
dev/sfxge/common/efx_vpd.c optional sfxge pci
-dev/sfxge/common/efx_wol.c optional sfxge pci
dev/sfxge/common/hunt_nic.c optional sfxge pci
dev/sfxge/common/mcdi_mon.c optional sfxge pci
dev/sfxge/common/medford_nic.c optional sfxge pci
diff --git a/sys/dev/sfxge/common/efsys.h b/sys/dev/sfxge/common/efsys.h
index 2a5b44e..859b1ed 100644
--- a/sys/dev/sfxge/common/efsys.h
+++ b/sys/dev/sfxge/common/efsys.h
@@ -266,7 +266,6 @@ sfxge_map_mbuf_fast(bus_dma_tag_t tag, bus_dmamap_t map,
#define EFSYS_OPT_BOOTCFG 0
#define EFSYS_OPT_DIAG 0
-#define EFSYS_OPT_WOL 1
#define EFSYS_OPT_RX_SCALE 1
#define EFSYS_OPT_QSTATS 1
#define EFSYS_OPT_FILTER 1
diff --git a/sys/dev/sfxge/common/efx.h b/sys/dev/sfxge/common/efx.h
index 84f1bef..53c7a15 100644
--- a/sys/dev/sfxge/common/efx.h
+++ b/sys/dev/sfxge/common/efx.h
@@ -1075,7 +1075,6 @@ efx_bist_stop(
#define EFX_FEATURE_LFSR_HASH_INSERT 0x00000002
#define EFX_FEATURE_LINK_EVENTS 0x00000004
#define EFX_FEATURE_PERIODIC_MAC_STATS 0x00000008
-#define EFX_FEATURE_WOL 0x00000010
#define EFX_FEATURE_MCDI 0x00000020
#define EFX_FEATURE_LOOKAHEAD_SPLIT 0x00000040
#define EFX_FEATURE_MAC_HEADER_FILTERS 0x00000080
@@ -1459,87 +1458,6 @@ efx_bootcfg_write(
#endif /* EFSYS_OPT_BOOTCFG */
-#if EFSYS_OPT_WOL
-
-typedef enum efx_wol_type_e {
- EFX_WOL_TYPE_INVALID,
- EFX_WOL_TYPE_MAGIC,
- EFX_WOL_TYPE_BITMAP,
- EFX_WOL_TYPE_LINK,
- EFX_WOL_NTYPES,
-} efx_wol_type_t;
-
-typedef enum efx_lightsout_offload_type_e {
- EFX_LIGHTSOUT_OFFLOAD_TYPE_INVALID,
- EFX_LIGHTSOUT_OFFLOAD_TYPE_ARP,
- EFX_LIGHTSOUT_OFFLOAD_TYPE_NS,
-} efx_lightsout_offload_type_t;
-
-#define EFX_WOL_BITMAP_MASK_SIZE (48)
-#define EFX_WOL_BITMAP_VALUE_SIZE (128)
-
-typedef union efx_wol_param_u {
- struct {
- uint8_t mac_addr[6];
- } ewp_magic;
- struct {
- uint8_t mask[EFX_WOL_BITMAP_MASK_SIZE]; /* 1 bit per byte */
- uint8_t value[EFX_WOL_BITMAP_VALUE_SIZE]; /* value to match */
- uint8_t value_len;
- } ewp_bitmap;
-} efx_wol_param_t;
-
-typedef union efx_lightsout_offload_param_u {
- struct {
- uint8_t mac_addr[6];
- uint32_t ip;
- } elop_arp;
- struct {
- uint8_t mac_addr[6];
- uint32_t solicited_node[4];
- uint32_t ip[4];
- } elop_ns;
-} efx_lightsout_offload_param_t;
-
-extern __checkReturn efx_rc_t
-efx_wol_init(
- __in efx_nic_t *enp);
-
-extern __checkReturn efx_rc_t
-efx_wol_filter_clear(
- __in efx_nic_t *enp);
-
-extern __checkReturn efx_rc_t
-efx_wol_filter_add(
- __in efx_nic_t *enp,
- __in efx_wol_type_t type,
- __in efx_wol_param_t *paramp,
- __out uint32_t *filter_idp);
-
-extern __checkReturn efx_rc_t
-efx_wol_filter_remove(
- __in efx_nic_t *enp,
- __in uint32_t filter_id);
-
-extern __checkReturn efx_rc_t
-efx_lightsout_offload_add(
- __in efx_nic_t *enp,
- __in efx_lightsout_offload_type_t type,
- __in efx_lightsout_offload_param_t *paramp,
- __out uint32_t *filter_idp);
-
-extern __checkReturn efx_rc_t
-efx_lightsout_offload_remove(
- __in efx_nic_t *enp,
- __in efx_lightsout_offload_type_t type,
- __in uint32_t filter_id);
-
-extern void
-efx_wol_fini(
- __in efx_nic_t *enp);
-
-#endif /* EFSYS_OPT_WOL */
-
#if EFSYS_OPT_DIAG
typedef enum efx_pattern_type_t {
diff --git a/sys/dev/sfxge/common/efx_check.h b/sys/dev/sfxge/common/efx_check.h
index ee473c4..60972bf 100644
--- a/sys/dev/sfxge/common/efx_check.h
+++ b/sys/dev/sfxge/common/efx_check.h
@@ -307,10 +307,8 @@
#endif /* EFSYS_OPT_VPD */
/* Support Wake on LAN */
-#if EFSYS_OPT_WOL
-# if !EFSYS_OPT_SIENA
-# error "WOL requires SIENA"
-# endif
+#ifdef EFSYS_OPT_WOL
+# error "WOL is obsolete and is not supported"
#endif /* EFSYS_OPT_WOL */
#ifdef EFSYS_OPT_MCAST_FILTER_LIST
diff --git a/sys/dev/sfxge/common/efx_impl.h b/sys/dev/sfxge/common/efx_impl.h
index c63f962..a2963e5 100644
--- a/sys/dev/sfxge/common/efx_impl.h
+++ b/sys/dev/sfxge/common/efx_impl.h
@@ -74,7 +74,6 @@ extern "C" {
#define EFX_MOD_TX 0x00000100
#define EFX_MOD_PORT 0x00000200
#define EFX_MOD_MON 0x00000400
-#define EFX_MOD_WOL 0x00000800
#define EFX_MOD_FILTER 0x00001000
#define EFX_MOD_LIC 0x00002000
diff --git a/sys/dev/sfxge/common/efx_nic.c b/sys/dev/sfxge/common/efx_nic.c
index 3671e06..cd34d26 100644
--- a/sys/dev/sfxge/common/efx_nic.c
+++ b/sys/dev/sfxge/common/efx_nic.c
@@ -268,7 +268,6 @@ efx_nic_create(
EFX_FEATURE_LFSR_HASH_INSERT |
EFX_FEATURE_LINK_EVENTS |
EFX_FEATURE_PERIODIC_MAC_STATS |
- EFX_FEATURE_WOL |
EFX_FEATURE_MCDI |
EFX_FEATURE_LOOKAHEAD_SPLIT |
EFX_FEATURE_MAC_HEADER_FILTERS |
@@ -279,7 +278,6 @@ efx_nic_create(
#if EFSYS_OPT_HUNTINGTON
case EFX_FAMILY_HUNTINGTON:
enp->en_enop = &__efx_nic_hunt_ops;
- /* FIXME: Add WOL support */
enp->en_features =
EFX_FEATURE_IPV6 |
EFX_FEATURE_LINK_EVENTS |
diff --git a/sys/dev/sfxge/common/efx_wol.c b/sys/dev/sfxge/common/efx_wol.c
deleted file mode 100644
index dd1a85f..0000000
--- a/sys/dev/sfxge/common/efx_wol.c
+++ /dev/null
@@ -1,415 +0,0 @@
-/*-
- * Copyright (c) 2009-2016 Solarflare Communications Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are
- * those of the authors and should not be interpreted as representing official
- * policies, either expressed or implied, of the FreeBSD Project.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include "efx.h"
-#include "efx_impl.h"
-
-#if EFSYS_OPT_WOL
-
- __checkReturn efx_rc_t
-efx_wol_init(
- __in efx_nic_t *enp)
-{
- efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
- efx_rc_t rc;
-
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PROBE);
- EFSYS_ASSERT(!(enp->en_mod_flags & EFX_MOD_WOL));
-
- if (~(encp->enc_features) & EFX_FEATURE_WOL) {
- rc = ENOTSUP;
- goto fail1;
- }
-
- /* Current implementation is Siena specific */
- EFSYS_ASSERT3U(enp->en_family, ==, EFX_FAMILY_SIENA);
-
- enp->en_mod_flags |= EFX_MOD_WOL;
-
- return (0);
-
-fail1:
- EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
- return (rc);
-}
-
- __checkReturn efx_rc_t
-efx_wol_filter_clear(
- __in efx_nic_t *enp)
-{
- efx_mcdi_req_t req;
- uint8_t payload[MAX(MC_CMD_WOL_FILTER_RESET_IN_LEN,
- MC_CMD_WOL_FILTER_RESET_OUT_LEN)];
- efx_rc_t rc;
-
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_WOL);
-
- (void) memset(payload, 0, sizeof (payload));
- req.emr_cmd = MC_CMD_WOL_FILTER_RESET;
- req.emr_in_buf = payload;
- req.emr_in_length = MC_CMD_WOL_FILTER_RESET_IN_LEN;
- req.emr_out_buf = payload;
- req.emr_out_length = MC_CMD_WOL_FILTER_RESET_OUT_LEN;
-
- MCDI_IN_SET_DWORD(req, WOL_FILTER_RESET_IN_MASK,
- MC_CMD_WOL_FILTER_RESET_IN_WAKE_FILTERS |
- MC_CMD_WOL_FILTER_RESET_IN_LIGHTSOUT_OFFLOADS);
-
- efx_mcdi_execute(enp, &req);
-
- if (req.emr_rc != 0) {
- rc = req.emr_rc;
- goto fail1;
- }
-
- return (0);
-
-fail1:
- EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
- return (rc);
-}
-
- __checkReturn efx_rc_t
-efx_wol_filter_add(
- __in efx_nic_t *enp,
- __in efx_wol_type_t type,
- __in efx_wol_param_t *paramp,
- __out uint32_t *filter_idp)
-{
- efx_mcdi_req_t req;
- uint8_t payload[MAX(MC_CMD_WOL_FILTER_SET_IN_LEN,
- MC_CMD_WOL_FILTER_SET_OUT_LEN)];
- efx_byte_t link_mask;
- efx_rc_t rc;
-
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_WOL);
-
- (void) memset(payload, 0, sizeof (payload));
- req.emr_cmd = MC_CMD_WOL_FILTER_SET;
- req.emr_in_buf = payload;
- req.emr_in_length = MC_CMD_WOL_FILTER_SET_IN_LEN;
- req.emr_out_buf = payload;
- req.emr_out_length = MC_CMD_WOL_FILTER_SET_OUT_LEN;
-
- switch (type) {
- case EFX_WOL_TYPE_MAGIC:
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_FILTER_MODE,
- MC_CMD_FILTER_MODE_SIMPLE);
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_WOL_TYPE,
- MC_CMD_WOL_TYPE_MAGIC);
- EFX_MAC_ADDR_COPY(
- MCDI_IN2(req, uint8_t, WOL_FILTER_SET_IN_MAGIC_MAC),
- paramp->ewp_magic.mac_addr);
- break;
-
- case EFX_WOL_TYPE_BITMAP: {
- uint32_t swapped = 0;
- efx_dword_t *dwordp;
- unsigned int pos, bit;
-
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_FILTER_MODE,
- MC_CMD_FILTER_MODE_SIMPLE);
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_WOL_TYPE,
- MC_CMD_WOL_TYPE_BITMAP);
-
- /*
- * MC bitmask is supposed to be bit swapped
- * amongst 32 bit words(!)
- */
-
- dwordp = MCDI_IN2(req, efx_dword_t,
- WOL_FILTER_SET_IN_BITMAP_MASK);
-
- EFSYS_ASSERT3U(EFX_WOL_BITMAP_MASK_SIZE % 4, ==, 0);
-
- for (pos = 0; pos < EFX_WOL_BITMAP_MASK_SIZE; ++pos) {
- uint8_t native = paramp->ewp_bitmap.mask[pos];
-
- for (bit = 0; bit < 8; ++bit) {
- swapped <<= 1;
- swapped |= (native & 0x1);
- native >>= 1;
- }
-
- if ((pos & 3) == 3) {
- EFX_POPULATE_DWORD_1(dwordp[pos >> 2],
- EFX_DWORD_0, swapped);
- swapped = 0;
- }
- }
-
- memcpy(MCDI_IN2(req, uint8_t, WOL_FILTER_SET_IN_BITMAP_BITMAP),
- paramp->ewp_bitmap.value,
- sizeof (paramp->ewp_bitmap.value));
-
- EFSYS_ASSERT3U(paramp->ewp_bitmap.value_len, <=,
- sizeof (paramp->ewp_bitmap.value));
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_BITMAP_LEN,
- paramp->ewp_bitmap.value_len);
- }
- break;
-
- case EFX_WOL_TYPE_LINK:
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_FILTER_MODE,
- MC_CMD_FILTER_MODE_SIMPLE);
- MCDI_IN_SET_DWORD(req, WOL_FILTER_SET_IN_WOL_TYPE,
- MC_CMD_WOL_TYPE_LINK);
-
- EFX_ZERO_BYTE(link_mask);
- EFX_SET_BYTE_FIELD(link_mask, MC_CMD_WOL_FILTER_SET_IN_LINK_UP,
- 1);
- MCDI_IN_SET_BYTE(req, WOL_FILTER_SET_IN_LINK_MASK,
- link_mask.eb_u8[0]);
- break;
-
- default:
- EFSYS_ASSERT3U(type, !=, type);
- }
-
- efx_mcdi_execute(enp, &req);
-
- if (req.emr_rc != 0) {
- rc = req.emr_rc;
- goto fail1;
- }
-
- if (req.emr_out_length_used < MC_CMD_WOL_FILTER_SET_OUT_LEN) {
- rc = EMSGSIZE;
- goto fail2;
- }
-
- *filter_idp = MCDI_OUT_DWORD(req, WOL_FILTER_SET_OUT_FILTER_ID);
-
- return (0);
-
-fail2:
- EFSYS_PROBE(fail2);
-fail1:
- EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
- return (rc);
-}
-
- __checkReturn efx_rc_t
-efx_wol_filter_remove(
- __in efx_nic_t *enp,
- __in uint32_t filter_id)
-{
- efx_mcdi_req_t req;
- uint8_t payload[MAX(MC_CMD_WOL_FILTER_REMOVE_IN_LEN,
- MC_CMD_WOL_FILTER_REMOVE_OUT_LEN)];
- efx_rc_t rc;
-
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_WOL);
-
- (void) memset(payload, 0, sizeof (payload));
- req.emr_cmd = MC_CMD_WOL_FILTER_REMOVE;
- req.emr_in_buf = payload;
- req.emr_in_length = MC_CMD_WOL_FILTER_REMOVE_IN_LEN;
- req.emr_out_buf = payload;
- req.emr_out_length = MC_CMD_WOL_FILTER_REMOVE_OUT_LEN;
-
- MCDI_IN_SET_DWORD(req, WOL_FILTER_REMOVE_IN_FILTER_ID, filter_id);
-
- efx_mcdi_execute(enp, &req);
-
- if (req.emr_rc != 0) {
- rc = req.emr_rc;
- goto fail1;
- }
-
- return (0);
-
-fail1:
- EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
- return (rc);
-}
-
-
- __checkReturn efx_rc_t
-efx_lightsout_offload_add(
- __in efx_nic_t *enp,
- __in efx_lightsout_offload_type_t type,
- __in efx_lightsout_offload_param_t *paramp,
- __out uint32_t *filter_idp)
-{
- efx_mcdi_req_t req;
- uint8_t payload[MAX(MAX(MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_LEN,
- MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_LEN),
- MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_LEN)];
- efx_rc_t rc;
-
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_WOL);
-
- (void) memset(payload, 0, sizeof (payload));
- req.emr_cmd = MC_CMD_ADD_LIGHTSOUT_OFFLOAD;
- req.emr_in_buf = payload;
- req.emr_in_length = sizeof (type);
- req.emr_out_buf = payload;
- req.emr_out_length = MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_LEN;
-
- switch (type) {
- case EFX_LIGHTSOUT_OFFLOAD_TYPE_ARP:
- req.emr_in_length = MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_ARP_LEN;
-
- MCDI_IN_SET_DWORD(req, ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL,
- MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_ARP);
- EFX_MAC_ADDR_COPY(MCDI_IN2(req, uint8_t,
- ADD_LIGHTSOUT_OFFLOAD_IN_ARP_MAC),
- paramp->elop_arp.mac_addr);
- MCDI_IN_SET_DWORD(req, ADD_LIGHTSOUT_OFFLOAD_IN_ARP_IP,
- paramp->elop_arp.ip);
- break;
- case EFX_LIGHTSOUT_OFFLOAD_TYPE_NS:
- req.emr_in_length = MC_CMD_ADD_LIGHTSOUT_OFFLOAD_IN_NS_LEN;
-
- MCDI_IN_SET_DWORD(req, ADD_LIGHTSOUT_OFFLOAD_IN_PROTOCOL,
- MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_NS);
- EFX_MAC_ADDR_COPY(MCDI_IN2(req, uint8_t,
- ADD_LIGHTSOUT_OFFLOAD_IN_NS_MAC),
- paramp->elop_ns.mac_addr);
- memcpy(MCDI_IN2(req, uint8_t,
- ADD_LIGHTSOUT_OFFLOAD_IN_NS_SNIPV6),
- paramp->elop_ns.solicited_node,
- sizeof (paramp->elop_ns.solicited_node));
- memcpy(MCDI_IN2(req, uint8_t, ADD_LIGHTSOUT_OFFLOAD_IN_NS_IPV6),
- paramp->elop_ns.ip, sizeof (paramp->elop_ns.ip));
- break;
- default:
- rc = EINVAL;
- goto fail1;
- }
-
- efx_mcdi_execute(enp, &req);
-
- if (req.emr_rc != 0) {
- rc = req.emr_rc;
- goto fail2;
- }
-
- if (req.emr_out_length_used < MC_CMD_ADD_LIGHTSOUT_OFFLOAD_OUT_LEN) {
- rc = EMSGSIZE;
- goto fail3;
- }
-
- *filter_idp = MCDI_OUT_DWORD(req, ADD_LIGHTSOUT_OFFLOAD_OUT_FILTER_ID);
-
- return (0);
-
-fail3:
- EFSYS_PROBE(fail3);
-fail2:
- EFSYS_PROBE(fail2);
-fail1:
- EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
- return (rc);
-}
-
-
- __checkReturn efx_rc_t
-efx_lightsout_offload_remove(
- __in efx_nic_t *enp,
- __in efx_lightsout_offload_type_t type,
- __in uint32_t filter_id)
-{
- efx_mcdi_req_t req;
- uint8_t payload[MAX(MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_LEN,
- MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_OUT_LEN)];
- efx_rc_t rc;
-
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_WOL);
-
- (void) memset(payload, 0, sizeof (payload));
- req.emr_cmd = MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD;
- req.emr_in_buf = payload;
- req.emr_in_length = MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_IN_LEN;
- req.emr_out_buf = payload;
- req.emr_out_length = MC_CMD_REMOVE_LIGHTSOUT_OFFLOAD_OUT_LEN;
-
- switch (type) {
- case EFX_LIGHTSOUT_OFFLOAD_TYPE_ARP:
- MCDI_IN_SET_DWORD(req, REMOVE_LIGHTSOUT_OFFLOAD_IN_PROTOCOL,
- MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_ARP);
- break;
- case EFX_LIGHTSOUT_OFFLOAD_TYPE_NS:
- MCDI_IN_SET_DWORD(req, REMOVE_LIGHTSOUT_OFFLOAD_IN_PROTOCOL,
- MC_CMD_LIGHTSOUT_OFFLOAD_PROTOCOL_NS);
- break;
- default:
- rc = EINVAL;
- goto fail1;
- }
-
- MCDI_IN_SET_DWORD(req, REMOVE_LIGHTSOUT_OFFLOAD_IN_FILTER_ID,
- filter_id);
-
- efx_mcdi_execute(enp, &req);
-
- if (req.emr_rc != 0) {
- rc = req.emr_rc;
- goto fail2;
- }
-
- return (0);
-
-fail2:
- EFSYS_PROBE(fail2);
-fail1:
- EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
- return (rc);
-}
-
-
- void
-efx_wol_fini(
- __in efx_nic_t *enp)
-{
- EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PROBE);
- EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_WOL);
-
- enp->en_mod_flags &= ~EFX_MOD_WOL;
-}
-
-#endif /* EFSYS_OPT_WOL */
diff --git a/sys/modules/sfxge/Makefile b/sys/modules/sfxge/Makefile
index 4d2d17a..fcdeab8 100644
--- a/sys/modules/sfxge/Makefile
+++ b/sys/modules/sfxge/Makefile
@@ -19,7 +19,7 @@ SRCS+= sfxge.h sfxge_rx.h sfxge_tx.h sfxge_version.h
SRCS+= efx_bootcfg.c efx_crc32.c efx_ev.c efx_intr.c efx_lic.c efx_mac.c
SRCS+= efx_mcdi.c efx_mon.c efx_nic.c
SRCS+= efx_nvram.c efx_phy.c efx_port.c efx_rx.c efx_sram.c efx_tx.c
-SRCS+= efx_vpd.c efx_wol.c efx_filter.c efx_hash.c
+SRCS+= efx_vpd.c efx_filter.c efx_hash.c
SRCS+= efsys.h
SRCS+= efx.h efx_check.h efx_impl.h efx_mcdi.h efx_regs.h efx_regs_ef10.h
SRCS+= efx_regs_mcdi.h efx_regs_pci.h efx_types.h efx_phy_ids.h
OpenPOWER on IntegriCloud