netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-07-28 11:41 Jeff Kirsher
  2013-07-28 11:41 ` [net-next 01/12] e100: dump small buffers via %*ph Jeff Kirsher
                   ` (12 more replies)
  0 siblings, 13 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e100 and e1000e.

The e100 patch from Andy simply updates the netif_printk() to use
%*ph to dump small buffers.

The changes to e1000e include a fix from Dean Nelson to resolve a
issue where a pci_clear_master() was accidentally dropped during a
conflict resolution. Wei Young provides 2 patches, one removes an
assignment of the default ring size because it was a duplicate. The
second changes the packet split receive structure to use
PS_PAGE_BUFFERS macro for the length so that problems won't occur
when the length is changed.

The remaining patches for e1000e are from Bruce Allan, where he
provides a number of fixes and updates for I218.  In addition, a
fix for 82583 which can disappear off the PCIe bus, to resolve this,
disable ASPM L1.  Bruce also provides a fix to a previous commit
(commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
devices are only taken out of runtime power management for those
ethtool operations that must access device registers.

The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
  bonding: remove bond_resend_igmp_join_requests read_unlock leftover
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

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

Bruce Allan (8):
  e1000e: disable ASPM L1 on 82583
  e1000e: iAMT connections drop on driver unload when jumbo frames
    enabled
  e1000e: low throughput using 4K jumbos on I218
  e1000e: Tx hang on I218 when linked at 100Half and slow response at
    10Mbps
  e1000e: ethtool unnecessarily takes device out of RPM suspend
  e1000e: enable support for new device IDs
  e1000e: do not resume device from RPM suspend to read PHY status
    registers
  e1000e: fix I217/I218 PHY initialization flow

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

Wei Yang (2):
  e1000e: Remove duplicate assignment of default rx/tx ring size
  e1000e: Use marco instead of digit for defining
    e1000_rx_desc_packet_split

 drivers/net/ethernet/intel/e100.c           |  15 ++-
 drivers/net/ethernet/intel/e1000e/82571.c   |   1 +
 drivers/net/ethernet/intel/e1000e/e1000.h   |   3 -
 drivers/net/ethernet/intel/e1000e/ethtool.c | 105 +++++++++++++++------
 drivers/net/ethernet/intel/e1000e/hw.h      |  10 +-
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 140 +++++++++++++++++++---------
 drivers/net/ethernet/intel/e1000e/ich8lan.h |   6 ++
 drivers/net/ethernet/intel/e1000e/netdev.c  |  38 ++++----
 8 files changed, 217 insertions(+), 101 deletions(-)

-- 
1.7.11.7

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

* [net-next 01/12] e100: dump small buffers via %*ph
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 02/12] e1000e: restore call to pci_clear_master() Jeff Kirsher
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Andy Shevchenko, netdev, gospo, sassmann, Jeff Kirsher

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.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/e100.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index 5115ae7..ada6e21 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -1175,15 +1175,12 @@ static int e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
 		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]);
-	netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
-		     "[08-15]=%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n",
-		     c[8], c[9], c[10], c[11], c[12], c[13], c[14], c[15]);
-	netif_printk(nic, hw, KERN_DEBUG, nic->netdev,
-		     "[16-23]=%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n",
-		     c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]);
+	netif_printk(nic, hw, KERN_DEBUG, nic->netdev, "[00-07]=%8ph\n",
+		     c + 0);
+	netif_printk(nic, hw, KERN_DEBUG, nic->netdev, "[08-15]=%8ph\n",
+		     c + 8);
+	netif_printk(nic, hw, KERN_DEBUG, nic->netdev, "[16-23]=%8ph\n",
+		     c + 16);
 	return 0;
 }
 
-- 
1.7.11.7

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

