netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 0/8][pull request] Intel Wired LAN Driver Updates
@ 2011-11-16 12:51 Jeff Kirsher
  2011-11-16 23:12 ` David Miller
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff Kirsher @ 2011-11-16 12:51 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

The following series contains updates to e1000, e1000e, igb, igbvf,
ixgbe and ixgbevf.  There is one fix for LED blink logic for ixgbe,
the remaining patches are conversions of printk's to pr_<level>.

The following are changes since commit 229a66e3bec97563aa92e25dfe0bc60b0d468619:
  IPv6: Removing unnecessary NULL checks.
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize master

Emil Tantilov (1):
  ixgbe: fix LED blink logic to check for link

Jeff Kirsher (4):
  e1000e: Convert printks to pr_<level>
  igbvf: Convert printks to pr_<level>
  ixgbevf: Convert printks to pr_<level>
  igb: Convert printks to pr_<level>

Jesse Brandeburg (1):
  e1000e: convert to real ndo_set_rx_mode

Joe Perches (2):
  igb: Convert bare printk to pr_notice
  intel: Convert <FOO>_LENGTH_OF_ADDRESS to ETH_ALEN

 drivers/net/ethernet/intel/e1000/e1000_hw.h       |    1 -
 drivers/net/ethernet/intel/e1000e/netdev.c        |  388 ++++++++++++---------
 drivers/net/ethernet/intel/igb/e1000_82575.c      |    5 +-
 drivers/net/ethernet/intel/igb/igb_main.c         |  165 +++++-----
 drivers/net/ethernet/intel/igbvf/netdev.c         |   14 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c    |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h     |    8 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c     |   18 +-
 drivers/net/ethernet/intel/ixgbevf/defines.h      |    1 -
 drivers/net/ethernet/intel/ixgbevf/ethtool.c      |    6 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |   27 +-
 drivers/net/ethernet/intel/ixgbevf/vf.c           |    4 +-
 12 files changed, 340 insertions(+), 299 deletions(-)

-- 
1.7.6.4

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

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
  2011-11-16 12:51 Jeff Kirsher
@ 2011-11-16 23:12 ` David Miller
  2011-11-16 23:21   ` Jeff Kirsher
  0 siblings, 1 reply; 31+ messages in thread
From: David Miller @ 2011-11-16 23:12 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 16 Nov 2011 04:51:24 -0800

> The following are changes since commit 229a66e3bec97563aa92e25dfe0bc60b0d468619:
>   IPv6: Removing unnecessary NULL checks.
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize master

This tree doesn't exist.

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

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
  2011-11-16 23:12 ` David Miller
@ 2011-11-16 23:21   ` Jeff Kirsher
  2011-11-16 23:32     ` David Miller
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff Kirsher @ 2011-11-16 23:21 UTC (permalink / raw)
  To: David Miller
  Cc: netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com

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

On Wed, 2011-11-16 at 15:12 -0800, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Wed, 16 Nov 2011 04:51:24 -0800
> 
> > The following are changes since commit 229a66e3bec97563aa92e25dfe0bc60b0d468619:
> >   IPv6: Removing unnecessary NULL checks.
> > and are available in the git repository at:
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize master
> 
> This tree doesn't exist.

That was supposed to be

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

sorry Dave.

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

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

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
  2011-11-16 23:21   ` Jeff Kirsher
@ 2011-11-16 23:32     ` David Miller
  0 siblings, 0 replies; 31+ messages in thread
From: David Miller @ 2011-11-16 23:32 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 16 Nov 2011 15:21:22 -0800

> On Wed, 2011-11-16 at 15:12 -0800, David Miller wrote:
>> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> Date: Wed, 16 Nov 2011 04:51:24 -0800
>> 
>> > The following are changes since commit 229a66e3bec97563aa92e25dfe0bc60b0d468619:
>> >   IPv6: Removing unnecessary NULL checks.
>> > and are available in the git repository at:
>> >   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-organize master
>> 
>> This tree doesn't exist.
> 
> That was supposed to be
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

That works better, pulled, thanks!

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

* [net-next 0/8][pull request] Intel Wired LAN Driver Updates
@ 2012-05-01  8:51 Jeff Kirsher
  0 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-05-01  8:51 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann, bhutchings

This series of patches contains updates for e1000e and ixgbe.
Special note that this series contains the v2 of the ixgbe
thermal data patches (patches 4-6), which have been revised based on
feedback from the community (Ben Hutchings).

The following are changes since commit 80bcb4238dd858d8ae460b62aac2f4165db58c3c:
  atl1c: remove PHY polling from atl1c_change_mtu
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Bruce Allan (3):
  e1000e: workaround EEPROM configuration change on 82579
  e1000e: PHY initialization flow changes for 82577/8/9
  e1000e: fix .ndo_set_rx_mode for 82579

Don Skidmore (3):
  ixgbe: add support functions to access thermal data
  ixgbe: add hwmon interface to export thermal data
  ixgbe: add syfs interface for to export read only driver information

Greg Rose (2):
  ixgbe: Deny MACVLAN requests from VFs with admin set MAC
  ixgbe: Reset max_vfs to zero when user request is out of range

 drivers/net/ethernet/intel/Kconfig              |    8 +
 drivers/net/ethernet/intel/e1000e/80003es2lan.c |    1 +
 drivers/net/ethernet/intel/e1000e/82571.c       |    4 +-
 drivers/net/ethernet/intel/e1000e/e1000.h       |    2 +-
 drivers/net/ethernet/intel/e1000e/hw.h          |    6 +
 drivers/net/ethernet/intel/e1000e/ich8lan.c     |  339 +++++++++----
 drivers/net/ethernet/intel/e1000e/mac.c         |   10 +-
 drivers/net/ethernet/intel/e1000e/netdev.c      |   12 +-
 drivers/net/ethernet/intel/ixgbe/Makefile       |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h        |   26 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c  |    2 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c  |    2 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c |  169 +++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h |   13 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c   |   13 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c  |    6 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c  |  583 +++++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h   |   40 ++
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c   |    2 +
 19 files changed, 1120 insertions(+), 120 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c

-- 
1.7.7.6

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

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

This series of patches contains updates for e1000e and ixgbe.
The e1000e updates the version number and adds support for i217
silicon.  The ixgbe patches are cleanups/re-organizations to
the driver.

The following are changes since commit f19250883fe09dd2b6b5f818d84874837948c546:
  net/niu: remove one superfluous dma mask check
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (6):
  ixgbe: Track instances of buffer available but no DMA resources
    present
  ixgbe: Reorder the ring to q_vector mapping to improve performance
  ixgbe: Make ixgbe_fc_autoneg return void and always set current_mode
  ixgbe: Use __free_pages instead of put_page to release pages
  ixgbe: Reorder link flow control functions in ixgbe_common.c
  ixgbe: Update link flow control to correctly handle multiple packet
    buffer DCB

Bruce Allan (1):
  e1000e: initial support for i217

Matthew Vick (1):
  e1000e: Update driver version number

 drivers/net/ethernet/intel/e1000e/defines.h        |    8 +
 drivers/net/ethernet/intel/e1000e/e1000.h          |    2 +
 drivers/net/ethernet/intel/e1000e/ethtool.c        |   17 +-
 drivers/net/ethernet/intel/e1000e/hw.h             |    9 +
 drivers/net/ethernet/intel/e1000e/ich8lan.c        |  370 +++++++++++-
 drivers/net/ethernet/intel/e1000e/netdev.c         |   19 +-
 drivers/net/ethernet/intel/e1000e/phy.c            |    3 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c     |   65 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    |  631 +++++++++-----------
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h    |    4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c |   13 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c       |   35 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   27 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      |    5 +-
 14 files changed, 751 insertions(+), 457 deletions(-)

-- 
1.7.7.6

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri,  4 May 2012 03:35:08 -0700

> This series of patches contains updates for e1000e and ixgbe.
> The e1000e updates the version number and adds support for i217
> silicon.  The ixgbe patches are cleanups/re-organizations to
> the driver.
> 
> The following are changes since commit f19250883fe09dd2b6b5f818d84874837948c546:
>   net/niu: remove one superfluous dma mask check
> 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] 31+ messages in thread

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

This series contains updates to ixgbevf.

The following are changes since commit 282f23c6ee343126156dd41218b22ece96d747e3:
  tcp: implement RFC 5961 3.2
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (8):
  ixgbevf: Drop all dead or unnecessary code
  ixgbevf: Drop netdev_registered value since that is already stored in
    netdev
  ixgbevf: Make use of NETIF_F_RXCSUM instead of keeping our own flag
  ixgbevf: Drop use of eitr_low and eitr_high for hard coded values
  ixgbevf: Cleanup accounting for space needed at start of xmit_frame
  ixgbevf: Update q_vector to contain ring pointers instead of bitmaps
  ixgbevf: Move Tx clean-up into NAPI context
  ixgbevf: Use igb style interrupt masks instead of ixgbe style

 drivers/net/ethernet/intel/ixgbevf/defines.h      |   27 +-
 drivers/net/ethernet/intel/ixgbevf/ethtool.c      |   13 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   99 +--
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c |  820 ++++++---------------
 4 files changed, 276 insertions(+), 683 deletions(-)

-- 
1.7.10.4

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 17 Jul 2012 03:09:11 -0700

