DPDK patches and discussions
 help / color / mirror / Atom feed
From: Helin Zhang <helin.zhang@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v2 28/30] i40e: add/remove new device IDs
Date: Thu, 18 Feb 2016 14:30:18 +0800	[thread overview]
Message-ID: <1455777020-12095-29-git-send-email-helin.zhang@intel.com> (raw)
In-Reply-To: <1455777020-12095-1-git-send-email-helin.zhang@intel.com>

It adds several new device IDs, and also removed one which is
not used at all.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
 doc/guides/rel_notes/release_2_3.rst            | 91 +++++++++++++++++++++++++
 drivers/net/i40e/i40e_ethdev.h                  |  2 +-
 drivers/net/i40e/i40e_rxtx.c                    |  8 +--
 lib/librte_eal/common/include/rte_pci_dev_ids.h |  8 ++-
 4 files changed, 102 insertions(+), 7 deletions(-)
 create mode 100644 doc/guides/rel_notes/release_2_3.rst

diff --git a/doc/guides/rel_notes/release_2_3.rst b/doc/guides/rel_notes/release_2_3.rst
new file mode 100644
index 0000000..fec5e4d
--- /dev/null
+++ b/doc/guides/rel_notes/release_2_3.rst
@@ -0,0 +1,91 @@
+DPDK Release 2.3
+================
+
+New Features
+------------
+
+**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
+---------------
+
+EAL
+~~~
+
+
+Drivers
+~~~~~~~
+
+* **i40e: Fixed failure of reading/writing rx control registers.**
+
+  Fixed i40e issue failing to read/write rx control registers when
+  under stress small traffic, which will result in application launch
+  failure.
+
+
+Libraries
+~~~~~~~~~
+
+
+Examples
+~~~~~~~~
+
+
+Other
+~~~~~
+
+
+Known Issues
+------------
+
+
+API Changes
+-----------
+
+
+ABI Changes
+-----------
+
+
+Shared Library Versions
+-----------------------
+
+The libraries prepended with a plus sign were incremented in this version.
+
+.. code-block:: diff
+
+     libethdev.so.2
+     librte_acl.so.2
+     librte_cfgfile.so.2
+     librte_cmdline.so.1
+     librte_distributor.so.1
+     librte_eal.so.2
+     librte_hash.so.2
+     librte_ip_frag.so.1
+     librte_ivshmem.so.1
+     librte_jobstats.so.1
+     librte_kni.so.2
+     librte_kvargs.so.1
+     librte_lpm.so.2
+     librte_mbuf.so.2
+     librte_mempool.so.1
+     librte_meter.so.1
+     librte_pipeline.so.2
+     librte_pmd_bond.so.1
+     librte_pmd_ring.so.2
+     librte_port.so.2
+     librte_power.so.1
+     librte_reorder.so.1
+     librte_ring.so.1
+     librte_sched.so.1
+     librte_table.so.2
+     librte_timer.so.1
+     librte_vhost.so.2
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index 6edd7dd..a5207fc 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -599,7 +599,7 @@ i40e_get_vsi_from_adapter(struct i40e_adapter *adapter)
                 return NULL;
 
 	hw = I40E_DEV_PRIVATE_TO_HW(adapter);