* [net-next 02/12] e1000e: restore call to pci_clear_master()
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2013-07-28 11:41 ` [net-next 01/12] e100: dump small buffers via %*ph Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 03/12] e1000e: Remove duplicate assignment of default rx/tx ring size Jeff Kirsher
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Dean Nelson, netdev, gospo, sassmann, Jeff Kirsher

From: Dean Nelson <dnelson@redhat.com>

In attempting to resolve a minor merge conflict, commit e5f2ef7ab4690d2e8faa
(Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net) accidentally
dropped a call to pci_clear_master() that was intended to remain in place.

Commit 4e0855dff094b0d56d6b (e1000e: fix pci-device enable-counter balance)
replaced a call to pci_disable_device() by one to pci_clear_master(). And then
commit 66148babe728f3e00e13 (e1000e: fix runtime power management transitions)
deleted a number of lines starting two lines following that call.

This patch restores the call to pci_clear_master() in __e1000_shutdown().

v2: added summary lines (enclosed in parens) following commit IDs

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

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 77f81cb..5475cf4 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -5995,6 +5995,8 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool runtime)
 	 */
 	e1000e_release_hw_control(adapter);
 
+	pci_clear_master(pdev);
+
 	/* The pci-e switch on some quad port adapters will report a
 	 * correctable error when the MAC transitions from D0 to D3.  To
 	 * prevent this we need to mask off the correctable errors on the
-- 
1.7.11.7

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

* [net-next 03/12] e1000e: Remove duplicate assignment of default rx/tx ring size
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2013-07-28 11:41 ` [net-next 01/12] e100: dump small buffers via %*ph Jeff Kirsher
  2013-07-28 11:41 ` [net-next 02/12] e1000e: restore call to pci_clear_master() Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 04/12] e1000e: Use marco instead of digit for defining e1000_rx_desc_packet_split Jeff Kirsher
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Wei Yang, netdev, gospo, sassmann, Jeff Kirsher

From: Wei Yang <weiyang@linux.vnet.ibm.com>

tx_ring/rx_ring size is assigned in function e1000_alloc_queues(), which is
called by e1000_sw_init() in the early stage of e1000_probe().

This patch just remove the duplicate assignment of this default ring size
value.

Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Reviewed-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Reviewed-by: Da Yu Qiu <qiudayu@cn.ibm.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Acked-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 5475cf4..40e6232 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6725,10 +6725,6 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	adapter->hw.fc.current_mode = e1000_fc_default;
 	adapter->hw.phy.autoneg_advertised = 0x2f;
 
-	/* ring size defaults */
-	adapter->rx_ring->count = E1000_DEFAULT_RXD;
-	adapter->tx_ring->count = E1000_DEFAULT_TXD;
-
 	/* Initial Wake on LAN setting - If APM wake is enabled in
 	 * the EEPROM, enable the ACPI Magic Packet filter
 	 */
-- 
1.7.11.7

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

* [net-next 04/12] e1000e: Use marco instead of digit for defining e1000_rx_desc_packet_split
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (2 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 03/12] e1000e: Remove duplicate assignment of default rx/tx ring size Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 05/12] e1000e: disable ASPM L1 on 82583 Jeff Kirsher
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Wei Yang, netdev, gospo, sassmann, Jeff Kirsher

From: Wei Yang <weiyang@linux.vnet.ibm.com>

In structure e1000_rx_desc_packet_split, the size of wb.upper.length is
defined by a digit. This may introduce some problem when the length is
changed.

This patch use the macro PS_PAGE_BUFFERS for the definition. And move the
definition to hw.h.

Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.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/e1000.h | 3 ---
 drivers/net/ethernet/intel/e1000e/hw.h    | 6 +++++-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h
index ffbc08f..ad0edd1 100644
--- a/drivers/net/ethernet/intel/e1000e/e1000.h
+++ b/drivers/net/ethernet/intel/e1000e/e1000.h
@@ -90,9 +90,6 @@ struct e1000_info;
 
 #define E1000_MNG_VLAN_NONE		(-1)
 
-/* Number of packet split data buffers (not including the header buffer) */
-#define PS_PAGE_BUFFERS			(MAX_PS_BUFFERS - 1)
-
 #define DEFAULT_JUMBO			9234
 
 /* Time to wait before putting the device into D3 if there's no link (in ms). */
diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h
index a6f903a..cee565d 100644
--- a/drivers/net/ethernet/intel/e1000e/hw.h
+++ b/drivers/net/ethernet/intel/e1000e/hw.h
@@ -227,6 +227,9 @@ union e1000_rx_desc_extended {
 };
 
 #define MAX_PS_BUFFERS 4
+
+/* Number of packet split data buffers (not including the header buffer) */
+#define PS_PAGE_BUFFERS			(MAX_PS_BUFFERS - 1)
 /* Receive Descriptor - Packet Split */
 union e1000_rx_desc_packet_split {
 	struct {
@@ -251,7 +254,8 @@ union e1000_rx_desc_packet_split {
 		} middle;
 		struct {
 			__le16 header_status;
-			__le16 length[3];	/* length of buffers 1-3 */
+			/* length of buffers 1-3 */
+			__le16 length[PS_PAGE_BUFFERS];
 		} upper;
 		__le64 reserved;
 	} wb; /* writeback */
-- 
1.7.11.7

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

* [net-next 05/12] e1000e: disable ASPM L1 on 82583
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (3 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 04/12] e1000e: Use marco instead of digit for defining e1000_rx_desc_packet_split Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 06/12] e1000e: iAMT connections drop on driver unload when jumbo frames enabled Jeff Kirsher
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

The 82583 can disappear off the PCIe bus.  This device is a modified 82574
which had the same problem which was fixed by disabling ASPM L1; disabling
it on 82583 fixes the issue on this device.

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 | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/intel/e1000e/82571.c b/drivers/net/ethernet/intel/e1000e/82571.c
index 4c303e2..104fcec 100644
--- a/drivers/net/ethernet/intel/e1000e/82571.c
+++ b/drivers/net/ethernet/intel/e1000e/82571.c
@@ -2057,6 +2057,7 @@ const struct e1000_info e1000_82583_info = {
 				  | FLAG_HAS_JUMBO_FRAMES
 				  | FLAG_HAS_CTRLEXT_ON_LOAD,
 	.flags2			= FLAG2_DISABLE_ASPM_L0S
+				  | FLAG2_DISABLE_ASPM_L1
 				  | FLAG2_NO_DISABLE_RX,
 	.pba			= 32,
 	.max_hw_frame_size	= DEFAULT_JUMBO,
-- 
1.7.11.7

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

* [net-next 06/12] e1000e: iAMT connections drop on driver unload when jumbo frames enabled
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (4 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 05/12] e1000e: disable ASPM L1 on 82583 Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 07/12] e1000e: low throughput using 4K jumbos on I218 Jeff Kirsher
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

The jumbo frame configuration in the MAC/PHY should be reverted on 82579
and newer parts when the interface is brought down (not just when the MTU
is changed back to standard frame size) otherwise iAMT connections (e.g.
SoL, IDE-R) will be dropped and cannot be re-acquired until the MTU is
changed again.

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 | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 40e6232..99596a6 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -2979,17 +2979,10 @@ static void e1000_setup_rctl(struct e1000_adapter *adapter)
 	u32 pages = 0;
 
 	/* Workaround Si errata on PCHx - configure jumbo frame flow */
-	if (hw->mac.type >= e1000_pch2lan) {
-		s32 ret_val;
-
-		if (adapter->netdev->mtu > ETH_DATA_LEN)
-			ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, true);
-		else
-			ret_val = e1000_lv_jumbo_workaround_ich8lan(hw, false);
-
-		if (ret_val)
-			e_dbg("failed to enable jumbo frame workaround mode\n");
-	}
+	if ((hw->mac.type >= e1000_pch2lan) &&
+	    (adapter->netdev->mtu > ETH_DATA_LEN) &&
+	    e1000_lv_jumbo_workaround_ich8lan(hw, true))
+		e_dbg("failed to enable jumbo frame workaround mode\n");
 
 	/* Program MC offset vector base */
 	rctl = er32(RCTL);
@@ -4034,6 +4027,12 @@ void e1000e_down(struct e1000_adapter *adapter)
 	adapter->link_speed = 0;
 	adapter->link_duplex = 0;
 
+	/* Disable Si errata workaround on PCHx for jumbo frame flow */
+	if ((hw->mac.type >= e1000_pch2lan) &&
+	    (adapter->netdev->mtu > ETH_DATA_LEN) &&
+	    e1000_lv_jumbo_workaround_ich8lan(hw, false))
+		e_dbg("failed to disable jumbo frame workaround mode\n");
+
 	if (!pci_channel_offline(adapter->pdev))
 		e1000e_reset(adapter);
 
-- 
1.7.11.7

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

* [net-next 07/12] e1000e: low throughput using 4K jumbos on I218
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (5 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 06/12] e1000e: iAMT connections drop on driver unload when jumbo frames enabled Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 08/12] e1000e: Tx hang on I218 when linked at 100Half and slow response at 10Mbps Jeff Kirsher
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

Alter the packet buffer allocation accordingly.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 99596a6..51b05fe 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -3819,6 +3819,8 @@ void e1000e_reset(struct e1000_adapter *adapter)
 			break;
 		}
 
+		pba = 14;
+		ew32(PBA, pba);
 		fc->high_water = ((pba << 10) * 9 / 10) & E1000_FCRTH_RTH;
 		fc->low_water = ((pba << 10) * 8 / 10) & E1000_FCRTL_RTL;
 		break;
-- 
1.7.11.7

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

* [net-next 08/12] e1000e: Tx hang on I218 when linked at 100Half and slow response at 10Mbps
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (6 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 07/12] e1000e: low throughput using 4K jumbos on I218 Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 09/12] e1000e: ethtool unnecessarily takes device out of RPM suspend Jeff Kirsher
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

Tx hang is an unintended consequence of another workaround that is in the
EEPROM for an issue with the firmware at 10Mbps when K1 (a power mode of
the MAC-PHY interconnect) is enabled.  The issue is resolved by setting
appropriate Tx re-transmission timeouts in the PHY and associated K1 entry
times in the MAC to allow enough transmissions to occur without triggering
a Tx hang.  A similar change is needed when linked at 10Mbps to improve
latency.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 49 ++++++++++++++++++++++++-----
 drivers/net/ethernet/intel/e1000e/ich8lan.h |  6 ++++
 2 files changed, 48 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 9dde390..b56c61a 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -793,29 +793,31 @@ release:
  *  When K1 is enabled for 1Gbps, the MAC can miss 2 DMA completion indications
  *  preventing further DMA write requests.  Workaround the issue by disabling
  *  the de-assertion of the clock request when in 1Gpbs mode.
+ *  Also, set appropriate Tx re-transmission timeouts for 10 and 100Half link
+ *  speeds in order to avoid Tx hangs.
  **/
 static s32 e1000_k1_workaround_lpt_lp(struct e1000_hw *hw, bool link)
 {
 	u32 fextnvm6 = er32(FEXTNVM6);
+	u32 status = er32(STATUS);
 	s32 ret_val = 0;
+	u16 reg;
 
-	if (link && (er32(STATUS) & E1000_STATUS_SPEED_1000)) {
-		u16 kmrn_reg;
-
+	if (link && (status & E1000_STATUS_SPEED_1000)) {
 		ret_val = hw->phy.ops.acquire(hw);
 		if (ret_val)
 			return ret_val;
 
 		ret_val =
 		    e1000e_read_kmrn_reg_locked(hw, E1000_KMRNCTRLSTA_K1_CONFIG,
-						&kmrn_reg);
+						&reg);
 		if (ret_val)
 			goto release;
 
 		ret_val =
 		    e1000e_write_kmrn_reg_locked(hw,
 						 E1000_KMRNCTRLSTA_K1_CONFIG,
-						 kmrn_reg &
+						 reg &
 						 ~E1000_KMRNCTRLSTA_K1_ENABLE);
 		if (ret_val)
 			goto release;
@@ -827,12 +829,45 @@ static s32 e1000_k1_workaround_lpt_lp(struct e1000_hw *hw, bool link)
 		ret_val =
 		    e1000e_write_kmrn_reg_locked(hw,
 						 E1000_KMRNCTRLSTA_K1_CONFIG,
-						 kmrn_reg);
+						 reg);
 release:
 		hw->phy.ops.release(hw);
 	} else {
 		/* clear FEXTNVM6 bit 8 on link down or 10/100 */
-		ew32(FEXTNVM6, fextnvm6 & ~E1000_FEXTNVM6_REQ_PLL_CLK);
+		fextnvm6 &= ~E1000_FEXTNVM6_REQ_PLL_CLK;
+
+		if (!link || ((status & E1000_STATUS_SPEED_100) &&
+			      (status & E1000_STATUS_FD)))
+			goto update_fextnvm6;
+
+		ret_val = e1e_rphy(hw, I217_INBAND_CTRL, &reg);
+		if (ret_val)
+			return ret_val;
+
+		/* Clear link status transmit timeout */
+		reg &= ~I217_INBAND_CTRL_LINK_STAT_TX_TIMEOUT_MASK;
+
+		if (status & E1000_STATUS_SPEED_100) {
+			/* Set inband Tx timeout to 5x10us for 100Half */
+			reg |= 5 << I217_INBAND_CTRL_LINK_STAT_TX_TIMEOUT_SHIFT;
+
+			/* Do not extend the K1 entry latency for 100Half */
+			fextnvm6 &= ~E1000_FEXTNVM6_ENABLE_K1_ENTRY_CONDITION;
+		} else {
+			/* Set inband Tx timeout to 50x10us for 10Full/Half */
+			reg |= 50 <<
+			    I217_INBAND_CTRL_LINK_STAT_TX_TIMEOUT_SHIFT;
+
+			/* Extend the K1 entry latency for 10 Mbps */
+			fextnvm6 |= E1000_FEXTNVM6_ENABLE_K1_ENTRY_CONDITION;
+		}
+
+		ret_val = e1e_wphy(hw, I217_INBAND_CTRL, reg);
+		if (ret_val)
+			return ret_val;
+
+update_fextnvm6:
+		ew32(FEXTNVM6, fextnvm6);
 	}
 
 	return ret_val;
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.h b/drivers/net/ethernet/intel/e1000e/ich8lan.h
index 80034a2..5986569 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.h
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.h
@@ -93,6 +93,7 @@
 #define E1000_FEXTNVM4_BEACON_DURATION_16USEC	0x3
 
 #define E1000_FEXTNVM6_REQ_PLL_CLK	0x00000100
+#define E1000_FEXTNVM6_ENABLE_K1_ENTRY_CONDITION	0x00000200
 
 #define PCIE_ICH8_SNOOP_ALL	PCIE_NO_SNOOP_ALL
 
@@ -197,6 +198,11 @@
 
 #define SW_FLAG_TIMEOUT		1000	/* SW Semaphore flag timeout in ms */
 
+/* Inband Control */
+#define I217_INBAND_CTRL				PHY_REG(770, 18)
+#define I217_INBAND_CTRL_LINK_STAT_TX_TIMEOUT_MASK	0x3F00
+#define I217_INBAND_CTRL_LINK_STAT_TX_TIMEOUT_SHIFT	8
+
 /* PHY Low Power Idle Control */
 #define I82579_LPI_CTRL				PHY_REG(772, 20)
 #define I82579_LPI_CTRL_100_ENABLE		0x2000
-- 
1.7.11.7

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

* [net-next 09/12] e1000e: ethtool unnecessarily takes device out of RPM suspend
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (7 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 08/12] e1000e: Tx hang on I218 when linked at 100Half and slow response at 10Mbps Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 10/12] e1000e: enable support for new device IDs Jeff Kirsher
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

A previous patch (commit e60b22c5b7 e1000e: fix accessing to suspended
device) added .begin and .complete ethtool driver callbacks so that the
device was resumed from Runtime Power Management (RPM) suspend state for
all ethtool operations.  This is overkill for operations which do not need
to access any registers in the device.  This patch makes it so that the
device is taken out of RPM suspend only for those ethtool operations that
must access device registers.

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/ethtool.c | 105 ++++++++++++++++++++--------
 1 file changed, 77 insertions(+), 28 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c
index 59c22bf..e4ebd7d 100644
--- a/drivers/net/ethernet/intel/e1000e/ethtool.c
+++ b/drivers/net/ethernet/intel/e1000e/ethtool.c
@@ -173,7 +173,7 @@ static int e1000_get_settings(struct net_device *netdev,
 			speed = adapter->link_speed;
 			ecmd->duplex = adapter->link_duplex - 1;
 		}
-	} else {
+	} else if (!pm_runtime_suspended(netdev->dev.parent)) {
 		u32 status = er32(STATUS);
 		if (status & E1000_STATUS_LU) {
 			if (status & E1000_STATUS_SPEED_1000)
@@ -264,6 +264,9 @@ static int e1000_set_settings(struct net_device *netdev,
 {
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_hw *hw = &adapter->hw;
+	int ret_val = 0;
+
+	pm_runtime_get_sync(netdev->dev.parent);
 
 	/* When SoL/IDER sessions are active, autoneg/speed/duplex
 	 * cannot be changed
@@ -271,7 +274,8 @@ static int e1000_set_settings(struct net_device *netdev,
 	if (hw->phy.ops.check_reset_block &&
 	    hw->phy.ops.check_reset_block(hw)) {
 		e_err("Cannot change link characteristics when SoL/IDER is active.\n");
-		return -EINVAL;
+		ret_val = -EINVAL;
+		goto out;
 	}
 
 	/* MDI setting is only allowed when autoneg enabled because
@@ -279,13 +283,16 @@ static int e1000_set_settings(struct net_device *netdev,
 	 * duplex is forced.
 	 */
 	if (ecmd->eth_tp_mdix_ctrl) {
-		if (hw->phy.media_type != e1000_media_type_copper)
-			return -EOPNOTSUPP;
+		if (hw->phy.media_type != e1000_media_type_copper) {
+			ret_val = -EOPNOTSUPP;
+			goto out;
+		}
 
 		if ((ecmd->eth_tp_mdix_ctrl != ETH_TP_MDI_AUTO) &&
 		    (ecmd->autoneg != AUTONEG_ENABLE)) {
 			e_err("forcing MDI/MDI-X state is not supported when link speed and/or duplex are forced\n");
-			return -EINVAL;
+			ret_val = -EINVAL;
+			goto out;
 		}
 	}
 
@@ -307,8 +314,8 @@ static int e1000_set_settings(struct net_device *netdev,
 		u32 speed = ethtool_cmd_speed(ecmd);
 		/* calling this overrides forced MDI setting */
 		if (e1000_set_spd_dplx(adapter, speed, ecmd->duplex)) {
-			clear_bit(__E1000_RESETTING, &adapter->state);
-			return -EINVAL;
+			ret_val = -EINVAL;
+			goto out;
 		}
 	}
 
@@ -331,8 +338,10 @@ static int e1000_set_settings(struct net_device *netdev,
 		e1000e_reset(adapter);
 	}
 
+out:
+	pm_runtime_put_sync(netdev->dev.parent);
 	clear_bit(__E1000_RESETTING, &adapter->state);
-	return 0;
+	return ret_val;
 }
 
 static void e1000_get_pauseparam(struct net_device *netdev,
@@ -366,6 +375,8 @@ static int e1000_set_pauseparam(struct net_device *netdev,
 	while (test_and_set_bit(__E1000_RESETTING, &adapter->state))
 		usleep_range(1000, 2000);
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	if (adapter->fc_autoneg == AUTONEG_ENABLE) {
 		hw->fc.requested_mode = e1000_fc_default;
 		if (netif_running(adapter->netdev)) {
@@ -398,6 +409,7 @@ static int e1000_set_pauseparam(struct net_device *netdev,
 	}
 
 out:
+	pm_runtime_put_sync(netdev->dev.parent);
 	clear_bit(__E1000_RESETTING, &adapter->state);
 	return retval;
 }
@@ -428,6 +440,8 @@ static void e1000_get_regs(struct net_device *netdev,
 	u32 *regs_buff = p;
 	u16 phy_data;
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	memset(p, 0, E1000_REGS_LEN * sizeof(u32));
 
 	regs->version = (1 << 24) | (adapter->pdev->revision << 16) |
@@ -472,6 +486,8 @@ static void e1000_get_regs(struct net_device *netdev,
 	e1e_rphy(hw, MII_STAT1000, &phy_data);
 	regs_buff[24] = (u32)phy_data;	/* phy local receiver status */
 	regs_buff[25] = regs_buff[24];	/* phy remote receiver status */
+
+	pm_runtime_put_sync(netdev->dev.parent);
 }
 
 static int e1000_get_eeprom_len(struct net_device *netdev)
@@ -504,6 +520,8 @@ static int e1000_get_eeprom(struct net_device *netdev,
 	if (!eeprom_buff)
 		return -ENOMEM;
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	if (hw->nvm.type == e1000_nvm_eeprom_spi) {
 		ret_val = e1000_read_nvm(hw, first_word,
 					 last_word - first_word + 1,
@@ -517,6 +535,8 @@ static int e1000_get_eeprom(struct net_device *netdev,
 		}
 	}
 
+	pm_runtime_put_sync(netdev->dev.parent);
+
 	if (ret_val) {
 		/* a read error occurred, throw away the result */
 		memset(eeprom_buff, 0xff, sizeof(u16) *
@@ -566,6 +586,8 @@ static int e1000_set_eeprom(struct net_device *netdev,
 
 	ptr = (void *)eeprom_buff;
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	if (eeprom->offset & 1) {
 		/* need read/modify/write of first changed EEPROM word */
 		/* only the second byte of the word is being modified */
@@ -606,6 +628,7 @@ static int e1000_set_eeprom(struct net_device *netdev,
 		ret_val = e1000e_update_nvm_checksum(hw);
 
 out:
+	pm_runtime_put_sync(netdev->dev.parent);
 	kfree(eeprom_buff);
 	return ret_val;
 }
@@ -701,6 +724,8 @@ static int e1000_set_ringparam(struct net_device *netdev,
 		}
 	}
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	e1000e_down(adapter);
 
 	/* We can't just free everything and then setup again, because the
@@ -739,6 +764,7 @@ err_setup_rx:
 		e1000e_free_tx_resources(temp_tx);
 err_setup:
 	e1000e_up(adapter);
+	pm_runtime_put_sync(netdev->dev.parent);
 free_temp:
 	vfree(temp_tx);
 	vfree(temp_rx);
@@ -1732,6 +1758,8 @@ static void e1000_diag_test(struct net_device *netdev,
 	u8 autoneg;
 	bool if_running = netif_running(netdev);
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	set_bit(__E1000_TESTING, &adapter->state);
 
 	if (!if_running) {
@@ -1817,6 +1845,8 @@ static void e1000_diag_test(struct net_device *netdev,
 	}
 
 	msleep_interruptible(4 * 1000);
+
+	pm_runtime_put_sync(netdev->dev.parent);
 }
 
 static void e1000_get_wol(struct net_device *netdev,
@@ -1891,6 +1921,8 @@ static int e1000_set_phys_id(struct net_device *netdev,
 
 	switch (state) {
 	case ETHTOOL_ID_ACTIVE:
+		pm_runtime_get_sync(netdev->dev.parent);
+
 		if (!hw->mac.ops.blink_led)
 			return 2;	/* cycle on/off twice per second */
 
@@ -1902,6 +1934,7 @@ static int e1000_set_phys_id(struct net_device *netdev,
 			e1e_wphy(hw, IFE_PHY_SPECIAL_CONTROL_LED, 0);
 		hw->mac.ops.led_off(hw);
 		hw->mac.ops.cleanup_led(hw);
+		pm_runtime_put_sync(netdev->dev.parent);
 		break;
 
 	case ETHTOOL_ID_ON:
@@ -1912,6 +1945,7 @@ static int e1000_set_phys_id(struct net_device *netdev,
 		hw->mac.ops.led_off(hw);
 		break;
 	}
+
 	return 0;
 }
 
@@ -1950,11 +1984,15 @@ static int e1000_set_coalesce(struct net_device *netdev,
 		adapter->itr_setting = adapter->itr & ~3;
 	}
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	if (adapter->itr_setting != 0)
 		e1000e_write_itr(adapter, adapter->itr);
 	else
 		e1000e_write_itr(adapter, 0);
 
+	pm_runtime_put_sync(netdev->dev.parent);
+
 	return 0;
 }
 
@@ -1968,7 +2006,9 @@ static int e1000_nway_reset(struct net_device *netdev)
 	if (!adapter->hw.mac.autoneg)
 		return -EINVAL;
 
+	pm_runtime_get_sync(netdev->dev.parent);
 	e1000e_reinit_locked(adapter);
+	pm_runtime_put_sync(netdev->dev.parent);
 
 	return 0;
 }
@@ -1982,7 +2022,12 @@ static void e1000_get_ethtool_stats(struct net_device *netdev,
 	int i;
 	char *p = NULL;
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	e1000e_get_stats64(netdev, &net_stats);
+
+	pm_runtime_put_sync(netdev->dev.parent);
+
 	for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) {
 		switch (e1000_gstrings_stats[i].type) {
 		case NETDEV_STATS:
@@ -2033,7 +2078,11 @@ static int e1000_get_rxnfc(struct net_device *netdev,
 	case ETHTOOL_GRXFH: {
 		struct e1000_adapter *adapter = netdev_priv(netdev);
 		struct e1000_hw *hw = &adapter->hw;
-		u32 mrqc = er32(MRQC);
+		u32 mrqc;
+
+		pm_runtime_get_sync(netdev->dev.parent);
+		mrqc = er32(MRQC);
+		pm_runtime_put_sync(netdev->dev.parent);
 
 		if (!(mrqc & E1000_MRQC_RSS_FIELD_MASK))
 			return 0;
@@ -2096,9 +2145,13 @@ static int e1000e_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
 		return -EOPNOTSUPP;
 	}
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	ret_val = hw->phy.ops.acquire(hw);
-	if (ret_val)
+	if (ret_val) {
+		pm_runtime_put_sync(netdev->dev.parent);
 		return -EBUSY;
+	}
 
 	/* EEE Capability */
 	ret_val = e1000_read_emi_reg_locked(hw, cap_addr, &phy_data);
@@ -2117,14 +2170,11 @@ static int e1000e_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
 
 	/* EEE PCS Status */
 	ret_val = e1000_read_emi_reg_locked(hw, pcs_stat_addr, &phy_data);
+	if (ret_val)
+		goto release;
 	if (hw->phy.type == e1000_phy_82579)
 		phy_data <<= 8;
 
-release:
-	hw->phy.ops.release(hw);
-	if (ret_val)
-		return -ENODATA;
-
 	/* Result of the EEE auto negotiation - there is no register that
 	 * has the status of the EEE negotiation so do a best-guess based
 	 * on whether Tx or Rx LPI indications have been received.
@@ -2136,7 +2186,14 @@ release:
 	edata->tx_lpi_enabled = true;
 	edata->tx_lpi_timer = er32(LPIC) >> E1000_LPIC_LPIET_SHIFT;
 
-	return 0;
+release:
+	hw->phy.ops.release(hw);
+	if (ret_val)
+		ret_val = -ENODATA;
+
+	pm_runtime_put_sync(netdev->dev.parent);
+
+	return ret_val;
 }
 
 static int e1000e_set_eee(struct net_device *netdev, struct ethtool_eee *edata)
@@ -2169,12 +2226,16 @@ static int e1000e_set_eee(struct net_device *netdev, struct ethtool_eee *edata)
 
 	hw->dev_spec.ich8lan.eee_disable = !edata->eee_enabled;
 
+	pm_runtime_get_sync(netdev->dev.parent);
+
 	/* reset the link */
 	if (netif_running(netdev))
 		e1000e_reinit_locked(adapter);
 	else
 		e1000e_reset(adapter);
 
+	pm_runtime_put_sync(netdev->dev.parent);
+
 	return 0;
 }
 
@@ -2212,19 +2273,7 @@ static int e1000e_get_ts_info(struct net_device *netdev,
 	return 0;
 }
 
-static int e1000e_ethtool_begin(struct net_device *netdev)
-{
-	return pm_runtime_get_sync(netdev->dev.parent);
-}
-
-static void e1000e_ethtool_complete(struct net_device *netdev)
-{
-	pm_runtime_put_sync(netdev->dev.parent);
-}
-
 static const struct ethtool_ops e1000_ethtool_ops = {
-	.begin			= e1000e_ethtool_begin,
-	.complete		= e1000e_ethtool_complete,
 	.get_settings		= e1000_get_settings,
 	.set_settings		= e1000_set_settings,
 	.get_drvinfo		= e1000_get_drvinfo,
-- 
1.7.11.7

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

* [net-next 10/12] e1000e: enable support for new device IDs
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (8 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 09/12] e1000e: ethtool unnecessarily takes device out of RPM suspend Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 11/12] e1000e: do not resume device from RPM suspend to read PHY status registers Jeff Kirsher
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

The device IDs 0x15a0 and 0x15a1 are new SKUs that contain the same MAC as
I217 and same PHY as I218.

The device IDs 0x15a2 and 0x15a3 are the same as existing I218 SKUs.

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/hw.h      | 4 ++++
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 8 ++++++--
 drivers/net/ethernet/intel/e1000e/netdev.c  | 4 ++++
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h
index cee565d..b799fd9 100644
--- a/drivers/net/ethernet/intel/e1000e/hw.h
+++ b/drivers/net/ethernet/intel/e1000e/hw.h
@@ -90,6 +90,10 @@ struct e1000_hw;
 #define E1000_DEV_ID_PCH_LPT_I217_V		0x153B
 #define E1000_DEV_ID_PCH_LPTLP_I218_LM		0x155A
 #define E1000_DEV_ID_PCH_LPTLP_I218_V		0x1559
+#define E1000_DEV_ID_PCH_I218_LM2		0x15A0
+#define E1000_DEV_ID_PCH_I218_V2		0x15A1
+#define E1000_DEV_ID_PCH_I218_LM3		0x15A2	/* Wildcat Point PCH */
+#define E1000_DEV_ID_PCH_I218_V3		0x15A3	/* Wildcat Point PCH */
 
 #define E1000_REVISION_4	4
 
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index b56c61a..78d03d3 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -1028,7 +1028,9 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw)
 
 	/* Work-around I218 hang issue */
 	if ((hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
-	    (hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
+	    (hw->adapter->pdev->device == E1000_DEV_ID_PCH_LPTLP_I218_V) ||
+	    (hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_LM3) ||
+	    (hw->adapter->pdev->device == E1000_DEV_ID_PCH_I218_V3)) {
 		ret_val = e1000_k1_workaround_lpt_lp(hw, link);
 		if (ret_val)
 			return ret_val;
@@ -4203,7 +4205,9 @@ void e1000_suspend_workarounds_ich8lan(struct e1000_hw *hw)
 		u16 phy_reg, device_id = hw->adapter->pdev->device;
 
 		if ((device_id == E1000_DEV_ID_PCH_LPTLP_I218_LM) ||
-		    (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
+		    (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V) ||
+		    (device_id == E1000_DEV_ID_PCH_I218_LM3) ||
+		    (device_id == E1000_DEV_ID_PCH_I218_V3)) {
 			u32 fextnvm6 = er32(FEXTNVM6);
 
 			ew32(FEXTNVM6, fextnvm6 & ~E1000_FEXTNVM6_REQ_PLL_CLK);
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 51b05fe..650e569 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -6975,6 +6975,10 @@ static DEFINE_PCI_DEVICE_TABLE(e1000_pci_tbl) = {
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPT_I217_V), board_pch_lpt },
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_LM), board_pch_lpt },
 	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_LPTLP_I218_V), board_pch_lpt },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM2), board_pch_lpt },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V2), board_pch_lpt },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_LM3), board_pch_lpt },
+	{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_I218_V3), board_pch_lpt },
 
 	{ 0, 0, 0, 0, 0, 0, 0 }	/* terminate list */
 };
-- 
1.7.11.7

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

* [net-next 11/12] e1000e: do not resume device from RPM suspend to read PHY status registers
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (9 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 10/12] e1000e: enable support for new device IDs Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 11:41 ` [net-next 12/12] e1000e: fix I217/I218 PHY initialization flow Jeff Kirsher
  2013-07-28 20:21 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

