All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [V3: next PATCH S22 00/12]  i40e/i40evf updates
@ 2015-11-19 19:34 Deepthi Kavalur
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL) Deepthi Kavalur
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

Anjali Singhai Jain adds a new offload for RSS PCTYPE V2. 

Jesse Brandeburg chomps the BIT(_ULL), fixes mismatched declaration.

Kamil Krawczyk adds 'use explicit cast from u16 to u8'.

Michal Kosiarz adds opcode and structures required by OEM Post Update AQ
command and a new NVM arq message.

Mitch Williams adds proper deletion of VF MAC filters, and removes zero MAC
filter. Also checks rings before freeing resources, changes version string 
generation, and adds hush little warnings.

Shannon Nelson cleans whole mac filter list.

 drivers/net/ethernet/intel/i40e/i40e.h             |   4 +-
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  |  21 +++++
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c     |   2 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 105 +++++++++++++++------
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h    |   1 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  23 +++--
 .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h    |  21 +++++
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h  |   1 +
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    |  16 +++-
 .../net/ethernet/intel/i40evf/i40evf_virtchnl.c    |   4 +-
 10 files changed, 156 insertions(+), 42 deletions(-)

-- 
2.1.0


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL)
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-24 22:50   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 02/12] i40e: fix mismatched declaration Deepthi Kavalur
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Jesse Brandeburg <jesse.brandeburg@intel.com>

BIT_ULL was used on a u32 or less where it can simply be BIT. This
fixes some trivial static analyzer warnings. Chomp, chomp.

Tested with objdump of binary before and after, no changes to code.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Change-ID: I6245e9abd447192dbde1669c747aeb2878126c7d
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 30 ++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index c59d146..925654d 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1531,7 +1531,7 @@ static void i40e_vsi_setup_queue_map(struct i40e_vsi *vsi,
 	if (enabled_tc && (vsi->back->flags & I40E_FLAG_DCB_ENABLED)) {
 		/* Find numtc from enabled TC bitmap */
 		for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
-			if (enabled_tc & BIT_ULL(i)) /* TC is enabled */
+			if (enabled_tc & BIT(i)) /* TC is enabled */
 				numtc++;
 		}
 		if (!numtc) {
@@ -1560,7 +1560,7 @@ static void i40e_vsi_setup_queue_map(struct i40e_vsi *vsi,
 	/* Setup queue offset/count for all TCs for given VSI */
 	for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
 		/* See if the given TC is enabled for the given VSI */
-		if (vsi->tc_config.enabled_tc & BIT_ULL(i)) {
+		if (vsi->tc_config.enabled_tc & BIT(i)) {
 			/* TC is enabled */
 			int pow, num_qps;
 
@@ -4433,7 +4433,7 @@ static u8 i40e_get_iscsi_tc_map(struct i40e_pf *pf)
 		if (app.selector == I40E_APP_SEL_TCPIP &&
 		    app.protocolid == I40E_APP_PROTOID_ISCSI) {
 			tc = dcbcfg->etscfg.prioritytable[app.priority];
-			enabled_tc |= BIT_ULL(tc);
+			enabled_tc |= BIT(tc);
 			break;
 		}
 	}
@@ -4517,7 +4517,7 @@ static u8 i40e_pf_get_num_tc(struct i40e_pf *pf)
 	/* At least have TC0 */
 	enabled_tc = (enabled_tc ? enabled_tc : 0x1);
 	for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
-		if (enabled_tc & BIT_ULL(i))
+		if (enabled_tc & BIT(i))
 			num_tc++;
 	}
 	return num_tc;
@@ -4539,7 +4539,7 @@ static u8 i40e_pf_get_default_tc(struct i40e_pf *pf)
 
 	/* Find the first enabled TC */
 	for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
-		if (enabled_tc & BIT_ULL(i))
+		if (enabled_tc & BIT(i))
 			break;
 	}
 
@@ -4699,7 +4699,7 @@ static void i40e_vsi_config_netdev_tc(struct i40e_vsi *vsi, u8 enabled_tc)
 		 * will set the numtc for netdev as 2 that will be
 		 * referenced by the netdev layer as TC 0 and 1.
 		 */
-		if (vsi->tc_config.enabled_tc & BIT_ULL(i))
+		if (vsi->tc_config.enabled_tc & BIT(i))
 			netdev_set_tc_queue(netdev,
 					vsi->tc_config.tc_info[i].netdev_tc,
 					vsi->tc_config.tc_info[i].qcount,
@@ -4761,7 +4761,7 @@ static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc)
 
 	/* Enable ETS TCs with equal BW Share for now across all VSIs */
 	for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
-		if (enabled_tc & BIT_ULL(i))
+		if (enabled_tc & BIT(i))
 			bw_share[i] = 1;
 	}
 
@@ -4835,7 +4835,7 @@ int i40e_veb_config_tc(struct i40e_veb *veb, u8 enabled_tc)
 
 	/* Enable ETS TCs with equal BW Share for now */
 	for (i = 0; i < I40E_MAX_TRAFFIC_CLASS; i++) {
-		if (enabled_tc & BIT_ULL(i))
+		if (enabled_tc & BIT(i))
 			bw_data.tc_bw_share_credits[i] = 1;
 	}
 
@@ -5232,7 +5232,7 @@ static int i40e_setup_tc(struct net_device *netdev, u8 tc)
 
 	/* Generate TC map for number of tc requested */
 	for (i = 0; i < tc; i++)
-		enabled_tc |= BIT_ULL(i);
+		enabled_tc |= BIT(i);
 
 	/* Requesting same TC configuration as already enabled */
 	if (enabled_tc == vsi->tc_config.enabled_tc)
@@ -6096,23 +6096,23 @@ static void i40e_reset_subtask(struct i40e_pf *pf)
 
 	rtnl_lock();
 	if (test_bit(__I40E_REINIT_REQUESTED, &pf->state)) {
-		reset_flags |= BIT_ULL(__I40E_REINIT_REQUESTED);
+		reset_flags |= BIT(__I40E_REINIT_REQUESTED);
 		clear_bit(__I40E_REINIT_REQUESTED, &pf->state);
 	}
 	if (test_bit(__I40E_PF_RESET_REQUESTED, &pf->state)) {
-		reset_flags |= BIT_ULL(__I40E_PF_RESET_REQUESTED);
+		reset_flags |= BIT(__I40E_PF_RESET_REQUESTED);
 		clear_bit(__I40E_PF_RESET_REQUESTED, &pf->state);
 	}
 	if (test_bit(__I40E_CORE_RESET_REQUESTED, &pf->state)) {
-		reset_flags |= BIT_ULL(__I40E_CORE_RESET_REQUESTED);
+		reset_flags |= BIT(__I40E_CORE_RESET_REQUESTED);
 		clear_bit(__I40E_CORE_RESET_REQUESTED, &pf->state);
 	}
 	if (test_bit(__I40E_GLOBAL_RESET_REQUESTED, &pf->state)) {
-		reset_flags |= BIT_ULL(__I40E_GLOBAL_RESET_REQUESTED);
+		reset_flags |= BIT(__I40E_GLOBAL_RESET_REQUESTED);
 		clear_bit(__I40E_GLOBAL_RESET_REQUESTED, &pf->state);
 	}
 	if (test_bit(__I40E_DOWN_REQUESTED, &pf->state)) {
-		reset_flags |= BIT_ULL(__I40E_DOWN_REQUESTED);
+		reset_flags |= BIT(__I40E_DOWN_REQUESTED);
 		clear_bit(__I40E_DOWN_REQUESTED, &pf->state);
 	}
 
@@ -10571,7 +10571,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	/* NVM bit on means WoL disabled for the port */
 	i40e_read_nvm_word(hw, I40E_SR_NVM_WAKE_ON_LAN, &wol_nvm_bits);
-	if ((1 << hw->port) & wol_nvm_bits || hw->partition_id != 1)
+	if (BIT (hw->port) & wol_nvm_bits || hw->partition_id != 1)
 		pf->wol_en = false;
 	else
 		pf->wol_en = true;
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 02/12] i40e: fix mismatched declaration
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL) Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete VF MAC filters Deepthi Kavalur
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Jesse Brandeburg <jesse.brandeburg@intel.com>