> This series contains updates to ixgbevf.
> 
> The following are changes since commit 282f23c6ee343126156dd41218b22ece96d747e3:
>   tcp: implement RFC 5961 3.2
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> 
> Alexander Duyck (8):
>   ixgbevf: Drop all dead or unnecessary code
>   ixgbevf: Drop netdev_registered value since that is already stored in
>     netdev
>   ixgbevf: Make use of NETIF_F_RXCSUM instead of keeping our own flag
>   ixgbevf: Drop use of eitr_low and eitr_high for hard coded values
>   ixgbevf: Cleanup accounting for space needed at start of xmit_frame
>   ixgbevf: Update q_vector to contain ring pointers instead of bitmaps
>   ixgbevf: Move Tx clean-up into NAPI context
>   ixgbevf: Use igb style interrupt masks instead of ixgbe style

Pulled, thanks Jeff.

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

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

This series contains updates to e1000e and ixgbevf.

The following are changes since commit 761743ebc92df72053e736fce953a5d2e90099d5:
  net/fsl_pq_mdio: add support for the Fman 1G MDIO controller
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (2):
  ixgbevf: Add suspend and resume support to the VF
  ixgbevf: Cleanup handling of configuration for jumbo frames

Bruce Allan (6):
  e1000e: use correct type for read of 32-bit register
  e1000e: cleanup strict checkpatch MEMORY_BARRIER checks
  e1000e: cleanup strict checkpatch check
  e1000e: cleanup - remove inapplicable comment
  e1000e: cleanup - remove unnecessary variable
  e1000e: update driver version number

 drivers/net/ethernet/intel/e1000e/82571.c         |   4 +-
 drivers/net/ethernet/intel/e1000e/ethtool.c       |   3 +-
 drivers/net/ethernet/intel/e1000e/netdev.c        |  19 ++-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |   4 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 160 +++++++++++++++++-----
 drivers/net/ethernet/intel/ixgbevf/vf.c           |  14 ++
 drivers/net/ethernet/intel/ixgbevf/vf.h           |   1 +
 7 files changed, 164 insertions(+), 41 deletions(-)

-- 
1.7.11.4

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 30 Aug 2012 22:16:06 -0700

> This series contains updates to e1000e and ixgbevf.
> 
> The following are changes since commit 761743ebc92df72053e736fce953a5d2e90099d5:
>   net/fsl_pq_mdio: add support for the Fman 1G MDIO controller
> 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] 31+ messages in thread

* [net-next 0/8][pull request] Intel Wired LAN Driver Updates
@ 2012-09-17  4:15 Jeff Kirsher
  2012-09-17  4:15 ` [net-next 1/8] e1000: add byte queue limits Jeff Kirsher
                   ` (8 more replies)
  0 siblings, 9 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000 and ixgbe.  Most notably is
the added debugfs support in ixgbe.

The following are changes since commit 7f2e6a5d8608d0353b017a0fe15502307593734e:
  drivers/isdn/gigaset/common.c: Remove useless kfree
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Alexander Duyck (2):
  ixgbe: Fix ordering of things so that PF correctly configures its
    VLANs
  ixgbe: Fix VF rate limiting to correctly account for more queues per
    VF

Catherine Sullivan (3):
  ixgbe: add debugfs support
  ixgbe: added netdev_ops file to debugfs
  ixgbe: added reg_ops file to debugfs

Emil Tantilov (1):
  ixgbe: fix reporting of spoofed packets

Mark Rustad (1):
  ixgbe: Improve statistics accuracy for DDP traffic

Otto Estuardo Solares Cabrera (1):
  e1000: add byte queue limits

 drivers/net/ethernet/intel/e1000/e1000_main.c    |  10 +
 drivers/net/ethernet/intel/ixgbe/Makefile        |   2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h         |  10 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 300 +++++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    |  60 +++--
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c   | 105 ++++----
 6 files changed, 423 insertions(+), 64 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c

-- 
1.7.11.4

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

* [net-next 1/8] e1000: add byte queue limits
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 2/8] ixgbe: Fix ordering of things so that PF correctly configures its VLANs Jeff Kirsher
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Otto Estuardo Solares Cabrera, netdev, gospo, sassmann,
	Jeff Kirsher

From: Otto Estuardo Solares Cabrera <solca@galileo.edu>

Signed-off-by: Otto Estuardo Solares Cabrera <solca@galileo.edu>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000/e1000_main.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index 0ae2fcf..3a8368e 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -2014,6 +2014,7 @@ static void e1000_clean_tx_ring(struct e1000_adapter *adapter,
 		e1000_unmap_and_free_tx_resource(adapter, buffer_info);
 	}
 
+	netdev_reset_queue(adapter->netdev);
 	size = sizeof(struct e1000_buffer) * tx_ring->count;
 	memset(tx_ring->buffer_info, 0, size);
 
