All of lore.kernel.org
 help / color / mirror / Atom feed
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-07  9:32 Jeff Kirsher
  2014-01-07  9:32 ` [net-next 01/15] i40e: Expose AQ debugfs hooks Jeff Kirsher
                   ` (14 more replies)
  0 siblings, 15 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only.

Anjali adds more functionality to debugfs to assist development and
testing of admin queue commands.

Greg makes sure broadcast promiscuous is disabled by default, otherwise
VLAN tagged packets out of the assigned VLAN domain are received.  Also
provides a fix when the 8021q driver is loaded, so that VLAN 0 tagged
packets are accepted so that upper layers can interpret the priority
bits. Then provides a fix to let the VF to request the PF to set its
already assigned MAC address without generating an error.  Greg also
adds helper functions to enable or disable internal switch loopback
when VFs are created or destroyed via the sysfs interface.

Shannon provides most of the changes, where he adds code to ensure
that the hardware waits to make sure that the firmware is ready as well
after reset.  Also updates the code to use the new features in the
firmware.  Provides a fix while in MFP mode where resources are
reduced, so use a smaller range of test registers than when in SFP mode.
Moves the PF ID initialization code to earlier in the driver
initialization function since a few operations need the information
before the first PF reset is called.  Shannon adds a check for MAC
type before reading anything from the registers to ensure we dealing
with the correct MAC type.  Then reworks Shadow RAM read word/buffer
functions as to not block whole NVM resources for SR read operations.

Mitch lastly provides a fix to correctly setup ARQ descriptors in
the cleanup code.

Catherine bumps the driver version due to all the recent changes.

The following are changes since commit 83111e7fe85f2dc8b61e463c71b971f4998d8e53:
  netfilter: Fix build failure in nfnetlink_queue_core.c.
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (1):
  i40e: Expose AQ debugfs hooks

Catherine Sullivan (1):
  i40e: Bump version

Greg Rose (4):
  i40e: Do not enable broadcast promiscuous by default
  i40e: Stop accepting any VLAN tag on VLAN 0 filter set
  i40e: Allow VF to set already assigned MAC address
  i40e: Enable/Disable PF switch LB on SR-IOV configure changes

Kamil Krawczyk (1):
  i40e: remove redundant AQ enable

Mitch Williams (1):
  i40e: correctly setup ARQ descriptors

Shannon Nelson (7):
  i40e: Add code to wait for FW to complete in reset path
  i40e: update firmware api to 1.1
  i40e: Reduce range of interrupt reg in reg test
  i40e: move PF ID init from PF reset to SC init
  i40e: check MAC type before any REG access
  i40e: rework shadow ram read functions
  i40e: whitespace paren and comment tweaks

 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |  27 ++---
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  | 126 +++++++++++++++------
 drivers/net/ethernet/intel/i40e/i40e_common.c      |  51 ++++++---
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     | 112 ++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_diag.c        |   6 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  29 ++---
 drivers/net/ethernet/intel/i40e/i40e_nvm.c         |  67 +++--------
 drivers/net/ethernet/intel/i40e/i40e_register.h    |  22 ++++
 drivers/net/ethernet/intel/i40e/i40e_type.h        |  11 +-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 100 +++++++++++++---
 10 files changed, 395 insertions(+), 156 deletions(-)

-- 
1.8.3.1

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

* [net-next 01/15] i40e: Expose AQ debugfs hooks
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07 20:34   ` David Miller
  2014-01-07  9:32 ` [net-next 02/15] i40e: Do not enable broadcast promiscuous by default Jeff Kirsher
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Anjali Singhai Jain, netdev, gospo, sassmann, Jesse Brandeburg,
	Jeff Kirsher

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

Add more functionality to debugfs to assist development
and testing of AQ commands.

adds:
send aq_cmd
send indirect aq_cmd

Change-Id: I01710cddd33110a6c1e1aabf84cb6e93cda4c42a
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 112 +++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
index 45bdcca..a236f59 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
@@ -1523,6 +1523,116 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
 		} else {
 			dev_info(&pf->pdev->dev, "clear_stats vsi [seid] or clear_stats pf\n");
 		}
