netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 00/10][pull request] Intel Wired LAN Driver Updates
@ 2012-03-01  7:32 Jeff Kirsher
  2012-03-01  7:32 ` [net-next 01/10] e100: Support RXFCS feature flag Jeff Kirsher
                   ` (10 more replies)
  0 siblings, 11 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:32 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series of patches contains fixes/cleanups/additions to e100, e1000e,
ixgbe & rtnetlink.  The e100 changes are from Ben Greear, which adds support
for low-level Ethernet debugging.  The e1000e & ixgbe changes are cleanups.
The only fix in the series is the rtnetlink patch from Greg Rose.

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

Alexander Duyck (2):
  ixgbe: Minor formatting and comment corrections for
    ixgbe_xmit_frame_ring
  ixgbe: Fix comments that are out of date or formatted incorrectly

Ben Greear (3):
  e100: Support RXFCS feature flag.
  e100: Support sending custom Ethernet CRC
  e100: Support RXALL feature flag.

Bruce Allan (3):
  e1000e: cleanup incorrect filename in comment
  e1000e: cleanup whitespace and indentation
  e1000e: use msleep instead of mdelay

Don Skidmore (1):
  ixgbe: fix spelling errors

Greg Rose (1):
  rtnetlink: Fix VF IFLA policy

 drivers/net/ethernet/intel/e100.c               |   71 +++++++++++++++++++++--
 drivers/net/ethernet/intel/e1000e/82571.c       |   14 ++---
 drivers/net/ethernet/intel/e1000e/ich8lan.c     |   10 +--
 drivers/net/ethernet/intel/e1000e/mac.c         |    2 +-
 drivers/net/ethernet/intel/e1000e/netdev.c      |   12 ++--
 drivers/net/ethernet/intel/e1000e/phy.c         |   63 +++++++-------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c   |   30 ++++++---
 net/core/rtnetlink.c                            |    2 +
 9 files changed, 128 insertions(+), 78 deletions(-)

-- 
1.7.7.6

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

* [net-next 01/10] e100: Support RXFCS feature flag.
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2012-03-01  7:32 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 02/10] e100: Support sending custom Ethernet CRC Jeff Kirsher
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:32 UTC (permalink / raw)
  To: davem; +Cc: Ben Greear, netdev, gospo, sassmann, Jeff Kirsher

From: Ben Greear <greearb@candelatech.com>

This allows e100 to be configured to append the
Ethernet FCS to the skb.

Useful for sniffing networks.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e100.c |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 485ab8c..3ecbded 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -1075,7 +1075,7 @@ static void e100_get_defaults(struct nic *nic)
 	/* Template for a freshly allocated RFD */
 	nic->blank_rfd.command = 0;
 	nic->blank_rfd.rbd = cpu_to_le32(0xFFFFFFFF);
-	nic->blank_rfd.size = cpu_to_le16(VLAN_ETH_FRAME_LEN);
+	nic->blank_rfd.size = cpu_to_le16(VLAN_ETH_FRAME_LEN + ETH_FCS_LEN);
 
 	/* MII setup */
 	nic->mii.phy_id_mask = 0x1F;
@@ -1089,6 +1089,7 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
 {
 	struct config *config = &cb->u.config;
 	u8 *c = (u8 *)config;
+	struct net_device *netdev = nic->netdev;
 
 	cb->command = cpu_to_le16(cb_config);
 
@@ -1132,6 +1133,9 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
 		config->promiscuous_mode = 0x1;		/* 1=on, 0=off */
 	}
 
+	if (unlikely(netdev->features & NETIF_F_RXFCS))
+		config->rx_crc_transfer = 0x1;	/* 1=save, 0=discard */
+
 	if (nic->flags & multicast_all)
 		config->multicast_all = 0x1;		/* 1=accept, 0=no */
 
@@ -1881,7 +1885,7 @@ static inline void e100_start_receiver(struct nic *nic, struct rx *rx)
 	}
 }
 
-#define RFD_BUF_LEN (sizeof(struct rfd) + VLAN_ETH_FRAME_LEN)
+#define RFD_BUF_LEN (sizeof(struct rfd) + VLAN_ETH_FRAME_LEN + ETH_FCS_LEN)
 static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
 {
 	if (!(rx->skb = netdev_alloc_skb_ip_align(nic->netdev, RFD_BUF_LEN)))
@@ -1919,6 +1923,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
 	struct sk_buff *skb = rx->skb;
 	struct rfd *rfd = (struct rfd *)skb->data;
 	u16 rfd_status, actual_size;
+	u16 fcs_pad = 0;
 
 	if (unlikely(work_done && *work_done >= work_to_do))
 		return -EAGAIN;
@@ -1951,6 +1956,8 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
 	}
 
 	/* Get actual data size */
+	if (unlikely(dev->features & NETIF_F_RXFCS))
+		fcs_pad = 4;
 	actual_size = le16_to_cpu(rfd->actual_size) & 0x3FFF;
 	if (unlikely(actual_size > RFD_BUF_LEN - sizeof(struct rfd)))
 		actual_size = RFD_BUF_LEN - sizeof(struct rfd);