i40e_vsi_add_pvid() was declared in the i40e.h file as a different
return type than the function implementation.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Change-ID: I22ea1f05e1d3c79d1b198dd375a766d839ea4706
---
 drivers/net/ethernet/intel/i40e/i40e.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index adfc450..04a3e87 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -717,7 +717,7 @@ struct i40e_veb *i40e_veb_setup(struct i40e_pf *pf, u16 flags, u16 uplink_seid,
 void i40e_veb_release(struct i40e_veb *veb);
 
 int i40e_veb_config_tc(struct i40e_veb *veb, u8 enabled_tc);
-i40e_status i40e_vsi_add_pvid(struct i40e_vsi *vsi, u16 vid);
+int i40e_vsi_add_pvid(struct i40e_vsi *vsi, u16 vid);
 void i40e_vsi_remove_pvid(struct i40e_vsi *vsi);
 void i40e_vsi_reset_stats(struct i40e_vsi *vsi);
 void i40e_pf_reset_stats(struct i40e_pf *pf);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete VF MAC filters
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL) Deepthi Kavalur
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 02/12] i40e: fix mismatched declaration Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-30 18:55   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero MAC filter Deepthi Kavalur
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

The virtual channel interface was using incorrect semantics to remove
MAC addresses, which would leave incorrect filters active when using
VLANs. To correct this, add a new function that unconditionally removes
MAC addresses from all VLANs, and call this function when the VF
requests a MAC filter removal.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Change-ID: I69826908ae4f6c847f5bf9b32f11faa760189c74
---
 drivers/net/ethernet/intel/i40e/i40e.h             |  2 ++
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 36 ++++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  8 +++--
 3 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 04a3e87..33fa3d9 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -775,6 +775,8 @@ int i40e_vsi_add_vlan(struct i40e_vsi *vsi, s16 vid);
 int i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid);
 struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi, u8 *macaddr,
 					     bool is_vf, bool is_netdev);