-	if (hw->mac.type == I40E_MAC_VF) {
+	if (hw->mac.type == I40E_MAC_VF || hw->mac.type == I40E_MAC_X722_VF) {
 		struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(adapter);
 		return &vf->vsi;
 	} else {
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 40cffc1..90ca819 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2113,7 +2113,7 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	uint16_t base, bsf, tc_mapping;
 	int use_def_burst_func = 1;
 
-	if (hw->mac.type == I40E_MAC_VF) {
+	if (hw->mac.type == I40E_MAC_VF || hw->mac.type == I40E_MAC_X722_VF) {
 		struct i40e_vf *vf =
 			I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 		vsi = &vf->vsi;
@@ -2153,7 +2153,7 @@ i40e_dev_rx_queue_setup(struct rte_eth_dev *dev,
 	rxq->nb_rx_desc = nb_desc;
 	rxq->rx_free_thresh = rx_conf->rx_free_thresh;
 	rxq->queue_id = queue_idx;
-	if (hw->mac.type == I40E_MAC_VF)
+	if (hw->mac.type == I40E_MAC_VF || hw->mac.type == I40E_MAC_X722_VF)
 		rxq->reg_idx = queue_idx;
 	else /* PF device */
 		rxq->reg_idx = vsi->base_queue +
@@ -2330,7 +2330,7 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	uint16_t tx_rs_thresh, tx_free_thresh;
 	uint16_t i, base, bsf, tc_mapping;
 
-	if (hw->mac.type == I40E_MAC_VF) {
+	if (hw->mac.type == I40E_MAC_VF || hw->mac.type == I40E_MAC_X722_VF) {
 		struct i40e_vf *vf =
 			I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 		vsi = &vf->vsi;
@@ -2458,7 +2458,7 @@ i40e_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	txq->hthresh = tx_conf->tx_thresh.hthresh;
 	txq->wthresh = tx_conf->tx_thresh.wthresh;
 	txq->queue_id = queue_idx;
-	if (hw->mac.type == I40E_MAC_VF)
+	if (hw->mac.type == I40E_MAC_VF || hw->mac.type == I40E_MAC_X722_VF)
 		txq->reg_idx = queue_idx;
 	else /* PF device */
 		txq->reg_idx = vsi->base_queue +
diff --git a/lib/librte_eal/common/include/rte_pci_dev_ids.h b/lib/librte_eal/common/include/rte_pci_dev_ids.h
index d088191..40ba98c 100644
--- a/lib/librte_eal/common/include/rte_pci_dev_ids.h
+++ b/lib/librte_eal/common/include/rte_pci_dev_ids.h
@@ -496,7 +496,6 @@ RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS)
 
 #define I40E_DEV_ID_SFP_XL710           0x1572
 #define I40E_DEV_ID_QEMU                0x1574
-#define I40E_DEV_ID_KX_A                0x157F
 #define I40E_DEV_ID_KX_B                0x1580
 #define I40E_DEV_ID_KX_C                0x1581
 #define I40E_DEV_ID_QSFP_A              0x1583
@@ -507,13 +506,14 @@ RTE_PCI_DEV_ID_DECL_IXGBE(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_82599_BYPASS)
 #define I40E_DEV_ID_20G_KR2_A           0x1588
 #define I40E_DEV_ID_10G_BASE_T4         0x1589
 #define I40E_DEV_ID_X722_A0             0x374C
+#define I40E_DEV_ID_KX_X722             0x37CE
+#define I40E_DEV_ID_QSFP_X722           0x37CF
 #define I40E_DEV_ID_SFP_X722            0x37D0
 #define I40E_DEV_ID_1G_BASE_T_X722      0x37D1
 #define I40E_DEV_ID_10G_BASE_T_X722     0x37D2
 
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_XL710)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QEMU)
-RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_A)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_B)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_C)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_A)
@@ -524,6 +524,8 @@ RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_20G_KR2)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_20G_KR2_A)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T4)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_A0)
+RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_KX_X722)
+RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_QSFP_X722)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_SFP_X722)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_1G_BASE_T_X722)
 RTE_PCI_DEV_ID_DECL_I40E(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_10G_BASE_T_X722)
@@ -572,11 +574,13 @@ RTE_PCI_DEV_ID_DECL_IXGBEVF(PCI_VENDOR_ID_INTEL, IXGBE_DEV_ID_X550EM_X_VF_HV)
 
 #define I40E_DEV_ID_VF                  0x154C
 #define I40E_DEV_ID_VF_HV               0x1571
+#define I40E_DEV_ID_X722_A0_VF          0x374D
 #define I40E_DEV_ID_X722_VF             0x37CD
 #define I40E_DEV_ID_X722_VF_HV          0x37D9
 
 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF)
 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_VF_HV)
+RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_A0_VF)
 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_VF)
 RTE_PCI_DEV_ID_DECL_I40EVF(PCI_VENDOR_ID_INTEL, I40E_DEV_ID_X722_VF_HV)
 