@@ -1980,13 +1987,13 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
 	if (unlikely(!(rfd_status & cb_ok))) {
 		/* Don't indicate if hardware indicates errors */
 		dev_kfree_skb_any(skb);
-	} else if (actual_size > ETH_DATA_LEN + VLAN_ETH_HLEN) {
+	} else if (actual_size > ETH_DATA_LEN + VLAN_ETH_HLEN + fcs_pad) {
 		/* Don't indicate oversized frames */
 		nic->rx_over_length_errors++;
 		dev_kfree_skb_any(skb);
 	} else {
 		dev->stats.rx_packets++;
-		dev->stats.rx_bytes += actual_size;
+		dev->stats.rx_bytes += (actual_size - fcs_pad);
 		netif_receive_skb(skb);
 		if (work_done)
 			(*work_done)++;
@@ -2058,7 +2065,8 @@ static void e100_rx_clean(struct nic *nic, unsigned int *work_done,
 		pci_dma_sync_single_for_device(nic->pdev,
 			old_before_last_rx->dma_addr, sizeof(struct rfd),
 			PCI_DMA_BIDIRECTIONAL);
-		old_before_last_rfd->size = cpu_to_le16(VLAN_ETH_FRAME_LEN);
+		old_before_last_rfd->size = cpu_to_le16(VLAN_ETH_FRAME_LEN
+							+ ETH_FCS_LEN);
 		pci_dma_sync_single_for_device(nic->pdev,
 			old_before_last_rx->dma_addr, sizeof(struct rfd),
 			PCI_DMA_BIDIRECTIONAL);
@@ -2729,6 +2737,20 @@ static int e100_close(struct net_device *netdev)
 	return 0;
 }
 
+static int e100_set_features(struct net_device *netdev,
+			     netdev_features_t features)
+{
+	struct nic *nic = netdev_priv(netdev);
+	netdev_features_t changed = features ^ netdev->features;
+
+	if (!(changed & (NETIF_F_RXFCS)))
+		return 0;
+
+	netdev->features = features;
+	e100_exec_cb(nic, NULL, e100_configure);
+	return 0;
+}
+
 static const struct net_device_ops e100_netdev_ops = {
 	.ndo_open		= e100_open,
 	.ndo_stop		= e100_close,
@@ -2742,6 +2764,7 @@ static const struct net_device_ops e100_netdev_ops = {
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller	= e100_netpoll,
 #endif
+	.ndo_set_features	= e100_set_features,
 };
 
 static int __devinit e100_probe(struct pci_dev *pdev,
@@ -2754,6 +2777,8 @@ static int __devinit e100_probe(struct pci_dev *pdev,
 	if (!(netdev = alloc_etherdev(sizeof(struct nic))))
 		return -ENOMEM;
 
+	netdev->hw_features |= NETIF_F_RXFCS;
+
 	netdev->netdev_ops = &e100_netdev_ops;
 	SET_ETHTOOL_OPS(netdev, &e100_ethtool_ops);
 	netdev->watchdog_timeo = E100_WATCHDOG_PERIOD;
-- 
1.7.7.6

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

* [net-next 02/10] e100: Support sending custom Ethernet CRC
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2012-03-01  7:32 ` [net-next 01/10] e100: Support RXFCS feature flag Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 03/10] e100: Support RXALL feature flag Jeff Kirsher
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Ben Greear, netdev, gospo, sassmann, Jeff Kirsher

From: Ben Greear <greearb@candelatech.com>

This can aid with testing the RX logic for bad
CRCs.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e100.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 3ecbded..6f9f70a 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -412,6 +412,10 @@ enum cb_status {
 	cb_ok       = 0x2000,
 };
 
+/**
+ * cb_command - Command Block flags
+ * @cb_tx_nc:  0: controler does CRC (normal),  1: CRC from skb memory
+ */
 enum cb_command {
 	cb_nop    = 0x0000,
 	cb_iaaddr = 0x0001,
@@ -421,6 +425,7 @@ enum cb_command {
 	cb_ucode  = 0x0005,
 	cb_dump   = 0x0006,
 	cb_tx_sf  = 0x0008,
+	cb_tx_nc  = 0x0010,
 	cb_cid    = 0x1f00,
 	cb_i      = 0x2000,
 	cb_s      = 0x4000,
@@ -1724,6 +1729,16 @@ static void e100_xmit_prepare(struct nic *nic, struct cb *cb,
 	struct sk_buff *skb)
 {
 	cb->command = nic->tx_command;
+
+	/*
+	 * Use the last 4 bytes of the SKB payload packet as the CRC, used for
+	 * testing, ie sending frames with bad CRC.
+	 */
+	if (unlikely(skb->no_fcs))
+		cb->command |= __constant_cpu_to_le16(cb_tx_nc);
+	else
+		cb->command &= ~__constant_cpu_to_le16(cb_tx_nc);
+
 	/* interrupt every 16 packets regardless of delay */
 	if ((nic->cbs_avail & ~15) == nic->cbs_avail)
 		cb->command |= cpu_to_le16(cb_i);
@@ -2778,6 +2793,7 @@ static int __devinit e100_probe(struct pci_dev *pdev,
 		return -ENOMEM;
 
 	netdev->hw_features |= NETIF_F_RXFCS;
+	netdev->priv_flags |= IFF_SUPP_NOFCS;
 
 	netdev->netdev_ops = &e100_netdev_ops;
 	SET_ETHTOOL_OPS(netdev, &e100_ethtool_ops);
-- 
1.7.7.6

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

* [net-next 03/10] e100: Support RXALL feature flag.
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2012-03-01  7:32 ` [net-next 01/10] e100: Support RXFCS feature flag Jeff Kirsher
  2012-03-01  7:33 ` [net-next 02/10] e100: Support sending custom Ethernet CRC Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 04/10] e1000e: cleanup incorrect filename in comment Jeff Kirsher
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Ben Greear, netdev, gospo, sassmann, Jeff Kirsher

From: Ben Greear <greearb@candelatech.com>

This allows the NIC to receive packets with bad FCS
and other errors.  Good for sniffing packets on flakey
networks.

v4:  Only flax rx-over-length errors if pkt is beyond
   maximum expected packet size, not just beyond the MTU.
   This matches the existing logic for this counter.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e100.c |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 6f9f70a..4d8a616 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -462,7 +462,7 @@ struct config {
 /*5*/	u8 X(tx_dma_max_count:7, dma_max_count_enable:1);
 /*6*/	u8 X(X(X(X(X(X(X(late_scb_update:1, direct_rx_dma:1),
 	   tno_intr:1), cna_intr:1), standard_tcb:1), standard_stat_counter:1),
-	   rx_discard_overruns:1), rx_save_bad_frames:1);
+	   rx_save_overruns : 1), rx_save_bad_frames : 1);
 /*7*/	u8 X(X(X(X(X(rx_discard_short_frames:1, tx_underrun_retry:2),
 	   pad7:2), rx_extended_rfd:1), tx_two_frames_in_fifo:1),
 	   tx_dynamic_tbd:1);
@@ -1165,6 +1165,12 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
 		}
 	}
 
+	if (netdev->features & NETIF_F_RXALL) {
+		config->rx_save_overruns = 0x1; /* 1=save, 0=discard */
+		config->rx_save_bad_frames = 0x1;       /* 1=save, 0=discard */
+		config->rx_discard_short_frames = 0x0;  /* 1=discard, 0=save */
+	}
+
 	netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
 		     "[00-07]=%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n",
 		     c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7]);
@@ -1999,6 +2005,16 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
 	skb_put(skb, actual_size);
 	skb->protocol = eth_type_trans(skb, nic->netdev);
 
+	/* If we are receiving all frames, then don't bother
+	 * checking for errors.
+	 */
+	if (unlikely(dev->features & NETIF_F_RXALL)) {
+		if (actual_size > ETH_DATA_LEN + VLAN_ETH_HLEN + fcs_pad)
+			/* Received oversized frame, but keep it. */
+			nic->rx_over_length_errors++;
+		goto process_skb;
+	}
+
 	if (unlikely(!(rfd_status & cb_ok))) {
 		/* Don't indicate if hardware indicates errors */
 		dev_kfree_skb_any(skb);
@@ -2007,6 +2023,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
 		nic->rx_over_length_errors++;
 		dev_kfree_skb_any(skb);
 	} else {
+process_skb:
 		dev->stats.rx_packets++;
 		dev->stats.rx_bytes += (actual_size - fcs_pad);
 		netif_receive_skb(skb);
@@ -2758,7 +2775,7 @@ static int e100_set_features(struct net_device *netdev,
 	struct nic *nic = netdev_priv(netdev);
 	netdev_features_t changed = features ^ netdev->features;
 
-	if (!(changed & (NETIF_F_RXFCS)))
+	if (!(changed & (NETIF_F_RXFCS | NETIF_F_RXALL)))
 		return 0;
 
 	netdev->features = features;
@@ -2794,6 +2811,7 @@ static int __devinit e100_probe(struct pci_dev *pdev,
 
 	netdev->hw_features |= NETIF_F_RXFCS;
 	netdev->priv_flags |= IFF_SUPP_NOFCS;
+	netdev->hw_features |= NETIF_F_RXALL;
 
 	netdev->netdev_ops = &e100_netdev_ops;
 	SET_ETHTOOL_OPS(netdev, &e100_ethtool_ops);
-- 
1.7.7.6

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

* [net-next 04/10] e1000e: cleanup incorrect filename in comment
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (2 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 03/10] e100: Support RXALL feature flag Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 05/10] e1000e: cleanup whitespace and indentation Jeff Kirsher
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

From: Bruce Allan <bruce.w.allan@intel.com>

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 8b62870..efb3729 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6628,4 +6628,4 @@ MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(DRV_VERSION);
 
-/* e1000_main.c */
+/* netdev.c */
-- 
1.7.7.6

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

* [net-next 05/10] e1000e: cleanup whitespace and indentation
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (3 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 04/10] e1000e: cleanup incorrect filename in comment Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 06/10] e1000e: use msleep instead of mdelay Jeff Kirsher
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

From: Bruce Allan <bruce.w.allan@intel.com>

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/82571.c   |   14 +++----
 drivers/net/ethernet/intel/e1000e/ich8lan.c |   10 ++---
 drivers/net/ethernet/intel/e1000e/mac.c     |    2 +-
 drivers/net/ethernet/intel/e1000e/netdev.c  |   10 ++--
 drivers/net/ethernet/intel/e1000e/phy.c     |   59 ++++++++++-----------------
 5 files changed, 38 insertions(+), 57 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
index 086dad7..b3fdc69 100644
--- a/drivers/net/ethernet/intel/e1000e/82571.c
+++ b/drivers/net/ethernet/intel/e1000e/82571.c
@@ -1269,18 +1269,16 @@ static void e1000_initialize_hw_bits_82571(struct e1000_hw *hw)
 		reg |= E1000_PBA_ECC_CORR_EN;
 		ew32(PBA_ECC, reg);
 	}
+
 	/*
 	 * Workaround for hardware errata.
 	 * Ensure that DMA Dynamic Clock gating is disabled on 82571 and 82572
 	 */
-
-        if ((hw->mac.type == e1000_82571) ||
-           (hw->mac.type == e1000_82572)) {
-                reg = er32(CTRL_EXT);
-                reg &= ~E1000_CTRL_EXT_DMA_DYN_CLK_EN;
-                ew32(CTRL_EXT, reg);
-        }
-
+	if ((hw->mac.type == e1000_82571) || (hw->mac.type == e1000_82572)) {
+		reg = er32(CTRL_EXT);
+		reg &= ~E1000_CTRL_EXT_DMA_DYN_CLK_EN;
+		ew32(CTRL_EXT, reg);
+	}
 
 	/* PCI-Ex Control Registers */
 	switch (hw->mac.type) {
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 8e9af62..64c7644 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -1230,9 +1230,8 @@ s32 e1000_configure_k1_ich8lan(struct e1000_hw *hw, bool k1_enable)
 	u32 reg = 0;
 	u16 kmrn_reg = 0;
 
-	ret_val = e1000e_read_kmrn_reg_locked(hw,
-	                                     E1000_KMRNCTRLSTA_K1_CONFIG,
-	                                     &kmrn_reg);
+	ret_val = e1000e_read_kmrn_reg_locked(hw, E1000_KMRNCTRLSTA_K1_CONFIG,
+					      &kmrn_reg);
 	if (ret_val)
 		return ret_val;
 
@@ -1241,9 +1240,8 @@ s32 e1000_configure_k1_ich8lan(struct e1000_hw *hw, bool k1_enable)
 	else
 		kmrn_reg &= ~E1000_KMRNCTRLSTA_K1_ENABLE;
 
-	ret_val = e1000e_write_kmrn_reg_locked(hw,
-	                                      E1000_KMRNCTRLSTA_K1_CONFIG,
-	                                      kmrn_reg);
+	ret_val = e1000e_write_kmrn_reg_locked(hw, E1000_KMRNCTRLSTA_K1_CONFIG,
+					       kmrn_reg);
 	if (ret_val)
 		return ret_val;
 
diff --git a/drivers/net/ethernet/intel/e1000e/mac.c b/drivers/net/ethernet/intel/e1000e/mac.c
index 59ac9f6..decad98 100644
--- a/drivers/net/ethernet/intel/e1000e/mac.c
+++ b/drivers/net/ethernet/intel/e1000e/mac.c
@@ -629,7 +629,7 @@ s32 e1000e_check_for_serdes_link(struct e1000_hw *hw)
 	if (E1000_TXCW_ANE & er32(TXCW)) {
 		status = er32(STATUS);
 		if (status & E1000_STATUS_LU) {
-			/* SYNCH bit and IV bit are sticky, so reread rxcw.  */
+			/* SYNCH bit and IV bit are sticky, so reread rxcw. */
 			udelay(10);
 			rxcw = er32(RXCW);
 			if (rxcw & E1000_RXCW_SYNCH) {
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index efb3729..a9a4ea2 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3262,6 +3262,7 @@ static void e1000e_set_rx_mode(struct net_device *netdev)
 		e1000e_vlan_filter_disable(adapter);
 	} else {
 		int count;
+
 		if (netdev->flags & IFF_ALLMULTI) {
 			rctl |= E1000_RCTL_MPE;
 		} else {
@@ -6103,7 +6104,6 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
 	const struct e1000_info *ei = e1000_info_tbl[ent->driver_data];
 	resource_size_t mmio_start, mmio_len;
 	resource_size_t flash_start, flash_len;
-
 	static int cards_found;
 	u16 aspm_disable_flag = 0;
 	int i, err, pci_using_dac;
@@ -6347,11 +6347,11 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
 	} else if (adapter->flags & FLAG_APME_IN_CTRL3) {
 		if (adapter->flags & FLAG_APME_CHECK_PORT_B &&
 		    (adapter->hw.bus.func == 1))
-			e1000_read_nvm(&adapter->hw,
-				NVM_INIT_CONTROL3_PORT_B, 1, &eeprom_data);
+			e1000_read_nvm(&adapter->hw, NVM_INIT_CONTROL3_PORT_B,
+				       1, &eeprom_data);
 		else
-			e1000_read_nvm(&adapter->hw,
-				NVM_INIT_CONTROL3_PORT_A, 1, &eeprom_data);
+			e1000_read_nvm(&adapter->hw, NVM_INIT_CONTROL3_PORT_A,
+				       1, &eeprom_data);
 	}
 
 	/* fetch WoL from EEPROM */
diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c
index 683abac..6e768b1 100644
--- a/drivers/net/ethernet/intel/e1000e/phy.c
+++ b/drivers/net/ethernet/intel/e1000e/phy.c
@@ -1007,12 +1007,12 @@ static s32 e1000_phy_setup_autoneg(struct e1000_hw *hw)
 	 * The possible values of the "fc" parameter are:
 	 *      0:  Flow control is completely disabled
 	 *      1:  Rx flow control is enabled (we can receive pause frames
-	 *	  but not send pause frames).
+	 *          but not send pause frames).
 	 *      2:  Tx flow control is enabled (we can send pause frames
-	 *	  but we do not support receiving pause frames).
+	 *          but we do not support receiving pause frames).
 	 *      3:  Both Rx and Tx flow control (symmetric) are enabled.
 	 *  other:  No software override.  The flow control configuration
-	 *	  in the EEPROM is used.
+	 *          in the EEPROM is used.
 	 */
 	switch (hw->fc.current_mode) {
 	case e1000_fc_none:
@@ -1172,10 +1172,8 @@ s32 e1000e_setup_copper_link(struct e1000_hw *hw)
 	 * Check link status. Wait up to 100 microseconds for link to become
 	 * valid.
 	 */
-	ret_val = e1000e_phy_has_link_generic(hw,
-					     COPPER_LINK_UP_LIMIT,
-					     10,
-					     &link);
+	ret_val = e1000e_phy_has_link_generic(hw, COPPER_LINK_UP_LIMIT, 10,
+					      &link);
 	if (ret_val)
 		return ret_val;
 
@@ -1237,10 +1235,8 @@ s32 e1000e_phy_force_speed_duplex_igp(struct e1000_hw *hw)
 	if (phy->autoneg_wait_to_complete) {
 		e_dbg("Waiting for forced speed/duplex link on IGP phy.\n");
 
-		ret_val = e1000e_phy_has_link_generic(hw,
-						     PHY_FORCE_LIMIT,
-						     100000,
-						     &link);
+		ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
+						      100000, &link);
 		if (ret_val)
 			return ret_val;
 
@@ -1248,10 +1244,8 @@ s32 e1000e_phy_force_speed_duplex_igp(struct e1000_hw *hw)
 			e_dbg("Link taking longer than expected.\n");
 
 		/* Try once more */
-		ret_val = e1000e_phy_has_link_generic(hw,
-						     PHY_FORCE_LIMIT,
-						     100000,
-						     &link);
+		ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
+						      100000, &link);
 	}
 
 	return ret_val;
@@ -1412,10 +1406,8 @@ s32 e1000_phy_force_speed_duplex_ife(struct e1000_hw *hw)
 	if (phy->autoneg_wait_to_complete) {
 		e_dbg("Waiting for forced speed/duplex link on IFE phy.\n");
 
-		ret_val = e1000e_phy_has_link_generic(hw,
-		                                     PHY_FORCE_LIMIT,
-		                                     100000,
-		                                     &link);
+		ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
+						      100000, &link);
 		if (ret_val)
 			return ret_val;
 
@@ -1423,10 +1415,8 @@ s32 e1000_phy_force_speed_duplex_ife(struct e1000_hw *hw)
 			e_dbg("Link taking longer than expected.\n");
 
 		/* Try once more */
-		ret_val = e1000e_phy_has_link_generic(hw,
-		                                     PHY_FORCE_LIMIT,
-		                                     100000,
-		                                     &link);
+		ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
+						      100000, &link);
 		if (ret_val)
 			return ret_val;
 	}
@@ -2167,6 +2157,7 @@ s32 e1000e_phy_hw_reset_generic(struct e1000_hw *hw)
 s32 e1000e_get_cfg_done(struct e1000_hw *hw)
 {
 	mdelay(10);
+
 	return 0;
 }
 
@@ -3155,13 +3146,11 @@ s32 e1000_link_stall_workaround_hv(struct e1000_hw *hw)
 	if (ret_val)
 		return ret_val;
 
-	data &= BM_CS_STATUS_LINK_UP |
-	        BM_CS_STATUS_RESOLVED |
-	        BM_CS_STATUS_SPEED_MASK;
+	data &= BM_CS_STATUS_LINK_UP | BM_CS_STATUS_RESOLVED |
+		BM_CS_STATUS_SPEED_MASK;
 
-	if (data != (BM_CS_STATUS_LINK_UP |
-	             BM_CS_STATUS_RESOLVED |
-	             BM_CS_STATUS_SPEED_1000))
+	if (data != (BM_CS_STATUS_LINK_UP | BM_CS_STATUS_RESOLVED |
+		     BM_CS_STATUS_SPEED_1000))
 		return 0;
 
 	mdelay(200);
@@ -3227,10 +3216,8 @@ s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw)
 	if (phy->autoneg_wait_to_complete) {
 		e_dbg("Waiting for forced speed/duplex link on 82577 phy\n");
 
-		ret_val = e1000e_phy_has_link_generic(hw,
-		                                     PHY_FORCE_LIMIT,
-		                                     100000,
-		                                     &link);
+		ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
+						      100000, &link);
 		if (ret_val)
 			return ret_val;
 
@@ -3238,10 +3225,8 @@ s32 e1000_phy_force_speed_duplex_82577(struct e1000_hw *hw)
 			e_dbg("Link taking longer than expected.\n");
 
 		/* Try once more */
-		ret_val = e1000e_phy_has_link_generic(hw,
-		                                     PHY_FORCE_LIMIT,
-		                                     100000,
-		                                     &link);
+		ret_val = e1000e_phy_has_link_generic(hw, PHY_FORCE_LIMIT,
+						      100000, &link);
 	}
 
 	return ret_val;
-- 
1.7.7.6

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

* [net-next 06/10] e1000e: use msleep instead of mdelay
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (4 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 05/10] e1000e: cleanup whitespace and indentation Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 07/10] ixgbe: Minor formatting and comment corrections for ixgbe_xmit_frame_ring Jeff Kirsher
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

From: Bruce Allan <bruce.w.allan@intel.com>

The e1000_link_stall_workaround_lv() function is always called in non-
atomic context so it should use msleep instead of mdelay.  Also, remove
unnecessary #include <linux/delay.h>.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/phy.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c
index 6e768b1..35b4557 100644
--- a/drivers/net/ethernet/intel/e1000e/phy.c
+++ b/drivers/net/ethernet/intel/e1000e/phy.c
@@ -26,8 +26,6 @@
 
 *******************************************************************************/
 
-#include <linux/delay.h>
-
 #include "e1000.h"
 
 static s32 e1000_get_phy_cfg_done(struct e1000_hw *hw);
@@ -3153,7 +3151,7 @@ s32 e1000_link_stall_workaround_hv(struct e1000_hw *hw)
 		     BM_CS_STATUS_SPEED_1000))
 		return 0;
 
-	mdelay(200);
+	msleep(200);
 
 	/* flush the packets in the fifo buffer */
 	ret_val = e1e_wphy(hw, HV_MUX_DATA_CTRL, HV_MUX_DATA_CTRL_GEN_TO_MAC |
-- 
1.7.7.6

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

* [net-next 07/10] ixgbe: Minor formatting and comment corrections for ixgbe_xmit_frame_ring
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (5 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 06/10] e1000e: use msleep instead of mdelay Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 08/10] ixgbe: fix spelling errors Jeff Kirsher
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher

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

This patch is meant to address several minor issues in
ixgbe_xmit_frame_ring.  Specifically it adds a comment explaining the TXSW
flag, and correctly wraps a line over 80 characters.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 4e55860..1cf676b 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7012,11 +7012,6 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
 		return NETDEV_TX_BUSY;
 	}
 
-#ifdef CONFIG_PCI_IOV
-	if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
-		tx_flags |= IXGBE_TX_FLAGS_TXSW;
-
-#endif
 	/* if we have a HW VLAN tag being added default to the HW one */
 	if (vlan_tx_tag_present(skb)) {
 		tx_flags |= vlan_tx_tag_get(skb) << IXGBE_TX_FLAGS_VLAN_SHIFT;
@@ -7029,10 +7024,20 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
 			goto out_drop;
 
 		protocol = vhdr->h_vlan_encapsulated_proto;
-		tx_flags |= ntohs(vhdr->h_vlan_TCI) << IXGBE_TX_FLAGS_VLAN_SHIFT;
+		tx_flags |= ntohs(vhdr->h_vlan_TCI) <<
+				  IXGBE_TX_FLAGS_VLAN_SHIFT;
 		tx_flags |= IXGBE_TX_FLAGS_SW_VLAN;
 	}
 
+#ifdef CONFIG_PCI_IOV
+	/*
+	 * Use the l2switch_enable flag - would be false if the DMA
+	 * Tx switch had been disabled.
+	 */
+	if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
+		tx_flags |= IXGBE_TX_FLAGS_TXSW;
+
+#endif
 	/* DCB maps skb priorities 0-7 onto 3 bit PCP of VLAN tag. */
 	if ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
 	    ((tx_flags & (IXGBE_TX_FLAGS_HW_VLAN | IXGBE_TX_FLAGS_SW_VLAN)) ||
-- 
1.7.7.6

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

* [net-next 08/10] ixgbe: fix spelling errors
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (6 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 07/10] ixgbe: Minor formatting and comment corrections for ixgbe_xmit_frame_ring Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 09/10] ixgbe: Fix comments that are out of date or formatted incorrectly Jeff Kirsher
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Don Skidmore, netdev, gospo, sassmann, Jeff Kirsher

From: Don Skidmore <donald.c.skidmore@intel.com>

Correct spelling error caught with codespell.py.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 383b941..87f6b4f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -3336,7 +3336,7 @@ static u8 ixgbe_calculate_checksum(u8 *buffer, u32 length)
  *  @hw: pointer to the HW structure
  *  @buffer: contains the command to write and where the return status will
  *           be placed
- *  @lenght: lenght of buffer, must be multiple of 4 bytes
+ *  @length: length of buffer, must be multiple of 4 bytes
  *
  *  Communicates with the manageability block.  On success return 0
  *  else return IXGBE_ERR_HOST_INTERFACE_COMMAND.
-- 
1.7.7.6

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

* [net-next 09/10] ixgbe: Fix comments that are out of date or formatted incorrectly
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (7 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 08/10] ixgbe: fix spelling errors Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01  7:33 ` [net-next 10/10] rtnetlink: Fix VF IFLA policy Jeff Kirsher
  2012-03-01 21:26 ` [net-next 00/10][pull request] Intel Wired LAN Driver Updates David Miller
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher

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

This patch corrects several comments that are either incorrect or formatted
incorrectly for multiline comments.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 1cf676b..23a4665 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -2359,7 +2359,7 @@ static irqreturn_t ixgbe_intr(int irq, void *data)
 	u32 eicr;
 
 	/*
-	 * Workaround for silicon errata on 82598.  Mask the interrupts
+	 * Workaround for silicon errata #26 on 82598.  Mask the interrupt
 	 * before the read of EICR.
 	 */
 	IXGBE_WRITE_REG(hw, IXGBE_EIMC, IXGBE_IRQ_CLEAR_MASK);
@@ -4381,7 +4381,11 @@ static inline bool ixgbe_set_fdir_queues(struct ixgbe_adapter *adapter)
 	f_fdir->indices = min((int)num_online_cpus(), f_fdir->indices);
 	f_fdir->mask = 0;
 
-	/* Flow Director must have RSS enabled */
+	/*
+	 * Use RSS in addition to Flow Director to ensure the best
+	 * distribution of flows across cores, even when an FDIR flow
+	 * isn't matched.
+	 */
 	if ((adapter->flags & IXGBE_FLAG_RSS_ENABLED) &&
 	    (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE)) {
 		adapter->num_tx_queues = f_fdir->indices;
@@ -4558,7 +4562,8 @@ static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter,
 	 */
 	vector_threshold = MIN_MSIX_COUNT;
 
-	/* The more we get, the more we will assign to Tx/Rx Cleanup
+	/*
+	 * The more we get, the more we will assign to Tx/Rx Cleanup
 	 * for the separate queues...where Rx Cleanup >= Tx Cleanup.
 	 * Right now, we simply care about how many we'll get; we'll
 	 * set them up later while requesting irq's.
@@ -6996,7 +7001,7 @@ netdev_tx_t ixgbe_xmit_frame_ring(struct sk_buff *skb,
 
 	/*
 	 * need: 1 descriptor per page * PAGE_SIZE/IXGBE_MAX_DATA_PER_TXD,
-	 *       + 1 desc for skb_head_len/IXGBE_MAX_DATA_PER_TXD,
+	 *       + 1 desc for skb_headlen/IXGBE_MAX_DATA_PER_TXD,
 	 *       + 2 desc gap to keep tail from touching head,
 	 *       + 1 desc for context descriptor,
 	 * otherwise try next time
-- 
1.7.7.6

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

* [net-next 10/10] rtnetlink: Fix VF IFLA policy
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (8 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 09/10] ixgbe: Fix comments that are out of date or formatted incorrectly Jeff Kirsher
@ 2012-03-01  7:33 ` Jeff Kirsher
  2012-03-01 21:26 ` [net-next 00/10][pull request] Intel Wired LAN Driver Updates David Miller
  10 siblings, 0 replies; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-01  7:33 UTC (permalink / raw)
  To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, stable, Jeff Kirsher

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

Add VF spoof check to IFLA policy.  The original patch I submitted to
add the spoof checking feature to rtnl failed to add the proper policy
rule that identifies the data type and len.  This patch corrects that
oversight.  No bugs have been reported against this but it may cause
some problem for the netlink message parsing that uses the policy
table.

CC: stable@vger.kernel.org
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>
---
 net/core/rtnetlink.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5cf39cd..2be1018 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1132,6 +1132,8 @@ static const struct nla_policy ifla_vf_policy[IFLA_VF_MAX+1] = {
 				    .len = sizeof(struct ifla_vf_vlan) },
 	[IFLA_VF_TX_RATE]	= { .type = NLA_BINARY,
 				    .len = sizeof(struct ifla_vf_tx_rate) },
+	[IFLA_VF_SPOOFCHK]	= { .type = NLA_BINARY,
+				    .len = sizeof(struct ifla_vf_spoofchk) },
 };
 
 static const struct nla_policy ifla_port_policy[IFLA_PORT_MAX+1] = {
-- 
1.7.7.6

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

* Re: [net-next 00/10][pull request] Intel Wired LAN Driver Updates
  2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (9 preceding siblings ...)
  2012-03-01  7:33 ` [net-next 10/10] rtnetlink: Fix VF IFLA policy Jeff Kirsher
@ 2012-03-01 21:26 ` David Miller
  10 siblings, 0 replies; 20+ messages in thread
From: David Miller @ 2012-03-01 21:26 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 29 Feb 2012 23:32:58 -0800

> This series of patches contains fixes/cleanups/additions to e100, e1000e,
> ixgbe & rtnetlink.  The e100 changes are from Ben Greear, which adds support
> for low-level Ethernet debugging.  The e1000e & ixgbe changes are cleanups.
> The only fix in the series is the rtnetlink patch from Greg Rose.
> 
> The following are changes since commit 06b8db9cac717fcd6b8410b9efae8aca33b4b9e6:
>   Merge branch 'tipc_net-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux
> 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] 20+ messages in thread

* [net-next 00/10][pull request] Intel Wired LAN Driver Updates
@ 2012-03-19 21:22 Jeff Kirsher
  2012-03-19 21:26 ` David Miller
  0 siblings, 1 reply; 20+ messages in thread
From: Jeff Kirsher @ 2012-03-19 21:22 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series of patches contains fixes/cleanups for ixgbe.  This
series completes the cleanup work from Alex for ixgbe.

The following are changes since commit 4da0bd736552e6377b407b3c3d3ae518ebbdd269:
  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (9):
  ixgbe: Store Tx flags and protocol information to tx_buffer sooner
  ixgbe: Update layout of ixgbe_ring structure to improve cache
    performance
  ixgbe: cleanup logic for the service timer and VF hang detection
  ixgbe: Move poll routine in order to improve readability
  ixgbe: drop err_eeprom tag which is at same location as err_sw_init
  ixgbe: Two minor fixes for RSS and FDIR set queues functions
  ixgbe: Whitespace cleanups
  ixgbe: Add support for enabling UDP RSS via the ethtool rx-flow-hash
    command
  ixgbe: Correct flag values set by ixgbe_fix_features

Jeff Kirsher (1):
  ixgbe: fix namespace issues when FCoE/DCB is not enabled

 drivers/net/ethernet/intel/ixgbe/Makefile        |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h         |   31 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |  191 +++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c    |   13 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c     |  929 ++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    | 1452 ++++------------------
 6 files changed, 1399 insertions(+), 1219 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c

-- 
1.7.7.6

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 19 Mar 2012 14:22:28 -0700

> This series of patches contains fixes/cleanups for ixgbe.  This
> series completes the cleanup work from Alex for ixgbe.
> 
> The following are changes since commit 4da0bd736552e6377b407b3c3d3ae518ebbdd269:
>   Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
> 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] 20+ messages in thread

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

This series contains updates to ixgbe and igb.

The following are changes since commit de4594a51c904ddcd6c3a6cdd100f7c1d94d3239:
  sctp: send abort chunk when max_retrans exceeded
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (1):
  igb: Do not parse past IP header on fragments beyond the first

Jacob Keller (3):
  ixgbe: use ETQF filter name instead of magic number
  ixgbe: remove needless queuing for L4 ptp packets
  ixgbe: ethtool correctly identify autoneg setting

John Fastabend (1):
  ixgbe: fdb: only allow NUD_PERM fdb entries

Josh Hay (2):
  ixgbe: Reformat output of ixgbe_dump
  ixgbe: eliminate Smatch warnings in ixgbe_debugfs.c

Matthew Vick (2):
  igb: Update PTP Rx filters
  igb: No longer rely on APME to determine WoL settings

Wei Yongjun (1):
  ixgbe: convert to use simple_open()

 drivers/net/ethernet/intel/igb/igb.h             |   3 +-
 drivers/net/ethernet/intel/igb/igb_ethtool.c     |  56 +----------
 drivers/net/ethernet/intel/igb/igb_main.c        |  51 ++++++----
 drivers/net/ethernet/intel/igb/igb_ptp.c         |  47 ++++-----
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c  |   3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h  |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 115 ++++++++++-------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |   5 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    |  83 +++++++++-------
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c     |  40 +-------
 10 files changed, 163 insertions(+), 241 deletions(-)

-- 
1.7.11.7

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

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

This series contains updates to ixgbe, ixgbevf and igb.

The following are changes since commit 1ad759d8479b4b28f2a6c874d380066cf987b341:
  ipv6: remove unneeded check to pskb_may_pull in ipip6_rcv
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Akeem G. Abodunrin (1):
  igb: Copyright string update to year 2013

Alexander Duyck (5):
  ixgbe: Make TSO check for CHECKSUM_PARTIAL to avoid skb_is_gso check
  ixgbe: Always use context 0, even for FCoE and TSO
  ixgbe: Update ixgbe Tx flags to improve code efficiency
  ixgbe: Improve performance and reduce size of ixgbe_tx_map
  igb: Replace rmb in Tx cleanup with read_barrier_depends

Greg Rose (3):
  ixgbevf: Synch out of tree and in tree mailbox interrupt handlers
  ixgbevf: Fix link up messages
  ixgbevf: Fix statistics corruption

John Fastabend (1):
  ixgbe: SR-IOV: dynamic IEEE DCBx default priority changes

 drivers/net/ethernet/intel/igb/Makefile           |   2 +-
 drivers/net/ethernet/intel/igb/e1000_82575.c      |   2 +-
 drivers/net/ethernet/intel/igb/e1000_82575.h      |   2 +-
 drivers/net/ethernet/intel/igb/e1000_defines.h    |   2 +-
 drivers/net/ethernet/intel/igb/e1000_hw.h         |   2 +-
 drivers/net/ethernet/intel/igb/e1000_i210.c       |   2 +-
 drivers/net/ethernet/intel/igb/e1000_i210.h       |   2 +-
 drivers/net/ethernet/intel/igb/e1000_mac.c        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_mac.h        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_mbx.c        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_mbx.h        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_nvm.c        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_nvm.h        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_phy.h        |   2 +-
 drivers/net/ethernet/intel/igb/e1000_regs.h       |   2 +-
 drivers/net/ethernet/intel/igb/igb.h              |   2 +-
 drivers/net/ethernet/intel/igb/igb_ethtool.c      |   2 +-
 drivers/net/ethernet/intel/igb/igb_hwmon.c        |   2 +-
 drivers/net/ethernet/intel/igb/igb_main.c         |   7 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h          |  27 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c   |  40 ++++++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c     |   7 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c     | 135 ++++++++++------------
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c    |   9 --
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h    |   8 ++
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |  41 ++++++-
 27 files changed, 186 insertions(+), 126 deletions(-)

-- 
1.7.11.7

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 19 Jan 2013 05:14:49 -0800

> This series contains updates to ixgbe, ixgbevf and igb.
> 
> The following are changes since commit 1ad759d8479b4b28f2a6c874d380066cf987b341:
>   ipv6: remove unneeded check to pskb_may_pull in ipip6_rcv
> 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] 20+ messages in thread

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

This series contains updates to igb and ixgbe.  Most of the changes
are against igb, except for one patch against ixgbe.

There are 3 igb fixes from Carolyn which were reported by Dan
Carpenter which resolve issues found in the get_i2c_client().  Alex
does some cleanup of the igb driver to match similar functionality
in ixgbe on transmit.  Alex also makes it so that we can enable the use
of build_skb for cases where jumbo frames are disabled.  The advantage
to this is that we do not have to perform a memcpy to populate the header
and as a result we see a significant performance improvement.

Akeem provides 4 patches to initialize function pointers and do a
re-factoring of the function pointers in igb_get_variants() to assist
with driver debugging.

The ixgbe patch comes from Emil to reshuffle the switch/case structure
of the flag assignment to allow for the flags to be set for each MAC
type separately. This is needed for new hardware that does not have feature
parity with older hardware.

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

Akeem G. Abodunrin (4):
  igb: Initialize PHY function pointers
  igb: Initialize NVM function pointers
  igb: Intialize MAC function pointers
  igb: Refractoring function pointers in igb_get_invariants function

Alexander Duyck (2):
  igb: Support using build_skb in the case that jumbo frames are
    disabled
  igb: Update igb to use a path similar to ixgbe to determine when to
    stop Tx

Carolyn Wyborny (3):
  igb: Fix for improper exit in igb_get_i2c_client
  igb: Fix for improper allocation flag in igb_get_i2c_client
  igb: Fix for sparse warning in igb_get_i2c_client

Emil Tantilov (1):
  ixgbe: refactor initialization of feature flags

 drivers/net/ethernet/intel/igb/e1000_82575.c  | 488 ++++++++++++++------------
 drivers/net/ethernet/intel/igb/igb.h          |  21 +-
 drivers/net/ethernet/intel/igb/igb_main.c     | 230 +++++++++---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c |  58 +--
 4 files changed, 497 insertions(+), 300 deletions(-)

-- 
1.7.11.7

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

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

This series contains updates to ixgbe, e100, igb, and e1000e.

Alex provides a ixgbe patch to use the generic helper pci_vfs_assigned
instead of the ixgbe specific function ixgbe_vfs_are_assigned.

Greg provides 2 ixgbe patches, the first patch retains VLAN filtering
in promiscuous mode because using the new bridge FDB interface to allow
SR-IOV virtual function network devices to communicate with SW bridged
network devices the physical function is placed into promiscuous mode
and hardware VLAN filtering is disabled.  The second patch fixes a typo
where the code should use a bitwise "and" rather than a logical "and".

Andy Shevchenko provides an e100 patch to dump small buffers via %*ph.

Akeem provides three patches against igb.  The first resets the link when
a user enables/disables EEE when link is up.  The second changes register
read to "just-read" without returning a value for hardware to accurately
latch the register value.  His third patch adds rcu_lock to avoid possible
race conditions with igb_update_stats.

Mitch provides a igb patch to fix an issue where MSI-X interrupts are required
for SR-IOV operation/functionality.

Dean (from Redhat) provides a patch to resolve minor merger conflicts.

Wei Yang provides a e1000e patch to remove duplicate assignment of default
Rx/Tx ring size.

The following are changes since commit 8599b52e14a1611dcb563289421bee76751f1d53:
  bonding: add an option to fail when any of arp_ip_target is inaccessible
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):
  ixgbe: Use pci_vfs_assigned instead of ixgbe_vfs_are_assigned

Andy Shevchenko (1):
  e100: dump small buffers via %*ph

Dean Nelson (1):
  e1000e: restore call to pci_clear_master()

Greg Rose (2):
  ixgbe: Retain VLAN filtering in promiscuous + VT mode
  ixgbe: Fix typo

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

Wei Yang (1):
  e1000e: Remove duplicate assignment of default rx/tx ring size

 drivers/net/ethernet/intel/e100.c              |  15 ++--
 drivers/net/ethernet/intel/e1000e/netdev.c     |   6 +-
 drivers/net/ethernet/intel/igb/e1000_82575.c   |   9 +--
 drivers/net/ethernet/intel/igb/igb_ethtool.c   |   4 +-
 drivers/net/ethernet/intel/igb/igb_main.c      |  26 ++++---
 drivers/net/ethernet/intel/igb/igb_ptp.c       |   8 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c  |  11 ++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 101 ++++++++++++++++---------
 8 files changed, 110 insertions(+), 70 deletions(-)

-- 
1.7.11.7

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

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

This series contains updates to ixgbe.

Jacob provides a fix for 82599 devices where it can potentially keep link
lights up when the adapter has gone down.

Mark provides a fix to resolve the possible use of uninitialized memory
by checking the return value on EEPROM reads.

Don provides 2 patches, one to fix a issue where we were traversing the
Tx ring with the value of IXGBE_NUM_RX_QUEUES which currently happens
to have the correct value but this is misleading.  A change later, could
easily make this no longer correct so when traversing the Tx ring, use
netdev->num_tx_queues.  His second patch does some minor clean ups of log
messages.

Emil provides the remaining ixgbe patches.  First he fixes the link test
where forcing the laser before the link check can lead to inconsistent
results because it does not guarantee that the link will be negotiated
correctly.  Then he initializes the message buffer array to 0 in order
to avoid using random numbers from the memory as a MAC address for the
VF.  Emil also fixes the read loop for the I2C data to account for the
offset for SFP+ modules.  Lastly, Emil provides several patches to add
support for QSFP modules where 1Gbps support is added as well as support
for older QSFP active direct attach cables which pre-date SFF-8436 v3.6.

The following are changes since commit 5b2941b18dc5f60a5c14a5c15693f9c58b0dd922:
  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch
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 incorrect limit value in ring transverse
  ixgbe: cleanup some log messages

Emil Tantilov (6):
  ixgbe: fix link test when connected to 1Gbps link partner
  ixgbe: zero out mailbox buffer on init
  ixgbe: fix SFF data dumps of SFP+ modules from an offset
  ixgbe: add 1Gbps support for QSFP+
  ixgbe: include QSFP PHY types in ixgbe_is_sfp()
  ixgbe: add support for older QSFP active DA cables

Jacob Keller (1):
  ixgbe: disable link when adapter goes down

Mark Rustad (1):
  ixgbe: Check return value on eeprom reads

 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c   | 93 ++++++++++++++++++----
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c  | 67 ++++++++++------
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h  |  6 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 40 ++++------
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    | 13 +++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c     | 98 +++++++++++++++++++-----
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h     |  5 ++
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c   |  4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h    |  2 +
 9 files changed, 238 insertions(+), 90 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2013-08-28 10:33 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-01  7:32 [net-next 00/10][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2012-03-01  7:32 ` [net-next 01/10] e100: Support RXFCS feature flag Jeff Kirsher
2012-03-01  7:33 ` [net-next 02/10] e100: Support sending custom Ethernet CRC Jeff Kirsher
2012-03-01  7:33 ` [net-next 03/10] e100: Support RXALL feature flag Jeff Kirsher
2012-03-01  7:33 ` [net-next 04/10] e1000e: cleanup incorrect filename in comment Jeff Kirsher
2012-03-01  7:33 ` [net-next 05/10] e1000e: cleanup whitespace and indentation Jeff Kirsher
2012-03-01  7:33 ` [net-next 06/10] e1000e: use msleep instead of mdelay Jeff Kirsher
2012-03-01  7:33 ` [net-next 07/10] ixgbe: Minor formatting and comment corrections for ixgbe_xmit_frame_ring Jeff Kirsher
2012-03-01  7:33 ` [net-next 08/10] ixgbe: fix spelling errors Jeff Kirsher
2012-03-01  7:33 ` [net-next 09/10] ixgbe: Fix comments that are out of date or formatted incorrectly Jeff Kirsher
2012-03-01  7:33 ` [net-next 10/10] rtnetlink: Fix VF IFLA policy Jeff Kirsher
2012-03-01 21:26 ` [net-next 00/10][pull request] Intel Wired LAN Driver Updates David Miller
  -- strict thread matches above, loose matches on Subject: below --
2012-03-19 21:22 Jeff Kirsher
2012-03-19 21:26 ` David Miller
2012-11-21 10:47 Jeff Kirsher
2013-01-19 13:14 Jeff Kirsher
2013-01-19 15:53 ` David Miller
2013-02-08 10:39 Jeff Kirsher
2013-06-26 10:55 Jeff Kirsher
2013-08-28 10:33 Jeff Kirsher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).