All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates
@ 2016-09-07  1:05 Bimmy Pujari
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete Bimmy Pujari
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

Alexander Duyck adds code to limit TX descriptor count in cases where frag 
size is greater than 16K.

Bimmy Pujari removes unnecessary error checking against i40evf_up_complete.

Alan Brady adds code to fix deleting mac filters.

Harshitha Ramamurthy removes 100 Mbps SGMII support for X722.

Henry Tieman removes unreachable code.

Jacob Keller adds code to cleanup ATR auto_disable_flags use & checks 
conflicting ntuple/sideband rules when re-enabling ATR.

Lihong Yang removes unnecessary error checking against i40e_shutdown_adminq.

Preethi Banala adds encap csum VF offload flag.

 drivers/net/ethernet/intel/i40e/i40e_ethtool.c    |  3 ++
 drivers/net/ethernet/intel/i40e/i40e_main.c       | 43 ++++++++++-------------
 drivers/net/ethernet/intel/i40e/i40e_txrx.c       | 21 +++++------
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h   |  1 +
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c     |  7 ++--
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h |  1 +
 drivers/net/ethernet/intel/i40evf/i40evf_main.c   | 16 +++------
 7 files changed, 39 insertions(+), 53 deletions(-)

-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 16:47   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor count in cases where frag size is greater than 16K Bimmy Pujari
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

Function i40evf_up_complete() always returns success. Changed this to a
void type and removed the code that checks the return status and prints
an error message.

Signed-off-by: Bimmy Pujari <bimmy.pujari@intel.com>
Change-ID: I8c400f174786b9c855f679e470f35af292fb50ad
---
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index f751f7b..2074a8f 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -1007,7 +1007,7 @@ static void i40evf_configure(struct i40evf_adapter *adapter)
  * i40evf_up_complete - Finish the last steps of bringing up a connection
  * @adapter: board private structure
  **/
-static int i40evf_up_complete(struct i40evf_adapter *adapter)
+static void i40evf_up_complete(struct i40evf_adapter *adapter)
 {
 	adapter->state = __I40EVF_RUNNING;
 	clear_bit(__I40E_DOWN, &adapter->vsi.state);
@@ -1016,7 +1016,6 @@ static int i40evf_up_complete(struct i40evf_adapter *adapter)
 
 	adapter->aq_required |= I40EVF_FLAG_AQ_ENABLE_QUEUES;
 	mod_timer_pending(&adapter->watchdog_timer, jiffies + 1);
-	return 0;
 }
 
 /**
@@ -1824,9 +1823,7 @@ continue_reset:
 
 		i40evf_configure(adapter);
 
-		err = i40evf_up_complete(adapter);
-		if (err)
-			goto reset_err;
+		i40evf_up_complete(adapter);
 
 		i40evf_irq_enable(adapter, true);
 	} else {
@@ -2056,9 +2053,7 @@ static int i40evf_open(struct net_device *netdev)
 	i40evf_add_filter(adapter, adapter->hw.mac.addr);
 	i40evf_configure(adapter);
 
-	err = i40evf_up_complete(adapter);
-	if (err)
-		goto err_req_irq;
+	i40evf_up_complete(adapter);
 
 	i40evf_irq_enable(adapter, true);
 
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor count in cases where frag size is greater than 16K
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 16:53   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove unnecessary error checking against i40e_shutdown_adminq Bimmy Pujari
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Alexander Duyck <alexander.h.duyck@intel.com>

The i40e driver was incorrectly assuming that we would always be pulling
no more than 1 descriptor from each fragment.  It is in fact possible for
us to end up with the case where 2 descriptors worth of data may be pulled
when a frame is larger than one of the pieces generated when aligning the
payload to either 4K or pieces smaller than 16K.

To adjust for this we just need to make certain to test all the way to the
end of the fragments as it is possible for us to span 2 descriptors in the
block before us so we need to guarantee that even the last 6 descriptors
have enough data to fill a full frame.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Change-ID: Ic2ecb4d6b745f447d334e66c14002152f50e2f99
---
Testing Hints:
        This is hard to reproduce.  Patch submitted to customer for
        testing.  Best effort would be to try testing TSO, if possible
        TSO with iSCSI to verify nothing there is broken.

HSD-number: 10021204

 drivers/net/ethernet/intel/i40e/i40e_txrx.c   | 7 ++-----
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 7 ++-----
 2 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index f8d6623..bf7bb7c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -2621,9 +2621,7 @@ bool __i40e_chk_linearize(struct sk_buff *skb)
 		return false;
 
 	/* We need to walk through the list and validate that each group
-	 * of 6 fragments totals at least gso_size.  However we don't need
-	 * to perform such validation on the last 6 since the last 6 cannot
-	 * inherit any data from a descriptor after them.
+	 * of 6 fragments totals at least gso_size.
 	 */
 	nr_frags -= I40E_MAX_BUFFER_TXD - 2;
 	frag = &skb_shinfo(skb)->frags[0];