-- 
2.5.0

  parent reply	other threads:[~2016-02-18  6:31 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-15  2:40 [dpdk-dev] [PATCH 00/29] i40e base driver update Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 01/29] i40e/base: use explicit cast from u16 to u8 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 02/29] i40e/base: Acquire NVM, before issuing an AQ read nvm command Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 03/29] i40e/base: add hw flag for doing the SRCTL access using AQ for X722 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 04/29] i40e/base: add changes in nvm read to support X722 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 05/29] i40e/base: Limit DCB FW version checks to XL710/X710 devices Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 06/29] i40e/base: check for stopped admin queue Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 07/29] i40e/base: set aq count after memory allocation Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 08/29] i40e/base: clean event descriptor before use Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 09/29] i40e/base: add new device IDs and delete deprecated one Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 10/29] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 11/29] i40e/base: define function capabilities in only one place Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 12/29] i40e/base: Fix for PHY NVM interaction problem Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 13/29] i40e/base: set shared bit for multicast filters Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 14/29] i40e/base: add APIs to Add/remove port mirroring rules Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 15/29] i40e/base: add VEB stat control and remove L2 cloud filter Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 16/29] i40e/base: implement the API function for aq_set_switch_config Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 17/29] i40e/base: Add functions to blink led on Coppervale PHY Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 18/29] i40e/base: When in promisc mode apply promisc mode to Tx Traffic as well Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 19/29] i40e/base: Increase timeout when checking GLGEN_RSTAT_DEVSTATE bit Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 20/29] i40e/base: Save off VSI resource count when updating VSI Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 21/29] i40e/base: coding style fixes Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 22/29] i40e/base: use FW to read/write rx control registers Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 23/29] i40e/base: expose some registers to program parser, FD and RSS logic Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 24/29] i40e/base: Add a Virtchnl offload for RSS PCTYPE V2 Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 25/29] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 26/29] i40e/base: add/update structure and macro definitions Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 27/29] i40e: add base driver release info Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 28/29] i40e: add/remove new device IDs Helin Zhang
2016-01-15  2:40 ` [dpdk-dev] [PATCH 29/29] i40e: use rx control function for rx control registers Helin Zhang
2016-01-15 10:48 ` [dpdk-dev] [PATCH 00/29] i40e base driver update Bruce Richardson
2016-01-17 13:43   ` Zhang, Helin
2016-02-14  1:57 ` Wu, Jingjing
2016-02-18  6:29 ` [dpdk-dev] [PATCH v2 00/30] " Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 01/30] i40e/base: use explicit cast from u16 to u8 Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 02/30] i40e/base: acquire NVM, before issuing an AQ read nvm command Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 03/30] i40e/base: add hw flag for SRCTL access using AQ for X722 Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 04/30] i40e/base: add changes in nvm read to support X722 Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 05/30] i40e/base: limit DCB FW version checks to XL710/X710 devices Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 06/30] i40e/base: check for stopped admin queue Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 07/30] i40e/base: set aq count after memory allocation Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 08/30] i40e/base: clean event descriptor before use Helin Zhang
2016-02-18  6:29   ` [dpdk-dev] [PATCH v2 09/30] i40e/base: add new device IDs and delete deprecated one Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 10/30] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 11/30] i40e/base: define function capabilities in only one place Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 12/30] i40e/base: fix for PHY NVM interaction problem Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 13/30] i40e/base: set shared bit for multicast filters Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 14/30] i40e/base: add APIs to Add/remove port mirroring rules Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 15/30] i40e/base: add VEB stat control and remove L2 cloud filter Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 16/30] i40e/base: implement the API function for aq_set_switch_config Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 17/30] i40e/base: add functions to blink led on Coppervale PHY Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 18/30] i40e/base: apply promisc mode to Tx Traffic Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 19/30] i40e/base: increase timeout when checking GLGEN_RSTAT_DEVSTATE bit Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 20/30] i40e/base: save off VSI resource count when updating VSI Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 21/30] i40e/base: coding style fixes Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 22/30] i40e/base: use FW to read/write rx control registers Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 23/30] i40e/base: expose some registers to program parser, FD and RSS logic Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 24/30] i40e/base: add a Virtchnl offload for RSS PCTYPE V2 Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 25/30] i40e/base: add AQ thermal sensor control struct Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 26/30] i40e/base: add/update structure and macro definitions Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 27/30] i40e: add base driver release info Helin Zhang
2016-02-18  6:30   ` Helin Zhang [this message]
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 29/30] i40e: use rx control function for rx control registers Helin Zhang
2016-02-18  6:30   ` [dpdk-dev] [PATCH v2 30/30] i40evf: use base driver defined interface Helin Zhang

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=1455777020-12095-29-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).