+	} else if (strncmp(cmd_buf, "send aq_cmd", 11) == 0) {
+		struct i40e_aq_desc *desc;
+		i40e_status ret;
+		desc = kzalloc(sizeof(struct i40e_aq_desc), GFP_KERNEL);
+		if (!desc)
+			goto command_write_done;
+		cnt = sscanf(&cmd_buf[11],
+			     "%hx %hx %hx %hx %x %x %x %x %x %x",
+			     &desc->flags,
+			     &desc->opcode, &desc->datalen, &desc->retval,
+			     &desc->cookie_high, &desc->cookie_low,
+			     &desc->params.internal.param0,
+			     &desc->params.internal.param1,
+			     &desc->params.internal.param2,
+			     &desc->params.internal.param3);
+		if (cnt != 10) {
+			dev_info(&pf->pdev->dev,
+				 "send aq_cmd: bad command string, cnt=%d\n",
+				 cnt);
+			kfree(desc);
+			desc = NULL;
+			goto command_write_done;
+		}
+		ret = i40e_asq_send_command(&pf->hw, desc, NULL, 0, NULL);
+		if (!ret) {
+			dev_info(&pf->pdev->dev, "AQ command sent Status : Success\n");
+		} else if (ret == I40E_ERR_ADMIN_QUEUE_ERROR) {
+			dev_info(&pf->pdev->dev,
+				 "AQ command send failed Opcode %x AQ Error: %d\n",
+				 desc->opcode, pf->hw.aq.asq_last_status);
+		} else {
+			dev_info(&pf->pdev->dev,
+				 "AQ command send failed Opcode %x Status: %d\n",
+				 desc->opcode, ret);
+		}
+		dev_info(&pf->pdev->dev,
+			 "AQ desc WB 0x%04x 0x%04x 0x%04x 0x%04x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n",
+			 desc->flags, desc->opcode, desc->datalen, desc->retval,
+			 desc->cookie_high, desc->cookie_low,
+			 desc->params.internal.param0,
+			 desc->params.internal.param1,
+			 desc->params.internal.param2,
+			 desc->params.internal.param3);
+		kfree(desc);
+		desc = NULL;
+	} else if (strncmp(cmd_buf, "send indirect aq_cmd", 20) == 0) {
+		struct i40e_aq_desc *desc;
+		i40e_status ret;
+		u16 buffer_len;
+		u8 *buff;
+		desc = kzalloc(sizeof(struct i40e_aq_desc), GFP_KERNEL);
+		if (!desc)
+			goto command_write_done;
+		cnt = sscanf(&cmd_buf[20],
+			     "%hx %hx %hx %hx %x %x %x %x %x %x %hd",
+			     &desc->flags,
+			     &desc->opcode, &desc->datalen, &desc->retval,
+			     &desc->cookie_high, &desc->cookie_low,
+			     &desc->params.internal.param0,
+			     &desc->params.internal.param1,
+			     &desc->params.internal.param2,
+			     &desc->params.internal.param3,
+			     &buffer_len);
+		if (cnt != 11) {
+			dev_info(&pf->pdev->dev,
+				 "send indirect aq_cmd: bad command string, cnt=%d\n",
+				 cnt);
+			kfree(desc);
+			desc = NULL;
+			goto command_write_done;
+		}
+		/* Just stub a buffer big enough in case user messed up */
+		if (buffer_len == 0)
+			buffer_len = 1280;
+
+		buff = kzalloc(buffer_len, GFP_KERNEL);
+		if (!buff) {
+			kfree(desc);
+			desc = NULL;
+			goto command_write_done;
+		}
+		desc->flags |= cpu_to_le16((u16)I40E_AQ_FLAG_BUF);
+		ret = i40e_asq_send_command(&pf->hw, desc, buff,
+					    buffer_len, NULL);
+		if (!ret) {
+			dev_info(&pf->pdev->dev, "AQ command sent Status : Success\n");
+		} else if (ret == I40E_ERR_ADMIN_QUEUE_ERROR) {
+			dev_info(&pf->pdev->dev,
+				 "AQ command send failed Opcode %x AQ Error: %d\n",
+				 desc->opcode, pf->hw.aq.asq_last_status);
+		} else {
+			dev_info(&pf->pdev->dev,
+				 "AQ command send failed Opcode %x Status: %d\n",
+				 desc->opcode, ret);
+		}
+		dev_info(&pf->pdev->dev,
+			 "AQ desc WB 0x%04x 0x%04x 0x%04x 0x%04x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n",
+			 desc->flags, desc->opcode, desc->datalen, desc->retval,
+			 desc->cookie_high, desc->cookie_low,
+			 desc->params.internal.param0,
+			 desc->params.internal.param1,
+			 desc->params.internal.param2,
+			 desc->params.internal.param3);
+		print_hex_dump(KERN_INFO, "AQ buffer WB: ",
+			       DUMP_PREFIX_OFFSET, 16, 1,
+			       buff, buffer_len, true);
+		kfree(buff);
+		buff = NULL;
+		kfree(desc);
+		desc = NULL;
 	} else if ((strncmp(cmd_buf, "add fd_filter", 13) == 0) ||
 		   (strncmp(cmd_buf, "rem fd_filter", 13) == 0)) {
 		struct i40e_fdir_data fd_data;
@@ -1774,6 +1884,8 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
 		dev_info(&pf->pdev->dev, "  pfr\n");
 		dev_info(&pf->pdev->dev, "  corer\n");
 		dev_info(&pf->pdev->dev, "  globr\n");
+		dev_info(&pf->pdev->dev, "  send aq_cmd <flags> <opcode> <datalen> <retval> <cookie_h> <cookie_l> <param0> <param1> <param2> <param3>\n");
+		dev_info(&pf->pdev->dev, "  send indirect aq_cmd <flags> <opcode> <datalen> <retval> <cookie_h> <cookie_l> <param0> <param1> <param2> <param3> <buffer_len>\n");
 		dev_info(&pf->pdev->dev, "  add fd_filter <dest q_index> <flex_off> <pctype> <dest_vsi> <dest_ctl> <fd_status> <cnt_index> <fd_id> <packet_len> <packet>\n");
 		dev_info(&pf->pdev->dev, "  rem fd_filter <dest q_index> <flex_off> <pctype> <dest_vsi> <dest_ctl> <fd_status> <cnt_index> <fd_id> <packet_len> <packet>\n");
 		dev_info(&pf->pdev->dev, "  lldp start\n");
-- 
1.8.3.1

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

* [net-next 02/15] i40e: Do not enable broadcast promiscuous by default
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2014-01-07  9:32 ` [net-next 01/15] i40e: Expose AQ debugfs hooks Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 03/15] i40e: Stop accepting any VLAN tag on VLAN 0 filter set Jeff Kirsher
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

Broadcast promiscuous should only be turned on when general
promiscuous mode is turned on, otherwise VLAN tagged packets out of
the assigned VLAN domain are received.

Add a broadcast MAC filter in order to continue to receive
broadcast traffic on VLANs, MAIN or VMDQ VSI.

Change-Id: I99d8e382a082ee51201228f1226af3b46452ac55
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 16 +++++++++-------
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 19 +++++++++----------
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 483126c..5ddbd54 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1650,6 +1650,13 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
 			dev_info(&pf->pdev->dev,
 				 "set uni promisc failed, err %d, aq_err %d\n",
 				 aq_ret, pf->hw.aq.asq_last_status);
+		aq_ret = i40e_aq_set_vsi_broadcast(&vsi->back->hw,
+						   vsi->seid,
+						   cur_promisc, NULL);
+		if (aq_ret)
+			dev_info(&pf->pdev->dev,
+				 "set brdcast promisc failed, err %d, aq_err %d\n",
+				 aq_ret, pf->hw.aq.asq_last_status);
 	}
 
 	clear_bit(__I40E_CONFIG_BUSY, &vsi->state);
@@ -3987,13 +3994,6 @@ static int i40e_open(struct net_device *netdev)
 	if (err)
 		goto err_up_complete;
 
-	if ((vsi->type == I40E_VSI_MAIN) || (vsi->type == I40E_VSI_VMDQ2)) {
-		err = i40e_aq_set_vsi_broadcast(&pf->hw, vsi->seid, true, NULL);
-		if (err)
-			netdev_info(netdev,
-				    "couldn't set broadcast err %d aq_err %d\n",
-				    err, pf->hw.aq.asq_last_status);
-	}
 #ifdef CONFIG_I40E_VXLAN
 	vxlan_get_rx_port(netdev);
 #endif
@@ -6067,6 +6067,7 @@ static const struct net_device_ops i40e_netdev_ops = {
  **/
 static int i40e_config_netdev(struct i40e_vsi *vsi)
 {
+	u8 brdcast[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 	struct i40e_pf *pf = vsi->back;
 	struct i40e_hw *hw = &pf->hw;
 	struct i40e_netdev_priv *np;
@@ -6116,6 +6117,7 @@ static int i40e_config_netdev(struct i40e_vsi *vsi)
 		random_ether_addr(mac_addr);
 		i40e_add_filter(vsi, mac_addr, I40E_VLAN_ANY, false, false);
 	}
+	i40e_add_filter(vsi, brdcast, I40E_VLAN_ANY, false, false);
 
 	memcpy(netdev->dev_addr, mac_addr, ETH_ALEN);
 	memcpy(netdev->perm_addr, mac_addr, ETH_ALEN);
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 55ec2db..fee368a 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -369,7 +369,6 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
 {
 	struct i40e_mac_filter *f = NULL;
 	struct i40e_pf *pf = vf->pf;
-	struct i40e_hw *hw = &pf->hw;
 	struct i40e_vsi *vsi;
 	int ret = 0;
 
@@ -383,6 +382,7 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
 		goto error_alloc_vsi_res;
 	}
 	if (type == I40E_VSI_SRIOV) {
+		u8 brdcast[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 		vf->lan_vsi_index = vsi->idx;
 		vf->lan_vsi_id = vsi->id;
 		dev_info(&pf->pdev->dev,
@@ -398,6 +398,14 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
 			i40e_vsi_add_pvid(vsi, vf->port_vlan_id);
 		f = i40e_add_filter(vsi, vf->default_lan_addr.addr,
 				    vf->port_vlan_id, true, false);
+		if (!f)
+			dev_info(&pf->pdev->dev,
+				 "Could not allocate VF MAC addr\n");
+		f = i40e_add_filter(vsi, brdcast, vf->port_vlan_id,
+				    true, false);
+		if (!f)
+			dev_info(&pf->pdev->dev,
+				 "Could not allocate VF broadcast filter\n");
 	}
 
 	if (!f) {
@@ -413,15 +421,6 @@ static int i40e_alloc_vsi_res(struct i40e_vf *vf, enum i40e_vsi_type type)
 		goto error_alloc_vsi_res;
 	}
 
-	/* accept bcast pkts. by default */
-	ret = i40e_aq_set_vsi_broadcast(hw, vsi->seid, true, NULL);
-	if (ret) {
-		dev_err(&pf->pdev->dev,
-			"set vsi bcast failed for vf %d, vsi %d, aq_err %d\n",
-			vf->vf_id, vsi->idx, pf->hw.aq.asq_last_status);
-		ret = -EINVAL;
-	}
-
 error_alloc_vsi_res:
 	return ret;
 }
-- 
1.8.3.1

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

* [net-next 03/15] i40e: Stop accepting any VLAN tag on VLAN 0 filter set
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2014-01-07  9:32 ` [net-next 01/15] i40e: Expose AQ debugfs hooks Jeff Kirsher
  2014-01-07  9:32 ` [net-next 02/15] i40e: Do not enable broadcast promiscuous by default Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 04/15] i40e: Allow VF to set already assigned MAC address Jeff Kirsher
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

When the 8021q driver is loaded it sets VLAN 0 filters on all devices.
This does not mean that any VLAN tagged packet should be accepted.
Instead accept only VLAN 0 tagged packets so that upper layers can
interpret the priority bits.

Change-Id: I17274a540b613749612ffe23a3aef2b8ee6ff6a4
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 5ddbd54..2a42470 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1509,11 +1509,6 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
 				cpu_to_le16((u16)(f->vlan ==
 					    I40E_VLAN_ANY ? 0 : f->vlan));
 
-			/* vlan0 as wild card to allow packets from all vlans */
-			if (f->vlan == I40E_VLAN_ANY ||
-			    (vsi->netdev && !(vsi->netdev->features &
-					      NETIF_F_HW_VLAN_CTAG_FILTER)))
-				cmd_flags |= I40E_AQC_MACVLAN_DEL_IGNORE_VLAN;
 			cmd_flags |= I40E_AQC_MACVLAN_DEL_PERFECT_MATCH;
 			del_list[num_del].flags = cmd_flags;
 			num_del++;
@@ -1579,12 +1574,6 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
 			add_list[num_add].queue_number = 0;
 
 			cmd_flags |= I40E_AQC_MACVLAN_ADD_PERFECT_MATCH;
-
-			/* vlan0 as wild card to allow packets from all vlans */
-			if (f->vlan == I40E_VLAN_ANY || (vsi->netdev &&
-			    !(vsi->netdev->features &
-						 NETIF_F_HW_VLAN_CTAG_FILTER)))
-				cmd_flags |= I40E_AQC_MACVLAN_ADD_IGNORE_VLAN;
 			add_list[num_add].flags = cpu_to_le16(cmd_flags);
 			num_add++;
 
-- 
1.8.3.1

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

* [net-next 04/15] i40e: Allow VF to set already assigned MAC address
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (2 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 03/15] i40e: Stop accepting any VLAN tag on VLAN 0 filter set Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 05/15] i40e: Bump version Jeff Kirsher
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

The VF is allowed to request the PF to set its already assigned
MAC address without generating an error.

Change-Id: I8dfdf353396995dbbb26cafab4e42b451911da3d
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index fee368a..5c99164 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -1348,10 +1348,13 @@ static inline int i40e_check_vf_permission(struct i40e_vf *vf, u8 *macaddr)
 		   is_zero_ether_addr(macaddr)) {
 		dev_err(&pf->pdev->dev, "invalid VF MAC addr %pM\n", macaddr);
 		ret = I40E_ERR_INVALID_MAC_ADDR;
-	} else if (vf->pf_set_mac && !is_multicast_ether_addr(macaddr)) {
+	} else if (vf->pf_set_mac && !is_multicast_ether_addr(macaddr) &&
+		   !ether_addr_equal(macaddr, vf->default_lan_addr.addr)) {
 		/* If the host VMM administrator has set the VF MAC address
 		 * administratively via the ndo_set_vf_mac command then deny
 		 * permission to the VF to add or delete unicast MAC addresses.
+		 * The VF may request to set the MAC address filter already
+		 * assigned to it so do not return an error in that case.
 		 */
 		dev_err(&pf->pdev->dev,
 			"VF attempting to override administratively set MAC address\nPlease reload the VF driver to resume normal operation\n");
-- 
1.8.3.1

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

* [net-next 05/15] i40e: Bump version
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (3 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 04/15] i40e: Allow VF to set already assigned MAC address Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 06/15] i40e: Add code to wait for FW to complete in reset path Jeff Kirsher
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Catherine Sullivan, netdev, gospo, sassmann, Jesse Brandeburg,
	Jeff Kirsher

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

Version update to 0.3.25-k

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 2a42470..f736c44 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 0
 #define DRV_VERSION_MINOR 3
-#define DRV_VERSION_BUILD 14
+#define DRV_VERSION_BUILD 25
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD)    DRV_KERN
-- 
1.8.3.1

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

* [net-next 06/15] i40e: Add code to wait for FW to complete in reset path
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (4 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 05/15] i40e: Bump version Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 07/15] i40e: update firmware api to 1.1 Jeff Kirsher
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Shannon Nelson, netdev, gospo, sassmann, Anjali Singhai Jain,
	Jeff Kirsher

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

The RSTAT comes back with DEVICE READY to indicate that the HW is ready,
but we still have to wait for the FW to indicate that the Core and Global
modules are back up again.  This needs a read of the NVM_ULD register.

Change-Id: I88276165f9cd446d2f166fb4b8cff00521af4bec
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_common.c   | 20 ++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_register.h | 22 ++++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 7cd59ce..337e913 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -335,6 +335,7 @@ static enum i40e_media_type i40e_get_media_type(struct i40e_hw *hw)
 i40e_status i40e_pf_reset(struct i40e_hw *hw)
 {
 	u32 cnt = 0;
+	u32 cnt1 = 0;
 	u32 reg = 0;
 	u32 grst_del;
 
@@ -355,6 +356,25 @@ i40e_status i40e_pf_reset(struct i40e_hw *hw)
 		return I40E_ERR_RESET_FAILED;
 	}
 
+	/* Now Wait for the FW to be ready */
+	for (cnt1 = 0; cnt1 < I40E_PF_RESET_WAIT_COUNT; cnt1++) {
+		reg = rd32(hw, I40E_GLNVM_ULD);
+		reg &= (I40E_GLNVM_ULD_CONF_CORE_DONE_MASK |
+			I40E_GLNVM_ULD_CONF_GLOBAL_DONE_MASK);
+		if (reg == (I40E_GLNVM_ULD_CONF_CORE_DONE_MASK |
+			    I40E_GLNVM_ULD_CONF_GLOBAL_DONE_MASK)) {
+			hw_dbg(hw, "Core and Global modules ready %d\n", cnt1);
+			break;
+		}
+		usleep_range(10000, 20000);
+	}
+	if (!(reg & (I40E_GLNVM_ULD_CONF_CORE_DONE_MASK |
+		     I40E_GLNVM_ULD_CONF_GLOBAL_DONE_MASK))) {
+		hw_dbg(hw, "wait for FW Reset complete timedout\n");
+		hw_dbg(hw, "I40E_GLNVM_ULD = 0x%x\n", reg);
+		return I40E_ERR_RESET_FAILED;
+	}
+
 	/* Determine the PF number based on the PCI fn */
 	reg = rd32(hw, I40E_GLPCI_CAPSUP);
 	if (reg & I40E_GLPCI_CAPSUP_ARI_EN_MASK)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_register.h b/drivers/net/ethernet/intel/i40e/i40e_register.h
index 2394c66..d188ec0 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_register.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_register.h
@@ -2053,6 +2053,28 @@
 #define I40E_GLNVM_SRDATA_WRDATA_MASK (0xFFFF << I40E_GLNVM_SRDATA_WRDATA_SHIFT)
 #define I40E_GLNVM_SRDATA_RDDATA_SHIFT 16
 #define I40E_GLNVM_SRDATA_RDDATA_MASK (0xFFFF << I40E_GLNVM_SRDATA_RDDATA_SHIFT)
+#define I40E_GLNVM_ULD 0x000B6008
+#define I40E_GLNVM_ULD_CONF_PCIR_DONE_SHIFT 0
+#define I40E_GLNVM_ULD_CONF_PCIR_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_PCIR_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_PCIRTL_DONE_SHIFT 1
+#define I40E_GLNVM_ULD_CONF_PCIRTL_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_PCIRTL_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_LCB_DONE_SHIFT 2
+#define I40E_GLNVM_ULD_CONF_LCB_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_LCB_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_CORE_DONE_SHIFT 3
+#define I40E_GLNVM_ULD_CONF_CORE_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_CORE_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_GLOBAL_DONE_SHIFT 4
+#define I40E_GLNVM_ULD_CONF_GLOBAL_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_GLOBAL_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_POR_DONE_SHIFT 5
+#define I40E_GLNVM_ULD_CONF_POR_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_POR_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_PCIE_ANA_DONE_SHIFT 6
+#define I40E_GLNVM_ULD_CONF_PCIE_ANA_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_PCIE_ANA_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_PHY_ANA_DONE_SHIFT 7
+#define I40E_GLNVM_ULD_CONF_PHY_ANA_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_PHY_ANA_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_EMP_DONE_SHIFT 8
+#define I40E_GLNVM_ULD_CONF_EMP_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_EMP_DONE_SHIFT)
+#define I40E_GLNVM_ULD_CONF_PCIALT_DONE_SHIFT 9
+#define I40E_GLNVM_ULD_CONF_PCIALT_DONE_MASK (0x1 << I40E_GLNVM_ULD_CONF_PCIALT_DONE_SHIFT)
+
 #define I40E_GLPCI_BYTCTH 0x0009C484
 #define I40E_GLPCI_BYTCTH_PCI_COUNT_BW_BCT_SHIFT 0
 #define I40E_GLPCI_BYTCTH_PCI_COUNT_BW_BCT_MASK (0xFFFFFFFF << I40E_GLPCI_BYTCTH_PCI_COUNT_BW_BCT_SHIFT)
-- 
1.8.3.1

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

* [net-next 07/15] i40e: update firmware api to 1.1
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (5 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 06/15] i40e: Add code to wait for FW to complete in reset path Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 08/15] i40e: Reduce range of interrupt reg in reg test Jeff Kirsher
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem; +Cc: Shannon Nelson, netdev, gospo, sassmann, Jeff Kirsher

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

The firmware's AdminQ interface has matured a little, so update the
code to use the new fields and values.

Change-Id: I8fcd7b443f268dcf9346bd6a9e940fe9c2958891
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_adminq.c     |  12 ++-
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 126 ++++++++++++++++------
 drivers/net/ethernet/intel/i40e/i40e_common.c     |   2 +-
 drivers/net/ethernet/intel/i40e/i40e_type.h       |   3 -
 4 files changed, 99 insertions(+), 44 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index f75b573..3ee5323 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -572,16 +572,18 @@ i40e_status i40e_init_adminq(struct i40e_hw *hw)
 	if (ret_code != I40E_SUCCESS)
 		goto init_adminq_free_arq;
 
-	if (hw->aq.api_maj_ver != I40E_FW_API_VERSION_MAJOR ||
-	    hw->aq.api_min_ver != I40E_FW_API_VERSION_MINOR) {
-		ret_code = I40E_ERR_FIRMWARE_API_VERSION;
-		goto init_adminq_free_arq;
-	}
+	/* get the NVM version info */
 	i40e_read_nvm_word(hw, I40E_SR_NVM_IMAGE_VERSION, &hw->nvm.version);
 	i40e_read_nvm_word(hw, I40E_SR_NVM_EETRACK_LO, &eetrack_lo);
 	i40e_read_nvm_word(hw, I40E_SR_NVM_EETRACK_HI, &eetrack_hi);
 	hw->nvm.eetrack = (eetrack_hi << 16) | eetrack_lo;
 
+	if (hw->aq.api_maj_ver != I40E_FW_API_VERSION_MAJOR ||
+	    hw->aq.api_min_ver > I40E_FW_API_VERSION_MINOR) {
+		ret_code = I40E_ERR_FIRMWARE_API_VERSION;
+		goto init_adminq_free_arq;
+	}
+
 	ret_code = i40e_aq_set_hmc_resource_profile(hw,
 						    I40E_HMC_PROFILE_DEFAULT,
 						    0,
diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
index 2859377..0075087 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
@@ -35,7 +35,7 @@
  */
 
 #define I40E_FW_API_VERSION_MAJOR  0x0001
-#define I40E_FW_API_VERSION_MINOR  0x0000
+#define I40E_FW_API_VERSION_MINOR  0x0001
 
 struct i40e_aq_desc {
 	__le16 flags;
@@ -137,10 +137,13 @@ enum i40e_admin_queue_opc {
 	i40e_aqc_opc_set_ns_proxy_entry     = 0x0105,
 
 	/* LAA */
-	i40e_aqc_opc_mng_laa                = 0x0106,
+	i40e_aqc_opc_mng_laa                = 0x0106,   /* AQ obsolete */
 	i40e_aqc_opc_mac_address_read       = 0x0107,
 	i40e_aqc_opc_mac_address_write      = 0x0108,
 
+	/* PXE */
+	i40e_aqc_opc_clear_pxe_mode         = 0x0110,
+
 	/* internal switch commands */
 	i40e_aqc_opc_get_switch_config         = 0x0200,
 	i40e_aqc_opc_add_statistics            = 0x0201,
@@ -317,13 +320,15 @@ struct i40e_aqc_get_version {
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_get_version);
 
-/* Send driver version (direct 0x0002) */
+/* Send driver version (indirect 0x0002) */
 struct i40e_aqc_driver_version {
 	u8     driver_major_ver;
 	u8     driver_minor_ver;
 	u8     driver_build_ver;
 	u8     driver_subbuild_ver;
-	u8     reserved[12];
+	u8     reserved[4];
+	__le32 address_high;
+	__le32 address_low;
 };
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_driver_version);
@@ -479,7 +484,7 @@ struct i40e_aqc_mng_laa {
 	u8     reserved2[6];
 };
 
-/* Manage MAC Address Read Command (0x0107) */
+/* Manage MAC Address Read Command (indirect 0x0107) */
 struct i40e_aqc_mac_address_read {
 	__le16	command_flags;
 #define I40E_AQC_LAN_ADDR_VALID   0x10
@@ -517,6 +522,16 @@ struct i40e_aqc_mac_address_write {
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_mac_address_write);
 
+/* PXE commands (0x011x) */
+
+/* Clear PXE Command and response  (direct 0x0110) */
+struct i40e_aqc_clear_pxe {
+	u8	rx_cnt;
+	u8	reserved[15];
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_clear_pxe);
+
 /* Switch configuration commands (0x02xx) */
 
 /* Used by many indirect commands that only pass an seid and a buffer in the
@@ -639,13 +654,15 @@ struct i40e_aqc_switch_resource_alloc_element_resp {
 	u8     reserved2[6];
 };
 
-/* Add VSI (indirect 0x210)
+/* Add VSI (indirect 0x0210)
  *    this indirect command uses struct i40e_aqc_vsi_properties_data
  *    as the indirect buffer (128 bytes)
  *
- * Update VSI (indirect 0x211) Get VSI (indirect 0x0212)
- *    use the generic i40e_aqc_switch_seid descriptor format
- *    use the same completion and data structure as Add VSI
+ * Update VSI (indirect 0x211)
+ *     uses the same data structure as Add VSI
+ *
+ * Get VSI (indirect 0x0212)
+ *     uses the same completion and data structure as Add VSI
  */
 struct i40e_aqc_add_get_update_vsi {
 	__le16 uplink_seid;
@@ -1185,27 +1202,40 @@ struct i40e_aqc_add_remove_cloud_filters_element_data {
 #define I40E_AQC_ADD_CLOUD_FILTER_SHIFT                 0
 #define I40E_AQC_ADD_CLOUD_FILTER_MASK                  (0x3F << \
 					I40E_AQC_ADD_CLOUD_FILTER_SHIFT)
+/* 0x0000 reserved */
 #define I40E_AQC_ADD_CLOUD_FILTER_OIP                   0x0001
-#define I40E_AQC_ADD_CLOUD_FILTER_OIP_GRE               0x0002
+/* 0x0002 reserved */
 #define I40E_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN            0x0003
-#define I40E_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN_GRE        0x0004
+#define I40E_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN_TEN_ID     0x0004
+/* 0x0005 reserved */
 #define I40E_AQC_ADD_CLOUD_FILTER_IMAC_TEN_ID           0x0006
-#define I40E_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN_VNL        0x0007
+/* 0x0007 reserved */
 /* 0x0008 reserved */
 #define I40E_AQC_ADD_CLOUD_FILTER_OMAC                  0x0009
 #define I40E_AQC_ADD_CLOUD_FILTER_IMAC                  0x000A
+#define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC      0x000B
+#define I40E_AQC_ADD_CLOUD_FILTER_IIP                   0x000C
+
 #define I40E_AQC_ADD_CLOUD_FLAGS_TO_QUEUE               0x0080
 #define I40E_AQC_ADD_CLOUD_VNK_SHIFT                    6
 #define I40E_AQC_ADD_CLOUD_VNK_MASK                     0x00C0
 #define I40E_AQC_ADD_CLOUD_FLAGS_IPV4                   0
 #define I40E_AQC_ADD_CLOUD_FLAGS_IPV6                   0x0100
-	__le32 key_low;
-	__le32 key_high;
+
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_SHIFT               9
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_MASK                0x1E00
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_XVLAN               0
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_NVGRE_OMAC          1
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_NGE                 2
+#define I40E_AQC_ADD_CLOUD_TNL_TYPE_IP                  3
+
+	__le32 tenant_id;
+	u8     reserved[4];
 	__le16 queue_number;
 #define I40E_AQC_ADD_CLOUD_QUEUE_SHIFT                  0
 #define I40E_AQC_ADD_CLOUD_QUEUE_MASK                   (0x3F << \
 					I40E_AQC_ADD_CLOUD_QUEUE_SHIFT)
-	u8     reserved[14];
+	u8     reserved2[14];
 	/* response section */
 	u8     allocation_result;
 #define I40E_AQC_ADD_CLOUD_FILTER_SUCCESS         0x0
@@ -1548,7 +1578,7 @@ struct i40e_aqc_module_desc {
 
 struct i40e_aq_get_phy_abilities_resp {
 	__le32 phy_type;       /* bitmap using the above enum for offsets */
-	u8     link_speed;     /* bitmap using the above enum */
+	u8     link_speed;     /* bitmap using the above enum bit patterns */
 	u8     abilities;
 #define I40E_AQ_PHY_FLAG_PAUSE_TX         0x01
 #define I40E_AQ_PHY_FLAG_PAUSE_RX         0x02
@@ -1582,6 +1612,10 @@ struct i40e_aq_set_phy_config { /* same bits as above in all */
 	__le32 phy_type;
 	u8     link_speed;
 	u8     abilities;
+/* bits 0-2 use the values from get_phy_abilities_resp */
+#define I40E_AQ_PHY_ENABLE_LINK		0x08
+#define I40E_AQ_PHY_ENABLE_AN		0x10
+#define I40E_AQ_PHY_ENABLE_ATOMIC_LINK	0x20
 	__le16 eee_capability;
 	__le32 eeer;
 	u8     low_power_ctrl;
@@ -1915,22 +1949,39 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_lldp_start);
 struct i40e_aqc_add_udp_tunnel {
 	__le16 udp_port;
 	u8     header_len; /* in DWords, 1 to 15 */
-	u8     protocol_index;
-#define I40E_AQC_TUNNEL_TYPE_MAC    0x0
-#define I40E_AQC_TUNNEL_TYPE_UDP    0x1
-#define I40E_AQC_TUNNEL_TYPE_VXLAN  0x2
-	u8     reserved[12];
+	u8     protocol_type;
+#define I40E_AQC_TUNNEL_TYPE_TEREDO	0x0
+#define I40E_AQC_TUNNEL_TYPE_VXLAN	0x2
+#define I40E_AQC_TUNNEL_TYPE_NGE	0x3
+	u8     variable_udp_length;
+#define I40E_AQC_TUNNEL_FIXED_UDP_LENGTH	0x0
+#define I40E_AQC_TUNNEL_VARIABLE_UDP_LENGTH	0x1
+	u8     udp_key_index;
+#define I40E_AQC_TUNNEL_KEY_INDEX_VXLAN			0x0
+#define I40E_AQC_TUNNEL_KEY_INDEX_NGE			0x1
+#define I40E_AQC_TUNNEL_KEY_INDEX_PROPRIETARY_UDP	0x2
+	u8     reserved[10];
 };
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_add_udp_tunnel);
 
+struct i40e_aqc_add_udp_tunnel_completion {
+	__le16 udp_port;
+	u8     filter_entry_index;
+	u8     multiple_pfs;
+#define I40E_AQC_SINGLE_PF	0x0
+#define I40E_AQC_MULTIPLE_PFS	0x1
+	u8     total_filters;
+	u8     reserved[11];
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_add_udp_tunnel_completion);
+
 /* remove UDP Tunnel command (0x0B01) */
 struct i40e_aqc_remove_udp_tunnel {
 	u8     reserved[2];
 	u8     index; /* 0 to 15 */
-	u8     pf_filters;
-	u8     total_filters;
-	u8     reserved2[11];
+	u8     reserved2[13];
 };
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_remove_udp_tunnel);
@@ -1938,28 +1989,32 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_remove_udp_tunnel);
 struct i40e_aqc_del_udp_tunnel_completion {
 	__le16 udp_port;
 	u8     index; /* 0 to 15 */
-	u8     multiple_entries;
-	u8     tunnels_used;
-	u8     reserved;
-	u8     tunnels_free;
-	u8     reserved1[9];
+	u8     multiple_pfs;
+	u8     total_filters_used;
+	u8     reserved1[11];
 };
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_del_udp_tunnel_completion);
 
 /* tunnel key structure 0x0B10 */
+
 struct i40e_aqc_tunnel_key_structure {
-	__le16     key1_off;
-	__le16     key1_len;
-	__le16     key2_off;
-	__le16     key2_len;
-	__le16     flags;
+	u8	key1_off;
+	u8	key2_off;
+	u8	key1_len;  /* 0 to 15 */
+	u8	key2_len;  /* 0 to 15 */
+	u8	flags;
 #define I40E_AQC_TUNNEL_KEY_STRUCT_OVERRIDE 0x01
 /* response flags */
 #define I40E_AQC_TUNNEL_KEY_STRUCT_SUCCESS    0x01
 #define I40E_AQC_TUNNEL_KEY_STRUCT_MODIFIED   0x02
 #define I40E_AQC_TUNNEL_KEY_STRUCT_OVERRIDDEN 0x03
-	u8         resreved[6];
+	u8	network_key_index;
+#define I40E_AQC_NETWORK_KEY_INDEX_VXLAN		0x0
+#define I40E_AQC_NETWORK_KEY_INDEX_NGE			0x1
+#define I40E_AQC_NETWORK_KEY_INDEX_FLEX_MAC_IN_UDP	0x2
+#define I40E_AQC_NETWORK_KEY_INDEX_GRE			0x3
+	u8	reserved[10];
 };
 
 I40E_CHECK_CMD_LENGTH(i40e_aqc_tunnel_key_structure);
@@ -2053,6 +2108,7 @@ I40E_CHECK_CMD_LENGTH(i40e_aqc_debug_modify_reg);
 #define I40E_AQ_CLUSTER_ID_DCB		8
 #define I40E_AQ_CLUSTER_ID_EMP_MEM	9
 #define I40E_AQ_CLUSTER_ID_PKT_BUF	10
+#define I40E_AQ_CLUSTER_ID_ALTRAM	11
 
 struct i40e_aqc_debug_dump_internals {
 	u8     cluster_id;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 337e913..96c8f15 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -1738,7 +1738,7 @@ i40e_status i40e_aq_add_udp_tunnel(struct i40e_hw *hw,
 
 	cmd->udp_port = cpu_to_le16(udp_port);
 	cmd->header_len = header_len;
-	cmd->protocol_index = protocol_index;
+	cmd->protocol_type = protocol_index;
 
 	status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);
 
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index 7bbcc71..4ac712e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -53,9 +53,6 @@
 					 (d) == I40E_QSFP_B_DEVICE_ID  || \
 					 (d) == I40E_QSFP_C_DEVICE_ID)
 
-#define I40E_FW_API_VERSION_MAJOR  0x0001
-#define I40E_FW_API_VERSION_MINOR  0x0000
-
 #define I40E_MAX_VSI_QP			16
 #define I40E_MAX_VF_VSI			3
 #define I40E_MAX_CHAINED_RX_BUFFERS	5
-- 
1.8.3.1

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

* [net-next 08/15] i40e: Reduce range of interrupt reg in reg test
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (6 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 07/15] i40e: update firmware api to 1.1 Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 09/15] i40e: move PF ID init from PF reset to SC init Jeff Kirsher
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Shannon Nelson, netdev, gospo, sassmann, Kamil Krawczyk, Jeff Kirsher

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

Use a smaller range of test registers in MFP mode as there are fewer
resources than when in SFP mode.

Change-Id: I08424890c3f57b5dde5ee99e99724ce252e0875a
Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_diag.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_diag.c b/drivers/net/ethernet/intel/i40e/i40e_diag.c
index 98c1ef5..6a1657e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_diag.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_diag.c
@@ -70,9 +70,9 @@ struct i40e_diag_reg_test_info i40e_reg_list[] = {
 	/* offset               mask         elements   stride */
 	{I40E_QTX_CTL(0),       0x0000FFBF,   4, I40E_QTX_CTL(1) - I40E_QTX_CTL(0)},
 	{I40E_PFINT_ITR0(0),    0x00000FFF,   3, I40E_PFINT_ITR0(1) - I40E_PFINT_ITR0(0)},
-	{I40E_PFINT_ITRN(0, 0), 0x00000FFF,  64, I40E_PFINT_ITRN(0, 1) - I40E_PFINT_ITRN(0, 0)},
-	{I40E_PFINT_ITRN(1, 0), 0x00000FFF,  64, I40E_PFINT_ITRN(1, 1) - I40E_PFINT_ITRN(1, 0)},
-	{I40E_PFINT_ITRN(2, 0), 0x00000FFF,  64, I40E_PFINT_ITRN(2, 1) - I40E_PFINT_ITRN(2, 0)},
+	{I40E_PFINT_ITRN(0, 0), 0x00000FFF,   8, I40E_PFINT_ITRN(0, 1) - I40E_PFINT_ITRN(0, 0)},
+	{I40E_PFINT_ITRN(1, 0), 0x00000FFF,   8, I40E_PFINT_ITRN(1, 1) - I40E_PFINT_ITRN(1, 0)},
+	{I40E_PFINT_ITRN(2, 0), 0x00000FFF,   8, I40E_PFINT_ITRN(2, 1) - I40E_PFINT_ITRN(2, 0)},
 	{I40E_PFINT_STAT_CTL0,  0x0000000C,   1, 0},
 	{I40E_PFINT_LNKLST0,    0x00001FFF,   1, 0},
 	{I40E_PFINT_LNKLSTN(0), 0x000007FF,  64, I40E_PFINT_LNKLSTN(1) - I40E_PFINT_LNKLSTN(0)},
-- 
1.8.3.1

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

* [net-next 09/15] i40e: move PF ID init from PF reset to SC init
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (7 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 08/15] i40e: Reduce range of interrupt reg in reg test Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 10/15] i40e: check MAC type before any REG access Jeff Kirsher
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Shannon Nelson, netdev, gospo, sassmann, Kamil Krawczyk, Jeff Kirsher

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

Move PF ID initialization code from PF reset routine to earlier driver
initialization function.  There are a few operations which need the
PF ID before the first PF reset is called.

Change-Id: I7e971f7556b46a837149850ec05ce115c35db575
Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_common.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 96c8f15..02ad529 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -198,6 +198,13 @@ i40e_status i40e_init_shared_code(struct i40e_hw *hw)
 		break;
 	}
 
+	/* Determine the PF number based on the PCI fn */
+	reg = rd32(hw, I40E_GLPCI_CAPSUP);
+	if (reg & I40E_GLPCI_CAPSUP_ARI_EN_MASK)
+		hw->pf_id = (u8)((hw->bus.device << 3) | hw->bus.func);
+	else
+		hw->pf_id = (u8)hw->bus.func;
+
 	status = i40e_init_nvm(hw);
 	return status;
 }
@@ -375,13 +382,6 @@ i40e_status i40e_pf_reset(struct i40e_hw *hw)
 		return I40E_ERR_RESET_FAILED;
 	}
 
-	/* Determine the PF number based on the PCI fn */
-	reg = rd32(hw, I40E_GLPCI_CAPSUP);
-	if (reg & I40E_GLPCI_CAPSUP_ARI_EN_MASK)
-		hw->pf_id = (u8)((hw->bus.device << 3) | hw->bus.func);
-	else
-		hw->pf_id = (u8)hw->bus.func;
-
 	/* If there was a Global Reset in progress when we got here,
 	 * we don't need to do the PF Reset
 	 */
-- 
1.8.3.1

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

* [net-next 10/15] i40e: check MAC type before any REG access
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (8 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 09/15] i40e: move PF ID init from PF reset to SC init Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 11/15] i40e: rework shadow ram read functions Jeff Kirsher
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Shannon Nelson, netdev, gospo, sassmann, Kamil Krawczyk, Jeff Kirsher

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

We need to check if we are dealing with the correct MAC type before we
try to read anything from the registers.

Change-Id: I3989516999d06c3009e87d6a2eafc20af305c5c2
Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_common.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 02ad529..7e34de1 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -180,14 +180,6 @@ i40e_status i40e_init_shared_code(struct i40e_hw *hw)
 	i40e_status status = 0;
 	u32 reg;
 
-	hw->phy.get_link_info = true;
-
-	/* Determine port number */
-	reg = rd32(hw, I40E_PFGEN_PORTNUM);
-	reg = ((reg & I40E_PFGEN_PORTNUM_PORT_NUM_MASK) >>
-	       I40E_PFGEN_PORTNUM_PORT_NUM_SHIFT);
-	hw->port = (u8)reg;
-
 	i40e_set_mac_type(hw);
 
 	switch (hw->mac.type) {
@@ -198,6 +190,14 @@ i40e_status i40e_init_shared_code(struct i40e_hw *hw)
 		break;
 	}
 
+	hw->phy.get_link_info = true;
+
+	/* Determine port number */
+	reg = rd32(hw, I40E_PFGEN_PORTNUM);
+	reg = ((reg & I40E_PFGEN_PORTNUM_PORT_NUM_MASK) >>
+	       I40E_PFGEN_PORTNUM_PORT_NUM_SHIFT);
+	hw->port = (u8)reg;
+
 	/* Determine the PF number based on the PCI fn */
 	reg = rd32(hw, I40E_GLPCI_CAPSUP);
 	if (reg & I40E_GLPCI_CAPSUP_ARI_EN_MASK)
-- 
1.8.3.1

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

* [net-next 11/15] i40e: rework shadow ram read functions
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (9 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 10/15] i40e: check MAC type before any REG access Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 12/15] i40e: whitespace paren and comment tweaks Jeff Kirsher
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Shannon Nelson, netdev, gospo, sassmann, Kamil Krawczyk, Jeff Kirsher

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

Rework Shadow RAM read word/buffer functions to not use AQ Request
Resource commands.  Requesting resource is not needed for SR read
operations which are done through SRCTL register.  Access to SR through
register is controlled through DONE bit within SRCTL.  With this change
we do not block whole NVM resource for SR read operations.

Change-Id: I73e96cdea39a45ee7b5bdf038e527308de2d9efe
Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_nvm.c | 67 +++++++-----------------------
 1 file changed, 16 insertions(+), 51 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_nvm.c b/drivers/net/ethernet/intel/i40e/i40e_nvm.c
index 97e1bb3..e2da0a2 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_nvm.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_nvm.c
@@ -166,15 +166,15 @@ static i40e_status i40e_poll_sr_srctl_done_bit(struct i40e_hw *hw)
 }
 
 /**
- *  i40e_read_nvm_srctl - Reads Shadow RAM.
+ *  i40e_read_nvm_word - Reads Shadow RAM
  *  @hw: pointer to the HW structure.
  *  @offset: offset of the Shadow RAM word to read (0x000000 - 0x001FFF).
  *  @data: word read from the Shadow RAM.
  *
  *  Reads 16 bit word from the Shadow RAM using the GLNVM_SRCTL register.
  **/
-static i40e_status i40e_read_nvm_srctl(struct i40e_hw *hw, u16 offset,
-						 u16 *data)
+i40e_status i40e_read_nvm_word(struct i40e_hw *hw, u16 offset,
+					 u16 *data)
 {
 	i40e_status ret_code = I40E_ERR_TIMEOUT;
 	u32 sr_reg;
@@ -211,29 +211,6 @@ read_nvm_exit:
 }
 
 /**
- *  i40e_read_nvm_word - Reads Shadow RAM word.
- *  @hw: pointer to the HW structure.
- *  @offset: offset of the Shadow RAM word to read (0x000000 - 0x001FFF).
- *  @data: word read from the Shadow RAM.
- *
- *  Reads 16 bit word from the Shadow RAM. Each read is preceded
- *  with the NVM ownership taking and followed by the release.
- **/
-i40e_status i40e_read_nvm_word(struct i40e_hw *hw, u16 offset,
-					 u16 *data)
-{
-	i40e_status ret_code = 0;
-
-	ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
-	if (!ret_code) {
-		ret_code = i40e_read_nvm_srctl(hw, offset, data);
-		i40e_release_nvm(hw);
-	}
-
-	return ret_code;
-}
-
-/**
  *  i40e_read_nvm_buffer - Reads Shadow RAM buffer.
  *  @hw: pointer to the HW structure.
  *  @offset: offset of the Shadow RAM word to read (0x000000 - 0x001FFF).
@@ -250,30 +227,18 @@ i40e_status i40e_read_nvm_buffer(struct i40e_hw *hw, u16 offset,
 {
 	i40e_status ret_code = 0;
 	u16 index, word;
-	u32 time;
 
-	ret_code = i40e_acquire_nvm(hw, I40E_RESOURCE_READ);
-	if (!ret_code) {
-		/* Loop thru the selected region. */
-		for (word = 0; word < *words; word++) {
-			index = offset + word;
-			ret_code = i40e_read_nvm_srctl(hw, index, &data[word]);
-			if (ret_code)
-				break;
-			/* Check if we didn't exceeded the semaphore timeout. */
-			time = rd32(hw, I40E_GLVFGEN_TIMER);
-			if (time >= hw->nvm.hw_semaphore_timeout) {
-				ret_code = I40E_ERR_TIMEOUT;
-				hw_dbg(hw, "NVM read error: timeout.\n");
-				break;
-			}
-		}
-		/* Update the number of words read from the Shadow RAM. */
-		*words = word;
-		/* Release the NVM ownership. */
-		i40e_release_nvm(hw);
+	/* Loop thru the selected region. */
+	for (word = 0; word < *words; word++) {
+		index = offset + word;
+		ret_code = i40e_read_nvm_word(hw, index, &data[word]);
+		if (ret_code)
+			break;
 	}
 
+	/* Update the number of words read from the Shadow RAM. */
+	*words = word;
+
 	return ret_code;
 }
 
@@ -297,14 +262,14 @@ static i40e_status i40e_calc_nvm_checksum(struct i40e_hw *hw,
 	u32 i = 0;
 
 	/* read pointer to VPD area */
-	ret_code = i40e_read_nvm_srctl(hw, I40E_SR_VPD_PTR, &vpd_module);
+	ret_code = i40e_read_nvm_word(hw, I40E_SR_VPD_PTR, &vpd_module);
 	if (ret_code) {
 		ret_code = I40E_ERR_NVM_CHECKSUM;
 		goto i40e_calc_nvm_checksum_exit;
 	}
 
 	/* read pointer to PCIe Alt Auto-load module */
-	ret_code = i40e_read_nvm_srctl(hw, I40E_SR_PCIE_ALT_AUTO_LOAD_PTR,
+	ret_code = i40e_read_nvm_word(hw, I40E_SR_PCIE_ALT_AUTO_LOAD_PTR,
 				       &pcie_alt_module);
 	if (ret_code) {
 		ret_code = I40E_ERR_NVM_CHECKSUM;
@@ -331,7 +296,7 @@ static i40e_status i40e_calc_nvm_checksum(struct i40e_hw *hw,
 				break;
 		}
 
-		ret_code = i40e_read_nvm_srctl(hw, (u16)i, &word);
+		ret_code = i40e_read_nvm_word(hw, (u16)i, &word);
 		if (ret_code) {
 			ret_code = I40E_ERR_NVM_CHECKSUM;
 			goto i40e_calc_nvm_checksum_exit;
@@ -371,7 +336,7 @@ i40e_status i40e_validate_nvm_checksum(struct i40e_hw *hw,
 	/* Do not use i40e_read_nvm_word() because we do not want to take
 	 * the synchronization semaphores twice here.
 	 */
-	i40e_read_nvm_srctl(hw, I40E_SR_SW_CHECKSUM_WORD, &checksum_sr);
+	i40e_read_nvm_word(hw, I40E_SR_SW_CHECKSUM_WORD, &checksum_sr);
 
 	/* Verify read checksum from EEPROM is the same as
 	 * calculated checksum
-- 
1.8.3.1

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

* [net-next 12/15] i40e: whitespace paren and comment tweaks
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (10 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 11/15] i40e: rework shadow ram read functions Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 13/15] i40e: Enable/Disable PF switch LB on SR-IOV configure changes Jeff Kirsher
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Shannon Nelson, netdev, gospo, sassmann, Mitch Williams, Jeff Kirsher

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

Addresses a few code format issues that have crept in over time.

Change-Id: I1a62cbd16b29a218a933b0f7176abe748f9615e8
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_adminq.c | 4 ++--
 drivers/net/ethernet/intel/i40e/i40e_common.c | 1 +
 drivers/net/ethernet/intel/i40e/i40e_type.h   | 8 ++++----
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index 3ee5323..18a768f 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -672,7 +672,7 @@ static bool i40e_asq_done(struct i40e_hw *hw)
 	/* AQ designers suggest use of head for better
 	 * timing reliability than DD bit
 	 */
-	return (rd32(hw, hw->aq.asq.head) == hw->aq.asq.next_to_use);
+	return rd32(hw, hw->aq.asq.head) == hw->aq.asq.next_to_use;
 
 }
 
@@ -682,7 +682,7 @@ static bool i40e_asq_done(struct i40e_hw *hw)
  *  @desc: prefilled descriptor describing the command (non DMA mem)
  *  @buff: buffer to use for indirect commands
  *  @buff_size: size of buffer for indirect commands
- *  @opaque: pointer to info to be used in async cleanup
+ *  @cmd_details: pointer to command details structure
  *
  *  This is the main send command driver routine for the Admin Queue send
  *  queue.  It runs the queue, cleans the queue, etc
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 7e34de1..d564910 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -406,6 +406,7 @@ i40e_status i40e_pf_reset(struct i40e_hw *hw)
 	}
 
 	i40e_clear_pxe_mode(hw);
+
 	return 0;
 }
 
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index 4ac712e..bcf0317 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -89,7 +89,7 @@ typedef void (*I40E_ADMINQ_CALLBACK)(struct i40e_hw *, struct i40e_aq_desc *);
 #define I40E_QTX_CTL_VF_QUEUE	0x0
 #define I40E_QTX_CTL_PF_QUEUE	0x2
 
-/* debug masks */
+/* debug masks - set these bits in hw->debug_mask to control output */
 enum i40e_debug_mask {
 	I40E_DEBUG_INIT			= 0x00000001,
 	I40E_DEBUG_RELEASE		= 0x00000002,
@@ -103,10 +103,10 @@ enum i40e_debug_mask {
 	I40E_DEBUG_DCB			= 0x00000400,
 	I40E_DEBUG_DIAG			= 0x00000800,
 
-	I40E_DEBUG_AQ_MESSAGE		= 0x01000000, /* for i40e_debug() */
+	I40E_DEBUG_AQ_MESSAGE		= 0x01000000,
 	I40E_DEBUG_AQ_DESCRIPTOR	= 0x02000000,
 	I40E_DEBUG_AQ_DESC_BUFFER	= 0x04000000,
-	I40E_DEBUG_AQ_COMMAND		= 0x06000000, /* for i40e_debug_aq() */
+	I40E_DEBUG_AQ_COMMAND		= 0x06000000,
 	I40E_DEBUG_AQ			= 0x0F000000,
 
 	I40E_DEBUG_USER			= 0xF0000000,
@@ -520,7 +520,7 @@ enum i40e_rx_desc_status_bits {
 
 #define I40E_RXD_QW1_STATUS_TSYNVALID_SHIFT  I40E_RX_DESC_STATUS_TSYNVALID_SHIFT
 #define I40E_RXD_QW1_STATUS_TSYNVALID_MASK	(0x1UL << \
-					     I40E_RXD_QW1_STATUS_TSYNVALID_SHIFT)
+					 I40E_RXD_QW1_STATUS_TSYNVALID_SHIFT)
 
 enum i40e_rx_desc_fltstat_values {
 	I40E_RX_DESC_FLTSTAT_NO_DATA	= 0,
-- 
1.8.3.1

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

* [net-next 13/15] i40e: Enable/Disable PF switch LB on SR-IOV configure changes
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (11 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 12/15] i40e: whitespace paren and comment tweaks Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 14/15] i40e: remove redundant AQ enable Jeff Kirsher
  2014-01-07  9:32 ` [net-next 15/15] i40e: correctly setup ARQ descriptors Jeff Kirsher
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Jeff Kirsher

From: Greg Rose <gregory.v.rose@intel.com>

The PF VSI was never updated to enable or disable internal switch loopback
when VFs were created or destroyed via the sysfs interface.  Add some
helper functions to take care of that.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 76 +++++++++++++++++++++-
 1 file changed, 74 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 5c99164..efb9a24 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -716,6 +716,76 @@ static bool i40e_vfs_are_assigned(struct i40e_pf *pf)
 
 	return false;
 }