@@ -2654,8 +2652,7 @@ bool __i40e_chk_linearize(struct sk_buff *skb)
 		if (sum < 0)
 			return true;
 
-		/* use pre-decrement to avoid processing last fragment */
-		if (!--nr_frags)
+		if (!nr_frags--)
 			break;
 
 		sum -= skb_frag_size(stale++);
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
index 0130458..e3427eb 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
@@ -1832,9 +1832,7 @@ bool __i40evf_chk_linearize(struct sk_buff *skb)
 		return false;
 
 	/* We need to walk through the list and validate that each group
-	 * of 6 fragments totals at least gso_size.  However we don't need
-	 * to perform such validation on the last 6 since the last 6 cannot
-	 * inherit any data from a descriptor after them.
+	 * of 6 fragments totals@least gso_size.
 	 */
 	nr_frags -= I40E_MAX_BUFFER_TXD - 2;
 	frag = &skb_shinfo(skb)->frags[0];
@@ -1865,8 +1863,7 @@ bool __i40evf_chk_linearize(struct sk_buff *skb)
 		if (sum < 0)
 			return true;
 
-		/* use pre-decrement to avoid processing last fragment */
-		if (!--nr_frags)
+		if (!nr_frags--)
 			break;
 
 		sum -= skb_frag_size(stale++);
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove unnecessary error checking against i40e_shutdown_adminq
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete Bimmy Pujari
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor count in cases where frag size is greater than 16K Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 16:59   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps SGMII support for X722 Bimmy Pujari
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Lihong Yang <lihong.yang@intel.com>

The i40e_shutdown_adminq function never returns failure. There is no need to 
check the non-0 return value. Clean up the unnecessary error checking and 
warning against it.

Signed-off-by: Lihong Yang <lihong.yang@intel.com>
Change-ID: Ibb616f09cfb93bd1a872ebf3241a15fb8354b31b
---
Testing Hints:
Found by static code analysis. Check by code inspection.

 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 2074a8f..f2111d2 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -1782,8 +1782,7 @@ continue_reset:
 	i40evf_free_all_tx_resources(adapter);
 
 	/* kill and reinit the admin queue */