@@ -3262,6 +3263,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
 	                     nr_frags, mss);
 
 	if (count) {
+		netdev_sent_queue(netdev, skb->len);
 		skb_tx_timestamp(skb);
 
 		e1000_tx_queue(adapter, tx_ring, tx_flags, count);
@@ -3849,6 +3851,7 @@ static bool e1000_clean_tx_irq(struct e1000_adapter *adapter,
 	unsigned int i, eop;
 	unsigned int count = 0;
 	unsigned int total_tx_bytes=0, total_tx_packets=0;
+	unsigned int bytes_compl = 0, pkts_compl = 0;
 
 	i = tx_ring->next_to_clean;
 	eop = tx_ring->buffer_info[i].next_to_watch;
@@ -3866,6 +3869,11 @@ static bool e1000_clean_tx_irq(struct e1000_adapter *adapter,
 			if (cleaned) {
 				total_tx_packets += buffer_info->segs;
 				total_tx_bytes += buffer_info->bytecount;
+				if (buffer_info->skb) {
+					bytes_compl += buffer_info->skb->len;
+					pkts_compl++;
+				}
+
 			}
 			e1000_unmap_and_free_tx_resource(adapter, buffer_info);
 			tx_desc->upper.data = 0;
@@ -3879,6 +3887,8 @@ static bool e1000_clean_tx_irq(struct e1000_adapter *adapter,
 
 	tx_ring->next_to_clean = i;
 
+	netdev_completed_queue(netdev, pkts_compl, bytes_compl);
+
 #define TX_WAKE_THRESHOLD 32
 	if (unlikely(count && netif_carrier_ok(netdev) &&
 		     E1000_DESC_UNUSED(tx_ring) >= TX_WAKE_THRESHOLD)) {
-- 
1.7.11.4

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

* [net-next 2/8] ixgbe: Fix ordering of things so that PF correctly configures its VLANs
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2012-09-17  4:15 ` [net-next 1/8] e1000: add byte queue limits Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 3/8] ixgbe: Fix VF rate limiting to correctly account for more queues per VF Jeff Kirsher
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher

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

The PF was not correctly registering any of its VLANs.  As a result any
VLAN tagged traffic from the VF would not be delivered to the PF because
the VLAN was never assigned to the PF pool.

In addition the VF was not allowed to receive traffic from VLAN 0 if it was
allowed to receive untagged frames.  This change corrects that so that it
will correctly receive traffic from VLAN 0.

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

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 1cbb34f..ac91567 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -3660,8 +3660,6 @@ static void ixgbe_configure_dcb(struct ixgbe_adapter *adapter)
 	if (hw->mac.type == ixgbe_mac_82598EB)
 		netif_set_gso_max_size(adapter->netdev, 32768);
 
-	hw->mac.ops.set_vfta(&adapter->hw, 0, 0, true);
-
 #ifdef IXGBE_FCOE
 	if (adapter->netdev->features & NETIF_F_FCOE_MTU)
 		max_frame = max(max_frame, IXGBE_FCOE_JUMBO_FRAME_SIZE);
@@ -3861,6 +3859,11 @@ static void ixgbe_configure(struct ixgbe_adapter *adapter)
 #ifdef CONFIG_IXGBE_DCB
 	ixgbe_configure_dcb(adapter);
 #endif
+	/*
+	 * We must restore virtualization before VLANs or else
+	 * the VLVF registers will not be populated
+	 */
+	ixgbe_configure_virtualization(adapter);
 
 	ixgbe_set_rx_mode(adapter->netdev);
 	ixgbe_restore_vlan(adapter);
@@ -3892,8 +3895,6 @@ static void ixgbe_configure(struct ixgbe_adapter *adapter)
 		break;
 	}
 
-	ixgbe_configure_virtualization(adapter);
-
 #ifdef IXGBE_FCOE
 	/* configure FCoE L2 filters, redirection table, and Rx control */
 	ixgbe_configure_fcoe(adapter);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index 4fea871..3b1c914 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -346,6 +346,10 @@ void ixgbe_restore_vf_multicasts(struct ixgbe_adapter *adapter)
 static int ixgbe_set_vf_vlan(struct ixgbe_adapter *adapter, int add, int vid,
 			     u32 vf)
 {
+	/* VLAN 0 is a special case, don't allow it to be removed */
+	if (!vid && !add)
+		return 0;
+
 	return adapter->hw.mac.ops.set_vfta(&adapter->hw, vid, vf, (bool)add);
 }
 
@@ -414,6 +418,7 @@ static inline void ixgbe_vf_reset_event(struct ixgbe_adapter *adapter, u32 vf)
 				  VLAN_PRIO_SHIFT)), vf);
 		ixgbe_set_vmolr(hw, vf, false);
 	} else {
+		ixgbe_set_vf_vlan(adapter, true, 0, vf);
 		ixgbe_set_vmvir(adapter, 0, vf);
 		ixgbe_set_vmolr(hw, vf, true);
 	}
-- 
1.7.11.4

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

* [net-next 3/8] ixgbe: Fix VF rate limiting to correctly account for more queues per VF
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2012-09-17  4:15 ` [net-next 1/8] e1000: add byte queue limits Jeff Kirsher
  2012-09-17  4:15 ` [net-next 2/8] ixgbe: Fix ordering of things so that PF correctly configures its VLANs Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 4/8] ixgbe: fix reporting of spoofed packets Jeff Kirsher
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Alexander Duyck, netdev, gospo, sassmann, Jeff Kirsher

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

This change fixes the assumptions of the rate limiting code that previously
assumed that each VF would only ever have 2 queues.  This update makes it
so that we now use a queues per pool value that is determined based on the
VMDq feature mask.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-By: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Robert Garrett <RobertX.Garrett@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 100 +++++++++++++++----------
 1 file changed, 59 insertions(+), 41 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index 3b1c914..dce48bf 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -815,9 +815,9 @@ out:
        return err;
 }
 
-static int ixgbe_link_mbps(int internal_link_speed)
+static int ixgbe_link_mbps(struct ixgbe_adapter *adapter)
 {
-	switch (internal_link_speed) {
+	switch (adapter->link_speed) {
 	case IXGBE_LINK_SPEED_100_FULL:
 		return 100;
 	case IXGBE_LINK_SPEED_1GB_FULL:
@@ -829,27 +829,30 @@ static int ixgbe_link_mbps(int internal_link_speed)
 	}
 }
 
-static void ixgbe_set_vf_rate_limit(struct ixgbe_hw *hw, int vf, int tx_rate,
-				    int link_speed)
+static void ixgbe_set_vf_rate_limit(struct ixgbe_adapter *adapter, int vf)
 {
-	int rf_dec, rf_int;
-	u32 bcnrc_val;
+	struct ixgbe_ring_feature *vmdq = &adapter->ring_feature[RING_F_VMDQ];
+	struct ixgbe_hw *hw = &adapter->hw;
+	u32 bcnrc_val = 0;
+	u16 queue, queues_per_pool;
+	u16 tx_rate = adapter->vfinfo[vf].tx_rate;
+
+	if (tx_rate) {
+		/* start with base link speed value */
+		bcnrc_val = adapter->vf_rate_link_speed;
 
-	if (tx_rate != 0) {
 		/* Calculate the rate factor values to set */
-		rf_int = link_speed / tx_rate;
-		rf_dec = (link_speed - (rf_int * tx_rate));
-		rf_dec = (rf_dec * (1<<IXGBE_RTTBCNRC_RF_INT_SHIFT)) / tx_rate;
-
-		bcnrc_val = IXGBE_RTTBCNRC_RS_ENA;
-		bcnrc_val |= ((rf_int<<IXGBE_RTTBCNRC_RF_INT_SHIFT) &
-		               IXGBE_RTTBCNRC_RF_INT_MASK);
-		bcnrc_val |= (rf_dec & IXGBE_RTTBCNRC_RF_DEC_MASK);
-	} else {
-		bcnrc_val = 0;
+		bcnrc_val <<= IXGBE_RTTBCNRC_RF_INT_SHIFT;
+		bcnrc_val /= tx_rate;
+
+		/* clear everything but the rate factor */
+		bcnrc_val &= IXGBE_RTTBCNRC_RF_INT_MASK |
+			     IXGBE_RTTBCNRC_RF_DEC_MASK;
+
+		/* enable the rate scheduler */
+		bcnrc_val |= IXGBE_RTTBCNRC_RS_ENA;
 	}
 
-	IXGBE_WRITE_REG(hw, IXGBE_RTTDQSEL, 2*vf); /* vf Y uses queue 2*Y */
 	/*
 	 * Set global transmit compensation time to the MMW_SIZE in RTTBCNRM
 	 * register. Typically MMW_SIZE=0x014 if 9728-byte jumbo is supported
@@ -866,53 +869,68 @@ static void ixgbe_set_vf_rate_limit(struct ixgbe_hw *hw, int vf, int tx_rate,
 		break;
 	}
 
-	IXGBE_WRITE_REG(hw, IXGBE_RTTBCNRC, bcnrc_val);
+	/* determine how many queues per pool based on VMDq mask */
+	queues_per_pool = __ALIGN_MASK(1, ~vmdq->mask);
+
+	/* write value for all Tx queues belonging to VF */
+	for (queue = 0; queue < queues_per_pool; queue++) {
+		unsigned int reg_idx = (vf * queues_per_pool) + queue;
+
+		IXGBE_WRITE_REG(hw, IXGBE_RTTDQSEL, reg_idx);
+		IXGBE_WRITE_REG(hw, IXGBE_RTTBCNRC, bcnrc_val);
+	}
 }
 
 void ixgbe_check_vf_rate_limit(struct ixgbe_adapter *adapter)
 {
-	int actual_link_speed, i;
-	bool reset_rate = false;
+	int i;
 
 	/* VF Tx rate limit was not set */
-	if (adapter->vf_rate_link_speed == 0)
+	if (!adapter->vf_rate_link_speed)
 		return;
 
-	actual_link_speed = ixgbe_link_mbps(adapter->link_speed);
-	if (actual_link_speed != adapter->vf_rate_link_speed) {
-		reset_rate = true;
+	if (ixgbe_link_mbps(adapter) != adapter->vf_rate_link_speed) {
 		adapter->vf_rate_link_speed = 0;
 		dev_info(&adapter->pdev->dev,
-		         "Link speed has been changed. VF Transmit rate "
-		         "is disabled\n");
+			 "Link speed has been changed. VF Transmit rate is disabled\n");
 	}
 
 	for (i = 0; i < adapter->num_vfs; i++) {
-		if (reset_rate)
+		if (!adapter->vf_rate_link_speed)
 			adapter->vfinfo[i].tx_rate = 0;
 
-		ixgbe_set_vf_rate_limit(&adapter->hw, i,
-					adapter->vfinfo[i].tx_rate,
-					actual_link_speed);
+		ixgbe_set_vf_rate_limit(adapter, i);
 	}
 }
 
 int ixgbe_ndo_set_vf_bw(struct net_device *netdev, int vf, int tx_rate)
 {
 	struct ixgbe_adapter *adapter = netdev_priv(netdev);
-	struct ixgbe_hw *hw = &adapter->hw;
-	int actual_link_speed;
+	int link_speed;
 
-	actual_link_speed = ixgbe_link_mbps(adapter->link_speed);
-	if ((vf >= adapter->num_vfs) || (!adapter->link_up) ||
-	    (tx_rate > actual_link_speed) || (actual_link_speed != 10000) ||
-	    ((tx_rate != 0) && (tx_rate <= 10)))
-	    /* rate limit cannot be set to 10Mb or less in 10Gb adapters */
+	/* verify VF is active */
+	if (vf >= adapter->num_vfs)
 		return -EINVAL;
 
-	adapter->vf_rate_link_speed = actual_link_speed;
-	adapter->vfinfo[vf].tx_rate = (u16)tx_rate;
-	ixgbe_set_vf_rate_limit(hw, vf, tx_rate, actual_link_speed);
+	/* verify link is up */
+	if (!adapter->link_up)
+		return -EINVAL;
+
+	/* verify we are linked at 10Gbps */
+	link_speed = ixgbe_link_mbps(adapter);
+	if (link_speed != 10000)
+		return -EINVAL;
+
+	/* rate limit cannot be less than 10Mbs or greater than link speed */
+	if (tx_rate && ((tx_rate <= 10) || (tx_rate > link_speed)))
+		return -EINVAL;
+
+	/* store values */
+	adapter->vf_rate_link_speed = link_speed;
+	adapter->vfinfo[vf].tx_rate = tx_rate;
+
+	/* update hardware configuration */
+	ixgbe_set_vf_rate_limit(adapter, vf);
 
 	return 0;
 }
-- 
1.7.11.4

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

* [net-next 4/8] ixgbe: fix reporting of spoofed packets
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (2 preceding siblings ...)
  2012-09-17  4:15 ` [net-next 3/8] ixgbe: Fix VF rate limiting to correctly account for more queues per VF Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 5/8] ixgbe: add debugfs support Jeff Kirsher
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Emil Tantilov, netdev, gospo, sassmann, Jeff Kirsher

From: Emil Tantilov <emil.s.tantilov@intel.com>

Use %u instead of %d to display u32 variable.

Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Robert Garrett <RobertX.Garrett@intel.com>
Tested-by: Robert Garrett <RobertX.Garrett@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index ac91567..e641f14 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -5573,7 +5573,7 @@ static void ixgbe_spoof_check(struct ixgbe_adapter *adapter)
 	if (!ssvpc)
 		return;
 
-	e_warn(drv, "%d Spoofed packets detected\n", ssvpc);
+	e_warn(drv, "%u Spoofed packets detected\n", ssvpc);
 }
 
 /**
-- 
1.7.11.4

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

* [net-next 5/8] ixgbe: add debugfs support
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (3 preceding siblings ...)
  2012-09-17  4:15 ` [net-next 4/8] ixgbe: fix reporting of spoofed packets Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 6/8] ixgbe: added netdev_ops file to debugfs Jeff Kirsher
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Catherine Sullivan, netdev, gospo, sassmann, Jeff Kirsher

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

This patch adds debugfs support to the ixgbe driver to give
users the ability to access kernel information and to
simulate kernel events.

The filesystem is set up in the following driver/PCI-instance
hierarchy:
<debugfs>
   |-- ixgbe
	|-- PCI instance
	|	|-- attribute files

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/Makefile        |  2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h         | 10 ++-
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 79 ++++++++++++++++++++++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    | 17 +++++
 4 files changed, 106 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c

diff --git a/drivers/net/ethernet/intel/ixgbe/Makefile b/drivers/net/ethernet/intel/ixgbe/Makefile
index 5fd5d04..89f40e5 100644
--- a/drivers/net/ethernet/intel/ixgbe/Makefile
+++ b/drivers/net/ethernet/intel/ixgbe/Makefile
@@ -32,7 +32,7 @@
 
 obj-$(CONFIG_IXGBE) += ixgbe.o
 
-ixgbe-objs := ixgbe_main.o ixgbe_common.o ixgbe_ethtool.o \
+ixgbe-objs := ixgbe_main.o ixgbe_common.o ixgbe_ethtool.o ixgbe_debugfs.o\
               ixgbe_82599.o ixgbe_82598.o ixgbe_phy.o ixgbe_sriov.o \
               ixgbe_mbx.o ixgbe_x540.o ixgbe_lib.o
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
index bffcf1f..5bd2676 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
@@ -597,6 +597,9 @@ struct ixgbe_adapter {
 #ifdef CONFIG_IXGBE_HWMON
 	struct hwmon_buff ixgbe_hwmon_buff;
 #endif /* CONFIG_IXGBE_HWMON */
+#ifdef CONFIG_DEBUG_FS
+	struct dentry *ixgbe_dbg_adapter;
+#endif /*CONFIG_DEBUG_FS*/
 };
 
 struct ixgbe_fdir_filter {
@@ -725,7 +728,12 @@ extern int ixgbe_fcoe_get_hbainfo(struct net_device *netdev,
 				  struct netdev_fcoe_hbainfo *info);
 extern u8 ixgbe_fcoe_get_tc(struct ixgbe_adapter *adapter);
 #endif /* IXGBE_FCOE */
-
+#ifdef CONFIG_DEBUG_FS
+extern void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter);
+extern void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter);
+extern void ixgbe_dbg_init(void);
+extern void ixgbe_dbg_exit(void);
+#endif /* CONFIG_DEBUG_FS */
 static inline struct netdev_queue *txring_txq(const struct ixgbe_ring *ring)
 {
 	return netdev_get_tx_queue(ring->netdev, ring->queue_index);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
new file mode 100644
index 0000000..0b08b6c
--- /dev/null
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
@@ -0,0 +1,79 @@
+/*******************************************************************************
+
+  Intel 10 Gigabit PCI Express Linux driver
+  Copyright(c) 1999 - 2012 Intel Corporation.
+
+  This program is free software; you can redistribute it and/or modify it
+  under the terms and conditions of the GNU General Public License,
+  version 2, as published by the Free Software Foundation.
+
+  This program is distributed in the hope it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+  more details.
+
+  You should have received a copy of the GNU General Public License along with
+  this program; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+
+  The full GNU General Public License is included in this distribution in
+  the file called "COPYING".
+
+  Contact Information:
+  e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
+  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
+
+*******************************************************************************/
+
+#ifdef CONFIG_DEBUG_FS
+
+#include <linux/debugfs.h>
+#include <linux/module.h>
+
+#include "ixgbe.h"
+
+static struct dentry *ixgbe_dbg_root;
+
+/**
+ * ixgbe_dbg_adapter_init - setup the debugfs directory for the adapter
+ * @adapter: the adapter that is starting up
+ **/
+void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter)
+{
+	const char *name = pci_name(adapter->pdev);
+
+	adapter->ixgbe_dbg_adapter = debugfs_create_dir(name, ixgbe_dbg_root);
+	if (!adapter->ixgbe_dbg_adapter)
+		e_dev_err("debugfs entry for %s failed\n", name);
+}
+
+/**
+ * ixgbe_dbg_adapter_exit - clear out the adapter's debugfs entries
+ * @pf: the pf that is stopping
+ **/
+void ixgbe_dbg_adapter_exit(struct ixgbe_adapter *adapter)
+{
+	if (adapter->ixgbe_dbg_adapter)
+		debugfs_remove_recursive(adapter->ixgbe_dbg_adapter);
+	adapter->ixgbe_dbg_adapter = NULL;
+}
+
+/**
+ * ixgbe_dbg_init - start up debugfs for the driver
+ **/
+void ixgbe_dbg_init(void)
+{
+	ixgbe_dbg_root = debugfs_create_dir(ixgbe_driver_name, NULL);
+	if (ixgbe_dbg_root == NULL)
+		pr_err("init of debugfs failed\n");
+}
+
+/**
+ * ixgbe_dbg_exit - clean out the driver's debugfs entries
+ **/
+void ixgbe_dbg_exit(void)
+{
+	debugfs_remove_recursive(ixgbe_dbg_root);
+}
+
+#endif /* CONFIG_DEBUG_FS */
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index e641f14..b3b846b 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -7448,6 +7448,10 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
 		e_err(probe, "failed to allocate sysfs resources\n");
 #endif /* CONFIG_IXGBE_HWMON */
 
+#ifdef CONFIG_DEBUG_FS
+	ixgbe_dbg_adapter_init(adapter);
+#endif /* CONFIG_DEBUG_FS */
+
 	return 0;
 
 err_register:
@@ -7482,6 +7486,10 @@ static void __devexit ixgbe_remove(struct pci_dev *pdev)
 	struct ixgbe_adapter *adapter = pci_get_drvdata(pdev);
 	struct net_device *netdev = adapter->netdev;
 
+#ifdef CONFIG_DEBUG_FS
+	ixgbe_dbg_adapter_exit(adapter);
+#endif /*CONFIG_DEBUG_FS */
+
 	set_bit(__IXGBE_DOWN, &adapter->state);
 	cancel_work_sync(&adapter->service_task);
 
@@ -7737,6 +7745,10 @@ static int __init ixgbe_init_module(void)
 	pr_info("%s - version %s\n", ixgbe_driver_string, ixgbe_driver_version);
 	pr_info("%s\n", ixgbe_copyright);
 
+#ifdef CONFIG_DEBUG_FS
+	ixgbe_dbg_init();
+#endif /* CONFIG_DEBUG_FS */
+
 #ifdef CONFIG_IXGBE_DCA
 	dca_register_notify(&dca_notifier);
 #endif
@@ -7759,6 +7771,11 @@ static void __exit ixgbe_exit_module(void)
 	dca_unregister_notify(&dca_notifier);
 #endif
 	pci_unregister_driver(&ixgbe_driver);
+
+#ifdef CONFIG_DEBUG_FS
+	ixgbe_dbg_exit();
+#endif /* CONFIG_DEBUG_FS */
+
 	rcu_barrier(); /* Wait for completion of call_rcu()'s */
 }
 