+#ifdef CONFIG_PCI_IOV
+
+/**
+ * i40e_enable_pf_switch_lb
+ * @pf: pointer to the pf structure
+ *
+ * enable switch loop back or die - no point in a return value
+ **/
+static void i40e_enable_pf_switch_lb(struct i40e_pf *pf)
+{
+	struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi];
+	struct i40e_vsi_context ctxt;
+	int aq_ret;
+
+	ctxt.seid = pf->main_vsi_seid;
+	ctxt.pf_num = pf->hw.pf_id;
+	ctxt.vf_num = 0;
+	aq_ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
+	if (aq_ret) {
+		dev_info(&pf->pdev->dev,
+			 "%s couldn't get pf vsi config, err %d, aq_err %d\n",
+			 __func__, aq_ret, pf->hw.aq.asq_last_status);
+		return;
+	}
+	ctxt.flags = I40E_AQ_VSI_TYPE_PF;
+	ctxt.info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SWITCH_VALID);
+	ctxt.info.switch_id |= cpu_to_le16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB);
+
+	aq_ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
+	if (aq_ret) {
+		dev_info(&pf->pdev->dev,
+			 "%s: update vsi switch failed, aq_err=%d\n",
+			 __func__, vsi->back->hw.aq.asq_last_status);
+	}
+}
+#endif
+
+/**
+ * i40e_disable_pf_switch_lb
+ * @pf: pointer to the pf structure
+ *
+ * disable switch loop back or die - no point in a return value
+ **/
+static void i40e_disable_pf_switch_lb(struct i40e_pf *pf)
+{
+	struct i40e_vsi *vsi = pf->vsi[pf->lan_vsi];
+	struct i40e_vsi_context ctxt;
+	int aq_ret;
+
+	ctxt.seid = pf->main_vsi_seid;
+	ctxt.pf_num = pf->hw.pf_id;
+	ctxt.vf_num = 0;
+	aq_ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
+	if (aq_ret) {
+		dev_info(&pf->pdev->dev,
+			 "%s couldn't get pf vsi config, err %d, aq_err %d\n",
+			 __func__, aq_ret, pf->hw.aq.asq_last_status);
+		return;
+	}
+	ctxt.flags = I40E_AQ_VSI_TYPE_PF;
+	ctxt.info.valid_sections = cpu_to_le16(I40E_AQ_VSI_PROP_SWITCH_VALID);
+	ctxt.info.switch_id &= ~cpu_to_le16(I40E_AQ_VSI_SW_ID_FLAG_ALLOW_LB);
+
+	aq_ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
+	if (aq_ret) {
+		dev_info(&pf->pdev->dev,
+			 "%s: update vsi switch failed, aq_err=%d\n",
+			 __func__, vsi->back->hw.aq.asq_last_status);
+	}
+}
 
 /**
  * i40e_free_vfs
@@ -759,10 +829,11 @@ void i40e_free_vfs(struct i40e_pf *pf)
 			bit_idx = (hw->func_caps.vf_base_id + vf_id) % 32;
 			wr32(hw, I40E_GLGEN_VFLRSTAT(reg_idx), (1 << bit_idx));
 		}
-	}
-	else
+		i40e_disable_pf_switch_lb(pf);
+	} else {
 		dev_warn(&pf->pdev->dev,
 			 "unable to disable SR-IOV because VFs are assigned.\n");
+	}
 
 	/* Re-enable interrupt 0. */
 	i40e_irq_dynamic_enable_icr0(pf);
