From patchwork Mon Jun 22 06:45:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guinan Sun X-Patchwork-Id: 71884 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9CC4AA0350; Mon, 22 Jun 2020 09:08:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 06F1B1D16C; Mon, 22 Jun 2020 09:05:49 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id B831D1D127 for ; Mon, 22 Jun 2020 09:05:46 +0200 (CEST) IronPort-SDR: SICyl6L99wtDEzMDOrPQLPlaLtllKyrDxLWz5SKBcWsGMsSOkt2ZadUW6aZpo/JR75rrfHV3VQ /TdrawnP9fNA== X-IronPort-AV: E=McAfee;i="6000,8403,9659"; a="141944756" X-IronPort-AV: E=Sophos;i="5.75,266,1589266800"; d="scan'208";a="141944756" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2020 00:05:46 -0700 IronPort-SDR: 28Ml5g0S+fsHgUemyqwEAfKw0oH/oZ1doubS1iiQ2SyfnOaBLBF/sDgtq8RdA6vZEBruXbleLh UHRHhhl3jctw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,266,1589266800"; d="scan'208";a="384408867" Received: from dpdk.sh.intel.com ([10.239.255.83]) by fmsmga001.fm.intel.com with ESMTP; 22 Jun 2020 00:05:44 -0700 From: Guinan Sun To: dev@dpdk.org Cc: Jeff Guo , Zhao1 Wei , Guinan Sun , Dima Ruinskiy Date: Mon, 22 Jun 2020 06:45:41 +0000 Message-Id: <20200622064634.70941-18-guinanx.sun@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200622064634.70941-1-guinanx.sun@intel.com> References: <20200622064634.70941-1-guinanx.sun@intel.com> Subject: [dpdk-dev] [PATCH 17/70] net/e1000/base: add new wakeup/proxy registers for i225 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" I225 expands wakeup and proxy capabilities compared to previous generations. The new capabilities are exposed via additional registers. Signed-off-by: Dima Ruinskiy Signed-off-by: Guinan Sun --- drivers/net/e1000/base/e1000_defines.h | 18 +++++++++++++++++- drivers/net/e1000/base/e1000_regs.h | 11 +++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/net/e1000/base/e1000_defines.h b/drivers/net/e1000/base/e1000_defines.h index d9ed3a52f..141cdcc60 100644 --- a/drivers/net/e1000/base/e1000_defines.h +++ b/drivers/net/e1000/base/e1000_defines.h @@ -1515,8 +1515,23 @@ #define E1000_INVM_DEFAULT_AL 0x202F #define E1000_INVM_AUTOLOAD 0x0A #define E1000_INVM_PLL_WO_VAL 0x0010 - #endif /* NO_I225_SUPPORT */ +/* Proxy Filter Control Extended */ +#define E1000_PROXYFCEX_MDNS 0x00000001 /* mDNS */ +#define E1000_PROXYFCEX_MDNS_M 0x00000002 /* mDNS Multicast */ +#define E1000_PROXYFCEX_MDNS_U 0x00000004 /* mDNS Unicast */ +#define E1000_PROXYFCEX_IPV4_M 0x00000008 /* IPv4 Multicast */ +#define E1000_PROXYFCEX_IPV6_M 0x00000010 /* IPv6 Multicast */ +#define E1000_PROXYFCEX_IGMP 0x00000020 /* IGMP */ +#define E1000_PROXYFCEX_IGMP_M 0x00000040 /* IGMP Multicast */ +#define E1000_PROXYFCEX_ARPRES 0x00000080 /* ARP Response */ +#define E1000_PROXYFCEX_ARPRES_D 0x00000100 /* ARP Response Directed */ +#define E1000_PROXYFCEX_ICMPV4 0x00000200 /* ICMPv4 */ +#define E1000_PROXYFCEX_ICMPV4_D 0x00000400 /* ICMPv4 Directed */ +#define E1000_PROXYFCEX_ICMPV6 0x00000800 /* ICMPv6 */ +#define E1000_PROXYFCEX_ICMPV6_D 0x00001000 /* ICMPv6 Directed */ +#define E1000_PROXYFCEX_DNS 0x00002000 /* DNS */ + /* Proxy Filter Control */ #define E1000_PROXYFC_D0 0x00000001 /* Enable offload in D0 */ #define E1000_PROXYFC_EX 0x00000004 /* Directed exact proxy */ @@ -1526,6 +1541,7 @@ #define E1000_PROXYFC_IPV4 0x00000040 /* Directed IPv4 Enable */ #define E1000_PROXYFC_IPV6 0x00000080 /* Directed IPv6 Enable */ #define E1000_PROXYFC_NS 0x00000200 /* IPv6 Neighbor Solicitation */ +#define E1000_PROXYFC_NS_DIRECTED 0x00000400 /* Directed NS Proxy Ena */ #define E1000_PROXYFC_ARP 0x00000800 /* ARP Request Proxy Ena */ /* Proxy Status */ #define E1000_PROXYS_CLEAR 0xFFFFFFFF /* Clear */ diff --git a/drivers/net/e1000/base/e1000_regs.h b/drivers/net/e1000/base/e1000_regs.h index 1f8736f35..ef131af18 100644 --- a/drivers/net/e1000/base/e1000_regs.h +++ b/drivers/net/e1000/base/e1000_regs.h @@ -476,6 +476,17 @@ #define E1000_IP6AT 0x05880 /* IPv6 Address Table - RW Array */ #define E1000_WUPL 0x05900 /* Wakeup Packet Length - RW */ #define E1000_WUPM 0x05A00 /* Wakeup Packet Memory - RO A */ +#define E1000_WUPM_EXT 0x0B800 /* Wakeup Packet Memory Extended - RO Array */ +#define E1000_WUFC_EXT 0x0580C /* Wakeup Filter Control Extended - RW */ +#define E1000_WUS_EXT 0x05814 /* Wakeup Status Extended - RW1C */ +#define E1000_FHFTSL 0x05804 /* Flex Filter Indirect Table Select - RW */ +#define E1000_PROXYFCEX 0x05590 /* Proxy Filter Control Extended - RW1C */ +#define E1000_PROXYEXS 0x05594 /* Proxy Extended Status - RO */ +#define E1000_WFUTPF 0x05500 /* Wake Flex UDP TCP Port Filter - RW Array */ +#define E1000_RFUTPF 0x05580 /* Range Flex UDP TCP Port Filter - RW */ +#define E1000_RWPFC 0x05584 /* Range Wake Port Filter Control - RW */ +#define E1000_WFUTPS 0x05588 /* Wake Filter UDP TCP Status - RW1C */ +#define E1000_WCS 0x0558C /* Wake Control Status - RW1C */ #define E1000_PBACL 0x05B68 /* MSIx PBA Clear - Read/Write 1's to clear */ #define E1000_FFLT 0x05F00 /* Flexible Filter Length Table - RW Array */ #define E1000_HOST_IF 0x08800 /* Host Interface */