-	if (i40evf_shutdown_adminq(hw))
-		dev_warn(&adapter->pdev->dev, "Failed to shut down adminq\n");
+	i40evf_shutdown_adminq(hw);
 	adapter->current_op = I40E_VIRTCHNL_OP_UNKNOWN;
 	err = i40evf_init_adminq(hw);
 	if (err)
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps SGMII support for X722
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (2 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove unnecessary error checking against i40e_shutdown_adminq Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-09 20:38   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters Bimmy Pujari
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>

This patch fixes the problem where driver shows 100 Mbps as a supported speed, 
and allows it to be configured for advertising on X722 devices. This patch 
fixes the problem by not setting the 100 Mbps SGMII flag for X722 devices. 

Without this patch, the user incorrectly thinks that 100 Mbps is supported 
and hence might try to advertise it on X722 devices when it is actually not 
a supported speed. 

Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>
Change-ID: I8c3d7c4251a9402d98994ed29749b7b895a0f205
---
Testing Hints: Test on Copperpeak that 100 Mbps is not listed as
supported or advertised on ethtool. Also ensure we are not able
to configure the speed to 100 Mbps.

HSD-number: 10021180

 drivers/net/ethernet/intel/i40e/i40e_main.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 68c1253..e83b317 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -8591,7 +8591,6 @@ static int i40e_sw_init(struct i40e_pf *pf)
 			     I40E_FLAG_WB_ON_ITR_CAPABLE |
 			     I40E_FLAG_MULTIPLE_TCP_UDP_RSS_PCTYPE |
 			     I40E_FLAG_NO_PCI_LINK_CHECK |
-			     I40E_FLAG_100M_SGMII_CAPABLE |
 			     I40E_FLAG_USE_SET_LLDP_MIB |
 			     I40E_FLAG_GENEVE_OFFLOAD_CAPABLE;
 	} else if ((pf->hw.aq.api_maj_ver > 1) ||
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (3 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps SGMII support for X722 Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 21:19   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF offload flag Bimmy Pujari
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Alan Brady <alan.brady@intel.com>

There exists a bug in which deleting a mac filter does not actually
occur.  The driver reports that the filter has been deleted with no
error.  The problem occurs because the wrong cmd_flag is passed to the
firmware when deleting the filter.  The firmware reports an error back
to the driver but it is expressly ignored.

This fixes the bug by using the correct flag when deleting a filter.
Without this patch, deleted filters remain in firmware and function as
if they had not been deleted.

Signed-off-by: Alan Brady <alan.brady@intel.com>
Change-ID: I5f22b874f3b83f457702f18f0d5602ca21ac40c3
---
Testing-hints:
        I used 'tcpdump -npi <iface>' to watch traffic.

        1.  Pass traffic with mac header 00:aa:00:aa:02:01 - no traffic
        2.  Add mac filter - ip maddr add 00:aa:00:aa:02:01 dev enp5s0f0
        3.  Pass traffic with mac header 00:aa:00:aa:02:01 - traffic
        4.  Delete mac filter - ip maddr del 00:aa:00:aa:02:01 dev enp5s0f0
        5.  Pass traffic with mac header 00:aa:00:aa:02:01
                Expected - no traffic
                Actual - traffic

 drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++--
 1 file 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 e83b317..4c3c6ce 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1315,7 +1315,7 @@ static void i40e_rm_default_mac_filter(struct i40e_vsi *vsi, u8 *macaddr)
 	element.vlan_tag = 0;
 	/* ...and some firmware does it this way. */
 	element.flags = I40E_AQC_MACVLAN_DEL_PERFECT_MATCH |
-			I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
+			I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
 	i40e_aq_remove_macvlan(&pf->hw, vsi->seid, &element, 1, NULL);
 }
 
@@ -1908,7 +1908,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
 			ether_addr_copy(del_list[num_del].mac_addr, f->macaddr);
 			if (f->vlan == I40E_VLAN_ANY) {
 				del_list[num_del].vlan_tag = 0;
-				cmd_flags |= I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
+				cmd_flags |= I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
 			} else {
 				del_list[num_del].vlan_tag =
 					cpu_to_le16((u16)(f->vlan));
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF offload flag
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (4 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 17:26   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR auto_disable_flags use Bimmy Pujari
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Preethi Banala <preethi.banala@intel.com>

Add ENCAP_CSUM offload negotiation flag. Currently VF assumes checksum
offload for encapsulated packets is supported by default. Going forward,
this feature needs to be negotiated with PF before advertising to the
stack. Hence, we need a flag to control it.
This is in regards to prepping up for VF base mode functionality support.

Signed-off-by: Preethi Banala <preethi.banala@intel.com>
Change-ID: Iaab1f25cc0abda5f2fbe3309092640f0e77d163e
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h   | 1 +
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h b/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
index c92a3bd..f861d31 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
@@ -163,6 +163,7 @@ struct i40e_virtchnl_vsi_resource {
 #define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING	0x00020000
 #define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2	0x00040000
 #define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF		0X00080000
+#define I40E_VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM	0X00100000
 
 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 f04ce6c..bd691ad 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
+++ b/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
@@ -160,6 +160,7 @@ struct i40e_virtchnl_vsi_resource {
 #define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING	0x00020000
 #define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2	0x00040000
 #define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF		0X00080000
+#define I40E_VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM	0X00100000
 
 struct i40e_virtchnl_vf_resource {
 	u16 num_vsis;
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR auto_disable_flags use
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (5 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF offload flag Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-09 19:50   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR Bimmy Pujari
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Jacob Keller <jacob.e.keller@intel.com>

Some locations that disable ATR accidentally used the "full" disable by
disabling the flag in the standard flags field. This incorrectly forces
ATR off permanently instead of temporarily disabling it. In addition,
some code locations accidentally set the ATR flag enabled when they only
meant to clear the auto_disable_flags. This results in ignoring the
user's ethtool private flag settings.

Additionally, when disabling ATR via ethtool, we did not perform a flush
of the FD table. This results in the previously assigned ATR rules still
functioning which was not expected.

Cleanup all these areas so that automatic disable uses only the
auto_disable_flag. Fix the flush code so that we can trigger a flush
even when we've disabled ATR and SB support, as otherwise the flush
doesn't work. Fix ethtool setting to actually request a flush. Fix
NETIF_F_NTUPLE flag to only clear the auto_disable setting and not
enable the full feature.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Change-ID: Ib2486111f8031bd16943e9308757b276305c03b5
---
Testing-hints:
  See the marked HSDs for details

HSD-number: 5645176, 5645175

 drivers/net/ethernet/intel/i40e/i40e_ethtool.c |  3 +++
 drivers/net/ethernet/intel/i40e/i40e_main.c    | 20 +++++++-------------
 drivers/net/ethernet/intel/i40e/i40e_txrx.c    | 14 +++++++-------
 3 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index 2b2b55e..e842628 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -3021,6 +3021,9 @@ static int i40e_set_priv_flags(struct net_device *dev, u32 flags)
 	} else {
 		pf->flags &= ~I40E_FLAG_FD_ATR_ENABLED;
 		pf->auto_disable_flags |= I40E_FLAG_FD_ATR_ENABLED;
+
+		/* flush current ATR settings */
+		set_bit(__I40E_FD_FLUSH_REQUESTED, &pf->state);
 	}
 
 	if ((flags & I40E_PRIV_FLAGS_VEB_STATS) &&
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 4c3c6ce..9ab15e2d 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5226,7 +5226,7 @@ static int i40e_up_complete(struct i40e_vsi *vsi)
 		/* reset fd counters */
 		pf->fd_add_err = pf->fd_atr_cnt = 0;
 		if (pf->fd_tcp_rule > 0) {
-			pf->flags &= ~I40E_FLAG_FD_ATR_ENABLED;
+			pf->auto_disable_flags |= I40E_FLAG_FD_ATR_ENABLED;
 			if (I40E_DEBUG_FD & pf->hw.debug_mask)
 				dev_info(&pf->pdev->dev, "Forcing ATR off, sideband rules for TCP/IPv4 exist\n");
 			pf->fd_tcp_rule = 0;
@@ -5960,9 +5960,6 @@ static void i40e_fdir_flush_and_replay(struct i40e_pf *pf)
 	int fd_room;
 	int reg;
 
-	if (!(pf->flags & (I40E_FLAG_FD_SB_ENABLED | I40E_FLAG_FD_ATR_ENABLED)))
-		return;
-
 	if (!time_after(jiffies, pf->fd_flush_timestamp +
 				 (I40E_MIN_FD_FLUSH_INTERVAL * HZ)))
 		return;
@@ -5982,7 +5979,7 @@ static void i40e_fdir_flush_and_replay(struct i40e_pf *pf)
 	}
 
 	pf->fd_flush_timestamp = jiffies;
-	pf->flags &= ~I40E_FLAG_FD_ATR_ENABLED;
+	pf->auto_disable_flags |= I40E_FLAG_FD_ATR_ENABLED;
 	/* flush all filters */
 	wr32(&pf->hw, I40E_PFQF_CTL_1,
 	     I40E_PFQF_CTL_1_CLEARFDTABLE_MASK);
@@ -6002,7 +5999,7 @@ static void i40e_fdir_flush_and_replay(struct i40e_pf *pf)
 		/* replay sideband filters */
 		i40e_fdir_filter_restore(pf->vsi[pf->lan_vsi]);
 		if (!disable_atr)
-			pf->flags |= I40E_FLAG_FD_ATR_ENABLED;
+			pf->auto_disable_flags &= ~I40E_FLAG_FD_ATR_ENABLED;
 		clear_bit(__I40E_FD_FLUSH_REQUESTED, &pf->state);
 		if (I40E_DEBUG_FD & pf->hw.debug_mask)
 			dev_info(&pf->pdev->dev, "FD Filter table flushed and FD-SB replayed.\n");
@@ -6036,9 +6033,6 @@ static void i40e_fdir_reinit_subtask(struct i40e_pf *pf)
 	if (test_bit(__I40E_DOWN, &pf->state))
 		return;
 
-	if (!(pf->flags & (I40E_FLAG_FD_SB_ENABLED | I40E_FLAG_FD_ATR_ENABLED)))
-		return;
-
 	if (test_bit(__I40E_FD_FLUSH_REQUESTED, &pf->state))
 		i40e_fdir_flush_and_replay(pf);
 
@@ -8665,13 +8659,13 @@ bool i40e_set_ntuple(struct i40e_pf *pf, netdev_features_t features)
 		/* reset fd counters */
 		pf->fd_add_err = pf->fd_atr_cnt = pf->fd_tcp_rule = 0;
 		pf->fdir_pf_active_filters = 0;
-		pf->flags |= I40E_FLAG_FD_ATR_ENABLED;
-		if (I40E_DEBUG_FD & pf->hw.debug_mask)
-			dev_info(&pf->pdev->dev, "ATR re-enabled.\n");
 		/* if ATR was auto disabled it can be re-enabled. */
 		if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
-		    (pf->auto_disable_flags & I40E_FLAG_FD_ATR_ENABLED))
+		    (pf->auto_disable_flags & I40E_FLAG_FD_ATR_ENABLED)) {
 			pf->auto_disable_flags &= ~I40E_FLAG_FD_ATR_ENABLED;
+			if (I40E_DEBUG_FD & pf->hw.debug_mask)
+				dev_info(&pf->pdev->dev, "ATR re-enabled.\n");
+		}
 	}
 	return need_reset;
 }
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index bf7bb7c..7ada05e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -282,18 +282,18 @@ static int i40e_add_del_fdir_tcpv4(struct i40e_vsi *vsi,
 
 	if (add) {
 		pf->fd_tcp_rule++;
-		if (pf->flags & I40E_FLAG_FD_ATR_ENABLED) {
-			if (I40E_DEBUG_FD & pf->hw.debug_mask)
-				dev_info(&pf->pdev->dev, "Forcing ATR off, sideband rules for TCP/IPv4 flow being applied\n");
-			pf->flags &= ~I40E_FLAG_FD_ATR_ENABLED;
-		}
+		if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
+		    I40E_DEBUG_FD & pf->hw.debug_mask)
+			dev_info(&pf->pdev->dev, "Forcing ATR off, sideband rules for TCP/IPv4 flow being applied\n");
+		pf->auto_disable_flags |= I40E_FLAG_FD_ATR_ENABLED;
 	} else {
 		pf->fd_tcp_rule = (pf->fd_tcp_rule > 0) ?
 				  (pf->fd_tcp_rule - 1) : 0;
 		if (pf->fd_tcp_rule == 0) {
-			pf->flags |= I40E_FLAG_FD_ATR_ENABLED;
-			if (I40E_DEBUG_FD & pf->hw.debug_mask)
+			if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
+			    I40E_DEBUG_FD & pf->hw.debug_mask)
 				dev_info(&pf->pdev->dev, "ATR re-enabled due to no sideband TCP/IPv4 rules\n");
+			pf->auto_disable_flags &= ~I40E_FLAG_FD_ATR_ENABLED;
 		}
 	}
 
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (6 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR auto_disable_flags use Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 20:57   ` Keller, Jacob E
  2016-09-09 20:10   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing unreachable code Bimmy Pujari
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16 Bimmy Pujari
  9 siblings, 2 replies; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Jacob Keller <jacob.e.keller@intel.com>

In i40e_fdir_check_and_reenable(), the driver performs some checks to
determine whether it is safe to re-enable FD Sideband and FD ATR
support. The current check will only determine if there is available
space in the flow director table. However, this ignores the fact that
ATR should be disabled when there are TCP/IPv4 sideband rules in effect.
Add the missing check, and update the info message printed when
I40E_DEBUG_FD is enabled.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Change-ID: Ibb9c63e5be95d63c53a498fdd5dbf69f54a00e08
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 9ab15e2d..3be9675 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5923,13 +5923,17 @@ void i40e_fdir_check_and_reenable(struct i40e_pf *pf)
 				dev_info(&pf->pdev->dev, "FD Sideband/ntuple is being enabled since we have space in the table now\n");
 		}
 	}
-	/* Wait for some more space to be available to turn on ATR */
+
+	/* Wait for some more space to be available to turn on ATR. We also
+	 * must check that no existing ntuple rules for TCP are in effect
+	 */
 	if (fcnt_prog < (fcnt_avail - I40E_FDIR_BUFFER_HEAD_ROOM * 2)) {
 		if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
-		    (pf->auto_disable_flags & I40E_FLAG_FD_ATR_ENABLED)) {
+		    (pf->auto_disable_flags & I40E_FLAG_FD_ATR_ENABLED) &&
+		    (pf->fd_tcp_rule == 0)) {
 			pf->auto_disable_flags &= ~I40E_FLAG_FD_ATR_ENABLED;
 			if (I40E_DEBUG_FD & pf->hw.debug_mask)
-				dev_info(&pf->pdev->dev, "ATR is being enabled since we have space in the table now\n");
+				dev_info(&pf->pdev->dev, "ATR is being enabled since we have space in the table and there are no conflicting ntuple rules\n");
 		}
 	}
 
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing unreachable code
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (7 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 17:43   ` Bowers, AndrewX
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16 Bimmy Pujari
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

From: Henry Tieman <henry.w.tieman@intel.com>

The return value from i40e_shutdown_adminq() is always 0
(I40E_SUCCESS). So, the test for non-0 will never be true. Cleanup
by removing the test and debug print statement.

Signed-off-by: Henry Tieman <henry.w.tieman@intel.com>
Change-ID: Ie51e8e37515c3e3a6a9ff26fa951d0e5e24343c1
---
Testing Hints:
   Found by static code analysis. Test by code inspection.

 drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 3be9675..f741649 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -11405,11 +11405,7 @@ static void i40e_remove(struct pci_dev *pdev)
 	}
 
 	/* shutdown the adminq */
-	ret_code = i40e_shutdown_adminq(hw);
-	if (ret_code)
-		dev_warn(&pdev->dev,
-			 "Failed to destroy the Admin Queue resources: %d\n",
-			 ret_code);
+	i40e_shutdown_adminq(hw);
 
 	/* destroy the locks only once, here */
 	mutex_destroy(&hw->aq.arq_mutex);
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16
  2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
                   ` (8 preceding siblings ...)
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing unreachable code Bimmy Pujari
@ 2016-09-07  1:05 ` Bimmy Pujari
  2016-09-08 17:43   ` Bowers, AndrewX
  9 siblings, 1 reply; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-07  1:05 UTC (permalink / raw)
  To: intel-wired-lan

Signed-off-by: Bimmy Pujari <bimmy.pujari@intel.com>
---
 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 f741649..995dc44 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -41,7 +41,7 @@ static const char i40e_driver_string[] =
 
 #define DRV_VERSION_MAJOR 1
 #define DRV_VERSION_MINOR 6
-#define DRV_VERSION_BUILD 12
+#define DRV_VERSION_BUILD 16
 #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 f2111d2..39268e2 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 6
-#define DRV_VERSION_BUILD 12
+#define DRV_VERSION_BUILD 16
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD) \
-- 
2.4.11


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

* [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete Bimmy Pujari
@ 2016-09-08 16:47   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 16: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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove
> unnecessary error checking against i40evf_up_complete
> 
> Function i40evf_up_complete() always returns success. Changed this to a
> void type and removed the code that checks the return status and prints an
> error message.
> 
> Signed-off-by: Bimmy Pujari <bimmy.pujari@intel.com>
> Change-ID: I8c400f174786b9c855f679e470f35af292fb50ad
> ---
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



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

* [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor count in cases where frag size is greater than 16K
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor count in cases where frag size is greater than 16K Bimmy Pujari
@ 2016-09-08 16:53   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 16:53 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor
> count in cases where frag size is greater than 16K
> 
> From: Alexander Duyck <alexander.h.duyck@intel.com>
> 
> The i40e driver was incorrectly assuming that we would always be pulling no
> more than 1 descriptor from each fragment.  It is in fact possible for us to end
> up with the case where 2 descriptors worth of data may be pulled when a
> frame is larger than one of the pieces generated when aligning the payload
> to either 4K or pieces smaller than 16K.
> 
> To adjust for this we just need to make certain to test all the way to the end
> of the fragments as it is possible for us to span 2 descriptors in the block
> before us so we need to guarantee that even the last 6 descriptors have
> enough data to fill a full frame.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
> Change-ID: Ic2ecb4d6b745f447d334e66c14002152f50e2f99
> ---
> Testing Hints:
>         This is hard to reproduce.  Patch submitted to customer for
>         testing.  Best effort would be to try testing TSO, if possible
>         TSO with iSCSI to verify nothing there is broken.
> 
> HSD-number: 10021204
> 
>  drivers/net/ethernet/intel/i40e/i40e_txrx.c   | 7 ++-----
>  drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 7 ++-----
>  2 files changed, 4 insertions(+), 10 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



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

* [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove unnecessary error checking against i40e_shutdown_adminq
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove unnecessary error checking against i40e_shutdown_adminq Bimmy Pujari
@ 2016-09-08 16:59   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 16: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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove
> unnecessary error checking against i40e_shutdown_adminq
> 
> From: Lihong Yang <lihong.yang@intel.com>
> 
> The i40e_shutdown_adminq function never returns failure. There is no need
> to check the non-0 return value. Clean up the unnecessary error checking
> and warning against it.
> 
> Signed-off-by: Lihong Yang <lihong.yang@intel.com>
> Change-ID: Ibb616f09cfb93bd1a872ebf3241a15fb8354b31b
> ---
> Testing Hints:
> Found by static code analysis. Check by code inspection.
> 
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



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

* [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF offload flag
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF offload flag Bimmy Pujari
@ 2016-09-08 17:26   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 17:26 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF
> offload flag
> 
> From: Preethi Banala <preethi.banala@intel.com>
> 
> Add ENCAP_CSUM offload negotiation flag. Currently VF assumes checksum
> offload for encapsulated packets is supported by default. Going forward, this
> feature needs to be negotiated with PF before advertising to the stack.
> Hence, we need a flag to control it.
> This is in regards to prepping up for VF base mode functionality support.
> 
> Signed-off-by: Preethi Banala <preethi.banala@intel.com>
> Change-ID: Iaab1f25cc0abda5f2fbe3309092640f0e77d163e
> ---
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl.h   | 1 +
>  drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h | 1 +
>  2 files changed, 2 insertions(+)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



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

* [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing unreachable code
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing unreachable code Bimmy Pujari
@ 2016-09-08 17:43   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 17:43 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Tieman, Henry W <henry.w.tieman@intel.com>
> Subject: [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing
> unreachable code
> 
> From: Henry Tieman <henry.w.tieman@intel.com>
> 
> The return value from i40e_shutdown_adminq() is always 0 (I40E_SUCCESS).
> So, the test for non-0 will never be true. Cleanup by removing the test and
> debug print statement.
> 
> Signed-off-by: Henry Tieman <henry.w.tieman@intel.com>
> Change-ID: Ie51e8e37515c3e3a6a9ff26fa951d0e5e24343c1
> ---
> Testing Hints:
>    Found by static code analysis. Test by code inspection.
> 
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



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

* [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16 Bimmy Pujari
@ 2016-09-08 17:43   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 17:43 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed
> version to 1.6.16
> 
> Signed-off-by: Bimmy Pujari <bimmy.pujari@intel.com>
> ---
>  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>



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

* [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR Bimmy Pujari
@ 2016-09-08 20:57   ` Keller, Jacob E
  2016-09-09 20:10   ` Bowers, AndrewX
  1 sibling, 0 replies; 23+ messages in thread
From: Keller, Jacob E @ 2016-09-08 20:57 UTC (permalink / raw)
  To: intel-wired-lan

ACK

> -----Original Message-----
> From: Pujari, Bimmy
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Keller, Jacob E <jacob.e.keller@intel.com>
> Subject: [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband
> rules when re-enabling ATR
> 
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> In i40e_fdir_check_and_reenable(), the driver performs some checks to
> determine whether it is safe to re-enable FD Sideband and FD ATR
> support. The current check will only determine if there is available
> space in the flow director table. However, this ignores the fact that
> ATR should be disabled when there are TCP/IPv4 sideband rules in effect.
> Add the missing check, and update the info message printed when
> I40E_DEBUG_FD is enabled.
> 
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Change-ID: Ibb9c63e5be95d63c53a498fdd5dbf69f54a00e08
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
> b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 9ab15e2d..3be9675 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -5923,13 +5923,17 @@ void i40e_fdir_check_and_reenable(struct
> i40e_pf *pf)
>  				dev_info(&pf->pdev->dev, "FD
> Sideband/ntuple is being enabled since we have space in the table now\n");
>  		}
>  	}
> -	/* Wait for some more space to be available to turn on ATR */
> +
> +	/* Wait for some more space to be available to turn on ATR. We
> also
> +	 * must check that no existing ntuple rules for TCP are in effect
> +	 */
>  	if (fcnt_prog < (fcnt_avail - I40E_FDIR_BUFFER_HEAD_ROOM * 2)) {
>  		if ((pf->flags & I40E_FLAG_FD_ATR_ENABLED) &&
> -		    (pf->auto_disable_flags &
> I40E_FLAG_FD_ATR_ENABLED)) {
> +		    (pf->auto_disable_flags & I40E_FLAG_FD_ATR_ENABLED)
> &&
> +		    (pf->fd_tcp_rule == 0)) {
>  			pf->auto_disable_flags &=
> ~I40E_FLAG_FD_ATR_ENABLED;
>  			if (I40E_DEBUG_FD & pf->hw.debug_mask)
> -				dev_info(&pf->pdev->dev, "ATR is being
> enabled since we have space in the table now\n");
> +				dev_info(&pf->pdev->dev, "ATR is being
> enabled since we have space in the table and there are no conflicting ntuple
> rules\n");
>  		}
>  	}
> 
> --
> 2.4.11


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

* [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters Bimmy Pujari
@ 2016-09-08 21:19   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-08 21:19 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Cc: Brady, Alan <alan.brady@intel.com>
> Subject: [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters
> 
> From: Alan Brady <alan.brady@intel.com>
> 
> There exists a bug in which deleting a mac filter does not actually occur.  The
> driver reports that the filter has been deleted with no error.  The problem
> occurs because the wrong cmd_flag is passed to the firmware when deleting
> the filter.  The firmware reports an error back to the driver but it is expressly
> ignored.
> 
> This fixes the bug by using the correct flag when deleting a filter.
> Without this patch, deleted filters remain in firmware and function as if they
> had not been deleted.
> 
> Signed-off-by: Alan Brady <alan.brady@intel.com>
> Change-ID: I5f22b874f3b83f457702f18f0d5602ca21ac40c3
> ---
> Testing-hints:
>         I used 'tcpdump -npi <iface>' to watch traffic.
> 
>         1.  Pass traffic with mac header 00:aa:00:aa:02:01 - no traffic
>         2.  Add mac filter - ip maddr add 00:aa:00:aa:02:01 dev enp5s0f0
>         3.  Pass traffic with mac header 00:aa:00:aa:02:01 - traffic
>         4.  Delete mac filter - ip maddr del 00:aa:00:aa:02:01 dev enp5s0f0
>         5.  Pass traffic with mac header 00:aa:00:aa:02:01
>                 Expected - no traffic
>                 Actual - traffic
> 
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Bug/behavior no longer present, mac filters work as designed


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

* [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR auto_disable_flags use
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR auto_disable_flags use Bimmy Pujari
@ 2016-09-09 19:50   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-09 19: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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR
> auto_disable_flags use
> 
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> Some locations that disable ATR accidentally used the "full" disable by
> disabling the flag in the standard flags field. This incorrectly forces ATR off
> permanently instead of temporarily disabling it. In addition, some code
> locations accidentally set the ATR flag enabled when they only meant to clear
> the auto_disable_flags. This results in ignoring the user's ethtool private flag
> settings.
> 
> Additionally, when disabling ATR via ethtool, we did not perform a flush of
> the FD table. This results in the previously assigned ATR rules still functioning
> which was not expected.
> 
> Cleanup all these areas so that automatic disable uses only the
> auto_disable_flag. Fix the flush code so that we can trigger a flush even
> when we've disabled ATR and SB support, as otherwise the flush doesn't
> work. Fix ethtool setting to actually request a flush. Fix NETIF_F_NTUPLE flag
> to only clear the auto_disable setting and not enable the full feature.
> 
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Change-ID: Ib2486111f8031bd16943e9308757b276305c03b5
> ---
> Testing-hints:
>   See the marked HSDs for details
> 
> HSD-number: 5645176, 5645175
> 
>  drivers/net/ethernet/intel/i40e/i40e_ethtool.c |  3 +++
>  drivers/net/ethernet/intel/i40e/i40e_main.c    | 20 +++++++-------------
>  drivers/net/ethernet/intel/i40e/i40e_txrx.c    | 14 +++++++-------
>  3 files changed, 17 insertions(+), 20 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Bugs no longer present



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

* [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR Bimmy Pujari
  2016-09-08 20:57   ` Keller, Jacob E
@ 2016-09-09 20:10   ` Bowers, AndrewX
  1 sibling, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-09 20:10 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting
> ntuple/sideband rules when re-enabling ATR
> 
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> In i40e_fdir_check_and_reenable(), the driver performs some checks to
> determine whether it is safe to re-enable FD Sideband and FD ATR support.
> The current check will only determine if there is available space in the flow
> director table. However, this ignores the fact that ATR should be disabled
> when there are TCP/IPv4 sideband rules in effect.
> Add the missing check, and update the info message printed when
> I40E_DEBUG_FD is enabled.
> 
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Change-ID: Ibb9c63e5be95d63c53a498fdd5dbf69f54a00e08
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Bugs no longer present


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

* [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps SGMII support for X722
  2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps SGMII support for X722 Bimmy Pujari
@ 2016-09-09 20:38   ` Bowers, AndrewX
  0 siblings, 0 replies; 23+ messages in thread
From: Bowers, AndrewX @ 2016-09-09 20:38 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 Bimmy Pujari
> Sent: Tuesday, September 06, 2016 6:05 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps
> SGMII support for X722
> 
> From: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>
> 
> This patch fixes the problem where driver shows 100 Mbps as a supported
> speed, and allows it to be configured for advertising on X722 devices. This
> patch fixes the problem by not setting the 100 Mbps SGMII flag for X722
> devices.
> 
> Without this patch, the user incorrectly thinks that 100 Mbps is supported
> and hence might try to advertise it on X722 devices when it is actually not a
> supported speed.
> 
> Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>
> Change-ID: I8c3d7c4251a9402d98994ed29749b7b895a0f205
> ---
> Testing Hints: Test on Copperpeak that 100 Mbps is not listed as supported or
> advertised on ethtool. Also ensure we are not able to configure the speed to
> 100 Mbps.
> 
> HSD-number: 10021180
> 
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 1 -
>  1 file changed, 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Driver no longer reports 100Base/T nor allows advertise to be set to 100Base/T



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

* [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16
  2016-09-06 19:39 [Intel-wired-lan] [next PATCH S45 00/10] i40e/i40evf updates Bimmy Pujari
@ 2016-09-06 19:40 ` Bimmy Pujari
  0 siblings, 0 replies; 23+ messages in thread
From: Bimmy Pujari @ 2016-09-06 19:40 UTC (permalink / raw)
  To: intel-wired-lan

Signed-off-by: Bimmy Pujari <bimmy.pujari@intel.com>
---
 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 f741649..995dc44 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -41,7 +41,7 @@ static const char i40e_driver_string[] =
 
 #define DRV_VERSION_MAJOR 1
 #define DRV_VERSION_MINOR 6
-#define DRV_VERSION_BUILD 12
+#define DRV_VERSION_BUILD 16
 #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 f2111d2..39268e2 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 6
-#define DRV_VERSION_BUILD 12
+#define DRV_VERSION_BUILD 16
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD) \
-- 
2.4.11


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

end of thread, other threads:[~2016-09-09 20:38 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-07  1:05 [Intel-wired-lan] [next PATCH S45-V2 00/10] i40e/i40evf updates Bimmy Pujari
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 01/10] i40evf: remove unnecessary error checking against i40evf_up_complete Bimmy Pujari
2016-09-08 16:47   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 02/10] i40e: Limit TX descriptor count in cases where frag size is greater than 16K Bimmy Pujari
2016-09-08 16:53   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 03/10] i40evf: remove unnecessary error checking against i40e_shutdown_adminq Bimmy Pujari
2016-09-08 16:59   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 04/10] i40e: Remove 100 Mbps SGMII support for X722 Bimmy Pujari
2016-09-09 20:38   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 05/10] i40e: fix deleting mac filters Bimmy Pujari
2016-09-08 21:19   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 06/10] i40e: add encap csum VF offload flag Bimmy Pujari
2016-09-08 17:26   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 07/10] i40e: cleanup ATR auto_disable_flags use Bimmy Pujari
2016-09-09 19:50   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 08/10] i40e: check conflicting ntuple/sideband rules when re-enabling ATR Bimmy Pujari
2016-09-08 20:57   ` Keller, Jacob E
2016-09-09 20:10   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 09/10] i40e: removing unreachable code Bimmy Pujari
2016-09-08 17:43   ` Bowers, AndrewX
2016-09-07  1:05 ` [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16 Bimmy Pujari
2016-09-08 17:43   ` Bowers, AndrewX
  -- strict thread matches above, loose matches on Subject: below --
2016-09-06 19:39 [Intel-wired-lan] [next PATCH S45 00/10] i40e/i40evf updates Bimmy Pujari
2016-09-06 19:40 ` [Intel-wired-lan] [next PATCH S45 10/10] i40e/i40evf: Changed version to 1.6.16 Bimmy Pujari

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.