* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2011-10-06 11:02 Jeff Kirsher
2011-10-06 18:33 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2011-10-06 11:02 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to e1000e, igb and ixgbe. Here
is a quick summary:
- e1000e: fixes for 2 WoL issues
- igb: fix for I2C, and 2 Alt. MAC address updates
- ixgbe: fix dependencies for 8 traffic classes, add X540 traffic
class support and a fix for PFC mask generation
The following are changes since commit f0cd7bdc042310b6b104f133bbfd520a72b3c08a:
bnx2x: remove some dead code
and are available in the git repository at
git://github.com/Jkirsher/net-next.git
Akeem G. Abodunrin (3):
igb: Code to prevent overwriting SFP I2C
igb: Alternate MAC Address EEPROM Updates
igb: Alternate MAC Address Updates for Func2&3
Bruce Allan (2):
e1000e: WoL can fail on 82578DM
e1000e: WoL fails on device ID 0x1501
John Fastabend (3):
ixgbe: fixup hard dependencies on supporting 8 traffic classes
ixgbe: DCB X540 devices support max traffic class of 4
ixgbe: X540 devices RX PFC frames pause traffic even if disabled
Mark Rustad (1):
ixgbe: Fix PFC mask generation
drivers/net/ethernet/intel/e1000e/ich8lan.c | 25 +++++---
drivers/net/ethernet/intel/igb/e1000_mac.c | 9 ++-
drivers/net/ethernet/intel/igb/e1000_phy.c | 6 ++
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c | 22 ++++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.h | 3 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 46 ++++++++++++---
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 60 +++++++++++++++-----
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 29 ++++++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 3 +-
10 files changed, 158 insertions(+), 47 deletions(-)
--
1.7.6.4
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2011-10-06 11:02 Jeff Kirsher
@ 2011-10-06 18:33 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2011-10-06 18:33 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 6 Oct 2011 04:02:30 -0700
> The following series contains updates to e1000e, igb and ixgbe. Here
> is a quick summary:
> - e1000e: fixes for 2 WoL issues
> - igb: fix for I2C, and 2 Alt. MAC address updates
> - ixgbe: fix dependencies for 8 traffic classes, add X540 traffic
> class support and a fix for PFC mask generation
>
> The following are changes since commit f0cd7bdc042310b6b104f133bbfd520a72b3c08a:
> bnx2x: remove some dead code
> and are available in the git repository at
> git://github.com/Jkirsher/net-next.git
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2011-12-23 9:09 Jeff Kirsher
0 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2011-12-23 9:09 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to igb, ixgbe and ixgbevf. Most of
the changes are adding support of some kind. There are 3 fixes, one fix
for ixgbevf to fix register defines. The other two fixes are for ixgbe,
one being a minor comment spelling fix and the other is to fix register
reads.
Here is a list of the new support added:
- 2 new device id's in ixgbe
- igb flow control advertising to ethtool
- ixgbe thermal data sensor
The following are changes since commit 2c64580046a122fa15bb586d8ca4fd5e4b69a1e7:
netlink: wake up netlink listeners sooner (v2)
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (1):
ixgbevf: Fix register defines to correctly handle complex expressions
Carolyn Wyborny (1):
igb: Add flow control advertising to ethtool setting.
Don Skidmore (3):
ixgbe: add support functions for gathering thermal data sensor
ixgbe: add interface to export thermal data
ixgbe: add support for new 82599 device.
Emil Tantilov (3):
ixgbe: fix incorrect PHY register reads
ixgbe: add write flush in ixgbe_clock_out_i2c_byte()
ixgbe: add support for new 82599 device id
Stephen Hemminger (1):
ixgbe: fix typo's
drivers/net/ethernet/intel/igb/igb_ethtool.c | 6 +-
drivers/net/ethernet/intel/ixgbe/Makefile | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 4 +
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 3 +
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 158 +++++++++++-
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 13 +
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 15 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 32 ++-
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c | 305 ++++++++++++++++++++++
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 40 +++
drivers/net/ethernet/intel/ixgbevf/mbx.h | 4 +-
drivers/net/ethernet/intel/ixgbevf/regs.h | 42 ++--
13 files changed, 583 insertions(+), 42 deletions(-)
create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
--
1.7.7.4
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-06-09 8:20 Jeff Kirsher
0 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2012-06-09 8:20 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to igb and ixgbe.
The following are changes since commit fbfe95a42e90b3dd079cc9019ba7d7700feee0f6:
inet: Create and use rt{,6}_get_peer_create().
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Carolyn Wyborny (4):
igb: Add support functions to access thermal data.
igb: Add hwmon interface to export thermal data.
igb: Update firmware info output
igb: Version bump
Emil Tantilov (1):
ixgbe: do not compile ixgbe_sysfs.c when CONFIG_IXGBE_HWMON is not
set
Jacob Keller (3):
ixgbe: ptp code cleanup
ixgbe: PTP Fix hwtstamp mode settings
ixgbe: Check PTP Rx timestamps via BPF filter
John Fastabend (1):
ixgbe: align flow control DV macros with datasheet
drivers/net/ethernet/intel/Kconfig | 10 +
drivers/net/ethernet/intel/igb/Makefile | 2 +-
drivers/net/ethernet/intel/igb/e1000_82575.c | 659 +++++++++++++++++++++++-
drivers/net/ethernet/intel/igb/e1000_82575.h | 31 ++
drivers/net/ethernet/intel/igb/e1000_defines.h | 15 +-
drivers/net/ethernet/intel/igb/e1000_hw.h | 21 +-
drivers/net/ethernet/intel/igb/e1000_regs.h | 15 +
drivers/net/ethernet/intel/igb/igb.h | 44 ++
drivers/net/ethernet/intel/igb/igb_ethtool.c | 16 +-
drivers/net/ethernet/intel/igb/igb_main.c | 97 +++-
drivers/net/ethernet/intel/igb/igb_sysfs.c | 245 +++++++++
drivers/net/ethernet/intel/ixgbe/Makefile | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 149 ++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c | 2 -
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 37 +-
17 files changed, 1284 insertions(+), 76 deletions(-)
create mode 100644 drivers/net/ethernet/intel/igb/igb_sysfs.c
--
1.7.10.2
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-06-20 8:44 Jeff Kirsher
2012-06-20 22:26 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2012-06-20 8:44 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000, igb and ixgbe
The following are changes since commit 41063e9dd11956f2d285e12e4342e1d232ba0ea2:
ipv4: Early TCP socket demux.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Carolyn Wyborny (4):
igb: Add switch case for supported hardware to igb_ptp_remove.
igb: Support the get_ts_info ethtool method.
igb: Update firmware info output
igb: Version bump
Jacob Keller (2):
ixgbe: add support for 1G SX modules
ixgbe: clean up ixgbe_get_settings ethtool function
Lior Levy (1):
igb: A fix to VF TX rate limit
Matthew Vick (1):
igb: Streamline RSS queue and queue pairing assignment logic.
Tushar Dave (1):
e1000: Combining Bitwise OR in one expression.
drivers/net/ethernet/intel/e1000/e1000_main.c | 12 +-
drivers/net/ethernet/intel/igb/e1000_regs.h | 1 +
drivers/net/ethernet/intel/igb/igb.h | 25 +++-
drivers/net/ethernet/intel/igb/igb_ethtool.c | 52 ++++++--
drivers/net/ethernet/intel/igb/igb_main.c | 156 +++++++++++++++++-----
drivers/net/ethernet/intel/igb/igb_ptp.c | 12 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 147 +++++++++-----------
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 23 +++-
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 2 +
10 files changed, 291 insertions(+), 143 deletions(-)
--
1.7.10.2
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2012-06-20 8:44 Jeff Kirsher
@ 2012-06-20 22:26 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2012-06-20 22:26 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 20 Jun 2012 01:44:54 -0700
> This series contains updates to e1000, igb and ixgbe
>
> The following are changes since commit 41063e9dd11956f2d285e12e4342e1d232ba0ea2:
> ipv4: Early TCP socket demux.
> 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] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-07-18 20:31 Jeff Kirsher
2012-07-19 15:26 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2012-07-18 20:31 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbevf & ixgbe.
The following are changes since commit ddbe503203855939946430e39bae58de11b70b69:
ipv6: add ipv6_addr_hash() helper
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: Do not rewind the Rx ring before bumping tail
ixgbevf: Add netdev to ring structure
ixgbevf: Consolidate Tx context descriptor creation code
ixgbevf: Fix multiple issues in ixgbevf_get/set_ringparam
ixgbe: Update configure virtualization to allow for multiple PF pools
ixgbe: Add support for SR-IOV w/ DCB or RSS
ixgbe: Retire RSS enabled and capable flags
ixgbe: Cleanup holes in flags after removing several of them
Pascal Bouchareine (1):
ixgbevf: fix VF untagging when 802.1 prio is set
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 56 +--
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 4 -
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 387 ++++++++++++++++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 90 +++--
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 52 ++-
drivers/net/ethernet/intel/ixgbevf/defines.h | 1 +
drivers/net/ethernet/intel/ixgbevf/ethtool.c | 159 ++++----
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 2 +
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 405 ++++++++++-----------
9 files changed, 745 insertions(+), 411 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2012-07-18 20:31 Jeff Kirsher
@ 2012-07-19 15:26 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2012-07-19 15:26 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 18 Jul 2012 13:31:47 -0700
> This series contains updates to ixgbevf & ixgbe.
>
> The following are changes since commit ddbe503203855939946430e39bae58de11b70b69:
> ipv6: add ipv6_addr_hash() helper
> 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: Do not rewind the Rx ring before bumping tail
> ixgbevf: Add netdev to ring structure
> ixgbevf: Consolidate Tx context descriptor creation code
> ixgbevf: Fix multiple issues in ixgbevf_get/set_ringparam
> ixgbe: Update configure virtualization to allow for multiple PF pools
> ixgbe: Add support for SR-IOV w/ DCB or RSS
> ixgbe: Retire RSS enabled and capable flags
> ixgbe: Cleanup holes in flags after removing several of them
>
> Pascal Bouchareine (1):
> ixgbevf: fix VF untagging when 802.1 prio is set
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-07-20 1:23 Jeff Kirsher
2012-07-20 18:13 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2012-07-20 1:23 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe.
The following are changes since commit 769162e38b91e1d300752e666260fa6c7b203fbc:
Merge branch 'net' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (9):
ixgbe: Use VMDq offset to indicate the default pool
ixgbe: Fix memory leak when SR-IOV VFs are direct assigned
ixgbe: Drop references to deprecated pci_ DMA api and instead use
dma_ API
ixgbe: Cleanup configuration of FCoE registers
ixgbe: Merge all FCoE percpu values into a single structure
ixgbe: Make FCoE allocation and configuration closer to how rings
work
ixgbe: Correctly set SAN MAC RAR pool to default pool of PF
ixgbe: Only enable anti-spoof on VF pools
ixgbe: Enable FCoE FSO and CRC offloads based on CAPABLE instead of
ENABLED flag
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 5 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 4 +
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 45 ++-
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 378 ++++++++++++-----------
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h | 15 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 117 +++----
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 20 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 3 +
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 4 +
10 files changed, 344 insertions(+), 248 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2012-07-20 1:23 Jeff Kirsher
@ 2012-07-20 18:13 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2012-07-20 18:13 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 19 Jul 2012 18:23:57 -0700
> This series contains updates to ixgbe.
>
> The following are changes since commit 769162e38b91e1d300752e666260fa6c7b203fbc:
> Merge branch 'net' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
> 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] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-08-16 22:48 Peter P Waskiewicz Jr
2012-08-20 9:31 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Peter P Waskiewicz Jr @ 2012-08-16 22:48 UTC (permalink / raw)
To: davem; +Cc: Peter P Waskiewicz Jr, netdev, gospo, sassmann
This series contains multiple updates to the ixgbe driver.
The following are changes since commit 02644a17457414f38e29f32d5c640b06d08fa092:
sctp: fix bogus if statement in sctp_auth_recv_cid()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/ppwaskie/net-next master
Alexander Duyck (9):
ixgbe: Remove code that was initializing Rx page offset
ixgbe: combine ixgbe_add_rx_frag and ixgbe_can_reuse_page
ixgbe: Only use double buffering if page size is less than 8K
ixgbe: Have the CPU take ownership of the buffers sooner
ixgbe: Make pull tail function separate from rest of cleanup_headers
ixgbe: Copybreak sooner to avoid get_page/put_page and offset change
overhead
ixgbe: Make allocating skb and placing data in it a separate function
ixgbe: Roll RSC code into non-EOP code
ixgbe: Rewrite code related to configuring IFCS bit in Tx descriptor
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 25 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 497 ++++++++++++++------------
2 files changed, 284 insertions(+), 238 deletions(-)
--
1.7.11.2
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2012-08-16 22:48 Peter P Waskiewicz Jr
@ 2012-08-20 9:31 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2012-08-20 9:31 UTC (permalink / raw)
To: peter.p.waskiewicz.jr; +Cc: netdev, gospo, sassmann
From: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Date: Thu, 16 Aug 2012 15:48:29 -0700
> This series contains multiple updates to the ixgbe driver.
>
> The following are changes since commit 02644a17457414f38e29f32d5c640b06d08fa092:
> sctp: fix bogus if statement in sctp_auth_recv_cid()
>
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/ppwaskie/net-next master
Pulled, thanks a lot PJ.
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-11-15 14:39 Jeff Kirsher
2012-11-15 20:18 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2012-11-15 14:39 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ioat (DCA) and ixgbevf.
The following are changes since commit 702ed3c1a9dfe4dfe112f13542d0c9d689f5008b:
Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (1):
ioat: Do not enable DCA if tag map is invalid
Greg Rose (8):
ixgbevf: Streamline the rx buffer allocation
ixgbevf: Fix unnecessary dereference where local var is available.
ixgbevf: Remove the ring adapter pointer value
ixgbevf: Remove checking for mac.ops function pointers
ixgbevf: Remove mailbox spinlock from the reset function
ixgbevf: White space and comments clean up
ixgbevf: Remove unneeded and obsolete comment
ixgbevf: Add checksum statistics counters to rings
drivers/dma/ioat/dca.c | 23 ++++
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 3 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 123 +++++++++-------------
3 files changed, 72 insertions(+), 77 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2012-11-15 14:39 Jeff Kirsher
@ 2012-11-15 20:18 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2012-11-15 20:18 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 15 Nov 2012 06:39:38 -0800
> This series contains updates to ioat (DCA) and ixgbevf.
>
> The following are changes since commit 702ed3c1a9dfe4dfe112f13542d0c9d689f5008b:
> Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2012-12-01 11:53 Jeff Kirsher
2012-12-01 16:29 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2012-12-01 11:53 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe, igb and e1000e. Majority of the
changes are against igb.
The following are changes since commit 1b4c44e6369dbbafd113f1e00b406f1eda5ab5b2:
myri10ge: Add vlan rx for better GRO perf.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Akeem G. Abodunrin (1):
igb: Acquire, release semaphore for writing each EEPROM page
Alexander Duyck (1):
ixgbe: Do not parse past IP header on fragments beyond the first
Bruce Allan (1):
e1000e: cosmetic cleanup of comments
Carolyn Wyborny (5):
igb: Updates to read nvm function for i211 device
igb: Refactoring of i210 file.
igb: Workaround for global device reset problem on 82580.
igb: Unset sigdetect for SERDES loopback on 82580 and i350
igb: Fix SerDes autoneg flow control.
Joshua Hay (1):
ixgbe: eliminate Smatch warnings in ixgbe_debugfs.c
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 66 ++---
drivers/net/ethernet/intel/e1000e/82571.c | 115 +++------
drivers/net/ethernet/intel/e1000e/defines.h | 27 +-
drivers/net/ethernet/intel/e1000e/e1000.h | 17 +-
drivers/net/ethernet/intel/e1000e/ethtool.c | 69 ++---
drivers/net/ethernet/intel/e1000e/hw.h | 6 +-
drivers/net/ethernet/intel/e1000e/ich8lan.c | 243 ++++++------------
drivers/net/ethernet/intel/e1000e/mac.c | 135 ++++------
drivers/net/ethernet/intel/e1000e/manage.c | 9 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 313 +++++++++--------------
drivers/net/ethernet/intel/e1000e/nvm.c | 15 +-
drivers/net/ethernet/intel/e1000e/param.c | 50 ++--
drivers/net/ethernet/intel/e1000e/phy.c | 141 ++++------
drivers/net/ethernet/intel/igb/e1000_82575.c | 49 +++-
drivers/net/ethernet/intel/igb/e1000_defines.h | 7 +
drivers/net/ethernet/intel/igb/e1000_i210.c | 275 +++++++++++---------
drivers/net/ethernet/intel/igb/e1000_i210.h | 6 +
drivers/net/ethernet/intel/igb/e1000_mac.c | 124 +++++++++
drivers/net/ethernet/intel/igb/e1000_nvm.c | 28 +-
drivers/net/ethernet/intel/igb/igb.h | 2 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 14 +
drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c | 83 +++---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 13 +-
23 files changed, 823 insertions(+), 984 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2012-12-01 11:53 Jeff Kirsher
@ 2012-12-01 16:29 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2012-12-01 16:29 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 1 Dec 2012 03:53:28 -0800
> This series contains updates to ixgbe, igb and e1000e. Majority of the
> changes are against igb.
>
> The following are changes since commit 1b4c44e6369dbbafd113f1e00b406f1eda5ab5b2:
> myri10ge: Add vlan rx for better GRO perf.
> 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] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2013-09-04 13:08 Jeff Kirsher
2013-09-04 16:41 ` David Miller
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2013-09-04 13:08 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to igb only.
Todd provides a fix for igb to not look for a PBA in the iNVM on
devices that are flashless.
Akeem provides igb patches to add a new PHY id for i354, as well as
a couple of patches to implement the new PHY id. He also provides
several patches to correctly report the appropriate media type as
well as correctly report advertised/supported link for i354 devices.
Lastly Akeem implements a 1 second delay mechanism for i210 devices
to avoid erroneous link issue with the link partner.
The following are changes since commit c995ae2259ee36caf48bbfacf40111998dacd4af:
tcp: Change return value of tcp_rcv_established()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Akeem G Abodunrin (8):
igb: Implementation of 1-sec delay for i210 devices
igb: New PHY_ID for i354 device
igb: M88E1543 PHY downshift implementation
igb: No PHPM support in i354 devices
igb: Support to get 2_5G link status for appropriate media type
igb: Get speed and duplex for 1G non_copper devices
igb: Implementation to report advertised/supported link on i354
devices
igb: Update version number
Todd Fujinaka (1):
igb: Don't look for a PBA in the iNVM when flashless
drivers/net/ethernet/intel/igb/e1000_82575.c | 81 ++++++++++++++++++++------
drivers/net/ethernet/intel/igb/e1000_defines.h | 8 +--
drivers/net/ethernet/intel/igb/e1000_mac.c | 11 ----
drivers/net/ethernet/intel/igb/e1000_phy.c | 31 ++++++----
drivers/net/ethernet/intel/igb/igb.h | 3 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 26 +++++----
drivers/net/ethernet/intel/igb/igb_main.c | 43 ++++++++++++--
7 files changed, 143 insertions(+), 60 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2013-09-04 13:08 Jeff Kirsher
@ 2013-09-04 16:41 ` David Miller
0 siblings, 0 replies; 35+ messages in thread
From: David Miller @ 2013-09-04 16:41 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 4 Sep 2013 06:08:47 -0700
> This series contains updates to igb only.
>
> Todd provides a fix for igb to not look for a PBA in the iNVM on
> devices that are flashless.
>
> Akeem provides igb patches to add a new PHY id for i354, as well as
> a couple of patches to implement the new PHY id. He also provides
> several patches to correctly report the appropriate media type as
> well as correctly report advertised/supported link for i354 devices.
> Lastly Akeem implements a 1 second delay mechanism for i210 devices
> to avoid erroneous link issue with the link partner.
Pulled, thanks a lot Jeff.
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2013-10-01 11:33 Jeff Kirsher
2013-10-01 11:33 ` [net-next 1/9] ixgbevf: do not print registers to dmesg in ixgbevf_get_regs Jeff Kirsher
` (9 more replies)
0 siblings, 10 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbevf, ixgbe and igb.
Don provides 3 patches for ixgbevf where he cleans up a redundant
read mailbox failure check, adds a new function to wait for receive
queues to be disabled before disabling NAPI, and move the API
negotiation so that it occurs in the reset path. This will allow
the PF to be informed of the API version earlier.
Jacob provides a ixgbevf and ixgbe patch. His ixgbevf patch removes
the use of hw_dbg when the ixgbe_get_regs function is called in ethtool.
The ixgbe patch renames the LL_EXTENDED_STATS and some of the functions
required to implement busy polling in order to remove the marketing
"low latency" blurb which hides what the code actually does.
Leonardo provides a ixgbe patch to add support for DCB registers dump
using ethtool for 82599 and x540 ethernet controllers.
I (Jeff) provide a ixgbe patch to cleanup whitespace issues seen in a
code review.
Todd provides for igb to add support for i354 in the ethtool offline
tests.
Laura provides an igb patch to add the ethtool callbacks necessary to
configure the number of RSS queues.
The following are changes since commit b32418705107265dfca5edfe2b547643e53a732e:
bonding: RCUify bond_set_rx_mode()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Don Skidmore (3):
ixgbevf: cleanup redundant mailbox read failure check
ixgbevf: add wait for Rx queue disable
ixgbevf: move API neg to reset path
Fujinaka, Todd (1):
igb: Add ethtool offline tests for i354
Jacob Keller (2):
ixgbevf: do not print registers to dmesg in ixgbevf_get_regs
ixgbe: remove marketing names from busy poll code
Jeff Kirsher (1):
ixgbe: Cleanup the use of tabs and spaces
Laura Mihaela Vasilescu (1):
igb: Add ethtool support to configure number of channels
Leonardo Potenza (1):
ixgbe: ethtool DCB registers dump for 82599 and x540
drivers/net/ethernet/intel/igb/igb.h | 1 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 90 +++++++++++++++++-
drivers/net/ethernet/intel/igb/igb_main.c | 22 +++++
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 14 +--
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 103 ++++++++++++++------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 40 ++++----
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 5 +
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 12 +--
drivers/net/ethernet/intel/ixgbevf/ethtool.c | 55 +----------
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 111 +++++++++++-----------
11 files changed, 283 insertions(+), 174 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 1/9] ixgbevf: do not print registers to dmesg in ixgbevf_get_regs
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 2/9] ixgbevf: cleanup redundant mailbox read failure check Jeff Kirsher
` (8 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Jacob Keller, netdev, gospo, sassmann, Jeff Kirsher
From: Jacob Keller <jacob.e.keller@intel.com>
This patch removes the use of hw_dbg in ixgbevf when the ixgbe_get_regs function
is called from ethtool. This goes along side a patch to ethtool which enables
proper support for ixgbevf pretty-printing of registers.
Signed-off-by: Jacob Keller <jacob.e.keller@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/ixgbevf/ethtool.c | 55 +---------------------------
1 file changed, 2 insertions(+), 53 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ethtool.c b/drivers/net/ethernet/intel/ixgbevf/ethtool.c
index c9d0c12..84329b0 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ethtool.c
@@ -140,58 +140,10 @@ static void ixgbevf_set_msglevel(struct net_device *netdev, u32 data)
#define IXGBE_GET_STAT(_A_, _R_) (_A_->stats._R_)
-static char *ixgbevf_reg_names[] = {
- "IXGBE_VFCTRL",
- "IXGBE_VFSTATUS",
- "IXGBE_VFLINKS",
- "IXGBE_VFRXMEMWRAP",
- "IXGBE_VFFRTIMER",
- "IXGBE_VTEICR",
- "IXGBE_VTEICS",
- "IXGBE_VTEIMS",
- "IXGBE_VTEIMC",
- "IXGBE_VTEIAC",
- "IXGBE_VTEIAM",
- "IXGBE_VTEITR",
- "IXGBE_VTIVAR",
- "IXGBE_VTIVAR_MISC",
- "IXGBE_VFRDBAL0",
- "IXGBE_VFRDBAL1",
- "IXGBE_VFRDBAH0",
- "IXGBE_VFRDBAH1",
- "IXGBE_VFRDLEN0",
- "IXGBE_VFRDLEN1",
- "IXGBE_VFRDH0",
- "IXGBE_VFRDH1",
- "IXGBE_VFRDT0",
- "IXGBE_VFRDT1",
- "IXGBE_VFRXDCTL0",
- "IXGBE_VFRXDCTL1",
- "IXGBE_VFSRRCTL0",
- "IXGBE_VFSRRCTL1",
- "IXGBE_VFPSRTYPE",
- "IXGBE_VFTDBAL0",
- "IXGBE_VFTDBAL1",
- "IXGBE_VFTDBAH0",
- "IXGBE_VFTDBAH1",
- "IXGBE_VFTDLEN0",
- "IXGBE_VFTDLEN1",
- "IXGBE_VFTDH0",
- "IXGBE_VFTDH1",
- "IXGBE_VFTDT0",
- "IXGBE_VFTDT1",
- "IXGBE_VFTXDCTL0",
- "IXGBE_VFTXDCTL1",
- "IXGBE_VFTDWBAL0",
- "IXGBE_VFTDWBAL1",
- "IXGBE_VFTDWBAH0",
- "IXGBE_VFTDWBAH1"
-};
-
-
static int ixgbevf_get_regs_len(struct net_device *netdev)
{
- return (ARRAY_SIZE(ixgbevf_reg_names)) * sizeof(u32);
+#define IXGBE_REGS_LEN 45
+ return IXGBE_REGS_LEN * sizeof(u32);
}
static void ixgbevf_get_regs(struct net_device *netdev,
@@ -264,9 +216,6 @@ static void ixgbevf_get_regs(struct net_device *netdev,
regs_buff[41 + i] = IXGBE_READ_REG(hw, IXGBE_VFTDWBAL(i));
for (i = 0; i < 2; i++)
regs_buff[43 + i] = IXGBE_READ_REG(hw, IXGBE_VFTDWBAH(i));
-
- for (i = 0; i < ARRAY_SIZE(ixgbevf_reg_names); i++)
- hw_dbg(hw, "%s\t%8.8x\n", ixgbevf_reg_names[i], regs_buff[i]);
}
static void ixgbevf_get_drvinfo(struct net_device *netdev,
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 2/9] ixgbevf: cleanup redundant mailbox read failure check
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-10-01 11:33 ` [net-next 1/9] ixgbevf: do not print registers to dmesg in ixgbevf_get_regs Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 3/9] ixgbevf: add wait for Rx queue disable Jeff Kirsher
` (7 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Don Skidmore, netdev, gospo, sassmann, Alexander Duyck,
Jeff Kirsher
From: Don Skidmore <donald.c.skidmore@intel.com>
Since we are already checking for read failure in check_link we don't need
to do it here. Instead just make sure the watchdog task gets scheduled, if
we are up, and it can be done there. This will better follow igbvf method
of handling a mailbox event and message timeout.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 29 ++---------------------
1 file changed, 2 insertions(+), 27 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 59a62bb..b9a78a2 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -756,37 +756,12 @@ static void ixgbevf_set_itr(struct ixgbevf_q_vector *q_vector)
static irqreturn_t ixgbevf_msix_other(int irq, void *data)
{
struct ixgbevf_adapter *adapter = data;
- struct pci_dev *pdev = adapter->pdev;
struct ixgbe_hw *hw = &adapter->hw;
- u32 msg;
- bool got_ack = false;
hw->mac.get_link_status = 1;
- if (!hw->mbx.ops.check_for_ack(hw))
- got_ack = true;
-
- if (!hw->mbx.ops.check_for_msg(hw)) {
- hw->mbx.ops.read(hw, &msg, 1);
- if ((msg & IXGBE_MBVFICR_VFREQ_MASK) == IXGBE_PF_CONTROL_MSG) {
- mod_timer(&adapter->watchdog_timer,
- round_jiffies(jiffies + 1));
- adapter->link_up = false;
- }
-
- if (msg & IXGBE_VT_MSGTYPE_NACK)
- dev_info(&pdev->dev,
- "Last Request of type %2.2x to PF Nacked\n",
- msg & 0xFF);
- hw->mbx.v2p_mailbox |= IXGBE_VFMAILBOX_PFSTS;
- }
-
- /* checking for the ack clears the PFACK bit. Place
- * it back in the v2p_mailbox cache so that anyone
- * polling for an ack will not miss it
- */
- if (got_ack)
- hw->mbx.v2p_mailbox |= IXGBE_VFMAILBOX_PFACK;
+ if (!test_bit(__IXGBEVF_DOWN, &adapter->state))
+ mod_timer(&adapter->watchdog_timer, jiffies);
IXGBE_WRITE_REG(hw, IXGBE_VTEIMS, adapter->eims_other);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 3/9] ixgbevf: add wait for Rx queue disable
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-10-01 11:33 ` [net-next 1/9] ixgbevf: do not print registers to dmesg in ixgbevf_get_regs Jeff Kirsher
2013-10-01 11:33 ` [net-next 2/9] ixgbevf: cleanup redundant mailbox read failure check Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 4/9] ixgbevf: move API neg to reset path Jeff Kirsher
` (6 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Don Skidmore, netdev, gospo, sassmann, Alexander Duyck,
Jeff Kirsher
From: Don Skidmore <donald.c.skidmore@intel.com>
New function was added to wait for Rx queues to be disabled before
disabling NAPI. This function also allows us to modify
ixgbevf_rx_desc_queue_enable() to better match ixgbe. I also cleaned up
some msleep calls to usleep_range while I was in this code anyway.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 61 ++++++++++++++++-------
1 file changed, 44 insertions(+), 17 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index b9a78a2..e3493b0 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -1302,27 +1302,51 @@ static void ixgbevf_configure(struct ixgbevf_adapter *adapter)
}
}
-#define IXGBE_MAX_RX_DESC_POLL 10
-static inline void ixgbevf_rx_desc_queue_enable(struct ixgbevf_adapter *adapter,
- int rxr)
+#define IXGBEVF_MAX_RX_DESC_POLL 10
+static void ixgbevf_rx_desc_queue_enable(struct ixgbevf_adapter *adapter,
+ int rxr)
{
struct ixgbe_hw *hw = &adapter->hw;
+ int wait_loop = IXGBEVF_MAX_RX_DESC_POLL;
+ u32 rxdctl;
int j = adapter->rx_ring[rxr].reg_idx;
- int k;
- for (k = 0; k < IXGBE_MAX_RX_DESC_POLL; k++) {
- if (IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(j)) & IXGBE_RXDCTL_ENABLE)
- break;
- else
- msleep(1);
- }
- if (k >= IXGBE_MAX_RX_DESC_POLL) {
- hw_dbg(hw, "RXDCTL.ENABLE on Rx queue %d "
- "not set within the polling period\n", rxr);
- }
+ do {
+ usleep_range(1000, 2000);
+ rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(j));
+ } while (--wait_loop && !(rxdctl & IXGBE_RXDCTL_ENABLE));
+
+ if (!wait_loop)
+ hw_dbg(hw, "RXDCTL.ENABLE queue %d not set while polling\n",
+ rxr);
+
+ ixgbevf_release_rx_desc(&adapter->hw, &adapter->rx_ring[rxr],
+ (adapter->rx_ring[rxr].count - 1));
+}
- ixgbevf_release_rx_desc(hw, &adapter->rx_ring[rxr],
- adapter->rx_ring[rxr].count - 1);
+static void ixgbevf_disable_rx_queue(struct ixgbevf_adapter *adapter,
+ struct ixgbevf_ring *ring)
+{
+ struct ixgbe_hw *hw = &adapter->hw;
+ int wait_loop = IXGBEVF_MAX_RX_DESC_POLL;
+ u32 rxdctl;
+ u8 reg_idx = ring->reg_idx;
+
+ rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(reg_idx));
+ rxdctl &= ~IXGBE_RXDCTL_ENABLE;
+
+ /* write value back with RXDCTL.ENABLE bit cleared */
+ IXGBE_WRITE_REG(hw, IXGBE_VFRXDCTL(reg_idx), rxdctl);
+
+ /* the hardware may take up to 100us to really disable the rx queue */
+ do {
+ udelay(10);
+ rxdctl = IXGBE_READ_REG(hw, IXGBE_VFRXDCTL(reg_idx));
+ } while (--wait_loop && (rxdctl & IXGBE_RXDCTL_ENABLE));
+
+ if (!wait_loop)
+ hw_dbg(hw, "RXDCTL.ENABLE queue %d not cleared while polling\n",
+ reg_idx);
}
static void ixgbevf_save_reset_stats(struct ixgbevf_adapter *adapter)
@@ -1654,7 +1678,10 @@ void ixgbevf_down(struct ixgbevf_adapter *adapter)
/* signal that we are down to the interrupt handler */
set_bit(__IXGBEVF_DOWN, &adapter->state);
- /* disable receives */
+
+ /* disable all enabled rx queues */
+ for (i = 0; i < adapter->num_rx_queues; i++)
+ ixgbevf_disable_rx_queue(adapter, &adapter->rx_ring[i]);
netif_tx_disable(netdev);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 4/9] ixgbevf: move API neg to reset path
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (2 preceding siblings ...)
2013-10-01 11:33 ` [net-next 3/9] ixgbevf: add wait for Rx queue disable Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 5/9] ixgbe: ethtool DCB registers dump for 82599 and x540 Jeff Kirsher
` (5 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Don Skidmore, netdev, gospo, sassmann, Alexander Duyck,
Jeff Kirsher
From: Don Skidmore <donald.c.skidmore@intel.com>
After this patch the API negotiation will occur in the reset path. So now
the PF will be informed of the API version earlier. This will also require
the mailbox lock to be initialize sooner as well.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index e3493b0..ce27d62 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -1544,8 +1544,6 @@ void ixgbevf_up(struct ixgbevf_adapter *adapter)
{
struct ixgbe_hw *hw = &adapter->hw;
- ixgbevf_negotiate_api(adapter);
-
ixgbevf_reset_queues(adapter);
ixgbevf_configure(adapter);
@@ -1735,10 +1733,12 @@ void ixgbevf_reset(struct ixgbevf_adapter *adapter)
struct ixgbe_hw *hw = &adapter->hw;
struct net_device *netdev = adapter->netdev;
- if (hw->mac.ops.reset_hw(hw))
+ if (hw->mac.ops.reset_hw(hw)) {
hw_dbg(hw, "PF still resetting\n");
- else
+ } else {
hw->mac.ops.init_hw(hw);
+ ixgbevf_negotiate_api(adapter);
+ }
if (is_valid_ether_addr(adapter->hw.mac.addr)) {
memcpy(netdev->dev_addr, adapter->hw.mac.addr,
@@ -2074,6 +2074,9 @@ static int ixgbevf_sw_init(struct ixgbevf_adapter *adapter)
hw->mac.max_tx_queues = 2;
hw->mac.max_rx_queues = 2;
+ /* lock to protect mailbox accesses */
+ spin_lock_init(&adapter->mbx_lock);
+
err = hw->mac.ops.reset_hw(hw);
if (err) {
dev_info(&pdev->dev,
@@ -2084,6 +2087,7 @@ static int ixgbevf_sw_init(struct ixgbevf_adapter *adapter)
pr_err("init_shared_code failed: %d\n", err);
goto out;
}
+ ixgbevf_negotiate_api(adapter);
err = hw->mac.ops.get_mac_addr(hw, hw->mac.addr);
if (err)
dev_info(&pdev->dev, "Error reading MAC address\n");
@@ -2099,9 +2103,6 @@ static int ixgbevf_sw_init(struct ixgbevf_adapter *adapter)
memcpy(hw->mac.addr, netdev->dev_addr, netdev->addr_len);
}
- /* lock to protect mailbox accesses */
- spin_lock_init(&adapter->mbx_lock);
-
/* Enable dynamic interrupt throttling rates */
adapter->rx_itr_setting = 1;
adapter->tx_itr_setting = 1;
@@ -2622,8 +2623,6 @@ static int ixgbevf_open(struct net_device *netdev)
}
}
- ixgbevf_negotiate_api(adapter);
-
/* setup queue reg_idx and Rx queue count */
err = ixgbevf_setup_queues(adapter);
if (err)
@@ -3218,6 +3217,8 @@ static int ixgbevf_resume(struct pci_dev *pdev)
}
pci_set_master(pdev);
+ ixgbevf_reset(adapter);
+
rtnl_lock();
err = ixgbevf_init_interrupt_scheme(adapter);
rtnl_unlock();
@@ -3226,8 +3227,6 @@ static int ixgbevf_resume(struct pci_dev *pdev)
return err;
}
- ixgbevf_reset(adapter);
-
if (netif_running(netdev)) {
err = ixgbevf_open(netdev);
if (err)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 5/9] ixgbe: ethtool DCB registers dump for 82599 and x540
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (3 preceding siblings ...)
2013-10-01 11:33 ` [net-next 4/9] ixgbevf: move API neg to reset path Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 6/9] ixgbe: Cleanup the use of tabs and spaces Jeff Kirsher
` (4 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem
Cc: Leonardo Potenza, netdev, gospo, sassmann, Maryam Tahhan,
Jeff Kirsher
From: Leonardo Potenza <leonardo.potenza@intel.com>
Added support for DCB registers dump using ethtool -d option both for
82599 and x540 ethernet controllers
Signed-off-by: Leonardo Potenza <leonardo.potenza@intel.com>
Signed-off-by: Maryam Tahhan <maryam.tahhan@intel.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Tested-by: Jack Morgan <jack.morgan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 75 +++++++++++++++++++-----
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 5 ++
2 files changed, 65 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
index e8649ab..27c2032 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
@@ -442,7 +442,7 @@ static void ixgbe_set_msglevel(struct net_device *netdev, u32 data)
static int ixgbe_get_regs_len(struct net_device *netdev)
{
-#define IXGBE_REGS_LEN 1129
+#define IXGBE_REGS_LEN 1139
return IXGBE_REGS_LEN * sizeof(u32);
}
@@ -602,22 +602,53 @@ static void ixgbe_get_regs(struct net_device *netdev,
regs_buff[828] = IXGBE_READ_REG(hw, IXGBE_FHFT(0));
/* DCB */
- regs_buff[829] = IXGBE_READ_REG(hw, IXGBE_RMCS);
- regs_buff[830] = IXGBE_READ_REG(hw, IXGBE_DPMCS);
- regs_buff[831] = IXGBE_READ_REG(hw, IXGBE_PDPMCS);
- regs_buff[832] = IXGBE_READ_REG(hw, IXGBE_RUPPBMR);
- for (i = 0; i < 8; i++)
- regs_buff[833 + i] = IXGBE_READ_REG(hw, IXGBE_RT2CR(i));
- for (i = 0; i < 8; i++)
- regs_buff[841 + i] = IXGBE_READ_REG(hw, IXGBE_RT2SR(i));
- for (i = 0; i < 8; i++)
- regs_buff[849 + i] = IXGBE_READ_REG(hw, IXGBE_TDTQ2TCCR(i));
- for (i = 0; i < 8; i++)
- regs_buff[857 + i] = IXGBE_READ_REG(hw, IXGBE_TDTQ2TCSR(i));
+ regs_buff[829] = IXGBE_READ_REG(hw, IXGBE_RMCS); /* same as FCCFG */
+ regs_buff[831] = IXGBE_READ_REG(hw, IXGBE_PDPMCS); /* same as RTTPCS */
+
+ switch (hw->mac.type) {
+ case ixgbe_mac_82598EB:
+ regs_buff[830] = IXGBE_READ_REG(hw, IXGBE_DPMCS);
+ regs_buff[832] = IXGBE_READ_REG(hw, IXGBE_RUPPBMR);
+ for (i = 0; i < 8; i++)
+ regs_buff[833 + i] =
+ IXGBE_READ_REG(hw, IXGBE_RT2CR(i));
+ for (i = 0; i < 8; i++)
+ regs_buff[841 + i] =
+ IXGBE_READ_REG(hw, IXGBE_RT2SR(i));
+ for (i = 0; i < 8; i++)
+ regs_buff[849 + i] =
+ IXGBE_READ_REG(hw, IXGBE_TDTQ2TCCR(i));
+ for (i = 0; i < 8; i++)
+ regs_buff[857 + i] =
+ IXGBE_READ_REG(hw, IXGBE_TDTQ2TCSR(i));
+ break;
+ case ixgbe_mac_82599EB:
+ case ixgbe_mac_X540:
+ regs_buff[830] = IXGBE_READ_REG(hw, IXGBE_RTTDCS);
+ regs_buff[832] = IXGBE_READ_REG(hw, IXGBE_RTRPCS);
+ for (i = 0; i < 8; i++)
+ regs_buff[833 + i] =
+ IXGBE_READ_REG(hw, IXGBE_RTRPT4C(i));
+ for (i = 0; i < 8; i++)
+ regs_buff[841 + i] =
+ IXGBE_READ_REG(hw, IXGBE_RTRPT4S(i));
+ for (i = 0; i < 8; i++)
+ regs_buff[849 + i] =
+ IXGBE_READ_REG(hw, IXGBE_RTTDT2C(i));
+ for (i = 0; i < 8; i++)
+ regs_buff[857 + i] =
+ IXGBE_READ_REG(hw, IXGBE_RTTDT2S(i));
+ break;
+ default:
+ break;
+ }
+
for (i = 0; i < 8; i++)
- regs_buff[865 + i] = IXGBE_READ_REG(hw, IXGBE_TDPT2TCCR(i));
+ regs_buff[865 + i] =
+ IXGBE_READ_REG(hw, IXGBE_TDPT2TCCR(i)); /* same as RTTPT2C */
for (i = 0; i < 8; i++)
- regs_buff[873 + i] = IXGBE_READ_REG(hw, IXGBE_TDPT2TCSR(i));
+ regs_buff[873 + i] =
+ IXGBE_READ_REG(hw, IXGBE_TDPT2TCSR(i)); /* same as RTTPT2S */
/* Statistics */
regs_buff[881] = IXGBE_GET_STAT(adapter, crcerrs);
@@ -757,6 +788,20 @@ static void ixgbe_get_regs(struct net_device *netdev,
/* 82599 X540 specific registers */
regs_buff[1128] = IXGBE_READ_REG(hw, IXGBE_MFLCN);
+
+ /* 82599 X540 specific DCB registers */
+ regs_buff[1129] = IXGBE_READ_REG(hw, IXGBE_RTRUP2TC);
+ regs_buff[1130] = IXGBE_READ_REG(hw, IXGBE_RTTUP2TC);
+ for (i = 0; i < 4; i++)
+ regs_buff[1131 + i] = IXGBE_READ_REG(hw, IXGBE_TXLLQ(i));
+ regs_buff[1135] = IXGBE_READ_REG(hw, IXGBE_RTTBCNRM);
+ /* same as RTTQCNRM */
+ regs_buff[1136] = IXGBE_READ_REG(hw, IXGBE_RTTBCNRD);
+ /* same as RTTQCNRR */
+
+ /* X540 specific DCB registers */
+ regs_buff[1137] = IXGBE_READ_REG(hw, IXGBE_RTTQCNCR);
+ regs_buff[1138] = IXGBE_READ_REG(hw, IXGBE_RTTQCNTG);
}
static int ixgbe_get_eeprom_len(struct net_device *netdev)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
index 10775cb..7c19e96 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
@@ -561,6 +561,10 @@ struct ixgbe_thermal_sensor_data {
#define IXGBE_RTTDQSEL 0x04904
#define IXGBE_RTTDT1C 0x04908
#define IXGBE_RTTDT1S 0x0490C
+#define IXGBE_RTTQCNCR 0x08B00
+#define IXGBE_RTTQCNTG 0x04A90
+#define IXGBE_RTTBCNRD 0x0498C
+#define IXGBE_RTTQCNRR 0x0498C
#define IXGBE_RTTDTECC 0x04990
#define IXGBE_RTTDTECC_NO_BCN 0x00000100
#define IXGBE_RTTBCNRC 0x04984
@@ -570,6 +574,7 @@ struct ixgbe_thermal_sensor_data {
#define IXGBE_RTTBCNRC_RF_INT_MASK \
(IXGBE_RTTBCNRC_RF_DEC_MASK << IXGBE_RTTBCNRC_RF_INT_SHIFT)
#define IXGBE_RTTBCNRM 0x04980
+#define IXGBE_RTTQCNRM 0x04980
/* FCoE DMA Context Registers */
#define IXGBE_FCPTRL 0x02410 /* FC User Desc. PTR Low */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 6/9] ixgbe: Cleanup the use of tabs and spaces
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (4 preceding siblings ...)
2013-10-01 11:33 ` [net-next 5/9] ixgbe: ethtool DCB registers dump for 82599 and x540 Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 7/9] ixgbe: remove marketing names from busy poll code Jeff Kirsher
` (3 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
Cleans up the whitespace issues noticed during code review where
a mix of tabs and spaces were used for indentation.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
---
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 40 +++++++++++++--------------
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 12 ++++----
2 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
index 24af12e..aae900a 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
@@ -57,28 +57,28 @@
#define IXGBE_SFF_QSFP_DEVICE_TECH 0x93
/* Bitmasks */
-#define IXGBE_SFF_DA_PASSIVE_CABLE 0x4
-#define IXGBE_SFF_DA_ACTIVE_CABLE 0x8
-#define IXGBE_SFF_DA_SPEC_ACTIVE_LIMITING 0x4
-#define IXGBE_SFF_1GBASESX_CAPABLE 0x1
-#define IXGBE_SFF_1GBASELX_CAPABLE 0x2
-#define IXGBE_SFF_1GBASET_CAPABLE 0x8
-#define IXGBE_SFF_10GBASESR_CAPABLE 0x10
-#define IXGBE_SFF_10GBASELR_CAPABLE 0x20
-#define IXGBE_SFF_SOFT_RS_SELECT_MASK 0x8
-#define IXGBE_SFF_SOFT_RS_SELECT_10G 0x8
-#define IXGBE_SFF_SOFT_RS_SELECT_1G 0x0
-#define IXGBE_SFF_ADDRESSING_MODE 0x4
-#define IXGBE_SFF_QSFP_DA_ACTIVE_CABLE 0x1
-#define IXGBE_SFF_QSFP_DA_PASSIVE_CABLE 0x8
+#define IXGBE_SFF_DA_PASSIVE_CABLE 0x4
+#define IXGBE_SFF_DA_ACTIVE_CABLE 0x8
+#define IXGBE_SFF_DA_SPEC_ACTIVE_LIMITING 0x4
+#define IXGBE_SFF_1GBASESX_CAPABLE 0x1
+#define IXGBE_SFF_1GBASELX_CAPABLE 0x2
+#define IXGBE_SFF_1GBASET_CAPABLE 0x8
+#define IXGBE_SFF_10GBASESR_CAPABLE 0x10
+#define IXGBE_SFF_10GBASELR_CAPABLE 0x20
+#define IXGBE_SFF_SOFT_RS_SELECT_MASK 0x8
+#define IXGBE_SFF_SOFT_RS_SELECT_10G 0x8
+#define IXGBE_SFF_SOFT_RS_SELECT_1G 0x0
+#define IXGBE_SFF_ADDRESSING_MODE 0x4
+#define IXGBE_SFF_QSFP_DA_ACTIVE_CABLE 0x1
+#define IXGBE_SFF_QSFP_DA_PASSIVE_CABLE 0x8
#define IXGBE_SFF_QSFP_CONNECTOR_NOT_SEPARABLE 0x23
#define IXGBE_SFF_QSFP_TRANSMITER_850NM_VCSEL 0x0
-#define IXGBE_I2C_EEPROM_READ_MASK 0x100
-#define IXGBE_I2C_EEPROM_STATUS_MASK 0x3
-#define IXGBE_I2C_EEPROM_STATUS_NO_OPERATION 0x0
-#define IXGBE_I2C_EEPROM_STATUS_PASS 0x1
-#define IXGBE_I2C_EEPROM_STATUS_FAIL 0x2
-#define IXGBE_I2C_EEPROM_STATUS_IN_PROGRESS 0x3
+#define IXGBE_I2C_EEPROM_READ_MASK 0x100
+#define IXGBE_I2C_EEPROM_STATUS_MASK 0x3
+#define IXGBE_I2C_EEPROM_STATUS_NO_OPERATION 0x0
+#define IXGBE_I2C_EEPROM_STATUS_PASS 0x1
+#define IXGBE_I2C_EEPROM_STATUS_FAIL 0x2
+#define IXGBE_I2C_EEPROM_STATUS_IN_PROGRESS 0x3
/* Flow control defines */
#define IXGBE_TAF_SYM_PAUSE 0x400
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
index 389324f..24b80a6 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
@@ -32,12 +32,12 @@
#include "ixgbe.h"
#include "ixgbe_phy.h"
-#define IXGBE_X540_MAX_TX_QUEUES 128
-#define IXGBE_X540_MAX_RX_QUEUES 128
-#define IXGBE_X540_RAR_ENTRIES 128
-#define IXGBE_X540_MC_TBL_SIZE 128
-#define IXGBE_X540_VFT_TBL_SIZE 128
-#define IXGBE_X540_RX_PB_SIZE 384
+#define IXGBE_X540_MAX_TX_QUEUES 128
+#define IXGBE_X540_MAX_RX_QUEUES 128
+#define IXGBE_X540_RAR_ENTRIES 128
+#define IXGBE_X540_MC_TBL_SIZE 128
+#define IXGBE_X540_VFT_TBL_SIZE 128
+#define IXGBE_X540_RX_PB_SIZE 384
static s32 ixgbe_update_flash_X540(struct ixgbe_hw *hw);
static s32 ixgbe_poll_flash_update_done_X540(struct ixgbe_hw *hw);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 7/9] ixgbe: remove marketing names from busy poll code
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (5 preceding siblings ...)
2013-10-01 11:33 ` [net-next 6/9] ixgbe: Cleanup the use of tabs and spaces Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 8/9] igb: Add ethtool offline tests for i354 Jeff Kirsher
` (2 subsequent siblings)
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Jacob Keller, netdev, gospo, sassmann, Jeff Kirsher
From: Jacob Keller <jacob.e.keller@intel.com>
This patch renames the LL_EXTENDED_STATS and some of the functions required to
implement busy polling in the ixgbe driver, in order to remove the marketing
"low latency" blurb which hides what the code actually does.
This furthers work which was requested by Linus Torvalds when the initial busy
poll code was included in the kernel. The code in the ixgbe driver itself was
never properly renamed to reflect the change to busy polling as the title.
Signed-off-by: Jacob Keller <jacob.e.keller@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.h | 14 ++++++------
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 28 ++++++++++++------------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 ++--
3 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
index 3637841..dc1588e 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
@@ -55,7 +55,7 @@
#include <net/busy_poll.h>
#ifdef CONFIG_NET_RX_BUSY_POLL
-#define LL_EXTENDED_STATS
+#define BP_EXTENDED_STATS
#endif
/* common prefix used by pr_<> macros */
#undef pr_fmt
@@ -187,11 +187,11 @@ struct ixgbe_rx_buffer {
struct ixgbe_queue_stats {
u64 packets;
u64 bytes;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
u64 yields;
u64 misses;
u64 cleaned;
-#endif /* LL_EXTENDED_STATS */
+#endif /* BP_EXTENDED_STATS */
};
struct ixgbe_tx_queue_stats {
@@ -399,7 +399,7 @@ static inline bool ixgbe_qv_lock_napi(struct ixgbe_q_vector *q_vector)
WARN_ON(q_vector->state & IXGBE_QV_STATE_NAPI);
q_vector->state |= IXGBE_QV_STATE_NAPI_YIELD;
rc = false;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
q_vector->tx.ring->stats.yields++;
#endif
} else
@@ -432,7 +432,7 @@ static inline bool ixgbe_qv_lock_poll(struct ixgbe_q_vector *q_vector)
if ((q_vector->state & IXGBE_QV_LOCKED)) {
q_vector->state |= IXGBE_QV_STATE_POLL_YIELD;
rc = false;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
q_vector->rx.ring->stats.yields++;
#endif
} else
@@ -457,7 +457,7 @@ static inline bool ixgbe_qv_unlock_poll(struct ixgbe_q_vector *q_vector)
}
/* true if a socket is polling, even if it did not get the lock */
-static inline bool ixgbe_qv_ll_polling(struct ixgbe_q_vector *q_vector)
+static inline bool ixgbe_qv_busy_polling(struct ixgbe_q_vector *q_vector)
{
WARN_ON(!(q_vector->state & IXGBE_QV_LOCKED));
return q_vector->state & IXGBE_QV_USER_PEND;
@@ -487,7 +487,7 @@ static inline bool ixgbe_qv_unlock_poll(struct ixgbe_q_vector *q_vector)
return false;
}
-static inline bool ixgbe_qv_ll_polling(struct ixgbe_q_vector *q_vector)
+static inline bool ixgbe_qv_busy_polling(struct ixgbe_q_vector *q_vector)
{
return false;
}
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
index 27c2032..90aac31 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
@@ -1117,7 +1117,7 @@ static void ixgbe_get_ethtool_stats(struct net_device *netdev,
data[i] = 0;
data[i+1] = 0;
i += 2;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
data[i] = 0;
data[i+1] = 0;
data[i+2] = 0;
@@ -1132,7 +1132,7 @@ static void ixgbe_get_ethtool_stats(struct net_device *netdev,
data[i+1] = ring->stats.bytes;
} while (u64_stats_fetch_retry_bh(&ring->syncp, start));
i += 2;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
data[i] = ring->stats.yields;
data[i+1] = ring->stats.misses;
data[i+2] = ring->stats.cleaned;
@@ -1145,7 +1145,7 @@ static void ixgbe_get_ethtool_stats(struct net_device *netdev,
data[i] = 0;
data[i+1] = 0;
i += 2;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
data[i] = 0;
data[i+1] = 0;
data[i+2] = 0;
@@ -1160,7 +1160,7 @@ static void ixgbe_get_ethtool_stats(struct net_device *netdev,
data[i+1] = ring->stats.bytes;
} while (u64_stats_fetch_retry_bh(&ring->syncp, start));
i += 2;
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
data[i] = ring->stats.yields;
data[i+1] = ring->stats.misses;
data[i+2] = ring->stats.cleaned;
@@ -1202,28 +1202,28 @@ static void ixgbe_get_strings(struct net_device *netdev, u32 stringset,
p += ETH_GSTRING_LEN;
sprintf(p, "tx_queue_%u_bytes", i);
p += ETH_GSTRING_LEN;
-#ifdef LL_EXTENDED_STATS
- sprintf(p, "tx_queue_%u_ll_napi_yield", i);
+#ifdef BP_EXTENDED_STATS
+ sprintf(p, "tx_queue_%u_bp_napi_yield", i);
p += ETH_GSTRING_LEN;
- sprintf(p, "tx_queue_%u_ll_misses", i);
+ sprintf(p, "tx_queue_%u_bp_misses", i);
p += ETH_GSTRING_LEN;
- sprintf(p, "tx_queue_%u_ll_cleaned", i);
+ sprintf(p, "tx_queue_%u_bp_cleaned", i);
p += ETH_GSTRING_LEN;
-#endif /* LL_EXTENDED_STATS */
+#endif /* BP_EXTENDED_STATS */
}
for (i = 0; i < IXGBE_NUM_RX_QUEUES; i++) {
sprintf(p, "rx_queue_%u_packets", i);
p += ETH_GSTRING_LEN;
sprintf(p, "rx_queue_%u_bytes", i);
p += ETH_GSTRING_LEN;
-#ifdef LL_EXTENDED_STATS
- sprintf(p, "rx_queue_%u_ll_poll_yield", i);
+#ifdef BP_EXTENDED_STATS
+ sprintf(p, "rx_queue_%u_bp_poll_yield", i);
p += ETH_GSTRING_LEN;
- sprintf(p, "rx_queue_%u_ll_misses", i);
+ sprintf(p, "rx_queue_%u_bp_misses", i);
p += ETH_GSTRING_LEN;
- sprintf(p, "rx_queue_%u_ll_cleaned", i);
+ sprintf(p, "rx_queue_%u_bp_cleaned", i);
p += ETH_GSTRING_LEN;
-#endif /* LL_EXTENDED_STATS */
+#endif /* BP_EXTENDED_STATS */
}
for (i = 0; i < IXGBE_MAX_PACKET_BUFFERS; i++) {
sprintf(p, "tx_pb_%u_pxon", i);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 0ade0cd..43b777a 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1585,7 +1585,7 @@ static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector,
{
struct ixgbe_adapter *adapter = q_vector->adapter;
- if (ixgbe_qv_ll_polling(q_vector))
+ if (ixgbe_qv_busy_polling(q_vector))
netif_receive_skb(skb);
else if (!(adapter->flags & IXGBE_FLAG_IN_NETPOLL))
napi_gro_receive(&q_vector->napi, skb);
@@ -2097,7 +2097,7 @@ static int ixgbe_low_latency_recv(struct napi_struct *napi)
ixgbe_for_each_ring(ring, q_vector->rx) {
found = ixgbe_clean_rx_irq(q_vector, ring, 4);
-#ifdef LL_EXTENDED_STATS
+#ifdef BP_EXTENDED_STATS
if (found)
ring->stats.cleaned += found;
else
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 8/9] igb: Add ethtool offline tests for i354
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (6 preceding siblings ...)
2013-10-01 11:33 ` [net-next 7/9] ixgbe: remove marketing names from busy poll code Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 11:33 ` [net-next 9/9] igb: Add ethtool support to configure number of channels Jeff Kirsher
2013-10-01 16:51 ` [net-next 0/9][pull request] Intel Wired LAN Driver Updates David Miller
9 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Fujinaka, Todd, netdev, gospo, sassmann, Jeff Kirsher
From: "Fujinaka, Todd" <todd.fujinaka@intel.com>
Add the ethtool offline tests for i354 devices.
Signed-off-by: Todd Fujinaka <todd.fujinaka@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/igb/igb_ethtool.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index 48cbc83..e4c77c0 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -1656,7 +1656,8 @@ static int igb_setup_loopback_test(struct igb_adapter *adapter)
if ((hw->device_id == E1000_DEV_ID_DH89XXCC_SGMII) ||
(hw->device_id == E1000_DEV_ID_DH89XXCC_SERDES) ||
(hw->device_id == E1000_DEV_ID_DH89XXCC_BACKPLANE) ||
- (hw->device_id == E1000_DEV_ID_DH89XXCC_SFP)) {
+ (hw->device_id == E1000_DEV_ID_DH89XXCC_SFP) ||
+ (hw->device_id == E1000_DEV_ID_I354_SGMII)) {
/* Enable DH89xxCC MPHY for near end loopback */
reg = rd32(E1000_MPHY_ADDR_CTL);
@@ -1722,7 +1723,8 @@ static void igb_loopback_cleanup(struct igb_adapter *adapter)
if ((hw->device_id == E1000_DEV_ID_DH89XXCC_SGMII) ||
(hw->device_id == E1000_DEV_ID_DH89XXCC_SERDES) ||
(hw->device_id == E1000_DEV_ID_DH89XXCC_BACKPLANE) ||
- (hw->device_id == E1000_DEV_ID_DH89XXCC_SFP)) {
+ (hw->device_id == E1000_DEV_ID_DH89XXCC_SFP) ||
+ (hw->device_id == E1000_DEV_ID_I354_SGMII)) {
u32 reg;
/* Disable near end loopback on DH89xxCC */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* [net-next 9/9] igb: Add ethtool support to configure number of channels
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (7 preceding siblings ...)
2013-10-01 11:33 ` [net-next 8/9] igb: Add ethtool offline tests for i354 Jeff Kirsher
@ 2013-10-01 11:33 ` Jeff Kirsher
2013-10-01 15:59 ` Ben Hutchings
2013-10-01 16:51 ` [net-next 0/9][pull request] Intel Wired LAN Driver Updates David Miller
9 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 11:33 UTC (permalink / raw)
To: davem; +Cc: Laura Mihaela Vasilescu, netdev, gospo, sassmann, Jeff Kirsher
From: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org>
This patch adds the ethtool callbacks necessary to configure the
number of RSS queues.
The maximum number of queues is in accordance with the datasheets.
Signed-off-by: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/igb/igb.h | 1 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 84 ++++++++++++++++++++++++++++
drivers/net/ethernet/intel/igb/igb_main.c | 22 ++++++++
3 files changed, 107 insertions(+)
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index cdaa2bc..5e9ed89 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -487,6 +487,7 @@ int igb_up(struct igb_adapter *);
void igb_down(struct igb_adapter *);
void igb_reinit_locked(struct igb_adapter *);
void igb_reset(struct igb_adapter *);
+int igb_reinit_queues(struct igb_adapter *);
void igb_write_rss_indir_tbl(struct igb_adapter *);
int igb_set_spd_dplx(struct igb_adapter *, u32, u8);
int igb_setup_tx_resources(struct igb_ring *);
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index e4c77c0..c8f65e5 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -2874,6 +2874,88 @@ static int igb_set_rxfh_indir(struct net_device *netdev, const u32 *indir)
return 0;
}
+static unsigned int igb_max_channels(struct igb_adapter *adapter)
+{
+ struct e1000_hw *hw = &adapter->hw;
+ unsigned int max_combined = 0;
+
+ switch (hw->mac.type) {
+ case e1000_i211:
+ max_combined = IGB_MAX_RX_QUEUES_I211;
+ break;
+ case e1000_82575:
+ case e1000_i210:
+ max_combined = IGB_MAX_RX_QUEUES_82575;
+ break;
+ case e1000_i350:
+ if (!!adapter->vfs_allocated_count) {
+ max_combined = 1;
+ break;
+ }
+ /* fall through */
+ case e1000_82576:
+ if (!!adapter->vfs_allocated_count) {
+ max_combined = 2;
+ break;
+ }
+ /* fall through */
+ case e1000_82580:
+ case e1000_i354:
+ default:
+ max_combined = IGB_MAX_RX_QUEUES;
+ break;
+ }
+
+ return max_combined;
+}
+
+static void igb_get_channels(struct net_device *netdev,
+ struct ethtool_channels *ch)
+{
+ struct igb_adapter *adapter = netdev_priv(netdev);
+
+ /* Report maximum channels */
+ ch->max_combined = igb_max_channels(adapter);
+
+ /* Report info for other vector */
+ if (adapter->msix_entries) {
+ ch->max_other = NON_Q_VECTORS;
+ ch->other_count = NON_Q_VECTORS;
+ }
+
+ ch->combined_count = adapter->rss_queues;
+}
+
+static int igb_set_channels(struct net_device *netdev,
+ struct ethtool_channels *ch)
+{
+ struct igb_adapter *adapter = netdev_priv(netdev);
+ unsigned int count = ch->combined_count;
+
+ /* Verify they are not requesting separate vectors */
+ if (!count || ch->rx_count || ch->tx_count)
+ return -EINVAL;
+
+ /* Verify other_count is valid and has not been changed */
+ if (ch->other_count != NON_Q_VECTORS)
+ return -EINVAL;
+
+ /* Verify the number of channels doesn't exceed hw limits */
+ if (count > igb_max_channels(adapter))
+ return -EINVAL;
+
+ if (count != adapter->rss_queues) {
+ adapter->rss_queues = count;
+
+ /* Hardware has to reinitialize queues and interrupts to
+ * match the new configuration.
+ */
+ return igb_reinit_queues(adapter);
+ }
+
+ return 0;
+}
+
static const struct ethtool_ops igb_ethtool_ops = {
.get_settings = igb_get_settings,
.set_settings = igb_set_settings,
@@ -2910,6 +2992,8 @@ static const struct ethtool_ops igb_ethtool_ops = {
.get_rxfh_indir_size = igb_get_rxfh_indir_size,
.get_rxfh_indir = igb_get_rxfh_indir,
.set_rxfh_indir = igb_set_rxfh_indir,
+ .get_channels = igb_get_channels,
+ .set_channels = igb_set_channels,
.begin = igb_ethtool_begin,
.complete = igb_ethtool_complete,
};
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 8cf44f2..a56266e 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -7838,4 +7838,26 @@ s32 igb_write_i2c_byte(struct e1000_hw *hw, u8 byte_offset,
return E1000_SUCCESS;
}
+
+int igb_reinit_queues(struct igb_adapter *adapter)
+{
+ struct net_device *netdev = adapter->netdev;
+ struct pci_dev *pdev = adapter->pdev;
+ int err = 0;
+
+ if (netif_running(netdev))
+ igb_close(netdev);
+
+ igb_clear_interrupt_scheme(adapter);
+
+ if (igb_init_interrupt_scheme(adapter, true)) {
+ dev_err(&pdev->dev, "Unable to allocate memory for queues\n");
+ return -ENOMEM;
+ }
+
+ if (netif_running(netdev))
+ err = igb_open(netdev);
+
+ return err;
+}
/* igb_main.c */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 35+ messages in thread
* Re: [net-next 9/9] igb: Add ethtool support to configure number of channels
2013-10-01 11:33 ` [net-next 9/9] igb: Add ethtool support to configure number of channels Jeff Kirsher
@ 2013-10-01 15:59 ` Ben Hutchings
2013-10-30 20:30 ` Wyborny, Carolyn
0 siblings, 1 reply; 35+ messages in thread
From: Ben Hutchings @ 2013-10-01 15:59 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: davem, Laura Mihaela Vasilescu, netdev, gospo, sassmann
On Tue, 2013-10-01 at 04:33 -0700, Jeff Kirsher wrote:
> From: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org>
>
> This patch adds the ethtool callbacks necessary to configure the
> number of RSS queues.
>
> The maximum number of queues is in accordance with the datasheets.
>
> Signed-off-by: Laura Mihaela Vasilescu <laura.vasilescu@rosedu.org>
> Tested-by: Aaron Brown <aaron.f.brown@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
[...]
> --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
> +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
[...]
> +static void igb_get_channels(struct net_device *netdev,
> + struct ethtool_channels *ch)
[...]
> +static int igb_set_channels(struct net_device *netdev,
> + struct ethtool_channels *ch)
These functions look fine to me.
[...]
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -7838,4 +7838,26 @@ s32 igb_write_i2c_byte(struct e1000_hw *hw, u8 byte_offset,
> return E1000_SUCCESS;
>
> }
> +
> +int igb_reinit_queues(struct igb_adapter *adapter)
> +{
> + struct net_device *netdev = adapter->netdev;
> + struct pci_dev *pdev = adapter->pdev;
> + int err = 0;
> +
> + if (netif_running(netdev))
> + igb_close(netdev);
> +
> + igb_clear_interrupt_scheme(adapter);
> +
> + if (igb_init_interrupt_scheme(adapter, true)) {
> + dev_err(&pdev->dev, "Unable to allocate memory for queues\n");
> + return -ENOMEM;
> + }
> +
> + if (netif_running(netdev))
> + err = igb_open(netdev);
> +
> + return err;
> +}
> /* igb_main.c */
In case this fails, is the interface in a consistent state where is it
safe to reconfigure the interface again or to unbind the driver?
If it fails, and the interface was up, shouldn't it call dev_close() so
that it's obviously down and the user can then try to bring it up again?
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (8 preceding siblings ...)
2013-10-01 11:33 ` [net-next 9/9] igb: Add ethtool support to configure number of channels Jeff Kirsher
@ 2013-10-01 16:51 ` David Miller
2013-10-01 22:15 ` Jeff Kirsher
9 siblings, 1 reply; 35+ messages in thread
From: David Miller @ 2013-10-01 16:51 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 1 Oct 2013 04:33:47 -0700
> This series contains updates to ixgbevf, ixgbe and igb.
>
> Don provides 3 patches for ixgbevf where he cleans up a redundant
> read mailbox failure check, adds a new function to wait for receive
> queues to be disabled before disabling NAPI, and move the API
> negotiation so that it occurs in the reset path. This will allow
> the PF to be informed of the API version earlier.
>
> Jacob provides a ixgbevf and ixgbe patch. His ixgbevf patch removes
> the use of hw_dbg when the ixgbe_get_regs function is called in ethtool.
> The ixgbe patch renames the LL_EXTENDED_STATS and some of the functions
> required to implement busy polling in order to remove the marketing
> "low latency" blurb which hides what the code actually does.
>
> Leonardo provides a ixgbe patch to add support for DCB registers dump
> using ethtool for 82599 and x540 ethernet controllers.
>
> I (Jeff) provide a ixgbe patch to cleanup whitespace issues seen in a
> code review.
>
> Todd provides for igb to add support for i354 in the ethtool offline
> tests.
>
> Laura provides an igb patch to add the ethtool callbacks necessary to
> configure the number of RSS queues.
Pulled, thanks Jeff.
Please address Ben Hutching's concerns about the state of the device
after a number of channels configuration failure with follow-on
changes, if necessary.
Thanks.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2013-10-01 16:51 ` [net-next 0/9][pull request] Intel Wired LAN Driver Updates David Miller
@ 2013-10-01 22:15 ` Jeff Kirsher
0 siblings, 0 replies; 35+ messages in thread
From: Jeff Kirsher @ 2013-10-01 22:15 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 1621 bytes --]
On Tue, 2013-10-01 at 12:51 -0400, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Tue, 1 Oct 2013 04:33:47 -0700
>
> > This series contains updates to ixgbevf, ixgbe and igb.
> >
> > Don provides 3 patches for ixgbevf where he cleans up a redundant
> > read mailbox failure check, adds a new function to wait for receive
> > queues to be disabled before disabling NAPI, and move the API
> > negotiation so that it occurs in the reset path. This will allow
> > the PF to be informed of the API version earlier.
> >
> > Jacob provides a ixgbevf and ixgbe patch. His ixgbevf patch removes
> > the use of hw_dbg when the ixgbe_get_regs function is called in ethtool.
> > The ixgbe patch renames the LL_EXTENDED_STATS and some of the functions
> > required to implement busy polling in order to remove the marketing
> > "low latency" blurb which hides what the code actually does.
> >
> > Leonardo provides a ixgbe patch to add support for DCB registers dump
> > using ethtool for 82599 and x540 ethernet controllers.
> >
> > I (Jeff) provide a ixgbe patch to cleanup whitespace issues seen in a
> > code review.
> >
> > Todd provides for igb to add support for i354 in the ethtool offline
> > tests.
> >
> > Laura provides an igb patch to add the ethtool callbacks necessary to
> > configure the number of RSS queues.
>
> Pulled, thanks Jeff.
>
> Please address Ben Hutching's concerns about the state of the device
> after a number of channels configuration failure with follow-on
> changes, if necessary.
>
> Thanks.
Understood, will do.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
* RE: [net-next 9/9] igb: Add ethtool support to configure number of channels
2013-10-01 15:59 ` Ben Hutchings
@ 2013-10-30 20:30 ` Wyborny, Carolyn
0 siblings, 0 replies; 35+ messages in thread
From: Wyborny, Carolyn @ 2013-10-30 20:30 UTC (permalink / raw)
To: Ben Hutchings, Kirsher, Jeffrey T
Cc: davem@davemloft.net, Laura Mihaela Vasilescu,
netdev@vger.kernel.org, gospo@redhat.com, sassmann@redhat.com
> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
> On Behalf Of Ben Hutchings
> Sent: Tuesday, October 01, 2013 8:59 AM
> To: Kirsher, Jeffrey T
> Cc: davem@davemloft.net; Laura Mihaela Vasilescu; netdev@vger.kernel.org;
> gospo@redhat.com; sassmann@redhat.com
> Subject: Re: [net-next 9/9] igb: Add ethtool support to configure number of
> channels
>
[..]
> In case this fails, is the interface in a consistent state where is it safe to
> reconfigure the interface again or to unbind the driver?
>
> If it fails, and the interface was up, shouldn't it call dev_close() so that it's
> obviously down and the user can then try to bring it up again?
>
> Ben.
Good question. I was delayed in replying as I was giving Laura a chance to reply to this thread.
We call our close routine igb_close(), if the device is up. This does not call dev_close() specifically, however it’s a good suggestion for the error case. I'll update the patch.
Thanks,
Carolyn
Carolyn Wyborny
Linux Development
Networking Division
Intel Corporation
^ permalink raw reply [flat|nested] 35+ messages in thread
* [net-next 0/9][pull request] Intel Wired LAN Driver Updates
@ 2014-01-02 9:33 Jeff Kirsher
2014-01-02 18:21 ` Ben Hutchings
0 siblings, 1 reply; 35+ messages in thread
From: Jeff Kirsher @ 2014-01-02 9:33 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe, e1000e and igb.
Most notably is Mark Rustad's ixgbe patches to add the Live Error
Recovery option to ixgbe as well as additional cleanups to the driver.
The following are changes since commit fbe4d4565badba393a94927e16ae66654a025dca:
tun, rfs: fix the incorrect hash value
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Jeff Kirsher (1):
igb: make local functions static and remove dead code
Mark Rustad (6):
ixgbe: Use static inlines instead of macros
ixgbe: Make ethtool register test use accessors
ixgbe: Check register reads for adapter removal
ixgbe: Check for adapter removal on register writes
ixgbe: Additional adapter removal checks
ixgbe: Add Live Error Recovery configuration option
Tom Herbert (2):
net: e1000e calls skb_set_hash
net: igb calls skb_set_hash
drivers/net/ethernet/intel/Kconfig | 11 +++
drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
drivers/net/ethernet/intel/igb/e1000_82575.c | 4 +-
drivers/net/ethernet/intel/igb/e1000_82575.h | 2 -
drivers/net/ethernet/intel/igb/e1000_i210.c | 20 +++--
drivers/net/ethernet/intel/igb/e1000_i210.h | 9 --
drivers/net/ethernet/intel/igb/e1000_phy.c | 71 ----------------
drivers/net/ethernet/intel/igb/e1000_phy.h | 1 -
drivers/net/ethernet/intel/igb/igb.h | 2 -
drivers/net/ethernet/intel/igb/igb_main.c | 4 +-
drivers/net/ethernet/intel/igb/igb_ptp.c | 6 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 11 +++
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 58 ++++++++++---
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.c | 3 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 2 +-
17 files changed, 213 insertions(+), 161 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2014-01-02 9:33 Jeff Kirsher
@ 2014-01-02 18:21 ` Ben Hutchings
2014-01-02 19:06 ` Rustad, Mark D
0 siblings, 1 reply; 35+ messages in thread
From: Ben Hutchings @ 2014-01-02 18:21 UTC (permalink / raw)
To: Jeff Kirsher; +Cc: davem, netdev, gospo, sassmann
On Thu, 2014-01-02 at 01:33 -0800, Jeff Kirsher wrote:
> This series contains updates to ixgbe, e1000e and igb.
>
> Most notably is Mark Rustad's ixgbe patches to add the Live Error
> Recovery option to ixgbe as well as additional cleanups to the driver.
[...]
The Live Error Recovery option is pretty odd; it looks like a
combination of PCI hotplug and EEH. Why is it not integrated with
either of those?
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 35+ messages in thread
* Re: [net-next 0/9][pull request] Intel Wired LAN Driver Updates
2014-01-02 18:21 ` Ben Hutchings
@ 2014-01-02 19:06 ` Rustad, Mark D
0 siblings, 0 replies; 35+ messages in thread
From: Rustad, Mark D @ 2014-01-02 19:06 UTC (permalink / raw)
To: Ben Hutchings
Cc: Kirsher, Jeffrey T, David Miller, <netdev@vger.kernel.org>,
gospo@redhat.com, sassmann@redhat.com
[-- Attachment #1: Type: text/plain, Size: 1447 bytes --]
On Jan 2, 2014, at 10:21 AM, Ben Hutchings <bhutchings@solarflare.com> wrote:
> On Thu, 2014-01-02 at 01:33 -0800, Jeff Kirsher wrote:
>> This series contains updates to ixgbe, e1000e and igb.
>>
>> Most notably is Mark Rustad's ixgbe patches to add the Live Error
>> Recovery option to ixgbe as well as additional cleanups to the driver.
> [...]
>
> The Live Error Recovery option is pretty odd; it looks like a
> combination of PCI hotplug and EEH. Why is it not integrated with
> either of those?
It certainly is related to both of those. The issue being addressed here is specific to this driver in that the driver can be the first to get a read return of all one’s when a device is suddenly removed. This code allows the driver to determine whether such a return is valid, or is a sign of the device having been removed. Without those checks, there are paths where the driver will crash in such a case. This code will race with hotplug, so it allows hotplug to drive the logical removal, but it makes the driver “safe” in the mean time.
Thanks for the comments. You are absolutely right about the need for ACCESS_ONCE and better Kconfig help text.
> Ben.
>
> --
> Ben Hutchings, Staff Engineer, Solarflare
> Not speaking for my employer; that's the marketing department's job.
> They asked us to note that Solarflare product names are trademarked.
--
Mark Rustad, Networking Division, Intel Corporation
[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 841 bytes --]
^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2014-01-02 19:06 UTC | newest]
Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-01 11:33 [net-next 0/9][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-10-01 11:33 ` [net-next 1/9] ixgbevf: do not print registers to dmesg in ixgbevf_get_regs Jeff Kirsher
2013-10-01 11:33 ` [net-next 2/9] ixgbevf: cleanup redundant mailbox read failure check Jeff Kirsher
2013-10-01 11:33 ` [net-next 3/9] ixgbevf: add wait for Rx queue disable Jeff Kirsher
2013-10-01 11:33 ` [net-next 4/9] ixgbevf: move API neg to reset path Jeff Kirsher
2013-10-01 11:33 ` [net-next 5/9] ixgbe: ethtool DCB registers dump for 82599 and x540 Jeff Kirsher
2013-10-01 11:33 ` [net-next 6/9] ixgbe: Cleanup the use of tabs and spaces Jeff Kirsher
2013-10-01 11:33 ` [net-next 7/9] ixgbe: remove marketing names from busy poll code Jeff Kirsher
2013-10-01 11:33 ` [net-next 8/9] igb: Add ethtool offline tests for i354 Jeff Kirsher
2013-10-01 11:33 ` [net-next 9/9] igb: Add ethtool support to configure number of channels Jeff Kirsher
2013-10-01 15:59 ` Ben Hutchings
2013-10-30 20:30 ` Wyborny, Carolyn
2013-10-01 16:51 ` [net-next 0/9][pull request] Intel Wired LAN Driver Updates David Miller
2013-10-01 22:15 ` Jeff Kirsher
-- strict thread matches above, loose matches on Subject: below --
2014-01-02 9:33 Jeff Kirsher
2014-01-02 18:21 ` Ben Hutchings
2014-01-02 19:06 ` Rustad, Mark D
2013-09-04 13:08 Jeff Kirsher
2013-09-04 16:41 ` David Miller
2012-12-01 11:53 Jeff Kirsher
2012-12-01 16:29 ` David Miller
2012-11-15 14:39 Jeff Kirsher
2012-11-15 20:18 ` David Miller
2012-08-16 22:48 Peter P Waskiewicz Jr
2012-08-20 9:31 ` David Miller
2012-07-20 1:23 Jeff Kirsher
2012-07-20 18:13 ` David Miller
2012-07-18 20:31 Jeff Kirsher
2012-07-19 15:26 ` David Miller
2012-06-20 8:44 Jeff Kirsher
2012-06-20 22:26 ` David Miller
2012-06-09 8:20 Jeff Kirsher
2011-12-23 9:09 Jeff Kirsher
2011-10-06 11:02 Jeff Kirsher
2011-10-06 18:33 ` 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).