+int i40e_del_mac_all_vlan(struct i40e_vsi *vsi, u8 *macaddr,
+			  bool is_vf, bool is_netdev);
 bool i40e_is_vsi_in_vlan(struct i40e_vsi *vsi);
 struct i40e_mac_filter *i40e_find_mac(struct i40e_vsi *vsi, u8 *macaddr,
 				      bool is_vf, bool is_netdev);
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 925654d..7147404 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1259,6 +1259,42 @@ struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi, u8 *macaddr,
 }
 
 /**
+ * i40e_del_mac_all_vlan - Remove a MAC filter from all VLANS
+ * @vsi: the VSI to be searched
+ * @macaddr: the mac address to be removed
+ * @is_vf: true if it is a VF
+ * @is_netdev: true if it is a netdev
+ *
+ * Removes a given MAC address from a VSI, regardless of VLAN
+ *
+ * Returns 0 for success, or error
+ **/
+int i40e_del_mac_all_vlan(struct i40e_vsi *vsi, u8 *macaddr,
+			  bool is_vf, bool is_netdev)
+{
+	struct i40e_mac_filter *f = NULL;
+	int changed = 0;
+
+	WARN(!spin_is_locked(&vsi->mac_filter_list_lock),
+	     "Missing mac_filter_list_lock\n");
+	list_for_each_entry(f, &vsi->mac_filter_list, list) {
+		if ((ether_addr_equal(macaddr, f->macaddr)) &&
+		    (is_vf == f->is_vf) &&
+		    (is_netdev == f->is_netdev)) {
+			f->counter--;
+			f->changed = true;
+			changed = 1;
+		}
+	}
+	if (changed) {
+		vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED;
+		vsi->back->flags |= I40E_FLAG_FILTER_SYNC;
+		return 0;
+	}
+	return -ENOENT;
+}
+
+/**
  * i40e_rm_default_mac_filter - Remove the default MAC filter set by NVM
  * @vsi: the PF Main VSI - inappropriate for any other VSI
  * @macaddr: the MAC address
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 0606ee1..c04e3b7 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -1683,8 +1683,12 @@ static int i40e_vc_del_mac_addr_msg(struct i40e_vf *vf, u8 *msg, u16 msglen)
 	spin_lock_bh(&vsi->mac_filter_list_lock);
 	/* delete addresses from the list */
 	for (i = 0; i < al->num_elements; i++)