-- 
1.7.11.4

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

* [net-next 6/8] ixgbe: added netdev_ops file to debugfs
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (4 preceding siblings ...)
  2012-09-17  4:15 ` [net-next 5/8] ixgbe: add debugfs support Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 7/8] ixgbe: added reg_ops " Jeff Kirsher
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Catherine Sullivan, netdev, gospo, sassmann, Jeff Kirsher

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

Added the netdev_ops file to debugfs with a command to call the
ndo_tx_timeout function to give users the ability to simulate a
tx_timeout call made by the kernel.

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 107 ++++++++++++++++++++++-
 1 file changed, 105 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
index 0b08b6c..2dd169e 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
@@ -34,6 +34,102 @@
 
 static struct dentry *ixgbe_dbg_root;
 
+static char ixgbe_dbg_netdev_ops_buf[256] = "";
+
+/**
+ * ixgbe_dbg_netdev_ops_open - prep the debugfs netdev_ops data item
+ * @inode: inode that was opened
+ * @filp: file info
+ *
+ * Stash the adapter pointer hiding in the inode into the file pointer
+ * where we can find it later in the read and write calls
+ **/
+static int ixgbe_dbg_netdev_ops_open(struct inode *inode, struct file *filp)
+{
+	filp->private_data = inode->i_private;
+	return 0;
+}
+
+/**
+ * ixgbe_dbg_netdev_ops_read - read for netdev_ops datum
+ * @filp: the opened file
+ * @buffer: where to write the data for the user to read
+ * @count: the size of the user's buffer
+ * @ppos: file position offset
+ **/
+static ssize_t ixgbe_dbg_netdev_ops_read(struct file *filp,
+					 char __user *buffer,
+					 size_t count, loff_t *ppos)
+{
+	struct ixgbe_adapter *adapter = filp->private_data;
+	char buf[256];
+	int bytes_not_copied;
+	int len;
+
+	/* don't allow partial reads */
+	if (*ppos != 0)
+		return 0;
+
+	len = snprintf(buf, sizeof(buf), "%s: %s\n",
+		       adapter->netdev->name, ixgbe_dbg_netdev_ops_buf);
+	if (count < len)
+		return -ENOSPC;
+	bytes_not_copied = copy_to_user(buffer, buf, len);
+	if (bytes_not_copied < 0)
+		return bytes_not_copied;
+
+	*ppos = len;
+	return len;
+}
+
+/**
+ * ixgbe_dbg_netdev_ops_write - write into netdev_ops datum
+ * @filp: the opened file
+ * @buffer: where to find the user's data
+ * @count: the length of the user's data
+ * @ppos: file position offset
+ **/
+static ssize_t ixgbe_dbg_netdev_ops_write(struct file *filp,
+					  const char __user *buffer,
+					  size_t count, loff_t *ppos)
+{
+	struct ixgbe_adapter *adapter = filp->private_data;
+	int bytes_not_copied;
+
+	/* don't allow partial writes */
+	if (*ppos != 0)
+		return 0;
+	if (count >= sizeof(ixgbe_dbg_netdev_ops_buf))
+		return -ENOSPC;
+
+	bytes_not_copied = copy_from_user(ixgbe_dbg_netdev_ops_buf,
+					  buffer, count);
+	if (bytes_not_copied < 0)
+		return bytes_not_copied;
+	else if (bytes_not_copied < count)
+		count -= bytes_not_copied;
+	else
+		return -ENOSPC;
+	ixgbe_dbg_netdev_ops_buf[count] = '\0';
+
+	if (strncmp(ixgbe_dbg_netdev_ops_buf, "tx_timeout", 10) == 0) {
+		adapter->netdev->netdev_ops->ndo_tx_timeout(adapter->netdev);
+		e_dev_info("tx_timeout called\n");
+	} else {
+		e_dev_info("Unknown command: %s\n", ixgbe_dbg_netdev_ops_buf);
+		e_dev_info("Available commands:\n");
+		e_dev_info("    tx_timeout\n");
+	}
+	return count;
+}
+
+static const struct file_operations ixgbe_dbg_netdev_ops_fops = {
+	.owner = THIS_MODULE,
+	.open = ixgbe_dbg_netdev_ops_open,
+	.read = ixgbe_dbg_netdev_ops_read,
+	.write = ixgbe_dbg_netdev_ops_write,
+};
+
 /**
  * ixgbe_dbg_adapter_init - setup the debugfs directory for the adapter
  * @adapter: the adapter that is starting up
@@ -41,10 +137,17 @@ static struct dentry *ixgbe_dbg_root;
 void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter)
 {
 	const char *name = pci_name(adapter->pdev);
-
+	struct dentry *pfile;
 	adapter->ixgbe_dbg_adapter = debugfs_create_dir(name, ixgbe_dbg_root);
-	if (!adapter->ixgbe_dbg_adapter)
+	if (adapter->ixgbe_dbg_adapter) {
+		pfile = debugfs_create_file("netdev_ops", 0600,
+					    adapter->ixgbe_dbg_adapter, adapter,
+					    &ixgbe_dbg_netdev_ops_fops);
+		if (!pfile)
+			e_dev_err("debugfs netdev_ops for %s failed\n", name);
+	} else {
 		e_dev_err("debugfs entry for %s failed\n", name);
+	}
 }
 
 /**
-- 
1.7.11.4

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

* [net-next 7/8] ixgbe: added reg_ops file to debugfs
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (5 preceding siblings ...)
  2012-09-17  4:15 ` [net-next 6/8] ixgbe: added netdev_ops file to debugfs Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:15 ` [net-next 8/8] ixgbe: Improve statistics accuracy for DDP traffic Jeff Kirsher
  2012-09-17  4:56 ` [net-next 0/8][pull request] Intel Wired LAN Driver Updates David Miller
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Catherine Sullivan, netdev, gospo, sassmann, Jeff Kirsher

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