When the device is runtime suspended (e.g. when there is no link), do not
wake it from D3 to read the PHY status; just set the values to typical
power-on defaults as is done when runtime PM is not enabled and there is no
link.

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 | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 650e569..e6d2c0f 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -4684,11 +4684,11 @@ static void e1000_phy_read_status(struct e1000_adapter *adapter)
 	struct e1000_hw *hw = &adapter->hw;
 	struct e1000_phy_regs *phy = &adapter->phy_regs;
 
-	if ((er32(STATUS) & E1000_STATUS_LU) &&
+	if (!pm_runtime_suspended((&adapter->pdev->dev)->parent) &&
+	    (er32(STATUS) & E1000_STATUS_LU) &&
 	    (adapter->hw.phy.media_type == e1000_media_type_copper)) {
 		int ret_val;
 
-		pm_runtime_get_sync(&adapter->pdev->dev);
 		ret_val = e1e_rphy(hw, MII_BMCR, &phy->bmcr);
 		ret_val |= e1e_rphy(hw, MII_BMSR, &phy->bmsr);
 		ret_val |= e1e_rphy(hw, MII_ADVERTISE, &phy->advertise);
@@ -4699,7 +4699,6 @@ static void e1000_phy_read_status(struct e1000_adapter *adapter)
 		ret_val |= e1e_rphy(hw, MII_ESTATUS, &phy->estatus);
 		if (ret_val)
 			e_warn("Error reading PHY register\n");
-		pm_runtime_put_sync(&adapter->pdev->dev);
 	} else {
 		/* Do not read PHY registers if link is not up
 		 * Set values to typical power-on defaults
-- 
1.7.11.7

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

* [net-next 12/12] e1000e: fix I217/I218 PHY initialization flow
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (10 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 11/12] e1000e: do not resume device from RPM suspend to read PHY status registers Jeff Kirsher
@ 2013-07-28 11:41 ` Jeff Kirsher
  2013-07-28 20:21 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
  12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
  To: davem; +Cc: Bruce Allan, netdev, gospo, sassmann, Jeff Kirsher

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

The initialization of the PHY on I217/I218, while similar to 82579, must
also check to see if the MAC and PHY are in the same mode (PCIe vs. SMBus)
otherwise the PHY will be inaccessible by the MAC.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 83 +++++++++++++++++------------
 1 file changed, 50 insertions(+), 33 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 78d03d3..af08188 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -185,6 +185,7 @@ static bool e1000_phy_is_accessible_pchlan(struct e1000_hw *hw)
 	u32 phy_id = 0;
 	s32 ret_val;
 	u16 retry_count;
+	u32 mac_reg = 0;
 
 	for (retry_count = 0; retry_count < 2; retry_count++) {
 		ret_val = e1e_rphy_locked(hw, MII_PHYSID1, &phy_reg);
@@ -203,11 +204,11 @@ static bool e1000_phy_is_accessible_pchlan(struct e1000_hw *hw)
 
 	if (hw->phy.id) {
 		if (hw->phy.id == phy_id)
-			return true;
+			goto out;
 	} else if (phy_id) {
 		hw->phy.id = phy_id;
 		hw->phy.revision = (u32)(phy_reg & ~PHY_REVISION_MASK);
-		return true;
+		goto out;
 	}
 
 	/* In case the PHY needs to be in mdio slow mode,
@@ -219,7 +220,22 @@ static bool e1000_phy_is_accessible_pchlan(struct e1000_hw *hw)
 		ret_val = e1000e_get_phy_id(hw);
 	hw->phy.ops.acquire(hw);
 
-	return !ret_val;
+	if (ret_val)
+		return false;
+out:
+	if (hw->mac.type == e1000_pch_lpt) {
+		/* Unforce SMBus mode in PHY */
+		e1e_rphy_locked(hw, CV_SMB_CTRL, &phy_reg);
+		phy_reg &= ~CV_SMB_CTRL_FORCE_SMBUS;
+		e1e_wphy_locked(hw, CV_SMB_CTRL, phy_reg);
+
+		/* Unforce SMBus mode in MAC */
+		mac_reg = er32(CTRL_EXT);
+		mac_reg &= ~E1000_CTRL_EXT_FORCE_SMBUS;
+		ew32(CTRL_EXT, mac_reg);
+	}
+
+	return true;
 }
 
 /**
@@ -233,7 +249,6 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
 {
 	u32 mac_reg, fwsm = er32(FWSM);
 	s32 ret_val;
-	u16 phy_reg;
 
 	/* Gate automatic PHY configuration by hardware on managed and
 	 * non-managed 82579 and newer adapters.
@@ -262,22 +277,16 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
 		mac_reg |= E1000_CTRL_EXT_FORCE_SMBUS;
 		ew32(CTRL_EXT, mac_reg);
 
+		/* Wait 50 milliseconds for MAC to finish any retries
+		 * that it might be trying to perform from previous
+		 * attempts to acknowledge any phy read requests.
+		 */
+		msleep(50);
+
 		/* fall-through */
 	case e1000_pch2lan:
-		if (e1000_phy_is_accessible_pchlan(hw)) {
-			if (hw->mac.type == e1000_pch_lpt) {
-				/* Unforce SMBus mode in PHY */
-				e1e_rphy_locked(hw, CV_SMB_CTRL, &phy_reg);
-				phy_reg &= ~CV_SMB_CTRL_FORCE_SMBUS;
-				e1e_wphy_locked(hw, CV_SMB_CTRL, phy_reg);
-
-				/* Unforce SMBus mode in MAC */
-				mac_reg = er32(CTRL_EXT);
-				mac_reg &= ~E1000_CTRL_EXT_FORCE_SMBUS;
-				ew32(CTRL_EXT, mac_reg);
-			}
+		if (e1000_phy_is_accessible_pchlan(hw))
 			break;
-		}
 
 		/* fall-through */
 	case e1000_pchlan:
@@ -287,6 +296,7 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
 
 		if (hw->phy.ops.check_reset_block(hw)) {
 			e_dbg("Required LANPHYPC toggle blocked by ME\n");
+			ret_val = -E1000_ERR_PHY;
 			break;
 		}
 
@@ -298,15 +308,6 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
 		mac_reg |= E1000_FEXTNVM3_PHY_CFG_COUNTER_50MSEC;
 		ew32(FEXTNVM3, mac_reg);
 