@@ -816,6 +887,7 @@ static int i40e_alloc_vfs(struct i40e_pf *pf, u16 num_alloc_vfs)
 	pf->vf = vfs;
 	pf->num_alloc_vfs = num_alloc_vfs;
 
+	i40e_enable_pf_switch_lb(pf);
 err_alloc:
 	if (ret)
 		i40e_free_vfs(pf);
-- 
1.8.3.1

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

* [net-next 14/15] i40e: remove redundant AQ enable
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (12 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 13/15] i40e: Enable/Disable PF switch LB on SR-IOV configure changes Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07  9:32 ` [net-next 15/15] i40e: correctly setup ARQ descriptors Jeff Kirsher
  14 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Kamil Krawczyk, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher

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

The admin queue length register is updated in
config_a<sq|rq>_regs functions.  We should not update it again,
as we will trigger firmware to init the AQ again. In this case
firmware will lose the information about the AQ Rx tail position
and will see Rx queue as full (no free desc for FW to use).

Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_adminq.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index 18a768f..c87dc15 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -957,20 +957,14 @@ clean_arq_element_out:
 
 static void i40e_resume_aq(struct i40e_hw *hw)
 {
-	u32 reg = 0;
-
 	/* Registers are reset after PF reset */
 	hw->aq.asq.next_to_use = 0;
 	hw->aq.asq.next_to_clean = 0;
 
 	i40e_config_asq_regs(hw);
-	reg = hw->aq.num_asq_entries | I40E_PF_ATQLEN_ATQENABLE_MASK;
-	wr32(hw, hw->aq.asq.len, reg);
 
 	hw->aq.arq.next_to_use = 0;
 	hw->aq.arq.next_to_clean = 0;
 
 	i40e_config_arq_regs(hw);
-	reg = hw->aq.num_arq_entries | I40E_PF_ATQLEN_ATQENABLE_MASK;
-	wr32(hw, hw->aq.arq.len, reg);
 }
-- 
1.8.3.1

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

* [net-next 15/15] i40e: correctly setup ARQ descriptors
  2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (13 preceding siblings ...)
  2014-01-07  9:32 ` [net-next 14/15] i40e: remove redundant AQ enable Jeff Kirsher
@ 2014-01-07  9:32 ` Jeff Kirsher
  2014-01-07 20:34   ` David Miller
  14 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-07  9:32 UTC (permalink / raw)
  To: davem
  Cc: Mitch Williams, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher

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

When cleaning descriptors, we must set up ALL fields, not just the DMA
address. The initial setup does this correctly, but not the cleanup
code, so the firmware would process the ring exactly once and then fail.