Added the reg_ops file to debugfs with commands to read and write
a register to give users the ability to read and write individual
registers on the fly.

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 118 +++++++++++++++++++++++
 1 file changed, 118 insertions(+)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
index 2dd169e..8d3a218 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
@@ -34,6 +34,119 @@
 
 static struct dentry *ixgbe_dbg_root;
 
+static char ixgbe_dbg_reg_ops_buf[256] = "";
+
+/**
+ * ixgbe_dbg_reg_ops_open - prep the debugfs pokee data item when opened
+ * @inode: inode that was opened
+ * @filp:  file info
+ *
+ * Stash the adapter pointer hiding in the inode into the file pointer where
+ * we can find it later in the read and write calls
+ **/
+static int ixgbe_dbg_reg_ops_open(struct inode *inode, struct file *filp)
+{
+	filp->private_data = inode->i_private;
+	return 0;
+}
+
+/**
+ * ixgbe_dbg_reg_ops_read - read for reg_ops datum
+ * @filp: the opened file
+ * @buffer: where to write the data for the user to read
+ * @count: the size of the user's buffer
+ * @ppos: file position offset
+ **/
+static ssize_t ixgbe_dbg_reg_ops_read(struct file *filp, char __user *buffer,
+				    size_t count, loff_t *ppos)
+{
+	struct ixgbe_adapter *adapter = filp->private_data;
+	char buf[256];
+	int bytes_not_copied;
+	int len;
+
+	/* don't allow partial reads */
+	if (*ppos != 0)
+		return 0;
+
+	len = snprintf(buf, sizeof(buf), "%s: %s\n",
+		       adapter->netdev->name, ixgbe_dbg_reg_ops_buf);
+	if (count < len)
+		return -ENOSPC;
+	bytes_not_copied = copy_to_user(buffer, buf, len);
+	if (bytes_not_copied < 0)
+		return bytes_not_copied;
+
+	*ppos = len;
+	return len;
+}
+
+/**
+ * ixgbe_dbg_reg_ops_write - write into reg_ops datum
+ * @filp: the opened file
+ * @buffer: where to find the user's data
+ * @count: the length of the user's data
+ * @ppos: file position offset
+ **/
+static ssize_t ixgbe_dbg_reg_ops_write(struct file *filp,
+				     const char __user *buffer,
+				     size_t count, loff_t *ppos)
+{
+	struct ixgbe_adapter *adapter = filp->private_data;
+	int bytes_not_copied;
+
+	/* don't allow partial writes */
+	if (*ppos != 0)
+		return 0;
+	if (count >= sizeof(ixgbe_dbg_reg_ops_buf))
+		return -ENOSPC;
+
+	bytes_not_copied = copy_from_user(ixgbe_dbg_reg_ops_buf, buffer, count);
+	if (bytes_not_copied < 0)
+		return bytes_not_copied;
+	else if (bytes_not_copied < count)
+		count -= bytes_not_copied;
+	else
+		return -ENOSPC;
+	ixgbe_dbg_reg_ops_buf[count] = '\0';
+
+	if (strncmp(ixgbe_dbg_reg_ops_buf, "write", 5) == 0) {
+		u32 reg, value;
+		int cnt;
+		cnt = sscanf(&ixgbe_dbg_reg_ops_buf[5], "%x %x", &reg, &value);
+		if (cnt == 2) {
+			IXGBE_WRITE_REG(&adapter->hw, reg, value);
+			value = IXGBE_READ_REG(&adapter->hw, reg);
+			e_dev_info("write: 0x%08x = 0x%08x\n", reg, value);
+		} else {
+			e_dev_info("write <reg> <value>\n");
+		}
+	} else if (strncmp(ixgbe_dbg_reg_ops_buf, "read", 4) == 0) {
+		u32 reg, value;
+		int cnt;
+		cnt = sscanf(&ixgbe_dbg_reg_ops_buf[4], "%x", &reg);
+		if (cnt == 1) {
+			value = IXGBE_READ_REG(&adapter->hw, reg);
+			e_dev_info("read 0x%08x = 0x%08x\n", reg, value);
+		} else {
+			e_dev_info("read <reg>\n");
+		}
+	} else {
+		e_dev_info("Unknown command %s\n", ixgbe_dbg_reg_ops_buf);
+		e_dev_info("Available commands:\n");
+		e_dev_info("   read <reg>\n");
+		e_dev_info("   write <reg> <value>\n");
+	}
+	return count;
+}
+
+static const struct file_operations ixgbe_dbg_reg_ops_fops = {
+	.owner = THIS_MODULE,
+	.open =  ixgbe_dbg_reg_ops_open,
+	.read =  ixgbe_dbg_reg_ops_read,
+	.write = ixgbe_dbg_reg_ops_write,
+};
+
 static char ixgbe_dbg_netdev_ops_buf[256] = "";
 
 /**
@@ -140,6 +253,11 @@ void ixgbe_dbg_adapter_init(struct ixgbe_adapter *adapter)
 	struct dentry *pfile;
 	adapter->ixgbe_dbg_adapter = debugfs_create_dir(name, ixgbe_dbg_root);
 	if (adapter->ixgbe_dbg_adapter) {
+		pfile = debugfs_create_file("reg_ops", 0600,
+					    adapter->ixgbe_dbg_adapter, adapter,
+					    &ixgbe_dbg_reg_ops_fops);
+		if (!pfile)
+			e_dev_err("debugfs reg_ops for %s failed\n", name);
 		pfile = debugfs_create_file("netdev_ops", 0600,
 					    adapter->ixgbe_dbg_adapter, adapter,
 					    &ixgbe_dbg_netdev_ops_fops);
-- 
1.7.11.4

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

* [net-next 8/8] ixgbe: Improve statistics accuracy for DDP traffic
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (6 preceding siblings ...)
  2012-09-17  4:15 ` [net-next 7/8] ixgbe: added reg_ops " Jeff Kirsher
@ 2012-09-17  4:15 ` Jeff Kirsher
  2012-09-17  4:56 ` [net-next 0/8][pull request] Intel Wired LAN Driver Updates David Miller
  8 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2012-09-17  4:15 UTC (permalink / raw)
  To: davem; +Cc: Mark Rustad, netdev, gospo, sassmann, Jeff Kirsher

From: Mark Rustad <mark.d.rustad@intel.com>

Noticed that the byte and packet count statistics are under-
counting traffic handled by the DDP offload when there is more
than one DDP completion processed in a single call to
ixgbe_clean_rx_irq. This patch fixes that.

I tried to optimize the setting of the rss value so that it
only would have to be computed once, and only when there is
a DDP completion present.

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 32 +++++++++++++--------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index b3b846b..2dc9d91 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1785,7 +1785,8 @@ static bool ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
 	unsigned int total_rx_bytes = 0, total_rx_packets = 0;
 #ifdef IXGBE_FCOE
 	struct ixgbe_adapter *adapter = q_vector->adapter;
-	int ddp_bytes = 0;
+	int ddp_bytes;
+	unsigned int mss = 0;
 #endif /* IXGBE_FCOE */
 	u16 cleaned_count = ixgbe_desc_unused(rx_ring);
 