-		if (hw->mac.type == e1000_pch_lpt) {
-			/* Toggling LANPHYPC brings the PHY out of SMBus mode
-			 * So ensure that the MAC is also out of SMBus mode
-			 */
-			mac_reg = er32(CTRL_EXT);
-			mac_reg &= ~E1000_CTRL_EXT_FORCE_SMBUS;
-			ew32(CTRL_EXT, mac_reg);
-		}
-
 		/* Toggle LANPHYPC Value bit */
 		mac_reg = er32(CTRL);
 		mac_reg |= E1000_CTRL_LANPHYPC_OVERRIDE;
@@ -325,6 +326,21 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
 				usleep_range(5000, 10000);
 			} while (!(er32(CTRL_EXT) &
 				   E1000_CTRL_EXT_LPCD) && count--);
+			usleep_range(30000, 60000);
+			if (e1000_phy_is_accessible_pchlan(hw))
+				break;
+
+			/* Toggling LANPHYPC brings the PHY out of SMBus mode
+			 * so ensure that the MAC is also out of SMBus mode
+			 */
+			mac_reg = er32(CTRL_EXT);
+			mac_reg &= ~E1000_CTRL_EXT_FORCE_SMBUS;
+			ew32(CTRL_EXT, mac_reg);
+
+			if (e1000_phy_is_accessible_pchlan(hw))
+				break;
+
+			ret_val = -E1000_ERR_PHY;
 		}
 		break;
 	default:
@@ -332,13 +348,14 @@ static s32 e1000_init_phy_workarounds_pchlan(struct e1000_hw *hw)
 	}
 
 	hw->phy.ops.release(hw);
-
-	/* Reset the PHY before any access to it.  Doing so, ensures
-	 * that the PHY is in a known good state before we read/write
-	 * PHY registers.  The generic reset is sufficient here,
-	 * because we haven't determined the PHY type yet.
-	 */
-	ret_val = e1000e_phy_hw_reset_generic(hw);
+	if (!ret_val) {
+		/* Reset the PHY before any access to it.  Doing so, ensures
+		 * that the PHY is in a known good state before we read/write
+		 * PHY registers.  The generic reset is sufficient here,
+		 * because we haven't determined the PHY type yet.
+		 */
+		ret_val = e1000e_phy_hw_reset_generic(hw);
+	}
 
 out:
 	/* Ungate automatic PHY configuration on non-managed 82579 */
-- 
1.7.11.7

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (11 preceding siblings ...)
  2013-07-28 11:41 ` [net-next 12/12] e1000e: fix I217/I218 PHY initialization flow Jeff Kirsher
@ 2013-07-28 20:21 ` David Miller
  2013-07-28 23:11   ` Jeff Kirsher
  12 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-28 20:21 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 28 Jul 2013 04:41:04 -0700

> This series contains updates to e100 and e1000e.
> 
> The e100 patch from Andy simply updates the netif_printk() to use
> %*ph to dump small buffers.
> 
> The changes to e1000e include a fix from Dean Nelson to resolve a
> issue where a pci_clear_master() was accidentally dropped during a
> conflict resolution. Wei Young provides 2 patches, one removes an
> assignment of the default ring size because it was a duplicate. The
> second changes the packet split receive structure to use
> PS_PAGE_BUFFERS macro for the length so that problems won't occur
> when the length is changed.
> 
> The remaining patches for e1000e are from Bruce Allan, where he
> provides a number of fixes and updates for I218.  In addition, a
> fix for 82583 which can disappear off the PCIe bus, to resolve this,
> disable ASPM L1.  Bruce also provides a fix to a previous commit
> (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
> devices are only taken out of runtime power management for those
> ethtool operations that must access device registers.
> 
> The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
>   bonding: remove bond_resend_igmp_join_requests read_unlock leftover
> 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] 36+ messages in thread

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-28 20:21 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
@ 2013-07-28 23:11   ` Jeff Kirsher
  2013-07-29  0:20     ` David Miller
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 23:11 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, gospo, sassmann

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

On Sun, 2013-07-28 at 13:21 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 28 Jul 2013 04:41:04 -0700
> 
> > This series contains updates to e100 and e1000e.
> > 
> > The e100 patch from Andy simply updates the netif_printk() to use
> > %*ph to dump small buffers.
> > 
> > The changes to e1000e include a fix from Dean Nelson to resolve a
> > issue where a pci_clear_master() was accidentally dropped during a
> > conflict resolution. Wei Young provides 2 patches, one removes an
> > assignment of the default ring size because it was a duplicate. The
> > second changes the packet split receive structure to use
> > PS_PAGE_BUFFERS macro for the length so that problems won't occur
> > when the length is changed.
> > 
> > The remaining patches for e1000e are from Bruce Allan, where he
> > provides a number of fixes and updates for I218.  In addition, a
> > fix for 82583 which can disappear off the PCIe bus, to resolve this,
> > disable ASPM L1.  Bruce also provides a fix to a previous commit
> > (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
> > devices are only taken out of runtime power management for those
> > ethtool operations that must access device registers.
> > 
> > The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
> >   bonding: remove bond_resend_igmp_join_requests read_unlock leftover
> > 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.

It looks like you pulled my net tree instead of my net-next tree.
Fortunately, I did not have anything applied to my net tree that had not
already been sent out.

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

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-28 23:11   ` Jeff Kirsher
@ 2013-07-29  0:20     ` David Miller
  2013-07-29  2:08       ` Jeff Kirsher
  0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-29  0:20 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 28 Jul 2013 16:11:38 -0700