Change-ID: I2930b83c76194b3016a8ac0fa693f9a573995640
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_adminq.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index c87dc15..2b32084 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -933,6 +933,11 @@ i40e_status i40e_clean_arq_element(struct i40e_hw *hw,
 	 * size
 	 */
 	bi = &hw->aq.arq.r.arq_bi[ntc];
+	memset((void *)desc, 0, sizeof(struct i40e_aq_desc));
+
+	desc->flags = cpu_to_le16(I40E_AQ_FLAG_BUF);
+	if (hw->aq.arq_buf_size > I40E_AQ_LARGE_BUF)
+		desc->flags |= cpu_to_le16(I40E_AQ_FLAG_LB);
 	desc->datalen = cpu_to_le16((u16)bi->size);
 	desc->params.external.addr_high = cpu_to_le32(upper_32_bits(bi->pa));
 	desc->params.external.addr_low = cpu_to_le32(lower_32_bits(bi->pa));
-- 
1.8.3.1

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

* Re: [net-next 15/15] i40e: correctly setup ARQ descriptors
  2014-01-07  9:32 ` [net-next 15/15] i40e: correctly setup ARQ descriptors Jeff Kirsher
@ 2014-01-07 20:34   ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-01-07 20:34 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: mitch.a.williams, netdev, gospo, sassmann, jesse.brandeburg

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue,  7 Jan 2014 01:32:29 -0800

> +	memset((void *)desc, 0, sizeof(struct i40e_aq_desc));

This is terrible.

First of all, no pointer need ever be cast when passed into memset()
because it accepts void * which is cleanly implicitly cast from any
pointer type.  That's the whole reason memset accepts a void pointer,
so people don't need to ever cast the argument.

Secondly, using an explicit type to compute the size of the third
argument is error prone.

So please code this as the canonical:

	memset(desc, 0, sizeof(*desc));

Thanks.

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

* Re: [net-next 01/15] i40e: Expose AQ debugfs hooks
  2014-01-07  9:32 ` [net-next 01/15] i40e: Expose AQ debugfs hooks Jeff Kirsher
@ 2014-01-07 20:34   ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-01-07 20:34 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: anjali.singhai, netdev, gospo, sassmann, jesse.brandeburg

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue,  7 Jan 2014 01:32:15 -0800

> @@ -1523,6 +1523,116 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
>  		} else {
>  			dev_info(&pf->pdev->dev, "clear_stats vsi [seid] or clear_stats pf\n");
>  		}
> +	} else if (strncmp(cmd_buf, "send aq_cmd", 11) == 0) {
> +		struct i40e_aq_desc *desc;
> +		i40e_status ret;
> +		desc = kzalloc(sizeof(struct i40e_aq_desc), GFP_KERNEL);
> +		if (!desc)
> +			goto command_write_done;

Please add an empty line between local variable declarations and code.

> +	} else if (strncmp(cmd_buf, "send indirect aq_cmd", 20) == 0) {
> +		struct i40e_aq_desc *desc;
> +		i40e_status ret;
> +		u16 buffer_len;
> +		u8 *buff;
> +		desc = kzalloc(sizeof(struct i40e_aq_desc), GFP_KERNEL);
> +		if (!desc)
> +			goto command_write_done;

Likewise.

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-05-29 15:10 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2014-05-31  0:53 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-05-31  0:53 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 29 May 2014 08:10:01 -0700

> This series contains updates to i40e and i40evf.
 ...
> The following are changes since commit 6623b4194459c07859d3e3196c3994fa7be5b88e:
>   Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

And, as always, thanks for the detailed cover letter.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-05-29 15:10 Jeff Kirsher
  2014-05-31  0:53 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-05-29 15:10 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e and i40evf.

Kevin updates the i40e and i40evf driver i40e_check_asq_alive() to ensure
the length register offset is non-zero which indicates that the software
has initialized the admin queue.  Also removes PCTYPE definitions which are
now reserved.

Mitch enables descriptor prefetch for rings belonging to the virtual function.
Also configures the VF minimum transmit rate to 50 Mbps rather than 0 which was
be interpreted as no limit at all.  Mitch found in order for the VF to achieve
its programmed transmit rate, we need to set the max credit value to 4.
Lastly fixes a Tx hang and firmware crash that happens after setting the MTU
on a VF by not using the RESETTING state during reinit, this is because
the RESETTING state means that a catastrophic hardware bad thing is happening
and the driver needs to tiptoe around and not use the admin queue or registers.
A reinit is no big deal and we can use the admin queue (and we should) so
do not set the state to RESETTING during reinit to resolve the bug.

Akeem changes the declaration of the transmit and receive rings inside
several loops to eliminate declaring the same ring every time for the
duration of the loop and declares them just once before the loop.  Also fixes
the driver to clear the recovery pending bit if pf_reset fails instead of
falling through the setup process.

Anjali makes a change based on feedback from Ben Hutchings that cmd->data
needs to be reported in ETHTOOL_GRXCLSRLCNT and use a helper function to
calculate the total filter count.

Jesse removes storm control since the storm control features are not apart
of the hardware and were mistakenly left in the code.

Greg changes tx_lpi_status and rx_lpi_status from bool to u32 to avoid
sparse errors.

Shannon adds the clear_pxe AdminQ API call to tell the firmware that the
driver is taking over from PXE.  In addition, relaxes the firmware API
check to allow more flexibility in handling newer NICs and NVMs in the field.

Vasu ensures that FCoE is disabled for MFP modes since it is not supported
by overriding the hardware FCoE capability.

The following are changes since commit 6623b4194459c07859d3e3196c3994fa7be5b88e:
  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Akeem G Abodunrin (2):
  i40e: Tx/Rx rings declaration
  i40e: Clear recovery pending, if reset failed

Anjali Singhai Jain (2):
  i40e: Report cmd->data in ETHTOOL_GRXCLSRLCNT instead of
    ETHTOOL_GRXCLSRULE
  i40e: Use the new i40e_get_fd_cnt_all function in other places

Greg Rose (1):
  i40e/i40evf: Change type to u32 to avoid sparse error

Jesse Brandeburg (1):
  i40e/i40evf: remove storm control

Kevin Scott (2):
  i40e/i40evf: Update check for AQ aliveness
  i40e/i40evf: Remove reserved PCTYPE defines

Mitch Williams (4):
  i40e: enable descriptor prefetch for VFs
  i40evf: don't round Tx rate down to 0
  i40evf: tweak Tx rate params and de-magic-ify
  i40evf: don't use RESETTING state during reinit

Shannon Nelson (2):
  i40e: add clear_pxe AdminQ request
  i40e: relax the firmware API version check

Vasu Dev (1):
  i40: disable FCoE for MFP modes

 drivers/net/ethernet/intel/i40e/i40e.h             |  9 +++++
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |  3 +-
 drivers/net/ethernet/intel/i40e/i40e_common.c      | 42 +++++++++++++++++++++-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 37 +++++++------------
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 19 +++++-----
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |  2 ++
 drivers/net/ethernet/intel/i40e/i40e_register.h    |  4 ---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        | 33 +++++++----------
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |  7 +---
 drivers/net/ethernet/intel/i40e/i40e_type.h        | 14 +++-----
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 13 +++++--
 drivers/net/ethernet/intel/i40evf/i40e_common.c    |  6 +++-
 drivers/net/ethernet/intel/i40evf/i40e_register.h  |  4 ---
 drivers/net/ethernet/intel/i40evf/i40e_txrx.h      |  7 +---
 drivers/net/ethernet/intel/i40evf/i40e_type.h      | 14 +++-----
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    |  2 --
 16 files changed, 116 insertions(+), 100 deletions(-)

-- 
1.9.3

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-05-27  9:12 Jeff Kirsher
@ 2014-05-28 16:42 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-05-28 16:42 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 27 May 2014 02:12:16 -0700

> This series contains updates to e1000, e1000e, ixgbe and i40evf.

Pulled, thanks a lot Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-05-27  9:12 Jeff Kirsher
  2014-05-28 16:42 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-05-27  9:12 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000, e1000e, ixgbe and i40evf.

Emil provides a fix for ixgbe so that non-fiber devices with MNG FW enabled
are able to link at 100Mbps.

Jacob provides several changes for ixgbe, most of which are PTP related.
Renames ixgbe_ptp_enable() to ixgbe_ptp_feature_enable() to better reflect
the functions purpose.  Extracts the hardware setup logic for the PTP
hardware bits from the ixgbe_ptp_set_ts_config() to enable future work for
the ixgbe_ptp_reset().  Maintain the hwstamp configuration through a reset
and extracts the creation of the PTP clock device from ptp_init() in order
to properly handle a suspend/resume cycle and only calls it if we don't
already have a ptp_clock pointer.

David provides a patch to expend the e1000e driver to turn on unicast
PROMISC when there is failure to write to a shared receive address register.
The fix update_phy_task() for 82579 is expanded to include newer PHYs as well
so that the dev_spec->eee_lp_ability has the correct value when going into
SX states.

Todd provides a e1000e fix an errata for 82574/82583 where it is possible
bad bits are read from SYSTIMH/L so check to see that the time is
incrementing at a reasonable rate and is a multiple of the time incremental
value.  Removes a redundant igb PHY power down register write.

Andi Kleen out of lines two write functions for e1000e to save 30k text size.

Tobias Klauser converts the e1000 and i40evf drivers to use the
is_broadcast_ether_addr() and is_multicast_ether_addr().

The following are changes since commit 3bea8eddfebe1c61ea824dd2880d4368791edc1f:
  Merge branch 'net-sysfs-docs'
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Andi Kleen (1):
  e1000e: Out of line __ew32_prepare/__ew32

David Ertman (3):
  e1000e: Failure to write SHRA turns on PROMISC mode
  e1000e: Cleanup parenthesis around return value
  e1000e: Fix expand setting EEE link info to all affected parts

Emil Tantilov (1):
  ixgbe: fix linking at 100Mbps on copper devices with MNG FW enabled

Jacob Keller (6):
  ixgbe: rename ixgbe_ptp_enable to ixgbe_ptp_feature_enable
  ixgbe: extract the hardware setup from the ixgbe_ptp_set_ts_config
  ixgbe: allow ixgbe_ptp_reset to maintain current hwtstamp config
  ixgbe: extract PTP clock device from ptp_init
  ixgbe: separate the PTP suspend and stop actions
  ixgbe: avoid duplicate code in suspend and stop paths

Tobias Klauser (2):
  e1000: Use is_broadcast_ether_addr/is_multicast_ether_addr helpers
  i40evf: Use is_multicast_ether_addr helper

Todd Fujinaka (2):
  e1000e: 82574/82583 TimeSync errata for SYSTIM read
  igb: remove redundant PHY power down register write

 drivers/net/ethernet/intel/e1000/e1000_hw.c     |   4 +-
 drivers/net/ethernet/intel/e1000e/80003es2lan.c |   1 +
 drivers/net/ethernet/intel/e1000e/82571.c       |   1 +
 drivers/net/ethernet/intel/e1000e/e1000.h       |  33 +----
 drivers/net/ethernet/intel/e1000e/hw.h          |   3 +-
 drivers/net/ethernet/intel/e1000e/ich8lan.c     |  61 +++++++--
 drivers/net/ethernet/intel/e1000e/mac.c         |   9 +-
 drivers/net/ethernet/intel/e1000e/mac.h         |   3 +-
 drivers/net/ethernet/intel/e1000e/netdev.c      |  69 +++++++++-
 drivers/net/ethernet/intel/i40evf/i40evf_main.c |   2 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c      |  14 --
 drivers/net/ethernet/intel/igb/e1000_phy.h      |   1 -
 drivers/net/ethernet/intel/ixgbe/ixgbe.h        |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c   |  29 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c    | 163 ++++++++++++++++++------
 15 files changed, 277 insertions(+), 117 deletions(-)

-- 
1.9.3

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-05-21 12:00 Jeff Kirsher
@ 2014-05-22 16:05 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-05-22 16:05 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 21 May 2014 05:00:58 -0700

> This series contains updates to i40e and i40evf.

Pulled, thanks Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-05-21 12:00 Jeff Kirsher
  2014-05-22 16:05 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-05-21 12:00 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e and i40evf.

Shannon makes minor changes to the AdminQ interface to bring it up to
date.  Removes the hard coding of stats struct size in ethtool, in prep
for adding data fields which are configuration dependent.

Catherine removes some unused and unneeded PCI bus defines.

Jesse fixes the copyright headers and finishes up the removal of the PTP
Tx work functionality which allows us to rely on the Tx timesync interrupt.

Mitch provides a number of fixes and cleanups for i40e/i40evf based on
suggestions from Ben Hutchings.  First is to use a macro parameter for
ethtool stats instead of just assuming that a valid netdev variable
exists.  Second is not to tell ethtool that the VF can do 10GbaseT, when
it really has no idea what its link speed is, so set the supported value
to 0 instead.  Make the ethtool_ops structure constant since it is
extremely unlikely to change at runtime.  Ethtool consistently reports
0 values for our ITR settings because we never actually use them, so
fix this by setting the default values to the specified default values.

Greg avoids a compile error by wrapping the call to i40e_alloc_vfs() in
CONFIG_PCI_IOV because the function itself is wrapped in the same
conditional compile block.

Alexander Gordeev updates the driver to use the new pci_enable_msi_range()
and pci_enable_msix_range() or pci_enable_msi_exact() and
pci_enable_msix_exact().

Jean Sacren provides a fix where the wrong error code was being passed to
i40e_open().

The following are changes since commit b6052af61a9e0dee236bcf4c69843126c0d28e4f:
  Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Gordeev (1):
  i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()

Catherine Sullivan (1):
  i40evf: Remove unused defines

Greg Rose (1):
  i40e: Check PCI_IOV config to avoid compile error

Jean Sacren (1):
  i40e: fix passing wrong error code to i40e_open()

Jesse Brandeburg (2):
  i40evf: Fix the headers and update copyright year.
  i40e: remove Tx work for ptp

Mitch Williams (7):
  i40e: add required include
  i40evf: Use macro param for ethtool stats
  i40evf: don't lie to ethtool
  i40evf: make ethtool_ops const
  i40e/i40evf: set proper default for ITR registers
  i40e/i40evf: control auto ITR through ethtool
  i40e: Don't disable SR-IOV when VFs are assigned

Shannon Nelson (2):
  i40evf: Update AdminQ interface
  i40e: remove hardcode of stats struct size in ethtool

 drivers/net/ethernet/intel/i40e/i40e.h             |  4 --
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 63 +++++++---------
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  8 ++-
 drivers/net/ethernet/intel/i40e/i40e_ptp.c         |  1 -
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |  1 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 11 ++-
 drivers/net/ethernet/intel/i40evf/Makefile         |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_adminq.c    |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_adminq.h    |  5 +-
 .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h    | 27 ++++---
 drivers/net/ethernet/intel/i40evf/i40e_alloc.h     |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_common.c    |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_hmc.h       |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_lan_hmc.h   |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_osdep.h     |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_prototype.h |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_register.h  |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_status.h    |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c      |  3 +
 drivers/net/ethernet/intel/i40evf/i40e_txrx.h      |  5 +-
 drivers/net/ethernet/intel/i40evf/i40e_type.h      | 12 +---
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h  |  5 +-
 drivers/net/ethernet/intel/i40evf/i40evf.h         |  3 +
 drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 84 +++++++++++-----------
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    | 40 +++++------
 .../net/ethernet/intel/i40evf/i40evf_virtchnl.c    |  3 +
 26 files changed, 179 insertions(+), 146 deletions(-)

-- 
1.9.0

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-04-28 13:52 Jeff Kirsher
@ 2014-04-28 18:53 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-04-28 18:53 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 28 Apr 2014 06:52:23 -0700

> This series contains updates to i40e and i40evf.

Pulled, thanks a lot Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-04-28 13:52 Jeff Kirsher
  2014-04-28 18:53 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-04-28 13:52 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e and i40evf.

Jacob provides a i40e patch to remove ptp_tx_work() because it conflicts
with the interrupt-based handler and will cause spurious warning messages
to be displayed in the kernel log.  Since the hardware can properly trigger
an interrupt, we do not need to poll for an available timestamp in a work
queue any more.

Greg provides two patches for i40e, first to retain the MAC filter list
when changing a port VLAN.  Second fixes an issue where the function to
set the VF MAC address was not taking the port VLAN filter into account
when setting/clearing/resetting the VF's host administered MAC address.

Mitch provides three patches for i40evf, first adds support for getting
and setting RSS hashing options, RSS LUT entries, and getting the number
of device channels from ethtool.  Fixes a panic that woudl occur in the VF
if the PF driver failed or was removed from the host kernel.

Shannon adds driver version string to the driver version command so that
can be passed down through the firmware to low-level NC-SI functions.

Neerav provides several patches, first redistributes queue vectors after
DCB reconfiguration because the total number of queues that are configured
for a VSI may change based on a change in the total number of TCs enabled
as a result of a change in the DCB configuration based on DCBX.  Second,
allows the driver probe to continue when querying DCB config fails.
Lastly, provides changes to retrieve and store missing link config
information that was not being cached in the struct i40e_link_status.

Kevin provides a couple of patches, first to change a int variable type
to u16 to avoid a typecheck failure.  Second to update a function
parameters to remove an argument which is no longer used.

The following are changes since commit a49eb42a341f1df8fa0f9dc4449f9dd4a3234a2f:
  sched, act: allow to clear all actions as well
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (2):
  i40e: Do not enable NTUPLE feature control in MFP mode
  i40e: Do not expose fd-sb commands from debugfs

Catherine Sullivan (1):
  i40e/i40evf: Bump build version

Greg Rose (2):
  i40e: Retain MAC filters when changing port VLAN
  i40e: Use port VLAN in MAC/VLAN filter configuration

Jacob Keller (1):
  i40e: remove ptp_tx_work timestamp work item

Kevin Scott (2):
  i40e: Change variable type to avoid typecheck failure
  i40e: Update function formal parameters

Mitch A Williams (1):
  i40evf: support ethtool RSS options

Mitch Williams (2):
  i40evf: fix panic on PF driver fail
  i40evf: remove debugging message

Neerav Parikh (3):
  i40e: Redistribute queue vectors after DCB reconfiguration
  i40e: Don't stop driver probe when querying DCB config fails
  i40e/i40evf: Retrieve and store missing link config information

Shannon Nelson (1):
  i40e/i40evf: add driver version string to driver version command

 drivers/net/ethernet/intel/i40e/i40e.h             |   2 -
 drivers/net/ethernet/intel/i40e/i40e_common.c      |  21 +-
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     |   6 -
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  19 +-
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |   4 +-
 drivers/net/ethernet/intel/i40e/i40e_ptp.c         |  36 ---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |   3 -
 drivers/net/ethernet/intel/i40e/i40e_type.h        |   4 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  11 +-
 drivers/net/ethernet/intel/i40evf/i40e_type.h      |   4 +
 drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 316 +++++++++++++++++++++
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    |  15 +-
 12 files changed, 373 insertions(+), 68 deletions(-)

-- 
1.9.0

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-03-26 18:03 Jeff Kirsher
  0 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-03-26 18:03 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000e, igb, i40e and i40evf

Anjali provides i40e fix to remove the ATR filter on RST as well as FIN
packets.  Cleans up add_del_fdir() because it was used and implemented
only for the add, so change the name and drop a parameter.  Adds the
ability to drop a flow if we wanted to and adds a flow director
message level to be used for flow director specific messages.  Provide
a fallback debug flow for i40e if the reset fails or the firmware is
unresponsive.

Mitch fixes an issue on i40evf where the Tx watchdog handler was causing
an oops when sending an admin queue message to request a reset because
the admin queue functions use spinlocks.

Greg provides a change to i40e to make the alloc and free queue vector
calls orthogonal.

Shannon fixes i40e to verify the eeprom checksum and firmware CRC status
bits, and shutdown the driver if they fail.  This change stops the
processing of traffic, but does not kill the PF netdev so that the
NVMUpdate process still has a chance at fixing the image.  Also provides
a fix to make sure the VSI has a netdev before trying to use it in
the debugfs netdev_ops commands.

Jakub Kicinski provides patches for e1000e and igb to fix a number issues
found in the PTP code.

The following are changes since commit e74dbb73271c5c3e822af3aa66c9a28bf7dbfbfd:
  Merge branch 'bnx2x-next'
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (6):
  i40e: Delete ATR filter on RST
  i40e: Cleanup in FDIR SB ethtool code
  i40e: Add functionality for FD SB to drop packets
  i40e/i40evf: Add an FD message level
  i40e: Use DEBUG_FD message level for an FD message
  i40e: Add a fallback debug flow for the driver

Greg Rose (1):
  i40e: Make the alloc and free queue vector calls orthogonal

Jakub Kicinski (4):
  e1000e: add timeout for TX HW time stamping work
  e1000e: remove redundant if clause from PTP work
  igb: never generate both software and hardware timestamps
  igb: fix race conditions on queuing skb for HW time stamp

Jesse Brandeburg (1):
  i40evf: remove double space after return

Mitch Williams (1):
  i40evf: fix oops in watchdog handler

Shannon Nelson (2):
  i40e: eeprom integrity check on load and empr
  i40e: check for netdev before debugfs use

 drivers/net/ethernet/intel/e1000e/e1000.h          |   2 +
 drivers/net/ethernet/intel/e1000e/ethtool.c        |   1 +
 drivers/net/ethernet/intel/e1000e/netdev.c         |  10 +-
 drivers/net/ethernet/intel/i40e/i40e.h             |   2 +
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     | 120 ++++++++++++---------
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |  39 ++++---
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  72 ++++++++++---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |  14 ++-
 drivers/net/ethernet/intel/i40e/i40e_type.h        |   1 +
 drivers/net/ethernet/intel/i40evf/i40e_prototype.h |   2 +-
 drivers/net/ethernet/intel/i40evf/i40e_type.h      |   1 +
 drivers/net/ethernet/intel/i40evf/i40evf.h         |   1 +
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    |  10 +-
 drivers/net/ethernet/intel/igb/igb.h               |   3 +-
 drivers/net/ethernet/intel/igb/igb_main.c          |   7 +-
 drivers/net/ethernet/intel/igb/igb_ptp.c           |   3 +
 16 files changed, 186 insertions(+), 102 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-03-20  8:32 Jeff Kirsher
@ 2014-03-20 18:20 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-03-20 18:20 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: netdev, gospo, sassmann, emil.s.tantilov, asharma, donald.c.skidmore

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 20 Mar 2014 01:32:50 -0700

> This series contains updates to e100, igb, igbvf, ixgbe and ixgbevf.
 ...
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-03-20  8:32 Jeff Kirsher
  2014-03-20 18:20 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-03-20  8:32 UTC (permalink / raw)
  To: davem
  Cc: Jeff Kirsher, netdev, gospo, sassmann, emil.s.tantilov, asharma,
	donald.c.skidmore

This series contains updates to e100, igb, igbvf, ixgbe and ixgbevf.

Stefan adds a igb patch to enable the ability strip VLAN header information
for packets bound for a VM on i350 hardware.

Joe Perches provides patches for e100, igb, igbvf, ixgbe and ixgbevf to
convert the use of __constant_<foo> to just <foo> to align with the rest
of the kernel.

Don provides two fixes for ixgbe, first resolves a link issue with DA
cables where we were not always freeing the firmware/software semaphore
after grabbing it.  Second stops caching whether the management firmware
was enabled, however since this is not static, we really need to verify
with each check.

Jacob provides six fixes/cleanups for ixgbe, most notably, correct
the stop_mac_link_on d3() to check the Core Clock Disable bit before
stopping link and to fully check to see if manage firmware is running or
could be enabled before bringing down the link.  Fix flow control
auto-negation for KR/KX/K4 interfaces, since setting up MAC link, the
cached autoc value and current autoc value were being incorrectly used to
determine whether link reset is required.

Emil provides a fix for ixgbe where there was a chance for aggressive
start_ndo_zmit() callers to sneak packets between enabling the Tx queues
and the link coming up.  To resolve this, move the call to enable Tx
queues to after the link is established.

The following are changes since commit a9baf10aafe7001501189099df4b91f90739e182:
  qeth: Fix IP version detection for VLAN traffic
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Don Skidmore (2):
  ixgbe: fix errors related to protected AUTOC calls
  ixgbe: Stop cacheing if the MNG FW enabled

Emil Tantilov (1):
  ixgbe: enable tx queues after link up

Jacob Keller (6):
  ixgbe: check Core Clock Disable bit
  ixgbe: fix ixgbe_stop_mac_link_on_d3_82599 to check mng correctly
  ixgbe: fix ixgbe_setup_mac_link_82599 autoc variables
  ixgbe: remove unused media type
  ixgbe: use ixgbe_read_pci_cfg_word
  ixgbe: clean up ixgbe_atr_compute_perfect_hash_82599

Joe Perches (5):
  e100: Convert uses of __constant_<foo> to <foo>
  igb: Convert uses of __constant_<foo> to <foo>
  igbvf: Convert uses of __constant_<foo> to <foo>
  ixgbe: Convert uses of __constant_<foo> to <foo>
  ixgbevf: Convert uses of __constant_<foo> to <foo>

Stefan Assmann (1):
  igb: enable VLAN stripping for VMs with i350

 drivers/net/ethernet/intel/e100.c                 |   4 +-
 drivers/net/ethernet/intel/igb/e1000_82575.h      |   4 +
 drivers/net/ethernet/intel/igb/e1000_regs.h       |   1 +
 drivers/net/ethernet/intel/igb/igb_main.c         |  19 ++-
 drivers/net/ethernet/intel/igbvf/netdev.c         |   4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c    |   1 -
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c    | 170 +++++-----------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c   |  24 +--
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h   |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c     |   8 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c     |  68 +++++----
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h      |   4 -
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h     |   6 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c     |   1 -
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |   4 +-
 15 files changed, 113 insertions(+), 206 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-03-09  0:10   ` David Miller
@ 2014-03-09  1:12     ` Jeff Kirsher
  0 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-03-09  1:12 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, gospo, sassmann

[-- Attachment #1: Type: text/plain, Size: 913 bytes --]

On Sat, 2014-03-08 at 19:10 -0500, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Sat, 08 Mar 2014 18:50:08 -0500 (EST)
> 
> > From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date: Sat,  8 Mar 2014 01:25:26 -0800
> > 
> >> This series contains updates to e1000e, ixgbevf and igb.
> >  ...
> >>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> master
> > 
> > Pulled, thanks a lot Jeff, and again welcome back.
> 
> Jeff, please get this new warning fixed, thanks:
> 
> drivers/net/ethernet/intel/i40e/i40e_ethtool.c: In function
> ‘i40e_del_fdir_entry’:
> drivers/net/ethernet/intel/i40e/i40e_ethtool.c:1441:18: warning:
> unused variable ‘pf’ [-Wunused-variable]
>   struct i40e_pf *pf = vsi->back;

Yeah, I noticed that as well.  I have a patch in my queue already to
resolve that, should be in my next pull request.  Thanks Dave!

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-03-08 23:50 ` David Miller
@ 2014-03-09  0:10   ` David Miller
  2014-03-09  1:12     ` Jeff Kirsher
  0 siblings, 1 reply; 56+ messages in thread
From: David Miller @ 2014-03-09  0:10 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: David Miller <davem@davemloft.net>
Date: Sat, 08 Mar 2014 18:50:08 -0500 (EST)

> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sat,  8 Mar 2014 01:25:26 -0800
> 
>> This series contains updates to e1000e, ixgbevf and igb.
>  ...
>>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> 
> Pulled, thanks a lot Jeff, and again welcome back.

Jeff, please get this new warning fixed, thanks:

drivers/net/ethernet/intel/i40e/i40e_ethtool.c: In function ‘i40e_del_fdir_entry’:
drivers/net/ethernet/intel/i40e/i40e_ethtool.c:1441:18: warning: unused variable ‘pf’ [-Wunused-variable]
  struct i40e_pf *pf = vsi->back;
                  ^

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-03-08  9:25 Jeff Kirsher
@ 2014-03-08 23:50 ` David Miller
  2014-03-09  0:10   ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: David Miller @ 2014-03-08 23:50 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat,  8 Mar 2014 01:25:26 -0800

> This series contains updates to e1000e, ixgbevf and igb.
 ...
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks a lot Jeff, and again welcome back.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-03-08  9:25 Jeff Kirsher
  2014-03-08 23:50 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-03-08  9:25 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000e, ixgbevf and igb.

Majority of this series contains fixes and cleanups to e1000e,
most notably are:

Todd provides a fix to PTP in e1000e which adds a lock in e1000e_phc_adjfreq
to prevent concurrent changes to TIMINCA and SYSTIMH/L.  Then provides an
igb fix to use ARRAY_SIZE for array size calculation.

David provides the remaining e1000e which contain:
 - cleanup of pointer references that are no longer used
 - fix an issue on systems with Management Engine enabled with the
   ethernet cable unplugged
 - fix an issue on 82579 where enabling EEE LPI sooner than one second
   after link up causes link issues on some switches
 - refactor the power management flows to prevent the suspend path from
   being executed twice when hibernating
 - refactor the runtime power management to fix interfering with the
   functionality of Energy Efficient Ethernet when enabled and to fix
   the device from repeatedly flip between suspend and resume with the
   interface administratively downed
 - enable the feature PHY Ultra Low Power Mode which is a power saving
   feature that reduces the power consumption of the PHY when a cable is
   not connected
 - fix the ethtool offline tests for 82579 parts
 - fix SHRA register access for 82579 parts which was introduced by
   previous commit c3a0dce35af0 "e1000e: fix overrun of PHY RAR array"

Florian provides a fix for ixgbevf where skb->pkt_type was being checked
like a bitmask, but it is not a bitmask.

Fix an issue reported by Stephen Hemminger where there was a warning
about code defined but never used if IGB_HWMON is not defined.

The following are changes since commit 37147652cfaa20a87ead9bb04aec1834b40c5c97:
  6lowpan: reassembly: fix return of init function
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

David Ertman (11):
  e1000e: Cleanup unecessary references
  e1000e: Resolve issues with Management Engine (ME) briefly blocking
    PHY resets
  e1000e: Fix 82579 sets LPI too early.
  e1000e: Cleanup - Update GPL header and Copyright
  e1000e: Add missing branding strings in ich8lan.c
  e1000e: Refactor PM flows
  e1000e Refactor of Runtime Power Management
  e1000e: Feature Enable PHY Ultra Low Power Mode (ULP)
  e1000e: Fix not generating an error on invalid load parameter
  e1000e: Fix ethtool offline tests for 82579 parts
  e1000e: Fix SHRA register access for 82579

Florian Fainelli (1):
  ixgbevf: fix skb->pkt_type checks

Jeff Kirsher (1):
  igb: fix warning if !CONFIG_IGB_HWMON

Todd Fujinaka (2):
  e1000e: PTP lock in e1000e_phc_adjustfreq
  igb: fix array size calculation

 drivers/net/ethernet/intel/e1000e/80003es2lan.c   |  47 +--
 drivers/net/ethernet/intel/e1000e/80003es2lan.h   |  47 +--
 drivers/net/ethernet/intel/e1000e/82571.c         |  47 +--
 drivers/net/ethernet/intel/e1000e/82571.h         |  47 +--
 drivers/net/ethernet/intel/e1000e/Makefile        |   7 +-
 drivers/net/ethernet/intel/e1000e/defines.h       |  55 ++-
 drivers/net/ethernet/intel/e1000e/e1000.h         |  50 ++-
 drivers/net/ethernet/intel/e1000e/ethtool.c       |  63 ++--
 drivers/net/ethernet/intel/e1000e/hw.h            |  55 +--
 drivers/net/ethernet/intel/e1000e/ich8lan.c       | 427 ++++++++++++++++++----
 drivers/net/ethernet/intel/e1000e/ich8lan.h       |  72 ++--
 drivers/net/ethernet/intel/e1000e/mac.c           |  47 +--
 drivers/net/ethernet/intel/e1000e/mac.h           |  47 +--
 drivers/net/ethernet/intel/e1000e/manage.c        |  47 +--
 drivers/net/ethernet/intel/e1000e/manage.h        |  47 +--
 drivers/net/ethernet/intel/e1000e/netdev.c        | 286 +++++++++------
 drivers/net/ethernet/intel/e1000e/nvm.c           |  47 +--
 drivers/net/ethernet/intel/e1000e/nvm.h           |  47 +--
 drivers/net/ethernet/intel/e1000e/param.c         |  53 ++-
 drivers/net/ethernet/intel/e1000e/phy.c           |  47 +--
 drivers/net/ethernet/intel/e1000e/phy.h           |  47 +--
 drivers/net/ethernet/intel/e1000e/ptp.c           |  52 ++-
 drivers/net/ethernet/intel/e1000e/regs.h          |  48 ++-
 drivers/net/ethernet/intel/igb/e1000_82575.c      |   6 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |   3 +-
 25 files changed, 1003 insertions(+), 738 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-01-09 12:52 Jeff Kirsher
@ 2014-01-09 20:13 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-01-09 20:13 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu,  9 Jan 2014 04:52:09 -0800

> This series contains updates to i40e only.
 ...
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-09 12:52 Jeff Kirsher
  2014-01-09 20:13 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-09 12:52 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only.

Anjali provides a fix where interrupts were not being re-enabled on ICR0
even though they were auto masked by hardware.  Then provides a fix to
cleanup RSS initialization because it was doing some extra work, so
remove the extra work and any bugs it created when managing number of
queues.  Since hardware requires a full packet template to be pointed to
when adding hardware flow filters, add the template and use it for
programming filters.

Jesse provides a fix to replace the use of driver specific defines with
kernel ETH_ALEN defines.  Then disables packet split because with the
use of GRO, we do not need the extra bus overhead.  Fixes spelling
error in code comment.

Kamil provides a fix for the driver where the hardware expects the MAC
address in a very specific format and the driver was filing the data
incorrectly.

Mitch provides a fix to resolve a panic on reset by adding checks to
VSI->rx_rings.  Then shortens alloc_rx_buff_failed and
alloc_rx_page_failed variables since both part of an RX specific
structure so just remove the _rx part of the name.  Then fixes
badly formatted lines, long lines and mis-formatted lines.

Shannon provides a fix to call AQ to release any reservation held by this
PF on the NVM resource lock on startup, in order to clear anything that
might have been left over from a previous run.  Then removes interrupt on
AQ error since nearly everything we do is synchronous, using the
interrupt-on-error bit is unnecessary and causing unneeded interrupts.
Adds code to handle the ability to send messages among the physical
function interfaces by the admin queue.

Catherine sets the MFP flag earlier in software init and uses that flag
to decide if other hardware work-arounds are required which turns
off flow director in MFP mode.

The following are changes since commit 54b553e2c16001d13e0186cad2531764065f9a1b:
  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (2):
  i40e: Re-enable interrupt on ICR0
  i40e: Cleanup reconfig rss path

Catherine Sullivan (1):
  i40e: Turn flow director off in MFP mode

Greg Rose (2):
  i40e: Fix GPL header
  i40e: add a comment on barrier and fix panic on reset

Jesse Brandeburg (4):
  i40e: use kernel specific defines
  i40e: disable packet split
  i40e: fix spelling errors
  i40e: Add a dummy packet template

Kamil Krawczyk (1):
  i40e: Fix MAC format in Write MAC address AQ cmd

Mitch Williams (2):
  i40e: shorten wordy fields
  i40e: trivial: formatting and checkpatch fixes

Shannon Nelson (3):
  i40e: release NVM resource reservation on startup
  i40e: remove interrupt on AQ error
  i40e: accept pf to pf adminq messages

 drivers/net/ethernet/intel/i40e/Makefile           |  7 +--
 drivers/net/ethernet/intel/i40e/i40e.h             |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      | 12 ++--
 drivers/net/ethernet/intel/i40e/i40e_adminq.h      |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_alloc.h       |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_common.c      | 14 +++--
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     | 13 ++---
 drivers/net/ethernet/intel/i40e/i40e_diag.c        |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_diag.h        |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 33 ++++++++---
 drivers/net/ethernet/intel/i40e/i40e_hmc.c         |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_hmc.h         |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c     |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h     |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 68 +++++++++++-----------
 drivers/net/ethernet/intel/i40e/i40e_nvm.c         |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_osdep.h       |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_register.h    |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_status.h      |  7 +--
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        | 44 +++++++-------
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        | 11 ++--
 drivers/net/ethernet/intel/i40e/i40e_type.h        | 15 ++---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h    | 11 ++--
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 10 ++--
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |  7 +--
 27 files changed, 176 insertions(+), 174 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-01-06 18:26 ` David Miller
  2014-01-06 18:49   ` Jeff Kirsher
@ 2014-01-06 20:14   ` Jeff Kirsher
  1 sibling, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-06 20:14 UTC (permalink / raw)
  To: David Miller, Sergei Shtylyov; +Cc: netdev, gospo, sassmann

[-- Attachment #1: Type: text/plain, Size: 500 bytes --]

On Mon, 2014-01-06 at 13:26 -0500, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Mon,  6 Jan 2014 04:30:21 -0800
> 
> > This series contains updates to i40e only.
>  ...
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> 
> Pulled, please make sure the coding style feedback does actually
> get addressed.
> 
> Thanks Jeff.

Just to be clear, this coding style will be fixed in patch 13 of the
next series I am sending out.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-01-06 18:26 ` David Miller
@ 2014-01-06 18:49   ` Jeff Kirsher
  2014-01-06 20:14   ` Jeff Kirsher
  1 sibling, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-06 18:49 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, gospo, sassmann

[-- Attachment #1: Type: text/plain, Size: 459 bytes --]

On Mon, 2014-01-06 at 13:26 -0500, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Mon,  6 Jan 2014 04:30:21 -0800
> 
> > This series contains updates to i40e only.
>  ...
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> 
> Pulled, please make sure the coding style feedback does actually
> get addressed.
> 
> Thanks Jeff.

Yes, I will make sure it is in one of the upcoming series.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-01-06 12:30 Jeff Kirsher
@ 2014-01-06 18:26 ` David Miller
  2014-01-06 18:49   ` Jeff Kirsher
  2014-01-06 20:14   ` Jeff Kirsher
  0 siblings, 2 replies; 56+ messages in thread
From: David Miller @ 2014-01-06 18:26 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon,  6 Jan 2014 04:30:21 -0800

> This series contains updates to i40e only.
 ...
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, please make sure the coding style feedback does actually
get addressed.

Thanks Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-06 12:30 Jeff Kirsher
  2014-01-06 18:26 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-06 12:30 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only.

Majority of this series contains patches from Greg and Mitch to fix
up or add functionality to the PF/VF driver interactions.  Notably,
a fix for SR-IOV VF port VLAN which resolved the problem of port VLAN
configurations not being persistent across VF driver loads and unloads
and enable/disable of the feature.  Also do not enable the default port
on the VEB, which is designed only to bridge the PF to an Open vSwitch
or bridge.  Another fix to resolve a possible memory corruption
condition where ARQ messages are written to random memory locations.
Fix a problem where the 'ip link show' command would display stale
link address information after the link address was set via the 'ip
link set' command.

Anjali provides several patches, one which saves information that can
be used while cleaning the Tx ring and useful in detecting Tx hangs.
Then provides a fixes to the admin queue shutdown function to ensure
we are shutting down the queue in the shutdown path and ensure ASQ is
alive before issuing the admin queue command.

Shannon provides a fix for get/update vsi params where the incorrect
struct was being used.

The following are changes since commit b912b2f8fc71df4c3ffa7a9fe2c2227e8bcdaa07:
  net/mlx4_core: Warn if device doesn't have enough PCI bandwidth
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (4):
  i40e: Record dma buffer info for dummy packets
  i40e: Admin queue shutdown fixes
  i40e: check asq alive before notify
  i40e: Do not allow AQ calls from ndo-ops

Greg Rose (4):
  i40e: Fix SR-IOV VF port VLAN
  i40e: Do not enable default port on the VEB
  i40e: Fix VF driver MAC address configuration
  i40e: Hide the Port VLAN VLAN ID

Jesse Brandeburg (1):
  i40e: fix whitespace

Mitch Williams (5):
  i40e: avoid unnecessary register read
  i40e: use struct assign instead of memcpy
  i40e: don't allocate zero size
  i40e: acknowledge VFLR when disabling SR-IOV
  i40e: support VFs on PFs other than 0

Shannon Nelson (1):
  i40e: use correct struct for get and update vsi params

 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |   3 +
 drivers/net/ethernet/intel/i40e/i40e_common.c      |  75 ++++++++------
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     |   1 +
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  45 ++++----
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |   5 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |   9 +-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 114 ++++++++++++++++-----
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |   2 +
 8 files changed, 169 insertions(+), 85 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2014-01-05 10:46 Jeff Kirsher
@ 2014-01-06  1:31 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2014-01-06  1:31 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun,  5 Jan 2014 02:46:52 -0800

> This series contains updates to i40e only.
 ...
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Looks fine, pulled, thanks Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-05 10:46 Jeff Kirsher
  2014-01-06  1:31 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2014-01-05 10:46 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only.

Anjali provides two cleanups to remove unnecessary code and a fix
to resolve debugfs dumping only half the NVM.  Then provides a fix
to ethtool NVM reads where shadow RAM was used instead of actual
NVM reads.

Jesse provides a couple of fixes, one removes custom i40e functions
which duplicate existing kernel functionality.  Second fixes constant
cast issues by replacing __constant_htons with htons.

Mitch provides a couple of fixes for the VF interfaces in i40e.  First
provides a fix to guard against VF message races with can cause a panic.
Second fix reinitializes the buffer size each time we clean the ARQ,
because subsequent messages can be truncated. Lastly adds functionality
to enable/disable ICR 0 dynamically.

Vasu adds a simple guard against multiple includes of the i40e_txrx.h
file.

Shannon provides a couple of fixes, first fix swaps a couple of lines
around in the error handling if the allocation for the VSI array fails.
Second fixes an issue where we try to free the q_vector that has not
been setup which can panic the kernel.

David provides a patch to save off the point to memory and the length
of 2 structs used in the admin queue in order to store all info about
allocated kernel memory.

Neerav fixes ring allocation where allocation and clearing of rings
for a VSI should be using the alloc_queue_pairs and not num_queue_pairs.
Then removes the unused define for multi-queue enabled.

The following are changes since commit a1d4b03a076d95edc88d070f7627a73ab80abddc:
  Merge branch 'bgmac'
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (4):
  i40e: Dump the whole NVM, not half
  i40e: Change the ethtool NVM read method to use AQ
  i40e: Remove unnecessary prototypes
  i40e: remove un-necessary io-write

David Cassard (1):
  i40e: keep allocated memory in structs

Jesse Brandeburg (2):
  i40e: fix mac address checking
  i40e: fix constant cast issues

Mitch Williams (3):
  i40e: guard against vf message races
  i40e: use functions to enable and disable icr 0
  i40e: reinit buffer size each time

Neerav Parikh (2):
  i40e: Fix ring allocation
  i40e: I40E_FLAG_MQ_ENABLED is not used

Shannon Nelson (2):
  i40e: fix error handling when alloc of vsi array fails
  i40e: catch unset q_vector

Vasu Dev (1):
  i40e: add header file flag _I40E_TXRX_H_

 drivers/net/ethernet/intel/i40e/i40e.h             |  40 +++-----
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      | 103 +++++++++------------
 drivers/net/ethernet/intel/i40e/i40e_adminq.h      |  13 +--
 drivers/net/ethernet/intel/i40e/i40e_common.c      |  27 ------
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     |   8 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |  68 +++++++++-----
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  47 +++++-----
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |   1 -
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |   8 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |   4 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  28 +++---
 11 files changed, 162 insertions(+), 185 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2013-12-19 19:20 ` Jeff Kirsher
@ 2013-12-19 19:47   ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2013-12-19 19:47 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 19 Dec 2013 11:20:36 -0800

> Disregard this pull request.  I overlooked a patch that needs to either
> precede this series or get added to the series for VXLAN.
> 
> I will be sending out a v2 with the necessary patch added.

Ok.

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2013-12-19  6:34 Jeff Kirsher
@ 2013-12-19 19:20 ` Jeff Kirsher
  2013-12-19 19:47   ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2013-12-19 19:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, gospo, sassmann

[-- Attachment #1: Type: text/plain, Size: 1897 bytes --]

On Wed, 2013-12-18 at 22:34 -0800, Jeff Kirsher wrote:
> This series contains updates to i40e only.
> 
> Anjali provides a patch to prevent messages from stray HMC events,
> except
> at interrupt message level, and refactors the HMC error handling.
> 
> Catherine adds routines in probe to populate/check PCI bus speed and
> width,
> then verify we are in a 8GT/s x8 PCIe slot and warn when we are not.
> 
> Shannon adds Wake-on-LAN support for i40e, fixes curly brace use as
> well as
> return type for i40e_vsi_clear_rings().  Lastly implements the
> set_settings
> and set_pauseparam ethtool functionality.
> 
> Joseph implements receive offload for VXLAN for i40e, where the
> hardware
> supports checksum offload/verification of the inner/outer header.
> 
> Mitch provides the bulk of the changes, where he refactors the VF
> reset
> code so that it works on real hardware.  Then does code cleanup by
> calling existing functions to enable and disable queues for VFs and
> remove unused functions.  Removes a unnecessary log messages that are
> seen at every VF reset, for example complaining about disabling queues
> that are already disabled.  Fixes an error return when the VF asks to
> add an invalid MAC address and if the VF sends a bad message, make it
> more informative about what is actually going on.
> 
> Jesse refactors the LED function to flash LED lights correctly.
> 
> The following are changes since commit
> 020e867c755610fa5a2a08a69707e636cf368b55:
>   isdn: use strlcpy() instead strcpy()
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> master

Dave-
Disregard this pull request.  I overlooked a patch that needs to either
precede this series or get added to the series for VXLAN.

I will be sending out a v2 with the necessary patch added.

Cheers,
Jeff

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-12-19  6:34 Jeff Kirsher
  2013-12-19 19:20 ` Jeff Kirsher
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2013-12-19  6:34 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only.

Anjali provides a patch to prevent messages from stray HMC events, except
at interrupt message level, and refactors the HMC error handling.

Catherine adds routines in probe to populate/check PCI bus speed and width,
then verify we are in a 8GT/s x8 PCIe slot and warn when we are not.

Shannon adds Wake-on-LAN support for i40e, fixes curly brace use as well as
return type for i40e_vsi_clear_rings().  Lastly implements the set_settings
and set_pauseparam ethtool functionality.

Joseph implements receive offload for VXLAN for i40e, where the hardware
supports checksum offload/verification of the inner/outer header.

Mitch provides the bulk of the changes, where he refactors the VF reset
code so that it works on real hardware.  Then does code cleanup by
calling existing functions to enable and disable queues for VFs and
remove unused functions.  Removes a unnecessary log messages that are
seen at every VF reset, for example complaining about disabling queues
that are already disabled.  Fixes an error return when the VF asks to
add an invalid MAC address and if the VF sends a bad message, make it
more informative about what is actually going on.

Jesse refactors the LED function to flash LED lights correctly.

The following are changes since commit 020e867c755610fa5a2a08a69707e636cf368b55:
  isdn: use strlcpy() instead strcpy()
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (1):
  i40e: Suppress HMC error to Interrupt message level

Catherine Sullivan (1):
  i40e: Populate and check pci bus speed and width

Jesse Brandeburg (1):
  i40e: update led set args

Joseph Gasparakis (1):
  i40e: Rx checksum offload for VXLAN

Mitch Williams (8):
  i40e: move i40e_reset_vf
  i40e: refactor VF reset flow
  i40e: remove redundant code
  i40e: remove chatty log messages
  i40e: fix error return
  i40e: be more informative
  i40e: make a define from a large constant
  i40e: report VF MAC addresses correctly

Shannon Nelson (3):
  i40e: add wake-on-lan support
  i40e: fix curly brace use and return type
  i40e: add set settings and pauseparam

 drivers/net/ethernet/intel/i40e/i40e.h             |   3 +
 drivers/net/ethernet/intel/i40e/i40e_common.c      | 136 ++++-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 145 +++++-
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 105 ++--
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |   3 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |  56 ++-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |  20 +
 drivers/net/ethernet/intel/i40e/i40e_type.h        |  61 ++-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 559 ++++++---------------
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |   2 +-
 10 files changed, 572 insertions(+), 518 deletions(-)

-- 
1.8.3.1

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-12-12 12:40 Jeff Kirsher
  0 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2013-12-12 12:40 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only (again).

Jesse provides a fix for when tx_rings structure is NULL and we do not want
to panic. Then refactors the flow control set up and disables L2 flow control
by default.  Provides some trivial fixes as well as prevent compiler warnings.
Then to align to similar behaviour in ixgbe, use the total number of CPUs in
the system to suggest the number of transmit and receive queue pairs.

Shannon provides a i40e ethtool fix to get some more reasonable information
reports back out to the ethtool.  In addition, fixes PF reset after offline
test, where it reorders the test to put the register test last as it is the
only one that needs a reset, and we wait to trigger the reset until after we
clear the testing bit.  Lastly provides basic support for handling suspend
and resume for now, later on Wake-On-LAN support will be added.

Elizabeth Kappler adds netdev ops helper function.

Anjali provides changes to tell the stack about our actual number of queues
in order for RFS/RPS/XFS to work correctly.  Then provides several patches to
implement dynamically changing the queue count for the main VSI.  Adds
basic support for get/set channels for RSS so that the number of receive and
transmit queue pair can be changed via ethtool.  Cleans up the use of
rtnl_lock in the reset patch since it runs from a work time.

Neerav Parikh cleans up the VF interface to remove FCoE code as this
feature will not be supported on VF interfaces.

The following are changes since commit c45f812f0280c13f1b7992be5e0de512312a9e8f:
  8390 : Replace ei_debug with msg_enable/NETIF_MSG_* feature
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (6):
  i40e: Tell the stack about our actual number of queues
  i40e: reinit flow for the main VSI
  i40e: function to reconfigure RSS queues and rebuild
  i40e: debugfs command to change RSS queue count
  i40e: Add basic support for get/set channels for RSS
  i40e: rtnl_lock in reset path fixes

Elizabeth Kappler (1):
  i40e: add netdev ops helper function

Jesse Brandeburg (5):
  i40e: fix null dereference
  i40e: fix up some of the ethtool connection reporting
  i40e: init flow control settings to disabled
  i40e: trivial fixes
  i40e: use same number of queues as CPUs

Neerav Parikh (1):
  i40e: Remove FCoE in i40e_virtchnl_pf.c code

Shannon Nelson (2):
  i40e: fix pf reset after offline test
  i40e: support for suspend and resume

 drivers/net/ethernet/intel/i40e/i40e.h             |   6 +-
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     |  22 +-
 drivers/net/ethernet/intel/i40e/i40e_diag.c        |   2 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 146 +++++++-
 drivers/net/ethernet/intel/i40e/i40e_hmc.c         |   2 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 380 ++++++++++++++++++---
 drivers/net/ethernet/intel/i40e/i40e_type.h        |   4 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |  29 +-
 8 files changed, 499 insertions(+), 92 deletions(-)

-- 
1.8.3.1

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2013-12-06  8:06 Jeff Kirsher
@ 2013-12-06 19:49 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2013-12-06 19:49 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri,  6 Dec 2013 00:06:13 -0800

> This series contains updates to i40e only.
> 
> Christopher Pau provides a patch to set pf_id based on device and
> function numbers since NICs with ARI enabled can have function
> numbers larger than 8.
> 
> Anjali provides 3 i40e patches to update hardware defines to keep
> in sync with hardware updates.
> 
> Shannon provides the majority of i40e patches, with 7.  First patch
> clears the admin queue head and tail registers during admin queue
> shutdown. Then simplifies the admin queue head-tail-len setups to
> use more virtual registers.  Provides several patches to cleanup
> and fix driver load and reset procedures to make more robust.  Lastly,
> provides an ethtool test for interrupts using the software interrupt.
> 
> Mitch provides some i40e patches which fixes up VF code in the PF
> driver, specifically the number of vectors per VF are reported by the
> hardware does not include vector 0, so we need to account for this
> when checking.  In addition, cleans up debugging messages.
> 
> Kamil provides an i40e patch to fix the diagnostics test by restricting
> the diagnostic test length.

Pulled, thanks a lot Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-12-06  8:06 Jeff Kirsher
  2013-12-06 19:49 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2013-12-06  8:06 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e only.

Christopher Pau provides a patch to set pf_id based on device and
function numbers since NICs with ARI enabled can have function
numbers larger than 8.

Anjali provides 3 i40e patches to update hardware defines to keep
in sync with hardware updates.

Shannon provides the majority of i40e patches, with 7.  First patch
clears the admin queue head and tail registers during admin queue
shutdown. Then simplifies the admin queue head-tail-len setups to
use more virtual registers.  Provides several patches to cleanup
and fix driver load and reset procedures to make more robust.  Lastly,
provides an ethtool test for interrupts using the software interrupt.

Mitch provides some i40e patches which fixes up VF code in the PF
driver, specifically the number of vectors per VF are reported by the
hardware does not include vector 0, so we need to account for this
when checking.  In addition, cleans up debugging messages.

Kamil provides an i40e patch to fix the diagnostics test by restricting
the diagnostic test length.

The following are changes since commit d70f2cf520cf8c86c6b467fc5dcea524ec51dc2f:
  macvlan: Support creating macvtaps from macvlans
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Anjali Singhai Jain (3):
  i40e: sync header files with hardware
  i40e: register file updates
  i40e: firmware version fields offsets update

Christopher Pau (1):
  i40e: set pf_id based on device and function numbers

Kamil Krawczyk (1):
  i40e: restrict diag test length

Mitch Williams (3):
  i40e: allow one more vector for VFs
  i40e: properly add VF MAC addresses
  i40e: fix debugging messages

Shannon Nelson (7):
  i40e: clear AQ head and tail registers
  i40e: simplify aq head-tail-len setups
  i40e: select reset counters correctly
  i40e: retry call on timeout
  i40e: default debug mask setting
  i40e: add interrupt test
  i40e: add support for triggering EMPR

 drivers/net/ethernet/intel/i40e/i40e.h             |  19 +--
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |  66 +++++-----
 drivers/net/ethernet/intel/i40e/i40e_adminq.h      |   1 +
 drivers/net/ethernet/intel/i40e/i40e_common.c      |   6 +-
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     |   4 +
 drivers/net/ethernet/intel/i40e/i40e_diag.c        |   8 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |  10 +-
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h     |   4 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        |  37 +++++-
 drivers/net/ethernet/intel/i40e/i40e_register.h    | 134 +++++++--------------
 drivers/net/ethernet/intel/i40e/i40e_type.h        |  11 +-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |   8 +-
 12 files changed, 155 insertions(+), 153 deletions(-)

-- 
1.8.3.1

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

* [net-next  00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-08-21  8:23 Jeff Kirsher
  0 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2013-08-21  8:23 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to igb and e1000e.

Akeem provides 3 igb patches, the first resets the link when EEE is enabled
or disabled if the link is up.  His second patch changes a register read
which normally stores of the read value to "just-read" so that hardware
can accurately latch the register read.  Lastly, he adds rcu_lock to avoid
a possible race condition with igb_update_stats function.

Mitch provides a fix for SR-IOV, where MSI-X interrupts are required, so
make sure that MSI-X is enabled before allowing the user to turn on SR-IOV.

Alex's igb patch make it so that we limit the lower bound for max_frame_size
to the size of a standard Ethernet frame.  This allows for feature parity
with other Intel based drivers such as ixgbe.

Carolyn adds a SKU for a flashless i210 device and a fix for get_fw_version()
so that it works for all parts for igb.  In addition, she has 2 igb patches
to refactor NVM code to accommodate devices with no flash.  Lastly, she
adds code to check for the failure of pci_disable_link_state() to attempt
to work around a problem found with some systems.

Laura provides the remaining 2 igb patches.  One removing the hard-coded
value for the size of the RETA indirection table, and creates a macro instead
for the RETA indirection table.  The second adds the ethtool callbacks
necessary to change the RETA indirection table from userspace.

Bruce fixes a whitespace issue in a recent commit and resolves a jiffies
comparison warning by using time_after().

Li provides a fix for e1000e to avoid a kernel crash on shutdown by adding
one more check in e1000e_shutdown().  This is due to e1000e_shutdown()
trying to clear correctable errors on the upstream P2P bridge, when under
some cases we do not have the upstream P2P bridge.

The following are changes since commit 84ce22df92f5cf9ecb76d53f4bf5f6d504684540:
  net: davinci_mdio: use platform_{get,set}_drvdata()
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Akeem G Abodunrin (3):
  igb: Reset the link when EEE setting changed
  igb: Read register for latch_on without return value
  igb: Added rcu_lock to avoid race

Alexander Duyck (1):
  igb: Update MTU so that it is always at least a standard frame size

Bruce Allan (2):
  e1000e: cleanup whitespace in recent commit
  e1000e: resolve checkpatch JIFFIES_COMPARISON warning

Carolyn Wyborny (5):
  igb: Refactor of init_nvm_params
  igb: Refactor NVM read functions to accommodate devices with no flash
  igb: Add device support for flashless SKU of i210 device
  igb: Fix get_fw_version function for all parts
  e1000e: Add code to check for failure of pci_disable_link_state call

Laura Mihaela Vasilescu (2):
  igb: Add macro for size of RETA indirection table
  igb: Expose RSS indirection table for ethtool

Li Zhang (1):
  e1000e: Avoid kernel crash during shutdown

Mitch A Williams (1):
  igb: don't allow SR-IOV without MSI-X

 drivers/net/ethernet/intel/e1000e/ethtool.c    |   2 +-
 drivers/net/ethernet/intel/e1000e/hw.h         |   3 +-
 drivers/net/ethernet/intel/e1000e/netdev.c     |  92 ++++++++++-----
 drivers/net/ethernet/intel/igb/e1000_82575.c   | 117 ++++++++-----------
 drivers/net/ethernet/intel/igb/e1000_defines.h |  34 ++++--
 drivers/net/ethernet/intel/igb/e1000_hw.h      |   3 +
 drivers/net/ethernet/intel/igb/e1000_i210.c    | 155 ++++++++++++++++---------
 drivers/net/ethernet/intel/igb/e1000_i210.h    |   5 +-
 drivers/net/ethernet/intel/igb/e1000_nvm.c     |  80 +++++++++----
 drivers/net/ethernet/intel/igb/e1000_nvm.h     |   1 +
 drivers/net/ethernet/intel/igb/igb.h           |   5 +
 drivers/net/ethernet/intel/igb/igb_ethtool.c   | 106 ++++++++++++++++-
 drivers/net/ethernet/intel/igb/igb_main.c      | 105 ++++++++++-------
 drivers/net/ethernet/intel/igb/igb_ptp.c       |   8 +-
 14 files changed, 476 insertions(+), 240 deletions(-)

-- 
1.8.3.1

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-07-29 12:51 Jeff Kirsher
  0 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2013-07-29 12:51 UTC (permalink / raw)
  To: davem, bhelgaas; +Cc: Jeff Kirsher, netdev, gospo, sassmann, linux-pci

This series contains updates to ixgbe and pci.

The first patch for ixgbe from Greg Rose is the second submission.  The
first submission of "ixgbe: Retain VLAN filtering in promiscuous + VT
mode" had a typo, which Joe Perches pointed out and is fixed in this
submission.

Alex updates the ixgbe driver to use the generic helper pci_vfs_assigned
instead of the driver specific function ixgbe_vfs_are_assigned.

Don Skidmore provides 4 patches for ixgbe, the first being a fix for
flow control ethtool reporting.  Originally ixgbe_device_supports_autoneg_fc()
was expected to be called by only copper devices, which lead to false
information being displayed via ethtool.  Two other patches add support
for fixed fiber for SFP+ devices and the addition of a quad-port x520
adapter.  The last patch simply bumps the driver version.

Emil Tantilov provides 3 fixes for ixgbe, two of which resolve
semaphore lock issues.  The third fix resolves several issues in the
previous implementation of the SFF data dumps of SFP+ modules.

The remaining ixgbe and pci patches are from Jacob Keller.  The pci
patches exposes bus speed, link speed and bus width so that drivers
can take advantage of this information.  In addition, adds a pci function
which obtains minimum link width and speed.  Jacob also provides the
ixgbe patch to incorporate the pci function. He provides a patch that
fixes a lockdep issue created due to ixgbe_ptp_stop always running
cancel_work_sync even if the work item had not been created properly with
INIT_WORK. This issue was found and reported by Stephen Hemminger.

The following are changes since commit fe6f700d6cbb7e8a61711e325f53d9c9e0a42a4c:
  net/mlx4_core: Respond to operation request by firmware
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (1):
  ixgbe: Use pci_vfs_assigned instead of ixgbe_vfs_are_assigned

Don Skidmore (4):
  ixgbe: fix fc autoneg ethtool reporting.
  ixgbe: add new media type
  ixgbe: bump version number
  ixgbe: add support for quad-port x520 adapter

Emil Tantilov (3):
  ixgbe: fix semaphore lock for I2C read/writes on 82598
  ixgbe: fix SFF data dumps of SFP+ modules
  ixgbe: clear semaphore bits on timeouts

Greg Rose (1):
  ixgbe: Retain VLAN filtering in promiscuous + VT mode

Jacob Keller (6):
  pci: expose pcie_link_speed and pcix_bus_speed arrays
  pci: move enum pcie_link_width into pci.h
  pci: Add function to obtain minimum link width and speed
  ixgbe: call pcie_get_mimimum_link to check if device has enough
    bandwidth
  ixgbe: fix lockdep annotation issue for ptp's work item
  ixgbe: rename LL_EXTENDED_STATS to use queue instead of q

 drivers/net/ethernet/intel/ixgbe/ixgbe.h         |   7 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c   |  34 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c   | 231 ++++++++++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c  |  88 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |  94 ++---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    | 158 +++++++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c     | 470 ++++++++++++++++-------
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h     |  41 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c     |  12 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c   | 101 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h    |  12 +
 drivers/pci/pci.c                                |  43 +++
 drivers/pci/probe.c                              |   4 +-
 include/linux/pci.h                              |  18 +
 include/linux/pci_hotplug.h                      |  13 -
 15 files changed, 983 insertions(+), 343 deletions(-)

-- 
1.7.11.7

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2013-04-18 23:30 Jeff Kirsher
@ 2013-04-19 18:19 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2013-04-19 18:19 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 18 Apr 2013 16:30:07 -0700

> This series contains updates to ixgbe and igb.
> 
> The ixgbe changes contains 2 patches from the community, one which is a
> fix from akepner to fix a issue where netif_running() in shutdown was
> not done under rtnl_lock.  The other community fix from Joe Perches
> cleans up #ifdef CONFIG_DEBUG_FS which is no longer necessary.  The
> last ixgbe patch, from Jacob Keller, adds support for WoL on 82559
> SFP+ LOM.
> 
> The remaining patches are against igb, 10 of which were previously
> submitted in a pull request where changes were requested.
> 
> The following igb patches:
>  igb: Support for 100base-fx SFP
>  igb: Support to read and export SFF-8472/8079 data
> are v2 based on feedback from Dan Carpenter and Ben Hutchings in
> the previous pull request.
> 
> The largest set of changes are in my patch to cleanup code comments
> and whitespace to align the igb driver with the networking style of
> code comments.  While cleaning up the code comments, fixed several
> other whitespace/checkpatch.pl code formatting issues.
> 
> Other notable igb patches are EEE capable devices query the PHY to
> determine what the link partner is advertising, added support for
> i354 devices and added support for spoofchk config.
> 
> The following are changes since commit c1cb0d3b569b1d21ada8666efb42dfd437617a09:
>   Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks a lot Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-04-18 23:30 Jeff Kirsher
  2013-04-19 18:19 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2013-04-18 23:30 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to ixgbe and igb.

The ixgbe changes contains 2 patches from the community, one which is a
fix from akepner to fix a issue where netif_running() in shutdown was
not done under rtnl_lock.  The other community fix from Joe Perches
cleans up #ifdef CONFIG_DEBUG_FS which is no longer necessary.  The
last ixgbe patch, from Jacob Keller, adds support for WoL on 82559
SFP+ LOM.

The remaining patches are against igb, 10 of which were previously
submitted in a pull request where changes were requested.

The following igb patches:
 igb: Support for 100base-fx SFP
 igb: Support to read and export SFF-8472/8079 data
are v2 based on feedback from Dan Carpenter and Ben Hutchings in
the previous pull request.

The largest set of changes are in my patch to cleanup code comments
and whitespace to align the igb driver with the networking style of
code comments.  While cleaning up the code comments, fixed several
other whitespace/checkpatch.pl code formatting issues.

Other notable igb patches are EEE capable devices query the PHY to
determine what the link partner is advertising, added support for
i354 devices and added support for spoofchk config.

The following are changes since commit c1cb0d3b569b1d21ada8666efb42dfd437617a09:
  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Akeem G. Abodunrin (5):
  igb: Support for 100base-fx SFP
  igb: Support to read and export SFF-8472/8079 data
  igb: Implement support to power sfp cage and turn on I2C
  igb: random code and comments fix
  igb: Fix sparse warnings on function pointers

Alexander Duyck (3):
  igb: Mask off check of frag_off as we only want fragment offset
  igb: Pull adapter out of main path in igb_xmit_frame_ring
  igb: Use rx/tx_itr_setting when setting up initial value of itr

Carolyn Wyborny (1):
  igb: Add support for i354 devices

Jacob Keller (1):
  ixgbe: Add support for WoL on 82599 SFP+ LOM

Jeff Kirsher (1):
  igb: Fix code comments and whitespace

Joe Perches (1):
  ixgbe: Remove unnecessary #ifdef CONFIG_DEBUG_FS tests

Lior Levy (1):
  igb: add support for spoofchk config

Matthew Vick (1):
  igb: Enable EEE LP advertisement

akepner (1):
  ixgbe: in shutdown, do netif_running() under rtnl_lock

 drivers/net/ethernet/intel/igb/e1000_82575.c   |  252 +++--
 drivers/net/ethernet/intel/igb/e1000_82575.h   |    2 +
 drivers/net/ethernet/intel/igb/e1000_defines.h |   50 +-
 drivers/net/ethernet/intel/igb/e1000_hw.h      |   57 +-
 drivers/net/ethernet/intel/igb/e1000_i210.c    |   93 +-
 drivers/net/ethernet/intel/igb/e1000_i210.h    |    4 +
 drivers/net/ethernet/intel/igb/e1000_mac.c     |  124 +--
 drivers/net/ethernet/intel/igb/e1000_mac.h     |   17 +-
 drivers/net/ethernet/intel/igb/e1000_mbx.c     |   11 +-
 drivers/net/ethernet/intel/igb/e1000_mbx.h     |   52 +-
 drivers/net/ethernet/intel/igb/e1000_nvm.c     |   27 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c     |  259 ++---
 drivers/net/ethernet/intel/igb/e1000_regs.h    |   53 +-
 drivers/net/ethernet/intel/igb/igb.h           |  133 +--
 drivers/net/ethernet/intel/igb/igb_ethtool.c   |  345 +++++--
 drivers/net/ethernet/intel/igb/igb_hwmon.c     |   29 +-
 drivers/net/ethernet/intel/igb/igb_main.c      | 1270 +++++++++++++-----------
 drivers/net/ethernet/intel/igb/igb_ptp.c       |   61 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h       |    5 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c  |   15 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h  |    1 +
 21 files changed, 1604 insertions(+), 1256 deletions(-)

-- 
1.7.11.7

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
  2013-03-08 10:07 Jeff Kirsher
@ 2013-03-08 17:25 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2013-03-08 17:25 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri,  8 Mar 2013 02:07:02 -0800

> This series contains updates to ixgbevf and e1000e.
> 
> Alex's ixgbevf patch is meant to address several race issues that become
> possible because next_to_watch could possibly be set to a value that shows
> that the descriptor is done when it is not.  In order to correct that we
> instead make next_to_watch a pointer that is set to NULL during cleanup,
> and set to the eop_desc after the descriptor rings have been written.
> 
> Stephen's ixgbevf patch makes the PCI id table a const and reformats the
> table to match what the ixgbe driver does.
> 
> The remaining 13 patches from Bruce are cleanup patches for e1000e to
> resolve checkpatch.pl warnings/errors, removing blank lines where
> necessary and fix code formatting.
> 
> The following are changes since commit 7f0e44ac9f7f12a2519bfed9ea4df3c1471bd8bb:
>   ipv6 flowlabel: add __rcu annotations
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-03-08 10:07 Jeff Kirsher
  2013-03-08 17:25 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2013-03-08 10:07 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to ixgbevf and e1000e.

Alex's ixgbevf patch is meant to address several race issues that become
possible because next_to_watch could possibly be set to a value that shows
that the descriptor is done when it is not.  In order to correct that we
instead make next_to_watch a pointer that is set to NULL during cleanup,
and set to the eop_desc after the descriptor rings have been written.

Stephen's ixgbevf patch makes the PCI id table a const and reformats the
table to match what the ixgbe driver does.

The remaining 13 patches from Bruce are cleanup patches for e1000e to
resolve checkpatch.pl warnings/errors, removing blank lines where
necessary and fix code formatting.

The following are changes since commit 7f0e44ac9f7f12a2519bfed9ea4df3c1471bd8bb:
  ipv6 flowlabel: add __rcu annotations
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (1):
  ixgbevf: Make next_to_watch a pointer and adjust memory barriers to
    avoid races

Bruce Allan (13):
  e1000e: cleanup CODE_INDENT checkpatch errors
  e1000e: cleanup SPACING checkpatch errors and warnings
  e1000e: cleanup LONG_LINE checkpatch warnings
  e1000e: cleanup LEADING_SPACE checkpatch warnings
  e1000e: cleanup PARENTHESIS_ALIGNMENT checkpatch checks
  e1000e: cleanup SPACING checkpatch checks
  e1000e: cleanup (add/remove) blank lines where appropriate
  e1000e: cleanup unusually placed comments
  e1000e: cleanup formatting of static structs
  e1000e: cleanup unnecessary line breaks
  e1000e: cleanup USLEEP_RANGE checkpatch checks
  e1000e: cleanup format of struct e1000_opt_list struct
  e1000e: cleanup - move defines to appropriate header file

Stephen Hemminger (1):
  ixgbevf: use PCI_DEVICE_TABLE macro

 drivers/net/ethernet/intel/e1000e/80003es2lan.c   | 131 ++++++-----
 drivers/net/ethernet/intel/e1000e/82571.c         |  38 ++-
 drivers/net/ethernet/intel/e1000e/82571.h         |   2 +
 drivers/net/ethernet/intel/e1000e/defines.h       |  25 +-
 drivers/net/ethernet/intel/e1000e/e1000.h         |  18 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c       | 177 +++++++-------
 drivers/net/ethernet/intel/e1000e/hw.h            |   4 +-
 drivers/net/ethernet/intel/e1000e/ich8lan.c       | 195 ++++++++--------
 drivers/net/ethernet/intel/e1000e/mac.c           |  10 +-
 drivers/net/ethernet/intel/e1000e/netdev.c        | 269 ++++++++++------------
 drivers/net/ethernet/intel/e1000e/nvm.c           |   2 +-
 drivers/net/ethernet/intel/e1000e/param.c         |  62 +++--
 drivers/net/ethernet/intel/e1000e/phy.c           | 130 +++++------
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   2 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |  80 ++++---
 15 files changed, 574 insertions(+), 571 deletions(-)

-- 
1.7.11.7

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

* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-01-11 10:23 Jeff Kirsher
  0 siblings, 0 replies; 56+ messages in thread
From: Jeff Kirsher @ 2013-01-11 10:23 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000e only.

The following are changes since commit 1def9238d4aa2146924994aa4b7dc861f03b9362:
  net_sched: more precise pkt_len computation
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Bruce Allan (15):
  e1000e: SerDes autoneg flow control
  e1000e: Acquire/release semaphore when writing each EEPROM page
  e1000e: Invalid Image CSUM bit changed for I217
  e1000e: helper functions for accessing EMI registers
  e1000e: 82577: workaround for link drop issue
  e1000e: fix enabling of EEE on 82579 and I217
  e1000e: unexpected "Reset adapter" message when cable pulled
  e1000e: add missing bailout on error
  e1000e: resolve checkpatch PREFER_PR_LEVEL warning
  e1000e: cleanup redundant statistics counter
  e1000e: cleanup unusual comment placement
  e1000e: cleanup unnecessary line wrap
  e1000e: cleanup magic number
  e1000e: cleanup code duplication
  e1000e: merge multiple conditional statements into one

 drivers/net/ethernet/intel/e1000e/defines.h |  10 +-
 drivers/net/ethernet/intel/e1000e/e1000.h   |   2 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c |   1 -
 drivers/net/ethernet/intel/e1000e/hw.h      |   4 +
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 213 +++++++++++++++++++++-------
 drivers/net/ethernet/intel/e1000e/mac.c     | 125 ++++++++++++++++
 drivers/net/ethernet/intel/e1000e/netdev.c  |  67 ++++-----
 drivers/net/ethernet/intel/e1000e/nvm.c     |  26 ++--
 drivers/net/ethernet/intel/e1000e/param.c   |   3 +-
 9 files changed, 340 insertions(+), 111 deletions(-)

-- 
1.7.11.7

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

* Re: [net-next 00/15][pull request] Intel Wired LAN Driver updates
  2012-02-13 21:47 [net-next 00/15][pull request] Intel Wired LAN Driver updates Jeff Kirsher
@ 2012-02-13 23:48 ` David Miller
  0 siblings, 0 replies; 56+ messages in thread
From: David Miller @ 2012-02-13 23:48 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 13 Feb 2012 13:47:35 -0800

> The following series contains updates to e1000e only.  All of the
> patches are cleanup of the e1000e driver.
> 
> The following are changes since commit fafdbf84d7eb2cd7aee435cc381a0796e1a5ccb0:
>   trivial: typo hnalder -> handler
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks.

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

* [net-next 00/15][pull request] Intel Wired LAN Driver updates
@ 2012-02-13 21:47 Jeff Kirsher
  2012-02-13 23:48 ` David Miller
  0 siblings, 1 reply; 56+ messages in thread
From: Jeff Kirsher @ 2012-02-13 21:47 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

The following series contains updates to e1000e only.  All of the
patches are cleanup of the e1000e driver.

The following are changes since commit fafdbf84d7eb2cd7aee435cc381a0796e1a5ccb0:
  trivial: typo hnalder -> handler
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Bruce Allan (15):
  e1000e: cleanup: use goto for common work needed by multiple exit
    points
  e1000e: cleanup: rename goto labels to be more meaningful
  e1000e: potentially incorrect return for
    e1000_cfg_kmrn_10_100_80003es2lan
  e1000e: potential incorrect return for
    e1000_setup_copper_link_80003es2lan
  e1000e: cleanup: remove unnecessary assignments just before returning
  e1000e: cleanup: always return 0
  e1000e: potentially incorrect return for
    e1000_set_d3_lplu_state_ich8lan
  e1000e: cleanup: remove unreachable statement
  e1000e: cleanup: remove unnecessary variable ret_val
  e1000e: cleanup: remove unnecessary test and return
  e1000e: cleanup: remove unnecessary variable initializations
  e1000e: cleanup: minor whitespace addition (insert blank line
    separator)
  e1000e: potentially incorrect return for e1000_init_hw_ich8lan
  e1000e: potentially incorrect return for
    e1000e_setup_fiber_serdes_link
  e1000e: cleanup goto statements to exit points without common work

 drivers/net/ethernet/intel/e1000e/80003es2lan.c |   36 +---
 drivers/net/ethernet/intel/e1000e/82571.c       |   36 ++---
 drivers/net/ethernet/intel/e1000e/ich8lan.c     |  220 +++++++++------------
 drivers/net/ethernet/intel/e1000e/mac.c         |   25 +--
 drivers/net/ethernet/intel/e1000e/manage.c      |   32 +--
 drivers/net/ethernet/intel/e1000e/netdev.c      |   16 +-
 drivers/net/ethernet/intel/e1000e/nvm.c         |   32 ++--
 drivers/net/ethernet/intel/e1000e/phy.c         |  241 ++++++++++-------------
 8 files changed, 265 insertions(+), 373 deletions(-)

-- 
1.7.7.6

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

end of thread, other threads:[~2014-05-31  0:53 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-07  9:32 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2014-01-07  9:32 ` [net-next 01/15] i40e: Expose AQ debugfs hooks Jeff Kirsher
2014-01-07 20:34   ` David Miller
2014-01-07  9:32 ` [net-next 02/15] i40e: Do not enable broadcast promiscuous by default Jeff Kirsher
2014-01-07  9:32 ` [net-next 03/15] i40e: Stop accepting any VLAN tag on VLAN 0 filter set Jeff Kirsher
2014-01-07  9:32 ` [net-next 04/15] i40e: Allow VF to set already assigned MAC address Jeff Kirsher
2014-01-07  9:32 ` [net-next 05/15] i40e: Bump version Jeff Kirsher
2014-01-07  9:32 ` [net-next 06/15] i40e: Add code to wait for FW to complete in reset path Jeff Kirsher
2014-01-07  9:32 ` [net-next 07/15] i40e: update firmware api to 1.1 Jeff Kirsher
2014-01-07  9:32 ` [net-next 08/15] i40e: Reduce range of interrupt reg in reg test Jeff Kirsher
2014-01-07  9:32 ` [net-next 09/15] i40e: move PF ID init from PF reset to SC init Jeff Kirsher
2014-01-07  9:32 ` [net-next 10/15] i40e: check MAC type before any REG access Jeff Kirsher
2014-01-07  9:32 ` [net-next 11/15] i40e: rework shadow ram read functions Jeff Kirsher
2014-01-07  9:32 ` [net-next 12/15] i40e: whitespace paren and comment tweaks Jeff Kirsher
2014-01-07  9:32 ` [net-next 13/15] i40e: Enable/Disable PF switch LB on SR-IOV configure changes Jeff Kirsher
2014-01-07  9:32 ` [net-next 14/15] i40e: remove redundant AQ enable Jeff Kirsher
2014-01-07  9:32 ` [net-next 15/15] i40e: correctly setup ARQ descriptors Jeff Kirsher
2014-01-07 20:34   ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2014-05-29 15:10 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2014-05-31  0:53 ` David Miller
2014-05-27  9:12 Jeff Kirsher
2014-05-28 16:42 ` David Miller
2014-05-21 12:00 Jeff Kirsher
2014-05-22 16:05 ` David Miller
2014-04-28 13:52 Jeff Kirsher
2014-04-28 18:53 ` David Miller
2014-03-26 18:03 Jeff Kirsher
2014-03-20  8:32 Jeff Kirsher
2014-03-20 18:20 ` David Miller
2014-03-08  9:25 Jeff Kirsher
2014-03-08 23:50 ` David Miller
2014-03-09  0:10   ` David Miller
2014-03-09  1:12     ` Jeff Kirsher
2014-01-09 12:52 Jeff Kirsher
2014-01-09 20:13 ` David Miller
2014-01-06 12:30 Jeff Kirsher
2014-01-06 18:26 ` David Miller
2014-01-06 18:49   ` Jeff Kirsher
2014-01-06 20:14   ` Jeff Kirsher
2014-01-05 10:46 Jeff Kirsher
2014-01-06  1:31 ` David Miller
2013-12-19  6:34 Jeff Kirsher
2013-12-19 19:20 ` Jeff Kirsher
2013-12-19 19:47   ` David Miller
2013-12-12 12:40 Jeff Kirsher
2013-12-06  8:06 Jeff Kirsher
2013-12-06 19:49 ` David Miller
2013-08-21  8:23 Jeff Kirsher
2013-07-29 12:51 Jeff Kirsher
2013-04-18 23:30 Jeff Kirsher
2013-04-19 18:19 ` David Miller
2013-03-08 10:07 Jeff Kirsher
2013-03-08 17:25 ` David Miller
2013-01-11 10:23 Jeff Kirsher
2012-02-13 21:47 [net-next 00/15][pull request] Intel Wired LAN Driver updates Jeff Kirsher
2012-02-13 23:48 ` David Miller

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.