-		i40e_del_filter(vsi, al->list[i].addr,
-				I40E_VLAN_ANY, true, false);
+		if (i40e_del_mac_all_vlan(vsi, al->list[i].addr, true, false)) {
+			ret = I40E_ERR_INVALID_MAC_ADDR;
+			spin_unlock_bh(&vsi->mac_filter_list_lock);
+			goto error_param;
+		}
+
 	spin_unlock_bh(&vsi->mac_filter_list_lock);
 
 	/* program the updated filter list */
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero MAC filter
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (2 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete VF MAC filters Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-30 18:56   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings before freeing resources Deepthi Kavalur
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

When VFs are created, the MAC address defaults to all zeros, indicating
to the VF driver that it should use a random MAC address. However, the
PF driver was incorrectly adding this zero MAC to the filter table,
along with the VF's randomly generated MAC address.

Check for a good address before adding the default filter. While we're
at it, make the error message a bit more useful.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Change-ID: Ia100947d68140e0f73a19ba755cbffc3e79a8fcf
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index c04e3b7..b6be4a5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -549,12 +549,15 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
 			i40e_vsi_add_pvid(vsi, vf->port_vlan_id);
 
 		spin_lock_bh(&vsi->mac_filter_list_lock);
-		f = i40e_add_filter(vsi, vf->default_lan_addr.addr,
-				    vf->port_vlan_id ? vf->port_vlan_id : -1,
-				    true, false);
-		if (!f)
-			dev_info(&pf->pdev->dev,
-				 "Could not allocate VF MAC addr\n");
+		if (is_valid_ether_addr(vf->default_lan_addr.addr)) {
+			f = i40e_add_filter(vsi, vf->default_lan_addr.addr,
+				       vf->port_vlan_id ? vf->port_vlan_id : -1,
+				       true, false);
+			if (!f)
+				dev_info(&pf->pdev->dev,
+					 "Could not add MAC filter %pM for VF %d\n",
+					vf->default_lan_addr.addr, vf->vf_id);
+		}
 		f = i40e_add_filter(vsi, brdcast,
 				    vf->port_vlan_id ? vf->port_vlan_id : -1,
 				    true, false);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings before freeing resources
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (3 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero MAC filter Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-30 18:58   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast from u16 to u8 Deepthi Kavalur
                   ` (6 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

If the driver gets unloaded during reset recovery, it's possible
that it will attempt to free resources when they're already free.

Add a check to make sure that the tx and rx rings actually exist
before dereferencing them to free resources.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Change-ID: I4d2b7e9ede49f634d421a4c5deaa5446bc755eee
---
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 7e207ed..8a3ed2c 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -2034,6 +2034,9 @@ void i40evf_free_all_tx_resources(struct i40evf_adapter *adapter)
 {
 	int i;
 
+	if (!adapter->tx_rings)
+		return;
+
 	for (i = 0; i < adapter->num_active_queues; i++)
 		if (adapter->tx_rings[i].desc)
 			i40evf_free_tx_resources(&adapter->tx_rings[i]);
@@ -2102,6 +2105,9 @@ void i40evf_free_all_rx_resources(struct i40evf_adapter *adapter)
 {
 	int i;
 
+	if (!adapter->rx_rings)
+		return;
+
 	for (i = 0; i < adapter->num_active_queues; i++)
 		if (adapter->rx_rings[i].desc)
 			i40evf_free_rx_resources(&adapter->rx_rings[i]);
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast from u16 to u8
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (4 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings before freeing resources Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-24 22:55   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message Deepthi Kavalur
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Kamil Krawczyk <kamil.krawczyk@intel.com>

Current implementation generates compilation warnings.

Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Change-ID: Icceefb50fe62aefaf90a64afb7192e08355a4ec5
---
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c b/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
index 79ae7be..daa9204 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
@@ -762,7 +762,7 @@ static void i40e_write_byte(u8 *hmc_bits,
 
 	/* prepare the bits and mask */
 	shift_width = ce_info->lsb % 8;
-	mask = BIT(ce_info->width) - 1;
+	mask = (u8)(BIT(ce_info->width) - 1);
 
 	src_byte = *from;
 	src_byte &= mask;
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (5 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast from u16 to u8 Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-24 23:46   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little warnings Deepthi Kavalur
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Michal Kosiarz <michal.kosiarz@intel.com>

This is a part of implementation which contains data structures and
opcode for new AQ command. There's a new ARQ message that gets sent
near the end of the NVM update process that the driver should recognize
and ignore, rather than printing an Unknown Event error.

Signed-off-by: Michal Kosiarz <michal.kosiarz@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Change-ID: I04830a5bcae14823e16b9424cc4165e169336c1f

Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Change-ID: Ic73b0a4e10e0b6895d1f2435125f1e789f3756dd
---
Testing Hints :
	Do an nvmupdate with the current version of nvmupdate tool before and
	after this patch is applied and watch the kernel log for the message
		"ARQ Error: Unknown event 0x0720 received"
	Using "nvmupdate -f" will allow you to "update" your NVM with the same
	version NVM, over and over; useful for this kind of testing.

 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h   | 21 +++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_main.c         |  1 +
 drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 21 +++++++++++++++++++++
 3 files changed, 43 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
index 61a4979..b22012a 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
@@ -227,6 +227,7 @@ enum i40e_admin_queue_opc {
 	i40e_aqc_opc_nvm_update			= 0x0703,
 	i40e_aqc_opc_nvm_config_read		= 0x0704,
 	i40e_aqc_opc_nvm_config_write		= 0x0705,
+	i40e_aqc_opc_oem_post_update		= 0x0720,
 
 	/* virtualization commands */
 	i40e_aqc_opc_send_msg_to_pf		= 0x0801,
@@ -1891,6 +1892,26 @@ struct i40e_aqc_nvm_config_data_immediate_field {
 
 I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field);
 
+/* OEM Post Update (indirect 0x0720)
+ * no command data struct used
+ */
+struct i40e_aqc_nvm_oem_post_update {
+#define I40E_AQ_NVM_OEM_POST_UPDATE_EXTERNAL_DATA	0x01
+	u8 sel_data;
+	u8 reserved[7];
+};
+
+I40E_CHECK_STRUCT_LEN(0x8, i40e_aqc_nvm_oem_post_update);
+
+struct i40e_aqc_nvm_oem_post_update_buffer {
+	u8 str_len;
+	u8 dev_addr;
+	__le16 eeprom_addr;
+	u8 data[36];
+};
+
+I40E_CHECK_STRUCT_LEN(0x28, i40e_aqc_nvm_oem_post_update_buffer);
+
 /* Send to PF command (indirect 0x0801) id is only used by PF
  * Send to VF command (indirect 0x0802) id is only used by PF
  * Send to Peer PF command (indirect 0x0803)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 7147404..7ded5e5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -6295,6 +6295,7 @@ static void i40e_clean_adminq_subtask(struct i40e_pf *pf)
 			break;
 		case i40e_aqc_opc_nvm_erase:
 		case i40e_aqc_opc_nvm_update:
+		case i40e_aqc_opc_oem_post_update:
 			i40e_debug(&pf->hw, I40E_DEBUG_NVM, "ARQ NVM operation completed\n");
 			break;
 		default:
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h
index 1c76389..f5b2b36 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h
@@ -227,6 +227,7 @@ enum i40e_admin_queue_opc {
 	i40e_aqc_opc_nvm_update			= 0x0703,
 	i40e_aqc_opc_nvm_config_read		= 0x0704,
 	i40e_aqc_opc_nvm_config_write		= 0x0705,
+	i40e_aqc_opc_oem_post_update		= 0x0720,
 
 	/* virtualization commands */
 	i40e_aqc_opc_send_msg_to_pf		= 0x0801,
@@ -1888,6 +1889,26 @@ struct i40e_aqc_nvm_config_data_immediate_field {
 
 I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field);
 
+/* OEM Post Update (indirect 0x0720)
+ * no command data struct used
+ */
+ struct i40e_aqc_nvm_oem_post_update {
+#define I40E_AQ_NVM_OEM_POST_UPDATE_EXTERNAL_DATA	0x01
+	u8 sel_data;
+	u8 reserved[7];
+};
+
+I40E_CHECK_STRUCT_LEN(0x8, i40e_aqc_nvm_oem_post_update);
+
+struct i40e_aqc_nvm_oem_post_update_buffer {
+	u8 str_len;
+	u8 dev_addr;
+	__le16 eeprom_addr;
+	u8 data[36];
+};
+
+I40E_CHECK_STRUCT_LEN(0x28, i40e_aqc_nvm_oem_post_update_buffer);
+
 /* Send to PF command (indirect 0x0801) id is only used by PF
  * Send to VF command (indirect 0x0802) id is only used by PF
  * Send to Peer PF command (indirect 0x0803)
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little warnings
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (6 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-30 18:59   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722 Deepthi Kavalur
                   ` (3 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

These messages seem big and scary, but they're really not. The driver
can fully recover from any of these. The overflow error in particular
can happen when enabling a bunch of VFs and the VF driver is not
blacklisted.

Since these messages are really for debugging purposes, reclassify
them as such.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Change-ID: I628d0f5e135e7063450ba05393a50b7af23aa6d7
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 7ded5e5..c03bb72 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -6219,15 +6219,18 @@ static void i40e_clean_adminq_subtask(struct i40e_pf *pf)
 	val = rd32(&pf->hw, pf->hw.aq.arq.len);
 	oldval = val;
 	if (val & I40E_PF_ARQLEN_ARQVFE_MASK) {
-		dev_info(&pf->pdev->dev, "ARQ VF Error detected\n");
+		if (hw->debug_mask & I40E_DEBUG_AQ)
+			dev_info(&pf->pdev->dev, "ARQ VF Error detected\n");
 		val &= ~I40E_PF_ARQLEN_ARQVFE_MASK;
 	}
 	if (val & I40E_PF_ARQLEN_ARQOVFL_MASK) {
-		dev_info(&pf->pdev->dev, "ARQ Overflow Error detected\n");
+		if (hw->debug_mask & I40E_DEBUG_AQ)
+			dev_info(&pf->pdev->dev, "ARQ Overflow Error detected\n");
 		val &= ~I40E_PF_ARQLEN_ARQOVFL_MASK;
 	}
 	if (val & I40E_PF_ARQLEN_ARQCRIT_MASK) {
-		dev_info(&pf->pdev->dev, "ARQ Critical Error detected\n");
+		if (hw->debug_mask & I40E_DEBUG_AQ)
+			dev_info(&pf->pdev->dev, "ARQ Critical Error detected\n");
 		val &= ~I40E_PF_ARQLEN_ARQCRIT_MASK;
 	}
 	if (oldval != val)
@@ -6236,15 +6239,18 @@ static void i40e_clean_adminq_subtask(struct i40e_pf *pf)
 	val = rd32(&pf->hw, pf->hw.aq.asq.len);
 	oldval = val;
 	if (val & I40E_PF_ATQLEN_ATQVFE_MASK) {
-		dev_info(&pf->pdev->dev, "ASQ VF Error detected\n");
+		if (pf->hw.debug_mask & I40E_DEBUG_AQ)
+			dev_info(&pf->pdev->dev, "ASQ VF Error detected\n");
 		val &= ~I40E_PF_ATQLEN_ATQVFE_MASK;
 	}
 	if (val & I40E_PF_ATQLEN_ATQOVFL_MASK) {
-		dev_info(&pf->pdev->dev, "ASQ Overflow Error detected\n");
+		if (pf->hw.debug_mask & I40E_DEBUG_AQ)
+			dev_info(&pf->pdev->dev, "ASQ Overflow Error detected\n");
 		val &= ~I40E_PF_ATQLEN_ATQOVFL_MASK;
 	}
 	if (val & I40E_PF_ATQLEN_ATQCRIT_MASK) {
-		dev_info(&pf->pdev->dev, "ASQ Critical Error detected\n");
+		if (pf->hw.debug_mask & I40E_DEBUG_AQ)
+			dev_info(&pf->pdev->dev, "ASQ Critical Error detected\n");
 		val &= ~I40E_PF_ATQLEN_ATQCRIT_MASK;
 	}
 	if (oldval != val)
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (7 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little warnings Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-30 19:47   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac filter list Deepthi Kavalur
                   ` (2 subsequent siblings)
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Anjali Singhai Jain <anjali.singhai@intel.com>

X722 supports Expanded version of TCP, UDP PCTYPES for RSS.
Add a Virtchnl offload to support this.

Without this patch with X722 devices, driver will set wrong PCTYPES
for VF and UDP flows will not fan out.

Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Change-ID: I04fe4988253b7cd108c9179a643c969764efcb76
---
Testing-Hints:
Try multiple UDP flows on VF driver to see they get spread out by RSS.

 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h     | 1 +
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h   | 1 +
 drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c | 4 +++-
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h b/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
index ae87982..3226946 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
@@ -153,6 +153,7 @@ struct i40e_virtchnl_vsi_resource {
 #define I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR	0x00000020
 #define I40E_VIRTCHNL_VF_OFFLOAD_VLAN		0x00010000
 #define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING	0x00020000
+#define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2	0x00040000
 
 struct i40e_virtchnl_vf_resource {
 	u16 num_vsis;
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h b/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
index 9f7b279..3b9d203 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
+++ b/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
@@ -153,6 +153,7 @@ struct i40e_virtchnl_vsi_resource {
 #define I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR	0x00000020
 #define I40E_VIRTCHNL_VF_OFFLOAD_VLAN		0x00010000
 #define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING	0x00020000
+#define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2	0x00040000
 
 struct i40e_virtchnl_vf_resource {
 	u16 num_vsis;
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c b/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c
index 3c9c008..c1c5262 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c
@@ -157,7 +157,9 @@ int i40evf_send_vf_config_msg(struct i40evf_adapter *adapter)
 	       I40E_VIRTCHNL_VF_OFFLOAD_RSS_AQ |
 	       I40E_VIRTCHNL_VF_OFFLOAD_RSS_REG |
 	       I40E_VIRTCHNL_VF_OFFLOAD_VLAN |
-	       I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR;
+	       I40E_VIRTCHNL_VF_OFFLOAD_WB_ON_ITR |
+	       I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2;
+
 	adapter->current_op = I40E_VIRTCHNL_OP_GET_VF_RESOURCES;
 	adapter->aq_required &= ~I40EVF_FLAG_AQ_GET_CONFIG;
 	if (PF_IS_V11(adapter))
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac filter list
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (8 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722 Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-30 19:20   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version string generation Deepthi Kavalur
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e to 1.4.8 and i40evf to 1.4.4 Deepthi Kavalur
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Shannon Nelson <shannon.nelson@intel.com>

Clean the whole mac filter list when resetting after an intermediate
add or delete push to the firmware.  The code had evolved from using
a list from the stack to a heap allocation, but the memset() didn't
follow the change correctly.  This now cleans the whole list rather
that just part of the first element.

Reported-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Change-ID: I4cd03d5a103b7407dd8556a3a231e800f2d6f2d5
---
Testing Hints :
Compile and run the driver with basic ping tests. Also add and remove
additional address filters and make sure they work as expected.

 drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index c03bb72..c22167b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1917,11 +1917,12 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi, bool grab_rtnl)
 
 	/* Now process 'del_list' outside the lock */
 	if (!list_empty(&tmp_del_list)) {
+		int del_list_size;
 		filter_list_len = pf->hw.aq.asq_buf_size /
 			    sizeof(struct i40e_aqc_remove_macvlan_element_data);
-		del_list = kcalloc(filter_list_len,
-			    sizeof(struct i40e_aqc_remove_macvlan_element_data),
-			    GFP_KERNEL);
+		del_list_size = filter_list_len *
+			    sizeof(struct i40e_aqc_remove_macvlan_element_data);
+		del_list = kzalloc(del_list_size, GFP_KERNEL);
 		if (!del_list) {
 			i40e_cleanup_add_list(&tmp_add_list);
 
@@ -1956,7 +1957,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi, bool grab_rtnl)
 								NULL);
 				aq_err = pf->hw.aq.asq_last_status;
 				num_del = 0;
-				memset(del_list, 0, sizeof(*del_list));
+				memset(del_list, 0, del_list_size);
 
 				if (aq_ret && aq_err != I40E_AQ_RC_ENOENT) {
 					retval = -EIO;
@@ -1992,13 +1993,14 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi, bool grab_rtnl)
 	}
 
 	if (!list_empty(&tmp_add_list)) {
+		int add_list_size;
 
 		/* do all the adds now */
 		filter_list_len = pf->hw.aq.asq_buf_size /
 			       sizeof(struct i40e_aqc_add_macvlan_element_data),
-		add_list = kcalloc(filter_list_len,
-			       sizeof(struct i40e_aqc_add_macvlan_element_data),
-			       GFP_KERNEL);
+		add_list_size = filter_list_len *
+			       sizeof(struct i40e_aqc_add_macvlan_element_data);
+		add_list = kzalloc(add_list_size, GFP_KERNEL);
 		if (!add_list) {
 			/* Purge element from temporary lists */
 			i40e_cleanup_add_list(&tmp_add_list);
@@ -2037,7 +2039,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi, bool grab_rtnl)
 
 				if (aq_ret)
 					break;
-				memset(add_list, 0, sizeof(*add_list));
+				memset(add_list, 0, add_list_size);
 			}
 			/* Entries from tmp_add_list were cloned from MAC
 			 * filter list, hence clean those cloned entries
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version string generation
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (9 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac filter list Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-24 23:52   ` Bowers, AndrewX
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e to 1.4.8 and i40evf to 1.4.4 Deepthi Kavalur
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

Generate version strings like the PF driver does. This gives us more
flexibility to add suffixes to the version string at build time.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Change-ID: I0a5ca0783dd8fb849516bfc1e37ea070127847bd
---
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 8a3ed2c..debabd3 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -34,7 +34,15 @@ char i40evf_driver_name[] = "i40evf";
 static const char i40evf_driver_string[] =
 	"Intel(R) XL710/X710 Virtual Function Network Driver";
 
-#define DRV_VERSION "1.4.3"
+#define DRV_KERN "-k"
+
+#define DRV_VERSION_MAJOR 1
+#define DRV_VERSION_MINOR 4
+#define DRV_VERSION_BUILD 3
+#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
+	     __stringify(DRV_VERSION_MINOR) "." \
+	     __stringify(DRV_VERSION_BUILD) \
+	     DRV_KERN
 const char i40evf_driver_version[] = DRV_VERSION;
 static const char i40evf_copyright[] =
 	"Copyright (c) 2013 - 2015 Intel Corporation.";
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e to 1.4.8 and i40evf to 1.4.4
  2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
                   ` (10 preceding siblings ...)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version string generation Deepthi Kavalur
@ 2015-11-19 19:34 ` Deepthi Kavalur
  2015-11-24 23:52   ` Bowers, AndrewX
  11 siblings, 1 reply; 24+ messages in thread
From: Deepthi Kavalur @ 2015-11-19 19:34 UTC (permalink / raw)
  To: intel-wired-lan

From: Catherine Sullivan <catherine.sullivan@intel.com>

Bump.

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Change-ID: I2b8976bde070244de144e2ed8990b083de39f332
---
 drivers/net/ethernet/intel/i40e/i40e_main.c     | 2 +-
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index c22167b..64ca2a3 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -39,7 +39,7 @@ static const char i40e_driver_string[] =
 
 #define DRV_VERSION_MAJOR 1
 #define DRV_VERSION_MINOR 4
-#define DRV_VERSION_BUILD 7
+#define DRV_VERSION_BUILD 8
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD)    DRV_KERN
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index debabd3..fe79e77 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -38,7 +38,7 @@ static const char i40evf_driver_string[] =
 
 #define DRV_VERSION_MAJOR 1
 #define DRV_VERSION_MINOR 4
-#define DRV_VERSION_BUILD 3
+#define DRV_VERSION_BUILD 4
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD) \
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL)
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL) Deepthi Kavalur
@ 2015-11-24 22:50   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-24 22:50 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the
> BIT(_ULL)
> 
> From: Jesse Brandeburg <jesse.brandeburg@intel.com>
> 
> BIT_ULL was used on a u32 or less where it can simply be BIT. This fixes some
> trivial static analyzer warnings. Chomp, chomp.
> 
> Tested with objdump of binary before and after, no changes to code.
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Change-ID: I6245e9abd447192dbde1669c747aeb2878126c7d
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 30 ++++++++++++++----------
> -----
>  1 file changed, 15 insertions(+), 15 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast from u16 to u8
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast from u16 to u8 Deepthi Kavalur
@ 2015-11-24 22:55   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-24 22:55 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Krawczyk, Kamil <kamil.krawczyk@intel.com>
> Subject: [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast
> from u16 to u8
> 
> From: Kamil Krawczyk <kamil.krawczyk@intel.com>
> 
> Current implementation generates compilation warnings.
> 
> Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
> Acked-by: Shannon Nelson <shannon.nelson@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Change-ID: Icceefb50fe62aefaf90a64afb7192e08355a4ec5
> ---
>  drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message Deepthi Kavalur
@ 2015-11-24 23:46   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-24 23:46 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Kosiarz, Michal <michal.kosiarz@intel.com>
> Subject: [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and
> structures required by OEM Post Update AQ command and add new NVM
> arq message
> 
> From: Michal Kosiarz <michal.kosiarz@intel.com>
> 
> This is a part of implementation which contains data structures and opcode
> for new AQ command. There's a new ARQ message that gets sent near the
> end of the NVM update process that the driver should recognize and ignore,
> rather than printing an Unknown Event error.
> 
> Signed-off-by: Michal Kosiarz <michal.kosiarz@intel.com>
> Acked-by: Shannon Nelson <shannon.nelson@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Change-ID: I04830a5bcae14823e16b9424cc4165e169336c1f
> 
> Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
> Change-ID: Ic73b0a4e10e0b6895d1f2435125f1e789f3756dd
> ---
> Testing Hints :
> 	Do an nvmupdate with the current version of nvmupdate tool before
> and
> 	after this patch is applied and watch the kernel log for the message
> 		"ARQ Error: Unknown event 0x0720 received"
> 	Using "nvmupdate -f" will allow you to "update" your NVM with the
> same
> 	version NVM, over and over; useful for this kind of testing.
> 
>  drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h   | 21
> +++++++++++++++++++++
>  drivers/net/ethernet/intel/i40e/i40e_main.c         |  1 +
>  drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 21
> +++++++++++++++++++++
>  3 files changed, 43 insertions(+)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, no error in log after nvmupdate

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version string generation
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version string generation Deepthi Kavalur
@ 2015-11-24 23:52   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-24 23:52 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version
> string generation
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> Generate version strings like the PF driver does. This gives us more flexibility
> to add suffixes to the version string at build time.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> Change-ID: I0a5ca0783dd8fb849516bfc1e37ea070127847bd
> ---
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, driver reports correct version info

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e to 1.4.8 and i40evf to 1.4.4
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e to 1.4.8 and i40evf to 1.4.4 Deepthi Kavalur
@ 2015-11-24 23:52   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-24 23:52 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e
> to 1.4.8 and i40evf to 1.4.4
> 
> From: Catherine Sullivan <catherine.sullivan@intel.com>
> 
> Bump.
> 
> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
> Change-ID: I2b8976bde070244de144e2ed8990b083de39f332
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c     | 2 +-
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, driver reports correct version info

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete VF MAC filters
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete VF MAC filters Deepthi Kavalur
@ 2015-11-30 18:55   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-30 18:55 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete
> VF MAC filters
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> The virtual channel interface was using incorrect semantics to remove MAC
> addresses, which would leave incorrect filters active when using VLANs. To
> correct this, add a new function that unconditionally removes MAC
> addresses from all VLANs, and call this function when the VF requests a MAC
> filter removal.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> Change-ID: I69826908ae4f6c847f5bf9b32f11faa760189c74
> ---
>  drivers/net/ethernet/intel/i40e/i40e.h             |  2 ++
>  drivers/net/ethernet/intel/i40e/i40e_main.c        | 36
> ++++++++++++++++++++++
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  8 +++--
>  3 files changed, 44 insertions(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, able to correctly remove VF MAC filter

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero MAC filter
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero MAC filter Deepthi Kavalur
@ 2015-11-30 18:56   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-30 18:56 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero
> MAC filter
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> When VFs are created, the MAC address defaults to all zeros, indicating to
> the VF driver that it should use a random MAC address. However, the PF
> driver was incorrectly adding this zero MAC to the filter table, along with the
> VF's randomly generated MAC address.
> 
> Check for a good address before adding the default filter. While we're at it,
> make the error message a bit more useful.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> Change-ID: Ia100947d68140e0f73a19ba755cbffc3e79a8fcf
> ---
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, zero MAC filter not created

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings before freeing resources
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings before freeing resources Deepthi Kavalur
@ 2015-11-30 18:58   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-30 18:58 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings
> before freeing resources
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> If the driver gets unloaded during reset recovery, it's possible that it will
> attempt to free resources when they're already free.
> 
> Add a check to make sure that the tx and rx rings actually exist before
> dereferencing them to free resources.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> Change-ID: I4d2b7e9ede49f634d421a4c5deaa5446bc755eee
> ---
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little warnings
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little warnings Deepthi Kavalur
@ 2015-11-30 18:59   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-30 18:59 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little
> warnings
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> These messages seem big and scary, but they're really not. The driver can
> fully recover from any of these. The overflow error in particular can happen
> when enabling a bunch of VFs and the VF driver is not blacklisted.
> 
> Since these messages are really for debugging purposes, reclassify them as
> such.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> Change-ID: I628d0f5e135e7063450ba05393a50b7af23aa6d7
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac filter list
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac filter list Deepthi Kavalur
@ 2015-11-30 19:20   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-30 19:20 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac
> filter list
> 
> From: Shannon Nelson <shannon.nelson@intel.com>
> 
> Clean the whole mac filter list when resetting after an intermediate add or
> delete push to the firmware.  The code had evolved from using a list from
> the stack to a heap allocation, but the memset() didn't follow the change
> correctly.  This now cleans the whole list rather that just part of the first
> element.
> 
> Reported-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
> Change-ID: I4cd03d5a103b7407dd8556a3a231e800f2d6f2d5
> ---
> Testing Hints :
> Compile and run the driver with basic ping tests. Also add and remove
> additional address filters and make sure they work as expected.
> 
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, adding/removing MAC filters works properly.

^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722
  2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722 Deepthi Kavalur
@ 2015-11-30 19:47   ` Bowers, AndrewX
  0 siblings, 0 replies; 24+ messages in thread
From: Bowers, AndrewX @ 2015-11-30 19:47 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Deepthi Kavalur
> Sent: Thursday, November 19, 2015 11:34 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new
> offload for RSS PCTYPE V2 for X722
> 
> From: Anjali Singhai Jain <anjali.singhai@intel.com>
> 
> X722 supports Expanded version of TCP, UDP PCTYPES for RSS.
> Add a Virtchnl offload to support this.
> 
> Without this patch with X722 devices, driver will set wrong PCTYPES for VF
> and UDP flows will not fan out.
> 
> Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
> Change-ID: I04fe4988253b7cd108c9179a643c969764efcb76
> ---
> Testing-Hints:
> Try multiple UDP flows on VF driver to see they get spread out by RSS.
> 
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl.h     | 1 +
>  drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h   | 1 +
>  drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c | 4 +++-
>  3 files changed, 5 insertions(+), 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Patch code changes correctly applied, VF on X722, incoming UDP flows fan out properly.

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2015-11-30 19:47 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-19 19:34 [Intel-wired-lan] [V3: next PATCH S22 00/12] i40e/i40evf updates Deepthi Kavalur
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 01/12] i40e: chomp the BIT(_ULL) Deepthi Kavalur
2015-11-24 22:50   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 02/12] i40e: fix mismatched declaration Deepthi Kavalur
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 03/12] i40e: properly delete VF MAC filters Deepthi Kavalur
2015-11-30 18:55   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 04/12] i40e: don't add zero MAC filter Deepthi Kavalur
2015-11-30 18:56   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 05/12] i40evf: check rings before freeing resources Deepthi Kavalur
2015-11-30 18:58   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 06/12] i40e: use explicit cast from u16 to u8 Deepthi Kavalur
2015-11-24 22:55   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 07/12] i40e: Opcode and structures required by OEM Post Update AQ command and add new NVM arq message Deepthi Kavalur
2015-11-24 23:46   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 08/12] i40e: hush little warnings Deepthi Kavalur
2015-11-30 18:59   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 09/12] i40e/i40evf: Add a new offload for RSS PCTYPE V2 for X722 Deepthi Kavalur
2015-11-30 19:47   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 10/12] i40e: clean whole mac filter list Deepthi Kavalur
2015-11-30 19:20   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 11/12] i40evf: change version string generation Deepthi Kavalur
2015-11-24 23:52   ` Bowers, AndrewX
2015-11-19 19:34 ` [Intel-wired-lan] [V3: next PATCH S22 12/12] i40e/i40evf: Bump i40e to 1.4.8 and i40evf to 1.4.4 Deepthi Kavalur
2015-11-24 23:52   ` Bowers, AndrewX

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.