> On Sun, 2013-07-28 at 13:21 -0700, David Miller wrote:
>> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> Date: Sun, 28 Jul 2013 04:41:04 -0700
>> 
>> > This series contains updates to e100 and e1000e.
>> > 
>> > The e100 patch from Andy simply updates the netif_printk() to use
>> > %*ph to dump small buffers.
>> > 
>> > The changes to e1000e include a fix from Dean Nelson to resolve a
>> > issue where a pci_clear_master() was accidentally dropped during a
>> > conflict resolution. Wei Young provides 2 patches, one removes an
>> > assignment of the default ring size because it was a duplicate. The
>> > second changes the packet split receive structure to use
>> > PS_PAGE_BUFFERS macro for the length so that problems won't occur
>> > when the length is changed.
>> > 
>> > The remaining patches for e1000e are from Bruce Allan, where he
>> > provides a number of fixes and updates for I218.  In addition, a
>> > fix for 82583 which can disappear off the PCIe bus, to resolve this,
>> > disable ASPM L1.  Bruce also provides a fix to a previous commit
>> > (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
>> > devices are only taken out of runtime power management for those
>> > ethtool operations that must access device registers.
>> > 
>> > The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
>> >   bonding: remove bond_resend_igmp_join_requests read_unlock leftover
>> > 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.
> 
> It looks like you pulled my net tree instead of my net-next tree.
> Fortunately, I did not have anything applied to my net tree that had not
> already been sent out.

No, really, I did this:

git pull git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

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

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

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

On Sun, 2013-07-28 at 17:20 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 28 Jul 2013 16:11:38 -0700
> 
> > On Sun, 2013-07-28 at 13:21 -0700, David Miller wrote:
> >> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >> Date: Sun, 28 Jul 2013 04:41:04 -0700
> >> 
> >> > This series contains updates to e100 and e1000e.
> >> > 
> >> > The e100 patch from Andy simply updates the netif_printk() to use
> >> > %*ph to dump small buffers.
> >> > 
> >> > The changes to e1000e include a fix from Dean Nelson to resolve a
> >> > issue where a pci_clear_master() was accidentally dropped during a
> >> > conflict resolution. Wei Young provides 2 patches, one removes an
> >> > assignment of the default ring size because it was a duplicate. The
> >> > second changes the packet split receive structure to use
> >> > PS_PAGE_BUFFERS macro for the length so that problems won't occur
> >> > when the length is changed.
> >> > 
> >> > The remaining patches for e1000e are from Bruce Allan, where he
> >> > provides a number of fixes and updates for I218.  In addition, a
> >> > fix for 82583 which can disappear off the PCIe bus, to resolve this,
> >> > disable ASPM L1.  Bruce also provides a fix to a previous commit
> >> > (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
> >> > devices are only taken out of runtime power management for those
> >> > ethtool operations that must access device registers.
> >> > 
> >> > The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
> >> >   bonding: remove bond_resend_igmp_join_requests read_unlock leftover
> >> > 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.
> > 
> > It looks like you pulled my net tree instead of my net-next tree.
> > Fortunately, I did not have anything applied to my net tree that had not
> > already been sent out.
> 
> No, really, I did this:
> 
> git pull git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Disregard, it was me misreading my git log in my net tree after updating
it against your latest tree.

When will your kernel.org net-next be updated?  I ask because I have a
series for ixgbe I am putting together and wanted to make sure it is
against the latest net-next.

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

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-29  2:08       ` Jeff Kirsher
@ 2013-07-29  7:34         ` David Miller
  2013-07-29  8:34           ` Jeff Kirsher
  0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-29  7:34 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 28 Jul 2013 19:08:55 -0700

> When will your kernel.org net-next be updated?  I ask because I have a
> series for ixgbe I am putting together and wanted to make sure it is
> against the latest net-next.

Are you asking when I will next merge 'net' into 'net-next'?  If so,
I'll likely do it some time tomorrow.

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-29  7:34         ` David Miller
@ 2013-07-29  8:34           ` Jeff Kirsher
  2013-07-29  8:46             ` David Miller
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-29  8:34 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, gospo, sassmann

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

On Mon, 2013-07-29 at 00:34 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 28 Jul 2013 19:08:55 -0700
> 
> > When will your kernel.org net-next be updated?  I ask because I have a
> > series for ixgbe I am putting together and wanted to make sure it is
> > against the latest net-next.
> 
> Are you asking when I will next merge 'net' into 'net-next'?  If so,
> I'll likely do it some time tomorrow.

I am not worried about that.  I just cloned your net-next tree and did
not see your pull of my net-next tree which had the e100 and e1000e
patches.  I am working on creating another series against net-next and
the tip on kernel.org is:

commit 9d4a0314642918cbda9ed4012df51e8df608fce6
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date:   Fri Jul 26 17:05:16 2013 +0200

    ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL

which is several days old.  So I was not sure if I just make my series
against my net-next tip.

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

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-29  8:34           ` Jeff Kirsher
@ 2013-07-29  8:46             ` David Miller
  2013-07-29  9:17               ` Jeff Kirsher
  0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-29  8:46 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 29 Jul 2013 01:34:45 -0700

> On Mon, 2013-07-29 at 00:34 -0700, David Miller wrote:
>> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> Date: Sun, 28 Jul 2013 19:08:55 -0700
>> 
>> > When will your kernel.org net-next be updated?  I ask because I have a
>> > series for ixgbe I am putting together and wanted to make sure it is
>> > against the latest net-next.
>> 
>> Are you asking when I will next merge 'net' into 'net-next'?  If so,
>> I'll likely do it some time tomorrow.
> 
> I am not worried about that.  I just cloned your net-next tree and did
> not see your pull of my net-next tree which had the e100 and e1000e
> patches.  I am working on creating another series against net-next and
> the tip on kernel.org is:
> 
> commit 9d4a0314642918cbda9ed4012df51e8df608fce6
> Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
> Date:   Fri Jul 26 17:05:16 2013 +0200
> 
>     ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL
> 
> which is several days old.  So I was not sure if I just make my series
> against my net-next tip.

Weird, it should have all of your changes.

Tip is currently:

http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=fe6f700d6cbb7e8a61711e325f53d9c9e0a42a4c

net/mlx4_core: Respond to operation request by firmware

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2013-07-29  8:46             ` David Miller
@ 2013-07-29  9:17               ` Jeff Kirsher
  0 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-29  9:17 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, gospo, sassmann

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

On Mon, 2013-07-29 at 01:46 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Mon, 29 Jul 2013 01:34:45 -0700
> 
> > On Mon, 2013-07-29 at 00:34 -0700, David Miller wrote:
> >> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >> Date: Sun, 28 Jul 2013 19:08:55 -0700
> >> 
> >> > When will your kernel.org net-next be updated?  I ask because I have a
> >> > series for ixgbe I am putting together and wanted to make sure it is
> >> > against the latest net-next.
> >> 
> >> Are you asking when I will next merge 'net' into 'net-next'?  If so,
> >> I'll likely do it some time tomorrow.
> > 
> > I am not worried about that.  I just cloned your net-next tree and did
> > not see your pull of my net-next tree which had the e100 and e1000e
> > patches.  I am working on creating another series against net-next and
> > the tip on kernel.org is:
> > 
> > commit 9d4a0314642918cbda9ed4012df51e8df608fce6
> > Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
> > Date:   Fri Jul 26 17:05:16 2013 +0200
> > 
> >     ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL
> > 
> > which is several days old.  So I was not sure if I just make my series
> > against my net-next tip.
> 
> Weird, it should have all of your changes.
> 
> Tip is currently:
> 
> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=fe6f700d6cbb7e8a61711e325f53d9c9e0a42a4c
> 
> net/mlx4_core: Respond to operation request by firmware

All looks fine now, thanks!

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

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 10 Dec 2013 02:22:29 -0800

> This series contains updates to i40e, igb, ixgbe and ixgbevf.

Looks fine, pulled, thanks Jeff.

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

* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-12-10 10:22 Jeff Kirsher
  2013-12-11  2:30 ` David Miller
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to i40e, igb, ixgbe and ixgbevf.

Shannon provides a couple of i40e patches, first restricts the ethtool
diag test messages by using netif_info() macro to when the hardware
bit is enabled in the message level netdev message mask.  Second
provides a fix for when there is an out-of-range descriptor request.

Kamil provides a fix for i40e by updating the loopback enum types and
add information about the current loopback mode to data returned from
get_link_info().

Jesse provides a fix for i40e define name that was being mis-used.
I40E_ITR_NONE was being used as an ITRN register index by accident
because it was easily associated with the i40e Rx ITR and friends
defines, when it should be associated with the DYN_CTL register sets.

Jacob provides an update for ixgbevf Kconfig description since the VF
driver supports more than just the 82599 device.

Don and Alex provide a cleanup patch for ixgbe to make it where head,
tail, next to clean and next to use are all reset in a single function
for both Tx and Rx path.  Before, the code for this was spread out over
several areas which made it difficult to track what the values were for
each of the values.

Carolyn provides two igb patches to add a media switching feature for
i354 PHY's and new Media Auto Sense for 82580 devices only.

Aaron Sierra provides a fix for igb to resolve an issue with the 64-bit
PCI addresses being truncated because the return values of
pci_resource_start() and pci_resouce_end() were being cast to unsigned
long.

Guenter Roeck provides two igb patches, first simplifies the code by
attaching the hwmon sysfs attributes to hwmon device instead of the
PCI device.  Second fixes the temperature sensor attribute index by
setting it to 1 instead of 0 (per hwmon ABI).

The following are changes since commit 5824d2d16d39a9c57aa3bacf955fbd0c2134061f:
  bgmac: connect to PHY and make use of PHY device
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Aaron Sierra (1):
  igb: Support ports mapped in 64-bit PCI space

Carolyn Wyborny (2):
  igb: Add media switching feature for i354 PHY's
  igb: Add new feature Media Auto Sense for 82580 devices only

Catherine Sullivan (1):
  i40e: Bump version number

Don Skidmore (1):
  ixgbe: Focus config of head, tail ntc, and ntu all into a single
    function

Guenter Roeck (2):
  igb: Convert to use devm_hwmon_device_register_with_groups
  igb: Start temperature sensor attribute index with 1

Jacob Keller (1):
  ixgbevf: update Kconfig description

Jesse Brandeburg (1):
  i40e: remove and fix confusing define name

Kamil Krawczyk (1):
  i40e: loopback info and set loopback fix

Shannon Nelson (2):
  i40e: restrict diag test messages
  i40e: complain about out-of-range descriptor request

 drivers/net/ethernet/intel/Kconfig                |   8 +-
 drivers/net/ethernet/intel/i40e/i40e_common.c     |   1 +
 drivers/net/ethernet/intel/i40e/i40e_diag.h       |   8 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c    |  41 +++--
 drivers/net/ethernet/intel/i40e/i40e_main.c       |   2 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h       |  21 ++-
 drivers/net/ethernet/intel/i40e/i40e_type.h       |   1 +
 drivers/net/ethernet/intel/igb/e1000_82575.c      |  89 +++++++++
 drivers/net/ethernet/intel/igb/e1000_defines.h    |  16 ++
 drivers/net/ethernet/intel/igb/e1000_hw.h         |   3 +
 drivers/net/ethernet/intel/igb/igb.h              |  19 +-
 drivers/net/ethernet/intel/igb/igb_ethtool.c      |   4 +
 drivers/net/ethernet/intel/igb/igb_hwmon.c        | 108 ++++++-----
 drivers/net/ethernet/intel/igb/igb_main.c         | 209 +++++++++++++++++++++-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   4 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |  55 ++----
 16 files changed, 453 insertions(+), 136 deletions(-)

-- 
1.8.3.1

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 21 May 2013 15:03:08 -0700

> This series contains updates to e1000e, igb and ixgbe.
> 
> Bruce Allan provide 2 minor cleanups for e1000e to resolve whitespace
> issues and build warnings about unused parameters.
> 
> Carolyn provides a couple of fixes for igb, one being a fix for a
> possible panic when the interface is down and receive traffic
> arrives.  The second fix resolves an issue on newer parts which have
> multiple checksum fields and set_ethtool was only checking to update
> the first checksum of the NVM image.
> 
> Akeem provides majority of the changes in this patch set.  Akeem
> provides a fix for e1000e on an issue reported from the community to
> resolve the issue of unlocking swflag_mutex for 82574 and 82583
> devices even if the hardware semaphore was successfully acquired.
> The other patches from Akeem are against igb, where he adds support
> SFP module discovery, LED blink mechanism for devices using cathodes,
> LED support for i210/i211 parts and cleanup of a i2c function which
> was not being used.
> 
> Matthew provides an update for igb to support a more accurate check
> for a PTP RX hang.
> 
> Amir provides a patch for ixgbe to set the software prio_tc values at
> initialization to the hardware setting to remove the need to reset the
> device at the first time we call ixgbe_dcbnl_ieee_setets.
> 
> The following are changes since commit 1e18583adccfc122b5d6415cfe4bf1826c370f4e:
>   ThunderLAN: remove is_eisa flag
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, excellent merge commit message, thanks!

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

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

This series contains updates to e1000e, igb and ixgbe.

Bruce Allan provide 2 minor cleanups for e1000e to resolve whitespace
issues and build warnings about unused parameters.

Carolyn provides a couple of fixes for igb, one being a fix for a
possible panic when the interface is down and receive traffic
arrives.  The second fix resolves an issue on newer parts which have
multiple checksum fields and set_ethtool was only checking to update
the first checksum of the NVM image.

Akeem provides majority of the changes in this patch set.  Akeem
provides a fix for e1000e on an issue reported from the community to
resolve the issue of unlocking swflag_mutex for 82574 and 82583
devices even if the hardware semaphore was successfully acquired.
The other patches from Akeem are against igb, where he adds support
SFP module discovery, LED blink mechanism for devices using cathodes,
LED support for i210/i211 parts and cleanup of a i2c function which
was not being used.

Matthew provides an update for igb to support a more accurate check
for a PTP RX hang.

Amir provides a patch for ixgbe to set the software prio_tc values at
initialization to the hardware setting to remove the need to reset the
device at the first time we call ixgbe_dcbnl_ieee_setets.

The following are changes since commit 1e18583adccfc122b5d6415cfe4bf1826c370f4e:
  ThunderLAN: remove is_eisa flag
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Akeem G. Abodunrin (6):
  e1000e: Release mutex lock only if it has been initially acquired
  igb: Changed LEDs blink mechanism to include designs using cathode
  igb: Support for SFP modules discovery
  igb: SerDes flow control setting
  igb: Implementation of i210/i211 LED support
  igb: Removed unused i2c function

Amir Hanania (1):
  IXGBE: Set the SW prio_tc values at initialization to the HW setting.

Bruce Allan (2):
  e1000e: cleanup whitespace
  e1000e: prevent warning from -Wunused-parameter

Carolyn Wyborny (2):
  igb: Fix set_ethtool function to call update nvm for entire image
  igb: Fix possible panic caused by Rx traffic arrival while interface
    is down

Matthew Vick (1):
  igb: Add update to last_rx_timestamp in Rx rings

 drivers/net/ethernet/intel/e1000e/80003es2lan.c    |  24 ++--
 drivers/net/ethernet/intel/e1000e/82571.c          |  30 ++---
 drivers/net/ethernet/intel/e1000e/ethtool.c        |  34 +++---
 drivers/net/ethernet/intel/e1000e/hw.h             |  34 +++---
 drivers/net/ethernet/intel/e1000e/ich8lan.c        |  62 +++++------
 drivers/net/ethernet/intel/e1000e/netdev.c         |  55 +++++----
 drivers/net/ethernet/intel/e1000e/nvm.c            |   1 -
 drivers/net/ethernet/intel/e1000e/phy.c            |  22 ++--
 drivers/net/ethernet/intel/igb/e1000_82575.c       | 120 +++++++++++++++++++-
 drivers/net/ethernet/intel/igb/e1000_defines.h     |  36 +++---
 drivers/net/ethernet/intel/igb/e1000_hw.h          |   2 +
 drivers/net/ethernet/intel/igb/e1000_i210.h        |   6 +-
 drivers/net/ethernet/intel/igb/e1000_mac.c         |  45 ++++++--
 drivers/net/ethernet/intel/igb/e1000_phy.c         | 124 +++++++++++++++++++++
 drivers/net/ethernet/intel/igb/e1000_phy.h         |  20 ++++
 drivers/net/ethernet/intel/igb/igb.h               |  14 +--
 drivers/net/ethernet/intel/igb/igb_ethtool.c       |  74 ++++++------
 drivers/net/ethernet/intel/igb/igb_main.c          |   9 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c       |  23 ++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.h       |   2 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c    |   3 +
 22 files changed, 526 insertions(+), 215 deletions(-)

-- 
1.7.11.7

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Mar 2013 02:00:03 -0700

> This series contains updates to e1000e, ixgbe and ixgbevf.
> 
> Majority of the changes are against e1000e (from Bruce Allan).
> Bruce adds additional error handling on PHY register access, as
> well as improve slow performance on 82579 when connected to a
> 10Mbit hub.  In addition, fixes LED blink logic for cathode
> LED design.  Most notable is added EEE support which is enabled
> by default and the added support for LTR on I217/I218.
> 
> The ixgbe and ixgbevf from Greg Rose changes the VM so that if a user
> does not assign a MAC address, the MAC address is set to all zeros
> instead of a random MAC address.  This ensures that we always know when
> we have a random address and udev won't get upset about it.
> 
> The following are changes since commit 8b49a4c75965ed157e21450d23dcadd6b27c1aa3:
>   bnx2x: fix compilation without CONFIG_BNX2X_SRIOV
> 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] 36+ messages in thread

* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-03-28  9:00 Jeff Kirsher
  2013-03-28 18:39 ` David Miller
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-03-28  9:00 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000e, ixgbe and ixgbevf.

Majority of the changes are against e1000e (from Bruce Allan).
Bruce adds additional error handling on PHY register access, as
well as improve slow performance on 82579 when connected to a
10Mbit hub.  In addition, fixes LED blink logic for cathode
LED design.  Most notable is added EEE support which is enabled
by default and the added support for LTR on I217/I218.

The ixgbe and ixgbevf from Greg Rose changes the VM so that if a user
does not assign a MAC address, the MAC address is set to all zeros
instead of a random MAC address.  This ensures that we always know when
we have a random address and udev won't get upset about it.

The following are changes since commit 8b49a4c75965ed157e21450d23dcadd6b27c1aa3:
  bnx2x: fix compilation without CONFIG_BNX2X_SRIOV
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Bruce Allan (10):
  e1000e: additional error handling on PHY register accesses
  e1000e: slow performance between two 82579 connected via 10Mbit hub
  e1000e: fix LED blink logic for designs with LEDs driven by cathode
  e1000e: long access timeouts when I217/I218 MAC and PHY are out of
    sync
  e1000e: EEE capability advertisement not set/disabled as required
  e1000e: enable EEE by default
  e1000e: add support for LTR on I217/I218
  e1000e: cleanup unused defines
  e1000e: increase driver version number
  e1000e: fix scheduling while atomic bugs

Greg Rose (2):
  ixgbe: Don't give VFs random MAC addresses
  ixgbevf: Adjust to handle unassigned MAC address from PF

 drivers/net/ethernet/intel/e1000e/defines.h       |   2 +
 drivers/net/ethernet/intel/e1000e/e1000.h         |   3 +
 drivers/net/ethernet/intel/e1000e/ethtool.c       |  63 ++-----
 drivers/net/ethernet/intel/e1000e/ich8lan.c       | 213 ++++++++++++++++++----
 drivers/net/ethernet/intel/e1000e/ich8lan.h       |  11 +-
 drivers/net/ethernet/intel/e1000e/mac.c           |  27 ++-
 drivers/net/ethernet/intel/e1000e/netdev.c        |  38 +++-
 drivers/net/ethernet/intel/e1000e/phy.c           |  20 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c    |  23 ++-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |  21 ++-
 drivers/net/ethernet/intel/ixgbevf/vf.c           |   7 +-
 11 files changed, 315 insertions(+), 113 deletions(-)

-- 
1.7.11.7

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 22 Oct 2012 21:26:13 -0700

> This series contains updates to ixgbe only.  Only change to this series
> is I dropped the "ixgbe: Add support for pipeline reset" due to
> change requested by Martin Josefsson.
> 
> The following are changes since commit d94ce9b283736a876b2e6dec665c68e5e8b5d55e:
>   ipv4: 16 slots in initial fib_info hash table
> 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] 36+ messages in thread

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

This series contains updates to ixgbe only.  Only change to this series
is I dropped the "ixgbe: Add support for pipeline reset" due to
change requested by Martin Josefsson.

The following are changes since commit d94ce9b283736a876b2e6dec665c68e5e8b5d55e:
  ipv4: 16 slots in initial fib_info hash table
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (7):
  ixgbe: Add support for IPv6 and UDP to ixgbe_get_headlen
  ixgbe: Add support for tracking the default user priority to SR-IOV
  ixgbe: Add support for GET_QUEUES message to get DCB configuration
  ixgbe: Enable support for VF API version 1.1 in the PF.
  ixgbevf: Add VF DCB + SR-IOV support
  ixgbe: Drop unnecessary addition from ixgbe_set_rx_buffer_len
  ixgbe: Fix possible memory leak in ixgbe_set_ringparam

Don Skidmore (1):
  ixgbe: Add function ixgbe_reset_pipeline_82599

Emil Tantilov (1):
  ixgbe: add WOL support for new subdevice id

Jacob Keller (1):
  ixgbe: (PTP) refactor init, cyclecounter and reset

Tushar Dave (1):
  ixgbe: Correcting small packet padding

Wei Yongjun (1):
  ixgbe: using is_zero_ether_addr() to simplify the code

 drivers/net/ethernet/intel/ixgbe/ixgbe.h          |   6 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c    |  44 ++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c   |   3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h   |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c  | 102 +++++++-------
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c     |  66 +++++++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h      |  10 ++
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c      | 109 +++++++--------
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c    | 124 +++++++++++++----
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h     |   1 +
 drivers/net/ethernet/intel/ixgbevf/defines.h      |   7 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   4 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 159 +++++++++++++++++++++-
 drivers/net/ethernet/intel/ixgbevf/mbx.h          |  10 ++
 drivers/net/ethernet/intel/ixgbevf/vf.c           |  58 ++++++++
 drivers/net/ethernet/intel/ixgbevf/vf.h           |   2 +
 16 files changed, 539 insertions(+), 167 deletions(-)

-- 
1.7.11.7

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2012-05-10  6:46 Jeff Kirsher
@ 2012-05-11  3:18 ` David Miller
  0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-05-11  3:18 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed,  9 May 2012 23:46:41 -0700

> This series of patches contains updates for igb and ixgbe.
> Special note ixgbe patches contain the addition of PTP support from
> Jacob Keller.
> 
> The following are changes since commit 8feedbb4a710784d2858acba5c90e903e93e36eb:
>   dsa: Convert compare_ether_addr to ether_addr_equal
> 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] 36+ messages in thread

* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2012-05-10  6:46 Jeff Kirsher
  2012-05-11  3:18 ` David Miller
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-05-10  6:46 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series of patches contains updates for igb and ixgbe.
Special note ixgbe patches contain the addition of PTP support from
Jacob Keller.

The following are changes since commit 8feedbb4a710784d2858acba5c90e903e93e36eb:
  dsa: Convert compare_ether_addr to ether_addr_equal
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (3):
  ixgbe: Exit on error case in VF message processing
  ixgbe: Clean up priority based flow control
  ixgbe: Set Drop_EN bit when multiple Rx queues are present w/o flow
    control

Don Skidmore (2):
  ixgbe: cleanup the hwmon function calls
  ixgbe: update version number

Greg Rose (1):
  ixgbe: Fix bogus error message

Jacob E Keller (1):
  ixgbe: Enable timesync clock-out feature for PPS support on X540

Jacob Keller (4):
  ixgbe: Hardware Timestamping + PTP Hardware Clock (PHC)
  ixgbe: correct disable_rx_buff timeout
  ixgbe: add support for get_ts_info
  ixgbe: support software timestamping

Koki Sanagi (1):
  igb: output register's information related to RX/TX queue[4-15]

 drivers/net/ethernet/intel/Kconfig                 |   11 +
 drivers/net/ethernet/intel/igb/igb_ethtool.c       |   38 +-
 drivers/net/ethernet/intel/ixgbe/Makefile          |    2 +
 drivers/net/ethernet/intel/ixgbe/ixgbe.h           |   37 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c |   69 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c |   93 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c    |   98 +--
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c   |   71 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |  198 ++++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c       |  900 ++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c     |   13 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c     |   36 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      |   47 +-
 14 files changed, 1370 insertions(+), 245 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c

-- 
1.7.7.6

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 17 Mar 2012 01:50:48 -0700

> This series of patches contains additions/cleanups to igb and ixgbe.
> There 2 patches for igb & ixgbe which add FX-ALL feature flag and
> sending of custom Ethernet FCS from Ben Greear.
> 
> The remaining patches in the series is part three of three to update
> ixgbe.  Although it looks like there will be at least one follow on
> patch series complete the update/cleanup of ixgbe.
> 
> The following are changes since commit 126a3fd251b244eabd9ab9dcb32b8b6f999c1b91:
>   eni: fix driver remove function and driver probe error path.
> 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] 36+ messages in thread

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

This series of patches contains additions/cleanups to igb and ixgbe.
There 2 patches for igb & ixgbe which add FX-ALL feature flag and
sending of custom Ethernet FCS from Ben Greear.

The remaining patches in the series is part three of three to update
ixgbe.  Although it looks like there will be at least one follow on
patch series complete the update/cleanup of ixgbe.

The following are changes since commit 126a3fd251b244eabd9ab9dcb32b8b6f999c1b91:
  eni: fix driver remove function and driver probe error path.
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (8):
  ixgbe: Replace standard receive path with a page based receive
  ixgbe: cleanup logic in ixgbe_change_mtu
  ixgbe: Make certain that all frames fit minimum size requirements
  ixgbe: Modify setup of descriptor flags to avoid conditional jumps
  ixgbe: Use packets to track Tx completions instead of a separate
    value
  ixgbe: Place skb on first buffer_info structure to avoid using stack
    space
  ixgbe: Write gso_segs and bytcount to the ring sooner
  ixgbe: always write DMA for single_mapped value with skb

Ben Greear (4):
  igb: Support sending custom Ethernet FCS.
  igb: Support RX-ALL feature flag.
  ixgbe: Support sending custom Ethernet FCS.
  ixgbe: Support RX-ALL feature flag.

 drivers/net/ethernet/intel/igb/e1000_defines.h   |    2 +
 drivers/net/ethernet/intel/igb/igb_main.c        |   37 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h         |   60 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c |   23 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c    |   17 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    | 1261 ++++++++++++----------
 6 files changed, 772 insertions(+), 628 deletions(-)

-- 
1.7.7.6

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2012-01-26 18:49 ` David Miller
@ 2012-01-26 21:27   ` David Miller
  0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-01-26 21:27 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: David Miller <davem@davemloft.net>
Date: Thu, 26 Jan 2012 13:49:13 -0500 (EST)

> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Wed, 25 Jan 2012 23:21:43 -0800
> 
>> The following are changes since commit e55684fadbc5c9c69cad1b3bae228c8374b99b85:
>>   infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().
>> and are available in the git repository at:
>>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
 ...
> Pulled, thanks Jeff.

I had to apply the following patch to fix the build on non-x86
architectures.

--------------------
e1000e: Need to include vmalloc.h

Otherwise (on sparc64):

drivers/net/ethernet/intel/e1000e/ethtool.c:657:3: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/ethernet/intel/e1000e/ethtool.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c
index ffb6c14..1ea317f 100644
--- a/drivers/net/ethernet/intel/e1000e/ethtool.c
+++ b/drivers/net/ethernet/intel/e1000e/ethtool.c
@@ -34,6 +34,7 @@
 #include <linux/pci.h>
 #include <linux/slab.h>
 #include <linux/delay.h>
+#include <linux/vmalloc.h>
 
 #include "e1000.h"
 
-- 
1.7.7.6

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

* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
  2012-01-26  7:21 Jeff Kirsher
@ 2012-01-26 18:49 ` David Miller
  2012-01-26 21:27   ` David Miller
  0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2012-01-26 18:49 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 25 Jan 2012 23:21:43 -0800

> The following are changes since commit e55684fadbc5c9c69cad1b3bae228c8374b99b85:
>   infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> 
>   e1000e: cleanup Rx checksum offload code
>   e1000e: add Receive Packet Steering (RPS) support
>   e1000e: re-enable alternate MAC address for all devices which support
>     it
>   e1000e: convert head, tail and itr_register offsets to __iomem
>     pointers
>   e1000e: pass pointer to ring struct instead of adapter struct
>   e1000e: re-factor ethtool get/set ring parameter
>   e1000e: default IntMode based on kernel config & available hardware
>     support
>   e1000e: always set transmit descriptor control registers the same
>   e1000e: 82579: workaround for link drop issue
>   e1000e: use default settings for Tx Inter Packet Gap timer
>   e1000e: use hardware default values for Transmit Control register
>   e1000e: 82574/82583 Tx hang workaround

Pulled, thanks Jeff.

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

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

The following series contains updates to e1000e only.  Most of these
changes contain fixup/cleanups/conversions.

The following are changes since commit e55684fadbc5c9c69cad1b3bae228c8374b99b85:
  infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

  e1000e: cleanup Rx checksum offload code
  e1000e: add Receive Packet Steering (RPS) support
  e1000e: re-enable alternate MAC address for all devices which support
    it
  e1000e: convert head, tail and itr_register offsets to __iomem
    pointers
  e1000e: pass pointer to ring struct instead of adapter struct
  e1000e: re-factor ethtool get/set ring parameter
  e1000e: default IntMode based on kernel config & available hardware
    support
  e1000e: always set transmit descriptor control registers the same
  e1000e: 82579: workaround for link drop issue
  e1000e: use default settings for Tx Inter Packet Gap timer
  e1000e: use hardware default values for Transmit Control register
  e1000e: 82574/82583 Tx hang workaround

 drivers/net/ethernet/intel/e1000e/80003es2lan.c |    3 +-
 drivers/net/ethernet/intel/e1000e/82571.c       |    4 +
 drivers/net/ethernet/intel/e1000e/defines.h     |    8 +
 drivers/net/ethernet/intel/e1000e/e1000.h       |   29 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c     |  186 +++++++----
 drivers/net/ethernet/intel/e1000e/hw.h          |    9 +-
 drivers/net/ethernet/intel/e1000e/ich8lan.c     |   22 ++
 drivers/net/ethernet/intel/e1000e/lib.c         |    7 +-
 drivers/net/ethernet/intel/e1000e/netdev.c      |  423 +++++++++++++----------
 drivers/net/ethernet/intel/e1000e/param.c       |   48 +++-
 10 files changed, 471 insertions(+), 268 deletions(-)

-- 
1.7.7.6

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

end of thread, other threads:[~2013-12-11  2:30 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-28 11:41 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-07-28 11:41 ` [net-next 01/12] e100: dump small buffers via %*ph Jeff Kirsher
2013-07-28 11:41 ` [net-next 02/12] e1000e: restore call to pci_clear_master() Jeff Kirsher
2013-07-28 11:41 ` [net-next 03/12] e1000e: Remove duplicate assignment of default rx/tx ring size Jeff Kirsher
2013-07-28 11:41 ` [net-next 04/12] e1000e: Use marco instead of digit for defining e1000_rx_desc_packet_split Jeff Kirsher
2013-07-28 11:41 ` [net-next 05/12] e1000e: disable ASPM L1 on 82583 Jeff Kirsher
2013-07-28 11:41 ` [net-next 06/12] e1000e: iAMT connections drop on driver unload when jumbo frames enabled Jeff Kirsher
2013-07-28 11:41 ` [net-next 07/12] e1000e: low throughput using 4K jumbos on I218 Jeff Kirsher
2013-07-28 11:41 ` [net-next 08/12] e1000e: Tx hang on I218 when linked at 100Half and slow response at 10Mbps Jeff Kirsher
2013-07-28 11:41 ` [net-next 09/12] e1000e: ethtool unnecessarily takes device out of RPM suspend Jeff Kirsher
2013-07-28 11:41 ` [net-next 10/12] e1000e: enable support for new device IDs Jeff Kirsher
2013-07-28 11:41 ` [net-next 11/12] e1000e: do not resume device from RPM suspend to read PHY status registers Jeff Kirsher
2013-07-28 11:41 ` [net-next 12/12] e1000e: fix I217/I218 PHY initialization flow Jeff Kirsher
2013-07-28 20:21 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
2013-07-28 23:11   ` Jeff Kirsher
2013-07-29  0:20     ` David Miller
2013-07-29  2:08       ` Jeff Kirsher
2013-07-29  7:34         ` David Miller
2013-07-29  8:34           ` Jeff Kirsher
2013-07-29  8:46             ` David Miller
2013-07-29  9:17               ` Jeff Kirsher
  -- strict thread matches above, loose matches on Subject: below --
2013-12-10 10:22 Jeff Kirsher
2013-12-11  2:30 ` David Miller
2013-05-21 22:03 Jeff Kirsher
2013-05-22 20:57 ` David Miller
2013-03-28  9:00 Jeff Kirsher
2013-03-28 18:39 ` David Miller
2012-10-23  4:26 Jeff Kirsher
2012-10-23  6:51 ` David Miller
2012-05-10  6:46 Jeff Kirsher
2012-05-11  3:18 ` David Miller
2012-03-17  8:50 Jeff Kirsher
2012-03-17  9:06 ` David Miller
2012-01-26  7:21 Jeff Kirsher
2012-01-26 18:49 ` David Miller
2012-01-26 21:27   ` David Miller

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).