@@ -1839,6 +1840,20 @@ static bool ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
 		/* if ddp, not passing to ULD unless for FCP_RSP or error */
 		if (ixgbe_rx_is_fcoe(rx_ring, rx_desc)) {
 			ddp_bytes = ixgbe_fcoe_ddp(adapter, rx_desc, skb);
+			/* include DDPed FCoE data */
+			if (ddp_bytes > 0) {
+				if (!mss) {
+					mss = rx_ring->netdev->mtu -
+						sizeof(struct fcoe_hdr) -
+						sizeof(struct fc_frame_header) -
+						sizeof(struct fcoe_crc_eof);
+					if (mss > 512)
+						mss &= ~511;
+				}
+				total_rx_bytes += ddp_bytes;
+				total_rx_packets += DIV_ROUND_UP(ddp_bytes,
+								 mss);
+			}
 			if (!ddp_bytes) {
 				dev_kfree_skb_any(skb);
 				continue;
@@ -1852,21 +1867,6 @@ static bool ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
 		budget--;
 	} while (likely(budget));
 
-#ifdef IXGBE_FCOE
-	/* include DDPed FCoE data */
-	if (ddp_bytes > 0) {
-		unsigned int mss;
-
-		mss = rx_ring->netdev->mtu - sizeof(struct fcoe_hdr) -
-			sizeof(struct fc_frame_header) -
-			sizeof(struct fcoe_crc_eof);
-		if (mss > 512)
-			mss &= ~511;
-		total_rx_bytes += ddp_bytes;
-		total_rx_packets += DIV_ROUND_UP(ddp_bytes, mss);
-	}
-
-#endif /* IXGBE_FCOE */
 	u64_stats_update_begin(&rx_ring->syncp);
 	rx_ring->stats.packets += total_rx_packets;
 	rx_ring->stats.bytes += total_rx_bytes;
-- 
1.7.11.4

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

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
  2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (7 preceding siblings ...)
  2012-09-17  4:15 ` [net-next 8/8] ixgbe: Improve statistics accuracy for DDP traffic Jeff Kirsher
@ 2012-09-17  4:56 ` David Miller
  2012-09-17  8:15   ` Jeff Kirsher
  8 siblings, 1 reply; 31+ messages in thread
From: David Miller @ 2012-09-17  4:56 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 16 Sep 2012 21:15:34 -0700

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

Sigh...

You changed this tree.

It originally had the IGB PTP changes, which you asked me to
reconsider.

So I went to pull them in and now it had these new changes in
it, which I accidently pushed out to net-next instead of the
IGB stuff.

Never do this.  If you wanted me to consider to sets of
changes seperatedly, put them in seperate branches for me
to pull from.

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

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

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

On Mon, 2012-09-17 at 00:56 -0400, David Miller wrote:
> 
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 16 Sep 2012 21:15:34 -0700
> 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> master
> 
> Sigh...
> 
> You changed this tree.
> 
> It originally had the IGB PTP changes, which you asked me to
> reconsider.
> 
> So I went to pull them in and now it had these new changes in
> it, which I accidently pushed out to net-next instead of the
> IGB stuff.
> 
> Never do this.  If you wanted me to consider to sets of
> changes seperatedly, put them in seperate branches for me
> to pull from. 

Sorry, I had not heard anything after several days, and since there had
been a number of changes to the tree since I last sent out the push
message I was going to re-sbumbit them against an updated tree.

I will put together a branch with the igb patches now.

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

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

* [net-next 0/8][pull request] Intel Wired LAN Driver Updates
@ 2012-10-23 10:24 Jeff Kirsher
  2012-10-23 17:28 ` David Miller
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff Kirsher @ 2012-10-23 10:24 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

This series contains updates to e1000e, igb, ixgbevf and MAINTAINERS.

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

Carolyn Wyborny (2):
  igb: Update get cable length function for i210/i211
  igb: Update version

Greg Rose (2):
  ixgbevf: Check for error on dma_map_single call
  ixgbevf: Update version string

Jesse Brandeburg (1):
  maintainers: update with official intel support link, new maintainer

John Fastabend (2):
  ixgbevf: make netif_napi_add and netif_napi_del symmetric
  ixgbevf: fix softirq-safe to unsafe splat on internal mbx_lock

Tushar Dave (1):
  e1000e: Minimum packet size must be 17 bytes

 MAINTAINERS                                       |  2 +
 drivers/net/ethernet/intel/e1000e/netdev.c        | 11 +++++
 drivers/net/ethernet/intel/igb/e1000_phy.c        | 20 ++++++++
 drivers/net/ethernet/intel/igb/igb_main.c         |  2 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 59 ++++++++++++-----------
 5 files changed, 64 insertions(+), 30 deletions(-)

-- 
1.7.11.7

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 23 Oct 2012 03:24:39 -0700

> This series contains updates to e1000e, igb, ixgbevf and MAINTAINERS.
> 
> The following are changes since commit 598e74f32c6dd4b3dd0ed382c889be07a7c6cbc0:
>   Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

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

* [net-next 0/8][pull request] Intel Wired LAN Driver Updates
@ 2013-04-26  4:57 Jeff Kirsher
  2013-04-27  3:34 ` David Miller
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff Kirsher @ 2013-04-26  4:57 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann, bhutchings, stable

This series contains updates to e1000e, igb and ixgbe.

There are 2 patches in this series which could be applied to net,
but since Linus is so very close to releasing 3.9, I do not think
it prudent to try and push these into net at this time.  I have CC'd
stable on these patches so that they can queue them up as soon as
3.9 gets released.

The 2 patches are:
  e1000e: fix numeric overflow in phc settime method
  ixgbe: fix EICR write in ixgbe_msix_other

Richard provides a fix for e1000e by using a helper function from time.h
to resolve a unintended overflow in the PTP settime function.

Bruce provides a fix to wait for NAPI to be done with the current context
after disabling interrupts and then disable NAPI when the interface
is going down.  This fixes a possible "unable to handle kernel paging
request" panic in net-next.

Andi Kleen provides a patch for igb to use mdelay instead of udelay
when we needed 100000us.

Jacob provides a fix for ixgbe to simply mask the lower 16bits off so that
ixgbe_msix_other does not write them in the EICR, which causes them to
remain high and be properly handled by the clean_rings interrupt routine
as normal.

Emil cleans up the logic in ixgbe_setup_loopback_test() to only access
registers applicable to the MAC type.  In addition, removes majority
of the AUTOC register reads by using a cached value instead to avoid
writing corrupted values to AUTOC due to bad FW.  Emil also add support
for disabling link during boot time.  Lastly, he provides a patch which
adds the MAC type to the version in ethtool_regs which will make it
easier to check the MAC type when dumping registers with ethtool.

There is a separate ethtool tool patch which is dependent upon Emil's
last patch of the series to add the MAC type to the version in
ethtool_regs, which will be sent separately.

The following are changes since commit 3a4e0d6a95b2b6f7b22eb7c7361a0fc4289478eb:
  openvswitch: Use parallel_ops genl.
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Andi Kleen (1):
  igb: limit udelay for phy changes to 10000us

Bruce Allan (1):
  e1000e: panic caused by Rx traffic arriving while interface going
    down

Emil Tantilov (4):
  ixgbe: fix register access during ethtool loopback test
  ixgbe: cache AUTOC reads
  ixgbe: add support for disabling link at boot time on 82599
  ixgbe: add mac type to the version in ethtool_regs

Jacob Keller (1):
  ixgbe: fix EICR write in ixgbe_msix_other

Richard Cochran (1):
  e1000e: fix numeric overflow in phc settime method

 drivers/net/ethernet/intel/e1000e/netdev.c       |  7 ++-
 drivers/net/ethernet/intel/e1000e/ptp.c          |  3 +-
 drivers/net/ethernet/intel/igb/e1000_phy.c       |  6 +--
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c   | 61 +++++++++++++++++-------
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 29 ++++++-----
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c    | 10 ++++
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h    |  2 +
 7 files changed, 80 insertions(+), 38 deletions(-)

-- 
1.7.11.7

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

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
  2013-04-26  4:57 Jeff Kirsher
@ 2013-04-27  3:34 ` David Miller
  0 siblings, 0 replies; 31+ messages in thread
From: David Miller @ 2013-04-27  3:34 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann, bhutchings, stable

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 25 Apr 2013 21:57:03 -0700

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

Pulled, thanks Jeff.

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

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

This series implements the new i40e driver for Intel's upcoming
Intel(R) Ethernet Controller XL710 Family of devices.

Jesse tried to break the patches up to ease review and still be
bisectable, as the last patch adds the driver to the kernel compile
with CONFIG_I40E.

This driver is for a brand new bit of silicon that has a different
design than other Intel Ethernet silicon, and therefore needed a new
driver.

The hardware has quite a bit of capability and this driver is only
meant to provide basic functionality at first.  Future patches will
continue to add functionality and bug fixes.

This initial release is very early in the product cycle with the intent
of getting initial support into the kernel before users have the
hardware available to purchase.  A software development manual is not
ready yet but will be available when the hardware ships.

This driver *does* use some code (as our previous drivers do) that is
meant to be shared to different OS drivers.  One of the following
patches has the majority of this code in it, and is clearly called out
in the commit message.

An associated i40evf driver will follow in the future.

List of tools we ran in preparation:
sparse clean
make W=1, W=2 clean
checkpatch (almost) clean
        - total: 1 errors, 5 warnings, 30444 lines checked
        - NOTE: Ignored message types: LONG_LINE
        - 5 warnings/1 error are bogus
        - long lines that remain are #defines best on one line
codespell clean
smatch (almost) clean with a couple minor warnings
coccicheck clean
namespacecheck clean
allmodconfig clean
ppc64 build clean (unable to test yet)

This driver is a team effort, thank you to Joseph Gasparakis,
Shannon Nelson, Anjali Singhai-Jain, Mitch Williams, Neerav
Parikh, Vasu Dev, Yi Zou, and PJ Waskiewicz.

TODO (known issues)
get_stats64
BQL implementation
use 40000_* defines from kernel
some possible indentation issues on function parameters

The following are changes since commit 948e306d7d645af80ea331b60495710fe4fe12bb:
  net/mlx4: Add VF link state support
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Jesse Brandeburg (8):
  i40e: main driver core
  i40e: transmit, receive, and napi
  i40e: driver ethtool core
  i40e: driver core headers
  i40e: implement virtual device interface
  i40e: init code and hardware support
  i40e: sysfs and debugfs interfaces
  i40e: include i40e in kernel proper

 Documentation/networking/00-INDEX                  |    2 +
 Documentation/networking/i40e.txt                  |  115 +
 MAINTAINERS                                        |    3 +-
 drivers/net/ethernet/intel/Kconfig                 |   18 +
 drivers/net/ethernet/intel/Makefile                |    1 +
 drivers/net/ethernet/intel/i40e/Kbuild             |   45 +
 drivers/net/ethernet/intel/i40e/i40e.h             |  526 ++
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |  935 +++
 drivers/net/ethernet/intel/i40e/i40e_adminq.h      |  112 +
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  | 1929 ++++++
 drivers/net/ethernet/intel/i40e/i40e_alloc.h       |   59 +
 drivers/net/ethernet/intel/i40e/i40e_common.c      | 1947 ++++++
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     | 2205 ++++++
 drivers/net/ethernet/intel/i40e/i40e_diag.c        |  133 +
 drivers/net/ethernet/intel/i40e/i40e_diag.h        |   55 +
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 1198 ++++
 drivers/net/ethernet/intel/i40e/i40e_hmc.c         |  370 +
 drivers/net/ethernet/intel/i40e/i40e_hmc.h         |  246 +
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c     | 1004 +++
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h     |  170 +
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 7258 ++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_nvm.c         |  330 +
 drivers/net/ethernet/intel/i40e/i40e_osdep.h       |   78 +
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |  244 +
 drivers/net/ethernet/intel/i40e/i40e_register.h    | 4688 +++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_status.h      |  101 +
 drivers/net/ethernet/intel/i40e/i40e_sysfs.c       |  627 ++
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        | 1838 +++++
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |  260 +
 drivers/net/ethernet/intel/i40e/i40e_type.h        | 1143 +++
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h    |  369 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2279 ++++++
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |  121 +
 33 files changed, 30408 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/networking/i40e.txt
 create mode 100644 drivers/net/ethernet/intel/i40e/Kbuild
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_adminq.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_adminq.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_alloc.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_common.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_debugfs.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_diag.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_diag.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_ethtool.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_hmc.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_hmc.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_main.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_nvm.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_osdep.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_prototype.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_register.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_status.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_sysfs.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_txrx.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_txrx.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_type.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h

-- 
1.7.11.7

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

* [net-next  0/8][pull request] Intel Wired LAN Driver Updates
@ 2013-09-06  5:43 Jeff Kirsher
  2013-09-06  5:58 ` Jeff Kirsher
  0 siblings, 1 reply; 31+ messages in thread
From: Jeff Kirsher @ 2013-09-06  5:43 UTC (permalink / raw)
  To: davem
  Cc: Jeff Kirsher, netdev, gospo, sassmann, jesse.brandeburg,
	shannon.nelson, peter.p.waskiewicz.jr, e1000-devel

This series implements the new i40e driver for Intel's upcoming
Intel(R) Ethernet Controller XL710 Family of devices.

V1: initial send
V2: each patch has individual comments, in general, feedback from the
    list was applied and addressed. Many changes due to internal review
    and coding as well.
V3: many more individual comments addressed, thanks reviewers!  Many
    other changes due to internal review and development.
V4: addresses remaining community comments, mostly trivial edits.
    major sparse based cleanup of possible endian issues
    removal of most of __func__ references
    sizeof(*var) instead of sizeof(struct ...)
    change 'NULL ==' tests to !NULL
    implement xps
    use kernel bitshift macros (upper_32_bits, etc)
V5: remove sysfs support from this set, will rearchitect
    changes from community comments

Let me start by saying thanks and we appreciate any time spent by
those of you who review and comment on this new driver, and we will
attempt to address and respond to all issues brought to our attention.

Jesse tried to break the patches up to ease review, but the series should
apply and still be bisectable, as the last patch adds the driver to
the kernel compile with CONFIG_I40E.

This driver is for a brand new bit of silicon that has a different
design than other Intel Ethernet silicon, and therefore needed a new
driver.

The hardware has quite a bit of capability and this driver is only
meant to provide basic functionality at first.  Future patches will
continue to add functionality and bug fixes.

This initial release is very early in the product cycle with the intent
of getting initial support into the kernel before users have the
hardware available to purchase.  A software development manual is not
ready yet but will be available when the hardware ships.

To be clear, the driver development model and interaction with
community submitted patches *will not be any different* than what
we are currently doing today.

This driver *does* use some code (as our previous drivers do) that is
meant to be shared to different OS drivers.  One of the following
patches has the majority of this code in it, and is clearly called out
in the commit message.

An associated i40evf driver has been posted for review.

List of tools we ran in preparation:
way more sparse clean
make W=1, W=2 clean
checkpatch (almost) clean
        total: 1 errors, 4 warnings, 30595 lines checked
        NOTE: Ignored message types: LONG_LINE
        - issues have been addressed and the remainders
          are noise.
codespell clean
smatch (almost) clean with a couple minor warnings
coccicheck clean
namespacecheck clean
allmodconfig clean
ppc64 build clean (unable to test yet)

This driver is a team effort, thank you to Joseph Gasparakis,
Shannon Nelson, Anjali Singhai-Jain, Mitch Williams, Neerav
Parikh, Vasu Dev, Kavindya Deegala, Yi Zou, and PJ Waskiewicz.

TODO (known issues)
BQL implementation
finish rtnl_stat64 locking (we have a patch but debugging it)

The following are changes since commit 2e032852245b3dcfe5461d7353e34eb6da095ccf:
  Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Jesse Brandeburg (8):
  i40e: main driver core
  i40e: transmit, receive, and NAPI
  i40e: driver ethtool core
  i40e: driver core headers
  i40e: implement virtual device interface
  i40e: init code and hardware support
  i40e: debugfs interface
  i40e: include i40e in kernel proper

 Documentation/networking/00-INDEX                  |    2 +
 Documentation/networking/i40e.txt                  |  115 +
 MAINTAINERS                                        |    3 +-
 drivers/net/ethernet/intel/Kconfig                 |   18 +
 drivers/net/ethernet/intel/Makefile                |    1 +
 drivers/net/ethernet/intel/i40e/Kbuild             |   44 +
 drivers/net/ethernet/intel/i40e/i40e.h             |  566 ++
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |  994 +++
 drivers/net/ethernet/intel/i40e/i40e_adminq.h      |  112 +
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  | 2077 ++++++
 drivers/net/ethernet/intel/i40e/i40e_alloc.h       |   59 +
 drivers/net/ethernet/intel/i40e/i40e_common.c      | 2048 ++++++
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     | 2083 ++++++
 drivers/net/ethernet/intel/i40e/i40e_diag.c        |  133 +
 drivers/net/ethernet/intel/i40e/i40e_diag.h        |   52 +
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     | 1452 ++++
 drivers/net/ethernet/intel/i40e/i40e_hmc.c         |  370 +
 drivers/net/ethernet/intel/i40e/i40e_hmc.h         |  245 +
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c     | 1007 +++
 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h     |  169 +
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 7386 ++++++++++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_nvm.c         |  391 ++
 drivers/net/ethernet/intel/i40e/i40e_osdep.h       |   86 +
 drivers/net/ethernet/intel/i40e/i40e_prototype.h   |  239 +
 drivers/net/ethernet/intel/i40e/i40e_register.h    | 4688 +++++++++++++
 drivers/net/ethernet/intel/i40e/i40e_status.h      |  101 +
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        | 1817 +++++
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |  259 +
 drivers/net/ethernet/intel/i40e/i40e_type.h        | 1154 +++
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h    |  368 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2408 +++++++
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |  121 +
 32 files changed, 30567 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/networking/i40e.txt
 create mode 100644 drivers/net/ethernet/intel/i40e/Kbuild
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_adminq.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_adminq.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_alloc.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_common.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_debugfs.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_diag.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_diag.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_ethtool.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_hmc.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_hmc.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_main.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_nvm.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_osdep.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_prototype.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_register.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_status.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_txrx.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_txrx.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_type.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
 create mode 100644 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h

-- 
1.8.3.1

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

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
  2013-09-06  5:43 Jeff Kirsher
@ 2013-09-06  5:58 ` Jeff Kirsher
  0 siblings, 0 replies; 31+ messages in thread
From: Jeff Kirsher @ 2013-09-06  5:58 UTC (permalink / raw)
  To: davem; +Cc: e1000-devel, netdev, jesse.brandeburg, gospo, sassmann


[-- Attachment #1.1: Type: text/plain, Size: 4024 bytes --]

On Thu, 2013-09-05 at 22:43 -0700, Jeff Kirsher wrote:
> This series implements the new i40e driver for Intel's upcoming
> Intel(R) Ethernet Controller XL710 Family of devices.
> 
> V1: initial send
> V2: each patch has individual comments, in general, feedback from the
>     list was applied and addressed. Many changes due to internal
> review
>     and coding as well.
> V3: many more individual comments addressed, thanks reviewers!  Many
>     other changes due to internal review and development.
> V4: addresses remaining community comments, mostly trivial edits.
>     major sparse based cleanup of possible endian issues
>     removal of most of __func__ references
>     sizeof(*var) instead of sizeof(struct ...)
>     change 'NULL ==' tests to !NULL
>     implement xps
>     use kernel bitshift macros (upper_32_bits, etc)
> V5: remove sysfs support from this set, will rearchitect
>     changes from community comments
> 
> Let me start by saying thanks and we appreciate any time spent by
> those of you who review and comment on this new driver, and we will
> attempt to address and respond to all issues brought to our attention.
> 
> Jesse tried to break the patches up to ease review, but the series
> should
> apply and still be bisectable, as the last patch adds the driver to
> the kernel compile with CONFIG_I40E.
> 
> This driver is for a brand new bit of silicon that has a different
> design than other Intel Ethernet silicon, and therefore needed a new
> driver.
> 
> The hardware has quite a bit of capability and this driver is only
> meant to provide basic functionality at first.  Future patches will
> continue to add functionality and bug fixes.
> 
> This initial release is very early in the product cycle with the
> intent
> of getting initial support into the kernel before users have the
> hardware available to purchase.  A software development manual is not
> ready yet but will be available when the hardware ships.
> 
> To be clear, the driver development model and interaction with
> community submitted patches *will not be any different* than what
> we are currently doing today.
> 
> This driver *does* use some code (as our previous drivers do) that is
> meant to be shared to different OS drivers.  One of the following
> patches has the majority of this code in it, and is clearly called out
> in the commit message.
> 
> An associated i40evf driver has been posted for review.
> 
> List of tools we ran in preparation:
> way more sparse clean
> make W=1, W=2 clean
> checkpatch (almost) clean
>         total: 1 errors, 4 warnings, 30595 lines checked
>         NOTE: Ignored message types: LONG_LINE
>         - issues have been addressed and the remainders
>           are noise.
> codespell clean
> smatch (almost) clean with a couple minor warnings
> coccicheck clean
> namespacecheck clean
> allmodconfig clean
> ppc64 build clean (unable to test yet)
> 
> This driver is a team effort, thank you to Joseph Gasparakis,
> Shannon Nelson, Anjali Singhai-Jain, Mitch Williams, Neerav
> Parikh, Vasu Dev, Kavindya Deegala, Yi Zou, and PJ Waskiewicz.
> 
> TODO (known issues)
> BQL implementation
> finish rtnl_stat64 locking (we have a patch but debugging it)
> 
> The following are changes since commit
> 2e032852245b3dcfe5461d7353e34eb6da095ccf:
>   Merge branch 'for-linus' of
> git://git.linaro.org/people/rmk/linux-arm
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> master
> 
> Jesse Brandeburg (8):
>   i40e: main driver core
>   i40e: transmit, receive, and NAPI
>   i40e: driver ethtool core
>   i40e: driver core headers
>   i40e: implement virtual device interface
>   i40e: init code and hardware support
>   i40e: debugfs interface
>   i40e: include i40e in kernel proper

Grrr... I sent v5 out and forgot to note it in the title.  Sorry for the
spam, I will resend with the proper titles. :-(

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

[-- Attachment #2: Type: text/plain, Size: 433 bytes --]

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk

[-- Attachment #3: Type: text/plain, Size: 257 bytes --]

_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit http://communities.intel.com/community/wired

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

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

This series implements the Linux Virtual Function (VF) driver for
the Intel Ethernet Controller XL710 family.

The following are changes since commit 21eb218989523b7bee28900aaec9f9296b70fa27:
  net, sch: fix the typo in register_qdisc()
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Greg Rose (8):
  i40evf: main driver core
  i40evf: transmit and receive functionality
  i40evf: core ethtool functionality
  i40evf: virtual channel interface
  i40evf: driver core headers
  i40evf: init code and hardware support
  i40evf: add driver to kernel build system
  i40evf: A0 silicon specific

 Documentation/networking/i40evf.txt                |   47 +
 MAINTAINERS                                        |    4 +-
 drivers/net/ethernet/intel/Kconfig                 |   19 +
 drivers/net/ethernet/intel/Makefile                |    1 +
 drivers/net/ethernet/intel/i40evf/Makefile         |   33 +
 drivers/net/ethernet/intel/i40evf/i40e_adminq.c    |  927 ++++
 drivers/net/ethernet/intel/i40evf/i40e_adminq.h    |  106 +
 .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h    | 2153 +++++++++
 drivers/net/ethernet/intel/i40evf/i40e_alloc.h     |   55 +
 drivers/net/ethernet/intel/i40evf/i40e_common.c    |  254 ++
 drivers/net/ethernet/intel/i40evf/i40e_hmc.h       |  238 +
 drivers/net/ethernet/intel/i40evf/i40e_lan_hmc.h   |  165 +
 drivers/net/ethernet/intel/i40evf/i40e_osdep.h     |   72 +
 drivers/net/ethernet/intel/i40evf/i40e_prototype.h |   84 +
 drivers/net/ethernet/intel/i40evf/i40e_register.h  | 4667 ++++++++++++++++++++
 drivers/net/ethernet/intel/i40evf/i40e_status.h    |   97 +
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c      | 1573 +++++++
 drivers/net/ethernet/intel/i40evf/i40e_txrx.h      |  296 ++
 drivers/net/ethernet/intel/i40evf/i40e_type.h      | 1152 +++++
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h  |  364 ++
 drivers/net/ethernet/intel/i40evf/i40evf.h         |  321 ++
 drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c |  390 ++
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    | 2353 ++++++++++
 .../net/ethernet/intel/i40evf/i40evf_virtchnl.c    |  772 ++++
 24 files changed, 16142 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/networking/i40evf.txt
 create mode 100644 drivers/net/ethernet/intel/i40evf/Makefile
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_adminq.c
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_adminq.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_alloc.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_common.c
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_hmc.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_lan_hmc.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_osdep.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_prototype.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_register.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_status.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_txrx.c
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_txrx.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_type.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40evf.h
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40evf_main.c
 create mode 100644 drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c

-- 
1.8.3.1

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

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

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 31 Dec 2013 16:53:05 -0800

> This series implements the Linux Virtual Function (VF) driver for
> the Intel Ethernet Controller XL710 family.
> 
> The following are changes since commit 21eb218989523b7bee28900aaec9f9296b70fa27:
>   net, sch: fix the typo in register_qdisc()
> 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] 31+ messages in thread

end of thread, other threads:[~2014-01-02  4:01 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-17  4:15 [net-next 0/8][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2012-09-17  4:15 ` [net-next 1/8] e1000: add byte queue limits Jeff Kirsher
2012-09-17  4:15 ` [net-next 2/8] ixgbe: Fix ordering of things so that PF correctly configures its VLANs Jeff Kirsher
2012-09-17  4:15 ` [net-next 3/8] ixgbe: Fix VF rate limiting to correctly account for more queues per VF Jeff Kirsher
2012-09-17  4:15 ` [net-next 4/8] ixgbe: fix reporting of spoofed packets Jeff Kirsher
2012-09-17  4:15 ` [net-next 5/8] ixgbe: add debugfs support Jeff Kirsher
2012-09-17  4:15 ` [net-next 6/8] ixgbe: added netdev_ops file to debugfs Jeff Kirsher
2012-09-17  4:15 ` [net-next 7/8] ixgbe: added reg_ops " Jeff Kirsher
2012-09-17  4:15 ` [net-next 8/8] ixgbe: Improve statistics accuracy for DDP traffic Jeff Kirsher
2012-09-17  4:56 ` [net-next 0/8][pull request] Intel Wired LAN Driver Updates David Miller
2012-09-17  8:15   ` Jeff Kirsher
  -- strict thread matches above, loose matches on Subject: below --
2014-01-01  0:53 Jeff Kirsher
2014-01-02  4:01 ` David Miller
2013-09-06  5:43 Jeff Kirsher
2013-09-06  5:58 ` Jeff Kirsher
2013-06-14  3:55 Jeff Kirsher
2013-04-26  4:57 Jeff Kirsher
2013-04-27  3:34 ` David Miller
2012-10-23 10:24 Jeff Kirsher
2012-10-23 17:28 ` David Miller
2012-08-31  5:16 Jeff Kirsher
2012-08-31 20:03 ` David Miller
2012-07-17 10:09 Jeff Kirsher
2012-07-17 10:22 ` David Miller
2012-05-04 10:35 Jeff Kirsher
2012-05-04 15:49 ` David Miller
2012-05-01  8:51 Jeff Kirsher
2011-11-16 12:51 Jeff Kirsher
2011-11-16 23:12 ` David Miller
2011-11-16 23:21   ` Jeff Kirsher
2011-11-16 23:32     ` 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).