From: Helin Zhang <helin.zhang@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v5 27/29] i40e: update structure and macro definitions
Date: Tue, 8 Mar 2016 16:14:35 +0800 [thread overview]
Message-ID: <1457424877-26234-28-git-send-email-helin.zhang@intel.com> (raw)
In-Reply-To: <1457424877-26234-1-git-send-email-helin.zhang@intel.com>
Several structures and macros are added or updated, such
as 'struct i40e_aqc_get_link_status',
'struct i40e_aqc_run_phy_activity' and
'struct i40e_aqc_lldp_set_local_mib_resp'.
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
---
doc/guides/rel_notes/release_16_04.rst | 9 +++++++
drivers/net/i40e/base/i40e_adminq_cmd.h | 45 ++++++++++++++++++++++++++++++---
drivers/net/i40e/base/i40e_type.h | 5 ++--
drivers/net/i40e/i40e_ethdev.c | 2 +-
4 files changed, 53 insertions(+), 8 deletions(-)
v4:
- Reworded the commit logs.
- Moved new feature announcement in release notes to this patch.
diff --git a/doc/guides/rel_notes/release_16_04.rst b/doc/guides/rel_notes/release_16_04.rst
index 165533f..8bda16c 100644
--- a/doc/guides/rel_notes/release_16_04.rst
+++ b/doc/guides/rel_notes/release_16_04.rst
@@ -74,6 +74,15 @@ This section should contain new features added in this release. Sample format:
* **szedata2: Add functions for setting link up/down.**
+* **Updated the i40e base driver.**
+
+ The i40e base driver was updated with changes including the
+ following:
+
+ * Use rx control AQ commands to read/write rx control registers.
+ * Add new X722 device IDs, and removed X710 one was never used.
+ * Expose registers for HASH/FD input set configuring.
+
Resolved Issues
---------------
diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 5236333..fe9d5b5 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -41,7 +41,7 @@ POSSIBILITY OF SUCH DAMAGE.
*/
#define I40E_FW_API_VERSION_MAJOR 0x0001
-#define I40E_FW_API_VERSION_MINOR 0x0004
+#define I40E_FW_API_VERSION_MINOR 0x0005
struct i40e_aq_desc {
__le16 flags;
@@ -242,6 +242,7 @@ enum i40e_admin_queue_opc {
i40e_aqc_opc_get_phy_wol_caps = 0x0621,
i40e_aqc_opc_set_phy_debug = 0x0622,
i40e_aqc_opc_upload_ext_phy_fm = 0x0625,
+ i40e_aqc_opc_run_phy_activity = 0x0626,
/* NVM commands */
i40e_aqc_opc_nvm_read = 0x0701,
@@ -915,6 +916,10 @@ struct i40e_aqc_vsi_properties_data {
I40E_AQ_VSI_TC_QUE_NUMBER_SHIFT)
/* queueing option section */
u8 queueing_opt_flags;
+#ifdef X722_SUPPORT
+#define I40E_AQ_VSI_QUE_OPT_MULTICAST_UDP_ENA 0x04
+#define I40E_AQ_VSI_QUE_OPT_UNICAST_UDP_ENA 0x08
+#endif
#define I40E_AQ_VSI_QUE_OPT_TCP_ENA 0x10
#define I40E_AQ_VSI_QUE_OPT_FCOE_ENA 0x20
#ifdef X722_SUPPORT
@@ -1349,10 +1354,16 @@ struct i40e_aqc_add_remove_cloud_filters_element_data {
#define I40E_AQC_ADD_CLOUD_TNL_TYPE_SHIFT 9
#define I40E_AQC_ADD_CLOUD_TNL_TYPE_MASK 0x1E00
-#define I40E_AQC_ADD_CLOUD_TNL_TYPE_XVLAN 0
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_VXLAN 0
#define I40E_AQC_ADD_CLOUD_TNL_TYPE_NVGRE_OMAC 1
-#define I40E_AQC_ADD_CLOUD_TNL_TYPE_NGE 2
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_GENEVE 2
#define I40E_AQC_ADD_CLOUD_TNL_TYPE_IP 3
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_RESERVED 4
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_VXLAN_GPE 5
+
+#define I40E_AQC_ADD_CLOUD_FLAGS_SHARED_OUTER_MAC 0x2000
+#define I40E_AQC_ADD_CLOUD_FLAGS_SHARED_INNER_MAC 0x4000
+#define I40E_AQC_ADD_CLOUD_FLAGS_SHARED_OUTER_IP 0x8000
__le32 tenant_id;
u8 reserved[4];
@@ -1846,7 +1857,12 @@ struct i40e_aqc_get_link_status {
u8 config;
#define I40E_AQ_CONFIG_CRC_ENA 0x04
#define I40E_AQ_CONFIG_PACING_MASK 0x78
- u8 reserved[5];
+ u8 external_power_ability;
+#define I40E_AQ_LINK_POWER_CLASS_1 0x00
+#define I40E_AQ_LINK_POWER_CLASS_2 0x01
+#define I40E_AQ_LINK_POWER_CLASS_3 0x02
+#define I40E_AQ_LINK_POWER_CLASS_4 0x03
+ u8 reserved[4];
};
I40E_CHECK_CMD_LENGTH(i40e_aqc_get_link_status);
@@ -1914,6 +1930,18 @@ enum i40e_aq_phy_reg_type {
I40E_AQC_PHY_REG_EXERNAL_MODULE = 0x3
};
+/* Run PHY Activity (0x0626) */
+struct i40e_aqc_run_phy_activity {
+ __le16 activity_id;
+ u8 flags;
+ u8 reserved1;
+ __le32 control;
+ __le32 data;
+ u8 reserved2[4];
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_run_phy_activity);
+
/* NVM Read command (indirect 0x0701)
* NVM Erase commands (direct 0x0702)
* NVM Update commands (indirect 0x0703)
@@ -2262,6 +2290,14 @@ struct i40e_aqc_lldp_set_local_mib {
I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_set_local_mib);
+struct i40e_aqc_lldp_set_local_mib_resp {
+#define SET_LOCAL_MIB_RESP_EVENT_TRIGGERED_MASK 0x01
+ u8 status;
+ u8 reserved[15];
+};
+
+I40E_CHECK_STRUCT_LEN(0x10, i40e_aqc_lldp_set_local_mib_resp);
+
/* Stop/Start LLDP Agent (direct 0x0A09)
* Used for stopping/starting specific LLDP agent. e.g. DCBx
*/
@@ -2282,6 +2318,7 @@ struct i40e_aqc_add_udp_tunnel {
#define I40E_AQC_TUNNEL_TYPE_VXLAN 0x00
#define I40E_AQC_TUNNEL_TYPE_NGE 0x01
#define I40E_AQC_TUNNEL_TYPE_TEREDO 0x10
+#define I40E_AQC_TUNNEL_TYPE_VXLAN_GPE 0x11
u8 reserved1[10];
};
diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h
index 61ee166..d5ca67a 100644
--- a/drivers/net/i40e/base/i40e_type.h
+++ b/drivers/net/i40e/base/i40e_type.h
@@ -187,11 +187,10 @@ enum i40e_memcpy_type {
I40E_DMA_TO_NONDMA
};
-
#ifdef X722_SUPPORT
-#define I40E_FW_API_VERSION_MINOR_X722 0x0003
+#define I40E_FW_API_VERSION_MINOR_X722 0x0004
#endif
-#define I40E_FW_API_VERSION_MINOR_X710 0x0004
+#define I40E_FW_API_VERSION_MINOR_X710 0x0005
/* These are structs for managing the hardware information and the operations.
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 088e8ba..d486229 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -5911,7 +5911,7 @@ i40e_dev_tunnel_filter_set(struct i40e_pf *pf,
/* check tunneled type */
switch (tunnel_filter->tunnel_type) {
case RTE_TUNNEL_TYPE_VXLAN:
- tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_XVLAN;
+ tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_VXLAN;
break;
case RTE_TUNNEL_TYPE_NVGRE:
tun_type = I40E_AQC_ADD_CLOUD_TNL_TYPE_NVGRE_OMAC;
--
2.5.0
next prev parent reply other threads:[~2016-03-08 8:15 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1455776683-11790-1-git-send-email-helin.zhang@intel.com>
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 00/30] i40e base driver update Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 01/30] i40e/base: use explicit cast from u16 to u8 Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 02/30] i40e/base: acquire NVM, before issuing an AQ read nvm command Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 03/30] i40e/base: add hw flag for SRCTL access using AQ for X722 Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 04/30] i40e/base: add changes in nvm read to support X722 Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 05/30] i40e/base: limit DCB FW version checks to XL710/X710 devices Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 06/30] i40e/base: check for stopped admin queue Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 07/30] i40e/base: set aq count after memory allocation Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 08/30] i40e/base: clean event descriptor before use Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 09/30] i40e/base: add new device IDs and delete deprecated one Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 10/30] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 11/30] i40e/base: define function capabilities in only one place Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 12/30] i40e/base: fix for PHY NVM interaction problem Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 13/30] i40e/base: set shared bit for multicast filters Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 14/30] i40e/base: add APIs to Add/remove port mirroring rules Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 15/30] i40e/base: add VEB stat control and remove L2 cloud filter Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 16/30] i40e/base: implement the API function for aq_set_switch_config Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 17/30] i40e/base: add functions to blink led on Coppervale PHY Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 18/30] i40e/base: apply promisc mode to Tx Traffic Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 19/30] i40e/base: increase timeout when checking GLGEN_RSTAT_DEVSTATE bit Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 20/30] i40e/base: save off VSI resource count when updating VSI Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 21/30] i40e/base: coding style fixes Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 22/30] i40e/base: use FW to read/write rx control registers Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 23/30] i40e/base: expose some registers to program parser, FD and RSS logic Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 24/30] i40e/base: add a Virtchnl offload for RSS PCTYPE V2 Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 25/30] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 26/30] i40e/base: add/update structure and macro definitions Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 27/30] i40e: add base driver release info Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 28/30] i40e: add/remove new device IDs Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 29/30] i40e: use rx control function for rx control registers Helin Zhang
2016-02-18 14:34 ` [dpdk-dev] [PATCH v3 30/30] i40evf: use base driver defined interface Helin Zhang
2016-02-19 5:14 ` [dpdk-dev] [PATCH v3 00/30] i40e base driver update Wu, Jingjing
2016-03-03 20:36 ` Bruce Richardson
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 00/29] " Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 01/29] i40e/base: fix compilation warnings Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 02/29] i40e/base: acquire NVM ownership before reading it Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 03/29] i40e/base: add hw flag for X722 register access Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 04/29] i40e/base: add X722 support on nvm read Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 05/29] i40e/base: limit version check of DCB Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 06/29] i40e/base: fix missing check for stopped admin queue Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 07/29] i40e/base: set aq count after memory allocation Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 08/29] i40e/base: fix uncertain event descriptor issue Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 09/29] i40e: update device id Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 10/29] i40e/base: fix up recent wol bits for X722_SUPPORT Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 11/29] i40e/base: fix up recent proxy " Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 12/29] i40e/base: unify the capability function Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 13/29] i40e/base: fix for PHY NVM interaction problem Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 14/29] i40e/base: set shared bit for multicast filters Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 15/29] i40e/base: support operating port mirroring rules Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 16/29] i40e: add VEB stat control Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 17/29] i40e/base: implement new API function Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 18/29] i40e/base: add functions to blink led Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 19/29] i40e/base: apply promisc mode to Tx Traffic Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 20/29] i40e/base: fix driver load failure Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 21/29] i40e/base: save off VSI resource count Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 22/29] i40e/base: coding style fixes Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 23/29] i40e: use AQ rx control register read/write Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 24/29] i40e: expose some registers Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 25/29] i40e/base: add a new Virtchnl offload Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 26/29] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 27/29] i40e: update structure and macro definitions Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 28/29] i40e: add base driver release info Helin Zhang
2016-03-06 15:41 ` [dpdk-dev] [PATCH v4 29/29] i40evf: use base driver defined interface Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 00/29] i40e base driver update Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 01/29] i40e/base: fix compilation warnings Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 02/29] i40e/base: acquire NVM ownership before reading it Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 03/29] i40e/base: add hw flag for X722 register access Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 04/29] i40e/base: add X722 support on nvm read Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 05/29] i40e/base: limit version check of DCB Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 06/29] i40e/base: fix missing check for stopped admin queue Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 07/29] i40e/base: set aq count after memory allocation Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 08/29] i40e/base: fix uncertain event descriptor issue Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 09/29] i40e: update device id Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 10/29] i40e/base: fix up recent wol bits for X722_SUPPORT Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 11/29] i40e/base: fix up recent proxy " Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 12/29] i40e/base: unify the capability function Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 13/29] i40e/base: fix for PHY NVM interaction problem Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 14/29] i40e/base: set shared bit for multicast filters Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 15/29] i40e/base: support operating port mirroring rules Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 16/29] i40e: add VEB stat control Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 17/29] i40e/base: implement new API function Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 18/29] i40e/base: add functions to blink led Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 19/29] i40e/base: apply promisc mode to Tx Traffic Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 20/29] i40e/base: fix driver load failure Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 21/29] i40e/base: save off VSI resource count Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 22/29] i40e/base: coding style fixes Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 23/29] i40e: use AQ rx control register read/write Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 24/29] i40e: expose some registers Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 25/29] i40e/base: add a new Virtchnl offload Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 26/29] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-03-08 8:14 ` Helin Zhang [this message]
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 28/29] i40e: add base driver release info Helin Zhang
2016-03-08 8:14 ` [dpdk-dev] [PATCH v5 29/29] i40evf: use base driver defined interface Helin Zhang
2016-03-08 9:55 ` [dpdk-dev] [PATCH v5 00/29] i40e base driver update Remy Horton
2016-03-08 12:52 ` Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1457424877-26234-28-git-send-email-helin.zhang@intel.com \
--to=helin.zhang@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).