* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2012-01-26 7:21 Jeff Kirsher
2012-01-26 18:49 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-01-26 7:21 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to e1000e only. Most of these
changes contain fixup/cleanups/conversions.
The following are changes since commit e55684fadbc5c9c69cad1b3bae228c8374b99b85:
infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
e1000e: cleanup Rx checksum offload code
e1000e: add Receive Packet Steering (RPS) support
e1000e: re-enable alternate MAC address for all devices which support
it
e1000e: convert head, tail and itr_register offsets to __iomem
pointers
e1000e: pass pointer to ring struct instead of adapter struct
e1000e: re-factor ethtool get/set ring parameter
e1000e: default IntMode based on kernel config & available hardware
support
e1000e: always set transmit descriptor control registers the same
e1000e: 82579: workaround for link drop issue
e1000e: use default settings for Tx Inter Packet Gap timer
e1000e: use hardware default values for Transmit Control register
e1000e: 82574/82583 Tx hang workaround
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 3 +-
drivers/net/ethernet/intel/e1000e/82571.c | 4 +
drivers/net/ethernet/intel/e1000e/defines.h | 8 +
drivers/net/ethernet/intel/e1000e/e1000.h | 29 +-
drivers/net/ethernet/intel/e1000e/ethtool.c | 186 +++++++----
drivers/net/ethernet/intel/e1000e/hw.h | 9 +-
drivers/net/ethernet/intel/e1000e/ich8lan.c | 22 ++
drivers/net/ethernet/intel/e1000e/lib.c | 7 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 423 +++++++++++++----------
drivers/net/ethernet/intel/e1000e/param.c | 48 +++-
10 files changed, 471 insertions(+), 268 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2012-01-26 7:21 Jeff Kirsher
@ 2012-01-26 18:49 ` David Miller
2012-01-26 21:27 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2012-01-26 18:49 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 25 Jan 2012 23:21:43 -0800
> The following are changes since commit e55684fadbc5c9c69cad1b3bae228c8374b99b85:
> infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> e1000e: cleanup Rx checksum offload code
> e1000e: add Receive Packet Steering (RPS) support
> e1000e: re-enable alternate MAC address for all devices which support
> it
> e1000e: convert head, tail and itr_register offsets to __iomem
> pointers
> e1000e: pass pointer to ring struct instead of adapter struct
> e1000e: re-factor ethtool get/set ring parameter
> e1000e: default IntMode based on kernel config & available hardware
> support
> e1000e: always set transmit descriptor control registers the same
> e1000e: 82579: workaround for link drop issue
> e1000e: use default settings for Tx Inter Packet Gap timer
> e1000e: use hardware default values for Transmit Control register
> e1000e: 82574/82583 Tx hang workaround
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2012-01-26 18:49 ` David Miller
@ 2012-01-26 21:27 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-01-26 21:27 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: David Miller <davem@davemloft.net>
Date: Thu, 26 Jan 2012 13:49:13 -0500 (EST)
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Wed, 25 Jan 2012 23:21:43 -0800
>
>> The following are changes since commit e55684fadbc5c9c69cad1b3bae228c8374b99b85:
>> infiniband: nes: Convert nes_addr_resolve_neigh() over to dst_neigh_lookup().
>> and are available in the git repository at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
...
> Pulled, thanks Jeff.
I had to apply the following patch to fix the build on non-x86
architectures.
--------------------
e1000e: Need to include vmalloc.h
Otherwise (on sparc64):
drivers/net/ethernet/intel/e1000e/ethtool.c:657:3: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/ethernet/intel/e1000e/ethtool.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c
index ffb6c14..1ea317f 100644
--- a/drivers/net/ethernet/intel/e1000e/ethtool.c
+++ b/drivers/net/ethernet/intel/e1000e/ethtool.c
@@ -34,6 +34,7 @@
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/delay.h>
+#include <linux/vmalloc.h>
#include "e1000.h"
--
1.7.7.6
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2012-03-17 8:50 Jeff Kirsher
2012-03-17 9:06 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-03-17 8:50 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series of patches contains additions/cleanups to igb and ixgbe.
There 2 patches for igb & ixgbe which add FX-ALL feature flag and
sending of custom Ethernet FCS from Ben Greear.
The remaining patches in the series is part three of three to update
ixgbe. Although it looks like there will be at least one follow on
patch series complete the update/cleanup of ixgbe.
The following are changes since commit 126a3fd251b244eabd9ab9dcb32b8b6f999c1b91:
eni: fix driver remove function and driver probe error path.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (8):
ixgbe: Replace standard receive path with a page based receive
ixgbe: cleanup logic in ixgbe_change_mtu
ixgbe: Make certain that all frames fit minimum size requirements
ixgbe: Modify setup of descriptor flags to avoid conditional jumps
ixgbe: Use packets to track Tx completions instead of a separate
value
ixgbe: Place skb on first buffer_info structure to avoid using stack
space
ixgbe: Write gso_segs and bytcount to the ring sooner
ixgbe: always write DMA for single_mapped value with skb
Ben Greear (4):
igb: Support sending custom Ethernet FCS.
igb: Support RX-ALL feature flag.
ixgbe: Support sending custom Ethernet FCS.
ixgbe: Support RX-ALL feature flag.
drivers/net/ethernet/intel/igb/e1000_defines.h | 2 +
drivers/net/ethernet/intel/igb/igb_main.c | 37 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 60 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 23 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 17 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 1261 ++++++++++++----------
6 files changed, 772 insertions(+), 628 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2012-03-17 8:50 Jeff Kirsher
@ 2012-03-17 9:06 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-03-17 9:06 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 17 Mar 2012 01:50:48 -0700
> This series of patches contains additions/cleanups to igb and ixgbe.
> There 2 patches for igb & ixgbe which add FX-ALL feature flag and
> sending of custom Ethernet FCS from Ben Greear.
>
> The remaining patches in the series is part three of three to update
> ixgbe. Although it looks like there will be at least one follow on
> patch series complete the update/cleanup of ixgbe.
>
> The following are changes since commit 126a3fd251b244eabd9ab9dcb32b8b6f999c1b91:
> eni: fix driver remove function and driver probe error path.
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2012-05-10 6:46 Jeff Kirsher
2012-05-11 3:18 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-05-10 6:46 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series of patches contains updates for igb and ixgbe.
Special note ixgbe patches contain the addition of PTP support from
Jacob Keller.
The following are changes since commit 8feedbb4a710784d2858acba5c90e903e93e36eb:
dsa: Convert compare_ether_addr to ether_addr_equal
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (3):
ixgbe: Exit on error case in VF message processing
ixgbe: Clean up priority based flow control
ixgbe: Set Drop_EN bit when multiple Rx queues are present w/o flow
control
Don Skidmore (2):
ixgbe: cleanup the hwmon function calls
ixgbe: update version number
Greg Rose (1):
ixgbe: Fix bogus error message
Jacob E Keller (1):
ixgbe: Enable timesync clock-out feature for PPS support on X540
Jacob Keller (4):
ixgbe: Hardware Timestamping + PTP Hardware Clock (PHC)
ixgbe: correct disable_rx_buff timeout
ixgbe: add support for get_ts_info
ixgbe: support software timestamping
Koki Sanagi (1):
igb: output register's information related to RX/TX queue[4-15]
drivers/net/ethernet/intel/Kconfig | 11 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 38 +-
drivers/net/ethernet/intel/ixgbe/Makefile | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 37 +
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c | 69 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 93 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 98 +--
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 71 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 198 ++++-
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 900 ++++++++++++++++++++
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 13 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c | 36 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 47 +-
14 files changed, 1370 insertions(+), 245 deletions(-)
create mode 100644 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
--
1.7.7.6
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2012-05-10 6:46 Jeff Kirsher
@ 2012-05-11 3:18 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-05-11 3:18 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Wed, 9 May 2012 23:46:41 -0700
> This series of patches contains updates for igb and ixgbe.
> Special note ixgbe patches contain the addition of PTP support from
> Jacob Keller.
>
> The following are changes since commit 8feedbb4a710784d2858acba5c90e903e93e36eb:
> dsa: Convert compare_ether_addr to ether_addr_equal
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2012-10-23 4:26 Jeff Kirsher
2012-10-23 6:51 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2012-10-23 4:26 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe only. Only change to this series
is I dropped the "ixgbe: Add support for pipeline reset" due to
change requested by Martin Josefsson.
The following are changes since commit d94ce9b283736a876b2e6dec665c68e5e8b5d55e:
ipv4: 16 slots in initial fib_info hash table
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (7):
ixgbe: Add support for IPv6 and UDP to ixgbe_get_headlen
ixgbe: Add support for tracking the default user priority to SR-IOV
ixgbe: Add support for GET_QUEUES message to get DCB configuration
ixgbe: Enable support for VF API version 1.1 in the PF.
ixgbevf: Add VF DCB + SR-IOV support
ixgbe: Drop unnecessary addition from ixgbe_set_rx_buffer_len
ixgbe: Fix possible memory leak in ixgbe_set_ringparam
Don Skidmore (1):
ixgbe: Add function ixgbe_reset_pipeline_82599
Emil Tantilov (1):
ixgbe: add WOL support for new subdevice id
Jacob Keller (1):
ixgbe: (PTP) refactor init, cyclecounter and reset
Tushar Dave (1):
ixgbe: Correcting small packet padding
Wei Yongjun (1):
ixgbe: using is_zero_ether_addr() to simplify the code
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 6 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 44 ++++++
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 3 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 102 +++++++-------
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 66 +++++++--
drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h | 10 ++
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 109 +++++++--------
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 124 +++++++++++++----
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 1 +
drivers/net/ethernet/intel/ixgbevf/defines.h | 7 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 4 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 159 +++++++++++++++++++++-
drivers/net/ethernet/intel/ixgbevf/mbx.h | 10 ++
drivers/net/ethernet/intel/ixgbevf/vf.c | 58 ++++++++
drivers/net/ethernet/intel/ixgbevf/vf.h | 2 +
16 files changed, 539 insertions(+), 167 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2012-10-23 4:26 Jeff Kirsher
@ 2012-10-23 6:51 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2012-10-23 6:51 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 22 Oct 2012 21:26:13 -0700
> This series contains updates to ixgbe only. Only change to this series
> is I dropped the "ixgbe: Add support for pipeline reset" due to
> change requested by Martin Josefsson.
>
> The following are changes since commit d94ce9b283736a876b2e6dec665c68e5e8b5d55e:
> ipv4: 16 slots in initial fib_info hash table
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-03-28 9:00 Jeff Kirsher
2013-03-28 18:39 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-03-28 9:00 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000e, ixgbe and ixgbevf.
Majority of the changes are against e1000e (from Bruce Allan).
Bruce adds additional error handling on PHY register access, as
well as improve slow performance on 82579 when connected to a
10Mbit hub. In addition, fixes LED blink logic for cathode
LED design. Most notable is added EEE support which is enabled
by default and the added support for LTR on I217/I218.
The ixgbe and ixgbevf from Greg Rose changes the VM so that if a user
does not assign a MAC address, the MAC address is set to all zeros
instead of a random MAC address. This ensures that we always know when
we have a random address and udev won't get upset about it.
The following are changes since commit 8b49a4c75965ed157e21450d23dcadd6b27c1aa3:
bnx2x: fix compilation without CONFIG_BNX2X_SRIOV
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (10):
e1000e: additional error handling on PHY register accesses
e1000e: slow performance between two 82579 connected via 10Mbit hub
e1000e: fix LED blink logic for designs with LEDs driven by cathode
e1000e: long access timeouts when I217/I218 MAC and PHY are out of
sync
e1000e: EEE capability advertisement not set/disabled as required
e1000e: enable EEE by default
e1000e: add support for LTR on I217/I218
e1000e: cleanup unused defines
e1000e: increase driver version number
e1000e: fix scheduling while atomic bugs
Greg Rose (2):
ixgbe: Don't give VFs random MAC addresses
ixgbevf: Adjust to handle unassigned MAC address from PF
drivers/net/ethernet/intel/e1000e/defines.h | 2 +
drivers/net/ethernet/intel/e1000e/e1000.h | 3 +
drivers/net/ethernet/intel/e1000e/ethtool.c | 63 ++-----
drivers/net/ethernet/intel/e1000e/ich8lan.c | 213 ++++++++++++++++++----
drivers/net/ethernet/intel/e1000e/ich8lan.h | 11 +-
drivers/net/ethernet/intel/e1000e/mac.c | 27 ++-
drivers/net/ethernet/intel/e1000e/netdev.c | 38 +++-
drivers/net/ethernet/intel/e1000e/phy.c | 20 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 23 ++-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 21 ++-
drivers/net/ethernet/intel/ixgbevf/vf.c | 7 +-
11 files changed, 315 insertions(+), 113 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-03-28 9:00 Jeff Kirsher
@ 2013-03-28 18:39 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2013-03-28 18:39 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Mar 2013 02:00:03 -0700
> This series contains updates to e1000e, ixgbe and ixgbevf.
>
> Majority of the changes are against e1000e (from Bruce Allan).
> Bruce adds additional error handling on PHY register access, as
> well as improve slow performance on 82579 when connected to a
> 10Mbit hub. In addition, fixes LED blink logic for cathode
> LED design. Most notable is added EEE support which is enabled
> by default and the added support for LTR on I217/I218.
>
> The ixgbe and ixgbevf from Greg Rose changes the VM so that if a user
> does not assign a MAC address, the MAC address is set to all zeros
> instead of a random MAC address. This ensures that we always know when
> we have a random address and udev won't get upset about it.
>
> The following are changes since commit 8b49a4c75965ed157e21450d23dcadd6b27c1aa3:
> bnx2x: fix compilation without CONFIG_BNX2X_SRIOV
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-05-21 22:03 Jeff Kirsher
2013-05-22 20:57 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-05-21 22:03 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000e, igb and ixgbe.
Bruce Allan provide 2 minor cleanups for e1000e to resolve whitespace
issues and build warnings about unused parameters.
Carolyn provides a couple of fixes for igb, one being a fix for a
possible panic when the interface is down and receive traffic
arrives. The second fix resolves an issue on newer parts which have
multiple checksum fields and set_ethtool was only checking to update
the first checksum of the NVM image.
Akeem provides majority of the changes in this patch set. Akeem
provides a fix for e1000e on an issue reported from the community to
resolve the issue of unlocking swflag_mutex for 82574 and 82583
devices even if the hardware semaphore was successfully acquired.
The other patches from Akeem are against igb, where he adds support
SFP module discovery, LED blink mechanism for devices using cathodes,
LED support for i210/i211 parts and cleanup of a i2c function which
was not being used.
Matthew provides an update for igb to support a more accurate check
for a PTP RX hang.
Amir provides a patch for ixgbe to set the software prio_tc values at
initialization to the hardware setting to remove the need to reset the
device at the first time we call ixgbe_dcbnl_ieee_setets.
The following are changes since commit 1e18583adccfc122b5d6415cfe4bf1826c370f4e:
ThunderLAN: remove is_eisa flag
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Akeem G. Abodunrin (6):
e1000e: Release mutex lock only if it has been initially acquired
igb: Changed LEDs blink mechanism to include designs using cathode
igb: Support for SFP modules discovery
igb: SerDes flow control setting
igb: Implementation of i210/i211 LED support
igb: Removed unused i2c function
Amir Hanania (1):
IXGBE: Set the SW prio_tc values at initialization to the HW setting.
Bruce Allan (2):
e1000e: cleanup whitespace
e1000e: prevent warning from -Wunused-parameter
Carolyn Wyborny (2):
igb: Fix set_ethtool function to call update nvm for entire image
igb: Fix possible panic caused by Rx traffic arrival while interface
is down
Matthew Vick (1):
igb: Add update to last_rx_timestamp in Rx rings
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 24 ++--
drivers/net/ethernet/intel/e1000e/82571.c | 30 ++---
drivers/net/ethernet/intel/e1000e/ethtool.c | 34 +++---
drivers/net/ethernet/intel/e1000e/hw.h | 34 +++---
drivers/net/ethernet/intel/e1000e/ich8lan.c | 62 +++++------
drivers/net/ethernet/intel/e1000e/netdev.c | 55 +++++----
drivers/net/ethernet/intel/e1000e/nvm.c | 1 -
drivers/net/ethernet/intel/e1000e/phy.c | 22 ++--
drivers/net/ethernet/intel/igb/e1000_82575.c | 120 +++++++++++++++++++-
drivers/net/ethernet/intel/igb/e1000_defines.h | 36 +++---
drivers/net/ethernet/intel/igb/e1000_hw.h | 2 +
drivers/net/ethernet/intel/igb/e1000_i210.h | 6 +-
drivers/net/ethernet/intel/igb/e1000_mac.c | 45 ++++++--
drivers/net/ethernet/intel/igb/e1000_phy.c | 124 +++++++++++++++++++++
drivers/net/ethernet/intel/igb/e1000_phy.h | 20 ++++
drivers/net/ethernet/intel/igb/igb.h | 14 +--
drivers/net/ethernet/intel/igb/igb_ethtool.c | 74 ++++++------
drivers/net/ethernet/intel/igb/igb_main.c | 9 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.c | 23 ++++
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 3 +
22 files changed, 526 insertions(+), 215 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-05-21 22:03 Jeff Kirsher
@ 2013-05-22 20:57 ` David Miller
0 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2013-05-22 20:57 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 21 May 2013 15:03:08 -0700
> This series contains updates to e1000e, igb and ixgbe.
>
> Bruce Allan provide 2 minor cleanups for e1000e to resolve whitespace
> issues and build warnings about unused parameters.
>
> Carolyn provides a couple of fixes for igb, one being a fix for a
> possible panic when the interface is down and receive traffic
> arrives. The second fix resolves an issue on newer parts which have
> multiple checksum fields and set_ethtool was only checking to update
> the first checksum of the NVM image.
>
> Akeem provides majority of the changes in this patch set. Akeem
> provides a fix for e1000e on an issue reported from the community to
> resolve the issue of unlocking swflag_mutex for 82574 and 82583
> devices even if the hardware semaphore was successfully acquired.
> The other patches from Akeem are against igb, where he adds support
> SFP module discovery, LED blink mechanism for devices using cathodes,
> LED support for i210/i211 parts and cleanup of a i2c function which
> was not being used.
>
> Matthew provides an update for igb to support a more accurate check
> for a PTP RX hang.
>
> Amir provides a patch for ixgbe to set the software prio_tc values at
> initialization to the hardware setting to remove the need to reset the
> device at the first time we call ixgbe_dcbnl_ieee_setets.
>
> The following are changes since commit 1e18583adccfc122b5d6415cfe4bf1826c370f4e:
> ThunderLAN: remove is_eisa flag
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, excellent merge commit message, thanks!
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-07-28 11:41 Jeff Kirsher
2013-07-28 20:21 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 11:41 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e100 and e1000e.
The e100 patch from Andy simply updates the netif_printk() to use
%*ph to dump small buffers.
The changes to e1000e include a fix from Dean Nelson to resolve a
issue where a pci_clear_master() was accidentally dropped during a
conflict resolution. Wei Young provides 2 patches, one removes an
assignment of the default ring size because it was a duplicate. The
second changes the packet split receive structure to use
PS_PAGE_BUFFERS macro for the length so that problems won't occur
when the length is changed.
The remaining patches for e1000e are from Bruce Allan, where he
provides a number of fixes and updates for I218. In addition, a
fix for 82583 which can disappear off the PCIe bus, to resolve this,
disable ASPM L1. Bruce also provides a fix to a previous commit
(commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
devices are only taken out of runtime power management for those
ethtool operations that must access device registers.
The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
bonding: remove bond_resend_igmp_join_requests read_unlock leftover
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Andy Shevchenko (1):
e100: dump small buffers via %*ph
Bruce Allan (8):
e1000e: disable ASPM L1 on 82583
e1000e: iAMT connections drop on driver unload when jumbo frames
enabled
e1000e: low throughput using 4K jumbos on I218
e1000e: Tx hang on I218 when linked at 100Half and slow response at
10Mbps
e1000e: ethtool unnecessarily takes device out of RPM suspend
e1000e: enable support for new device IDs
e1000e: do not resume device from RPM suspend to read PHY status
registers
e1000e: fix I217/I218 PHY initialization flow
Dean Nelson (1):
e1000e: restore call to pci_clear_master()
Wei Yang (2):
e1000e: Remove duplicate assignment of default rx/tx ring size
e1000e: Use marco instead of digit for defining
e1000_rx_desc_packet_split
drivers/net/ethernet/intel/e100.c | 15 ++-
drivers/net/ethernet/intel/e1000e/82571.c | 1 +
drivers/net/ethernet/intel/e1000e/e1000.h | 3 -
drivers/net/ethernet/intel/e1000e/ethtool.c | 105 +++++++++++++++------
drivers/net/ethernet/intel/e1000e/hw.h | 10 +-
drivers/net/ethernet/intel/e1000e/ich8lan.c | 140 +++++++++++++++++++---------
drivers/net/ethernet/intel/e1000e/ich8lan.h | 6 ++
drivers/net/ethernet/intel/e1000e/netdev.c | 38 ++++----
8 files changed, 217 insertions(+), 101 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-28 11:41 Jeff Kirsher
@ 2013-07-28 20:21 ` David Miller
2013-07-28 23:11 ` Jeff Kirsher
0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-28 20:21 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 28 Jul 2013 04:41:04 -0700
> This series contains updates to e100 and e1000e.
>
> The e100 patch from Andy simply updates the netif_printk() to use
> %*ph to dump small buffers.
>
> The changes to e1000e include a fix from Dean Nelson to resolve a
> issue where a pci_clear_master() was accidentally dropped during a
> conflict resolution. Wei Young provides 2 patches, one removes an
> assignment of the default ring size because it was a duplicate. The
> second changes the packet split receive structure to use
> PS_PAGE_BUFFERS macro for the length so that problems won't occur
> when the length is changed.
>
> The remaining patches for e1000e are from Bruce Allan, where he
> provides a number of fixes and updates for I218. In addition, a
> fix for 82583 which can disappear off the PCIe bus, to resolve this,
> disable ASPM L1. Bruce also provides a fix to a previous commit
> (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
> devices are only taken out of runtime power management for those
> ethtool operations that must access device registers.
>
> The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
> bonding: remove bond_resend_igmp_join_requests read_unlock leftover
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks a lot Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-28 20:21 ` David Miller
@ 2013-07-28 23:11 ` Jeff Kirsher
2013-07-29 0:20 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-28 23:11 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 1764 bytes --]
On Sun, 2013-07-28 at 13:21 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 28 Jul 2013 04:41:04 -0700
>
> > This series contains updates to e100 and e1000e.
> >
> > The e100 patch from Andy simply updates the netif_printk() to use
> > %*ph to dump small buffers.
> >
> > The changes to e1000e include a fix from Dean Nelson to resolve a
> > issue where a pci_clear_master() was accidentally dropped during a
> > conflict resolution. Wei Young provides 2 patches, one removes an
> > assignment of the default ring size because it was a duplicate. The
> > second changes the packet split receive structure to use
> > PS_PAGE_BUFFERS macro for the length so that problems won't occur
> > when the length is changed.
> >
> > The remaining patches for e1000e are from Bruce Allan, where he
> > provides a number of fixes and updates for I218. In addition, a
> > fix for 82583 which can disappear off the PCIe bus, to resolve this,
> > disable ASPM L1. Bruce also provides a fix to a previous commit
> > (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
> > devices are only taken out of runtime power management for those
> > ethtool operations that must access device registers.
> >
> > The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
> > bonding: remove bond_resend_igmp_join_requests read_unlock leftover
> > and are available in the git repository at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Pulled, thanks a lot Jeff.
It looks like you pulled my net tree instead of my net-next tree.
Fortunately, I did not have anything applied to my net tree that had not
already been sent out.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-28 23:11 ` Jeff Kirsher
@ 2013-07-29 0:20 ` David Miller
2013-07-29 2:08 ` Jeff Kirsher
0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-29 0:20 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 28 Jul 2013 16:11:38 -0700
> On Sun, 2013-07-28 at 13:21 -0700, David Miller wrote:
>> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> Date: Sun, 28 Jul 2013 04:41:04 -0700
>>
>> > This series contains updates to e100 and e1000e.
>> >
>> > The e100 patch from Andy simply updates the netif_printk() to use
>> > %*ph to dump small buffers.
>> >
>> > The changes to e1000e include a fix from Dean Nelson to resolve a
>> > issue where a pci_clear_master() was accidentally dropped during a
>> > conflict resolution. Wei Young provides 2 patches, one removes an
>> > assignment of the default ring size because it was a duplicate. The
>> > second changes the packet split receive structure to use
>> > PS_PAGE_BUFFERS macro for the length so that problems won't occur
>> > when the length is changed.
>> >
>> > The remaining patches for e1000e are from Bruce Allan, where he
>> > provides a number of fixes and updates for I218. In addition, a
>> > fix for 82583 which can disappear off the PCIe bus, to resolve this,
>> > disable ASPM L1. Bruce also provides a fix to a previous commit
>> > (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
>> > devices are only taken out of runtime power management for those
>> > ethtool operations that must access device registers.
>> >
>> > The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
>> > bonding: remove bond_resend_igmp_join_requests read_unlock leftover
>> > and are available in the git repository at:
>> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>>
>> Pulled, thanks a lot Jeff.
>
> It looks like you pulled my net tree instead of my net-next tree.
> Fortunately, I did not have anything applied to my net tree that had not
> already been sent out.
No, really, I did this:
git pull git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-29 0:20 ` David Miller
@ 2013-07-29 2:08 ` Jeff Kirsher
2013-07-29 7:34 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-29 2:08 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 2425 bytes --]
On Sun, 2013-07-28 at 17:20 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 28 Jul 2013 16:11:38 -0700
>
> > On Sun, 2013-07-28 at 13:21 -0700, David Miller wrote:
> >> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >> Date: Sun, 28 Jul 2013 04:41:04 -0700
> >>
> >> > This series contains updates to e100 and e1000e.
> >> >
> >> > The e100 patch from Andy simply updates the netif_printk() to use
> >> > %*ph to dump small buffers.
> >> >
> >> > The changes to e1000e include a fix from Dean Nelson to resolve a
> >> > issue where a pci_clear_master() was accidentally dropped during a
> >> > conflict resolution. Wei Young provides 2 patches, one removes an
> >> > assignment of the default ring size because it was a duplicate. The
> >> > second changes the packet split receive structure to use
> >> > PS_PAGE_BUFFERS macro for the length so that problems won't occur
> >> > when the length is changed.
> >> >
> >> > The remaining patches for e1000e are from Bruce Allan, where he
> >> > provides a number of fixes and updates for I218. In addition, a
> >> > fix for 82583 which can disappear off the PCIe bus, to resolve this,
> >> > disable ASPM L1. Bruce also provides a fix to a previous commit
> >> > (commit e60b22c5b7 e1000e: fix accessing to suspended device) so that
> >> > devices are only taken out of runtime power management for those
> >> > ethtool operations that must access device registers.
> >> >
> >> > The following are changes since commit dcfe8048de66c3468060c8a2ec2c04ae3725d002:
> >> > bonding: remove bond_resend_igmp_join_requests read_unlock leftover
> >> > and are available in the git repository at:
> >> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
> >>
> >> Pulled, thanks a lot Jeff.
> >
> > It looks like you pulled my net tree instead of my net-next tree.
> > Fortunately, I did not have anything applied to my net tree that had not
> > already been sent out.
>
> No, really, I did this:
>
> git pull git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Disregard, it was me misreading my git log in my net tree after updating
it against your latest tree.
When will your kernel.org net-next be updated? I ask because I have a
series for ixgbe I am putting together and wanted to make sure it is
against the latest net-next.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-29 2:08 ` Jeff Kirsher
@ 2013-07-29 7:34 ` David Miller
2013-07-29 8:34 ` Jeff Kirsher
0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-29 7:34 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sun, 28 Jul 2013 19:08:55 -0700
> When will your kernel.org net-next be updated? I ask because I have a
> series for ixgbe I am putting together and wanted to make sure it is
> against the latest net-next.
Are you asking when I will next merge 'net' into 'net-next'? If so,
I'll likely do it some time tomorrow.
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-29 7:34 ` David Miller
@ 2013-07-29 8:34 ` Jeff Kirsher
2013-07-29 8:46 ` David Miller
0 siblings, 1 reply; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-29 8:34 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 1010 bytes --]
On Mon, 2013-07-29 at 00:34 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sun, 28 Jul 2013 19:08:55 -0700
>
> > When will your kernel.org net-next be updated? I ask because I have a
> > series for ixgbe I am putting together and wanted to make sure it is
> > against the latest net-next.
>
> Are you asking when I will next merge 'net' into 'net-next'? If so,
> I'll likely do it some time tomorrow.
I am not worried about that. I just cloned your net-next tree and did
not see your pull of my net-next tree which had the e100 and e1000e
patches. I am working on creating another series against net-next and
the tip on kernel.org is:
commit 9d4a0314642918cbda9ed4012df51e8df608fce6
Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
Date: Fri Jul 26 17:05:16 2013 +0200
ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL
which is several days old. So I was not sure if I just make my series
against my net-next tip.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-29 8:34 ` Jeff Kirsher
@ 2013-07-29 8:46 ` David Miller
2013-07-29 9:17 ` Jeff Kirsher
0 siblings, 1 reply; 36+ messages in thread
From: David Miller @ 2013-07-29 8:46 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 29 Jul 2013 01:34:45 -0700
> On Mon, 2013-07-29 at 00:34 -0700, David Miller wrote:
>> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>> Date: Sun, 28 Jul 2013 19:08:55 -0700
>>
>> > When will your kernel.org net-next be updated? I ask because I have a
>> > series for ixgbe I am putting together and wanted to make sure it is
>> > against the latest net-next.
>>
>> Are you asking when I will next merge 'net' into 'net-next'? If so,
>> I'll likely do it some time tomorrow.
>
> I am not worried about that. I just cloned your net-next tree and did
> not see your pull of my net-next tree which had the e100 and e1000e
> patches. I am working on creating another series against net-next and
> the tip on kernel.org is:
>
> commit 9d4a0314642918cbda9ed4012df51e8df608fce6
> Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
> Date: Fri Jul 26 17:05:16 2013 +0200
>
> ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL
>
> which is several days old. So I was not sure if I just make my series
> against my net-next tip.
Weird, it should have all of your changes.
Tip is currently:
http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=fe6f700d6cbb7e8a61711e325f53d9c9e0a42a4c
net/mlx4_core: Respond to operation request by firmware
^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-07-29 8:46 ` David Miller
@ 2013-07-29 9:17 ` Jeff Kirsher
0 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-07-29 9:17 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 1541 bytes --]
On Mon, 2013-07-29 at 01:46 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Mon, 29 Jul 2013 01:34:45 -0700
>
> > On Mon, 2013-07-29 at 00:34 -0700, David Miller wrote:
> >> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >> Date: Sun, 28 Jul 2013 19:08:55 -0700
> >>
> >> > When will your kernel.org net-next be updated? I ask because I have a
> >> > series for ixgbe I am putting together and wanted to make sure it is
> >> > against the latest net-next.
> >>
> >> Are you asking when I will next merge 'net' into 'net-next'? If so,
> >> I'll likely do it some time tomorrow.
> >
> > I am not worried about that. I just cloned your net-next tree and did
> > not see your pull of my net-next tree which had the e100 and e1000e
> > patches. I am working on creating another series against net-next and
> > the tip on kernel.org is:
> >
> > commit 9d4a0314642918cbda9ed4012df51e8df608fce6
> > Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
> > Date: Fri Jul 26 17:05:16 2013 +0200
> >
> > ipv4, ipv6: send igmpv3/mld packets with TC_PRIO_CONTROL
> >
> > which is several days old. So I was not sure if I just make my series
> > against my net-next tip.
>
> Weird, it should have all of your changes.
>
> Tip is currently:
>
> http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=fe6f700d6cbb7e8a61711e325f53d9c9e0a42a4c
>
> net/mlx4_core: Respond to operation request by firmware
All looks fine now, thanks!
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 00/12][pull request] Intel Wired LAN Driver Updates
@ 2013-12-10 10:22 Jeff Kirsher
2013-12-10 10:22 ` [net-next 01/12] i40e: restrict diag test messages Jeff Kirsher
` (12 more replies)
0 siblings, 13 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e, igb, ixgbe and ixgbevf.
Shannon provides a couple of i40e patches, first restricts the ethtool
diag test messages by using netif_info() macro to when the hardware
bit is enabled in the message level netdev message mask. Second
provides a fix for when there is an out-of-range descriptor request.
Kamil provides a fix for i40e by updating the loopback enum types and
add information about the current loopback mode to data returned from
get_link_info().
Jesse provides a fix for i40e define name that was being mis-used.
I40E_ITR_NONE was being used as an ITRN register index by accident
because it was easily associated with the i40e Rx ITR and friends
defines, when it should be associated with the DYN_CTL register sets.
Jacob provides an update for ixgbevf Kconfig description since the VF
driver supports more than just the 82599 device.
Don and Alex provide a cleanup patch for ixgbe to make it where head,
tail, next to clean and next to use are all reset in a single function
for both Tx and Rx path. Before, the code for this was spread out over
several areas which made it difficult to track what the values were for
each of the values.
Carolyn provides two igb patches to add a media switching feature for
i354 PHY's and new Media Auto Sense for 82580 devices only.
Aaron Sierra provides a fix for igb to resolve an issue with the 64-bit
PCI addresses being truncated because the return values of
pci_resource_start() and pci_resouce_end() were being cast to unsigned
long.
Guenter Roeck provides two igb patches, first simplifies the code by
attaching the hwmon sysfs attributes to hwmon device instead of the
PCI device. Second fixes the temperature sensor attribute index by
setting it to 1 instead of 0 (per hwmon ABI).
The following are changes since commit 5824d2d16d39a9c57aa3bacf955fbd0c2134061f:
bgmac: connect to PHY and make use of PHY device
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Aaron Sierra (1):
igb: Support ports mapped in 64-bit PCI space
Carolyn Wyborny (2):
igb: Add media switching feature for i354 PHY's
igb: Add new feature Media Auto Sense for 82580 devices only
Catherine Sullivan (1):
i40e: Bump version number
Don Skidmore (1):
ixgbe: Focus config of head, tail ntc, and ntu all into a single
function
Guenter Roeck (2):
igb: Convert to use devm_hwmon_device_register_with_groups
igb: Start temperature sensor attribute index with 1
Jacob Keller (1):
ixgbevf: update Kconfig description
Jesse Brandeburg (1):
i40e: remove and fix confusing define name
Kamil Krawczyk (1):
i40e: loopback info and set loopback fix
Shannon Nelson (2):
i40e: restrict diag test messages
i40e: complain about out-of-range descriptor request
drivers/net/ethernet/intel/Kconfig | 8 +-
drivers/net/ethernet/intel/i40e/i40e_common.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_diag.h | 8 +-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 41 +++--
drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 21 ++-
drivers/net/ethernet/intel/i40e/i40e_type.h | 1 +
drivers/net/ethernet/intel/igb/e1000_82575.c | 89 +++++++++
drivers/net/ethernet/intel/igb/e1000_defines.h | 16 ++
drivers/net/ethernet/intel/igb/e1000_hw.h | 3 +
drivers/net/ethernet/intel/igb/igb.h | 19 +-
drivers/net/ethernet/intel/igb/igb_ethtool.c | 4 +
drivers/net/ethernet/intel/igb/igb_hwmon.c | 108 ++++++-----
drivers/net/ethernet/intel/igb/igb_main.c | 209 +++++++++++++++++++++-
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 4 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 55 ++----
16 files changed, 453 insertions(+), 136 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 36+ messages in thread
* [net-next 01/12] i40e: restrict diag test messages
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 02/12] i40e: loopback info and set loopback fix Jeff Kirsher
` (11 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
Use the netif_info() macro to restrict messaging to when the HW
bit is enabled in the msglvl netdev message mask.
Change-Id: I83030d4402991cfb7da100da00f05ce502ada4ae
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index f0bab17..b04e433 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -711,7 +711,7 @@ static int i40e_link_test(struct net_device *netdev, u64 *data)
struct i40e_netdev_priv *np = netdev_priv(netdev);
struct i40e_pf *pf = np->vsi->back;
- netdev_info(netdev, "link test\n");
+ netif_info(pf, hw, netdev, "link test\n");
if (i40e_get_link_status(&pf->hw))
*data = 0;
else
@@ -725,7 +725,7 @@ static int i40e_reg_test(struct net_device *netdev, u64 *data)
struct i40e_netdev_priv *np = netdev_priv(netdev);
struct i40e_pf *pf = np->vsi->back;
- netdev_info(netdev, "register test\n");
+ netif_info(pf, hw, netdev, "register test\n");
*data = i40e_diag_reg_test(&pf->hw);
i40e_do_reset(pf, (1 << __I40E_PF_RESET_REQUESTED));
@@ -737,7 +737,7 @@ static int i40e_eeprom_test(struct net_device *netdev, u64 *data)
struct i40e_netdev_priv *np = netdev_priv(netdev);
struct i40e_pf *pf = np->vsi->back;
- netdev_info(netdev, "eeprom test\n");
+ netif_info(pf, hw, netdev, "eeprom test\n");
*data = i40e_diag_eeprom_test(&pf->hw);
return *data;
@@ -749,7 +749,7 @@ static int i40e_intr_test(struct net_device *netdev, u64 *data)
struct i40e_pf *pf = np->vsi->back;
u16 swc_old = pf->sw_int_count;
- netdev_info(netdev, "interrupt test\n");
+ netif_info(pf, hw, netdev, "interrupt test\n");
wr32(&pf->hw, I40E_PFINT_DYN_CTL0,
(I40E_PFINT_DYN_CTL0_INTENA_MASK |
I40E_PFINT_DYN_CTL0_SWINT_TRIG_MASK));
@@ -761,7 +761,10 @@ static int i40e_intr_test(struct net_device *netdev, u64 *data)
static int i40e_loopback_test(struct net_device *netdev, u64 *data)
{
- netdev_info(netdev, "loopback test not implemented\n");
+ struct i40e_netdev_priv *np = netdev_priv(netdev);
+ struct i40e_pf *pf = np->vsi->back;
+
+ netif_info(pf, hw, netdev, "loopback test not implemented\n");
*data = 0;
return *data;
@@ -776,8 +779,7 @@ static void i40e_diag_test(struct net_device *netdev,
set_bit(__I40E_TESTING, &pf->state);
if (eth_test->flags == ETH_TEST_FL_OFFLINE) {
/* Offline tests */
-
- netdev_info(netdev, "offline testing starting\n");
+ netif_info(pf, drv, netdev, "offline testing starting\n");
/* Link test performed before hardware reset
* so autoneg doesn't interfere with test result
@@ -798,8 +800,9 @@ static void i40e_diag_test(struct net_device *netdev,
eth_test->flags |= ETH_TEST_FL_FAILED;
} else {
- netdev_info(netdev, "online test starting\n");
/* Online tests */
+ netif_info(pf, drv, netdev, "online testing starting\n");
+
if (i40e_link_test(netdev, &data[I40E_ETH_TEST_LINK]))
eth_test->flags |= ETH_TEST_FL_FAILED;
@@ -811,7 +814,7 @@ static void i40e_diag_test(struct net_device *netdev,
}
clear_bit(__I40E_TESTING, &pf->state);
- netdev_info(netdev, "testing finished\n");
+ netif_info(pf, drv, netdev, "testing finished\n");
}
static void i40e_get_wol(struct net_device *netdev,
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 02/12] i40e: loopback info and set loopback fix
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-12-10 10:22 ` [net-next 01/12] i40e: restrict diag test messages Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 03/12] i40e: complain about out-of-range descriptor request Jeff Kirsher
` (10 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem
Cc: Kamil Krawczyk, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Kamil Krawczyk <kamil.krawczyk@intel.com>
Add information about current loopback mode to data returned from
get_link_info function. Minor fix in set_loopback function and
update in loopback types enum.
Change-Id: I9d1c540a84ab18eef5ea6429be6331f33fc06aca
Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_common.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_diag.h | 8 ++++----
drivers/net/ethernet/intel/i40e/i40e_type.h | 1 +
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 0b52fbc..e526d40 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -562,6 +562,7 @@ i40e_status i40e_aq_get_link_info(struct i40e_hw *hw,
hw_link_info->link_info = resp->link_info;
hw_link_info->an_info = resp->an_info;
hw_link_info->ext_info = resp->ext_info;
+ hw_link_info->loopback = resp->loopback;
if (resp->command_flags & cpu_to_le16(I40E_AQ_LSE_ENABLE))
hw_link_info->lse_enable = true;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_diag.h b/drivers/net/ethernet/intel/i40e/i40e_diag.h
index 3d98277..d1fc68c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_diag.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_diag.h
@@ -31,10 +31,10 @@
#include "i40e_type.h"
enum i40e_lb_mode {
- I40E_LB_MODE_NONE = 0,
- I40E_LB_MODE_PHY_LOCAL,
- I40E_LB_MODE_PHY_REMOTE,
- I40E_LB_MODE_MAC_LOCAL,
+ I40E_LB_MODE_NONE = 0x0,
+ I40E_LB_MODE_PHY_LOCAL = I40E_AQ_LB_PHY_LOCAL,
+ I40E_LB_MODE_PHY_REMOTE = I40E_AQ_LB_PHY_REMOTE,
+ I40E_LB_MODE_MAC_LOCAL = I40E_AQ_LB_MAC_LOCAL,
};
struct i40e_diag_reg_test_info {
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index 88b37e0..8ae6445 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -172,6 +172,7 @@ struct i40e_link_status {
u8 link_info;
u8 an_info;
u8 ext_info;
+ u8 loopback;
/* is Link Status Event notification to SW enabled */
bool lse_enable;
};
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 03/12] i40e: complain about out-of-range descriptor request
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-12-10 10:22 ` [net-next 01/12] i40e: restrict diag test messages Jeff Kirsher
2013-12-10 10:22 ` [net-next 02/12] i40e: loopback info and set loopback fix Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 04/12] i40e: remove and fix confusing define name Jeff Kirsher
` (9 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
Instead of silently clamping the descriptor change request into
the proper range, fail the request and complain in the log file.
Change-Id: Id55ef59255d93c04bedffa8e25fe7ea796c90f32
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index b04e433..fd3e379 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -422,15 +422,19 @@ static int i40e_set_ringparam(struct net_device *netdev,
if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending))
return -EINVAL;
- new_tx_count = clamp_t(u32, ring->tx_pending,
- I40E_MIN_NUM_DESCRIPTORS,
- I40E_MAX_NUM_DESCRIPTORS);
- new_tx_count = ALIGN(new_tx_count, I40E_REQ_DESCRIPTOR_MULTIPLE);
-
- new_rx_count = clamp_t(u32, ring->rx_pending,
- I40E_MIN_NUM_DESCRIPTORS,
- I40E_MAX_NUM_DESCRIPTORS);
- new_rx_count = ALIGN(new_rx_count, I40E_REQ_DESCRIPTOR_MULTIPLE);
+ if (ring->tx_pending > I40E_MAX_NUM_DESCRIPTORS ||
+ ring->tx_pending < I40E_MIN_NUM_DESCRIPTORS ||
+ ring->rx_pending > I40E_MAX_NUM_DESCRIPTORS ||
+ ring->rx_pending < I40E_MIN_NUM_DESCRIPTORS) {
+ netdev_info(netdev,
+ "Descriptors requested (Tx: %d / Rx: %d) out of range [%d-%d]\n",
+ ring->tx_pending, ring->rx_pending,
+ I40E_MIN_NUM_DESCRIPTORS, I40E_MAX_NUM_DESCRIPTORS);
+ return -EINVAL;
+ }
+
+ new_tx_count = ALIGN(ring->tx_pending, I40E_REQ_DESCRIPTOR_MULTIPLE);
+ new_rx_count = ALIGN(ring->rx_pending, I40E_REQ_DESCRIPTOR_MULTIPLE);
/* if nothing to do return success */
if ((new_tx_count == vsi->tx_rings[0]->count) &&
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 04/12] i40e: remove and fix confusing define name
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (2 preceding siblings ...)
2013-12-10 10:22 ` [net-next 03/12] i40e: complain about out-of-range descriptor request Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 05/12] i40e: Bump version number Jeff Kirsher
` (8 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Jesse Brandeburg, netdev, gospo, sassmann, Jeff Kirsher
From: Jesse Brandeburg <jesse.brandeburg@intel.com>
I40E_ITR_NONE was being used as an ITRN register index by
accident because it was easily associated with the I40E_RX_ITR
and friends defines.
Change the name slightly in order to make it clear that
I40E_ITR_NONE is really associated with the DYN_CTL register
sets.
Change-Id: I04702c027c7495b90a8bf2db85d3e085a2c7d02a
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.h b/drivers/net/ethernet/intel/i40e/i40e_txrx.h
index db55d99..faabf22 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.h
@@ -49,10 +49,23 @@
#define I40E_QUEUE_END_OF_LIST 0x7FF
-#define I40E_ITR_NONE 3
-#define I40E_RX_ITR 0
-#define I40E_TX_ITR 1
-#define I40E_PE_ITR 2
+/* this enum matches hardware bits and is meant to be used by DYN_CTLN
+ * registers and QINT registers or more generally anywhere in the manual
+ * mentioning ITR_INDX, ITR_NONE cannot be used as an index 'n' into any
+ * register but instead is a special value meaning "don't update" ITR0/1/2.
+ */
+enum i40e_dyn_idx_t {
+ I40E_IDX_ITR0 = 0,
+ I40E_IDX_ITR1 = 1,
+ I40E_IDX_ITR2 = 2,
+ I40E_ITR_NONE = 3 /* ITR_NONE must not be used as an index */
+};
+
+/* these are indexes into ITRN registers */
+#define I40E_RX_ITR I40E_IDX_ITR0
+#define I40E_TX_ITR I40E_IDX_ITR1
+#define I40E_PE_ITR I40E_IDX_ITR2
+
/* Supported Rx Buffer Sizes */
#define I40E_RXBUFFER_512 512 /* Used for packet split */
#define I40E_RXBUFFER_2048 2048
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 05/12] i40e: Bump version number
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (3 preceding siblings ...)
2013-12-10 10:22 ` [net-next 04/12] i40e: remove and fix confusing define name Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 06/12] ixgbevf: update Kconfig description Jeff Kirsher
` (7 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem
Cc: Catherine Sullivan, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Catherine Sullivan <catherine.sullivan@intel.com>
Version updated to 0.3.13-k
Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index d2b48bb2..a6291e2 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -36,7 +36,7 @@ static const char i40e_driver_string[] =
#define DRV_VERSION_MAJOR 0
#define DRV_VERSION_MINOR 3
-#define DRV_VERSION_BUILD 12
+#define DRV_VERSION_BUILD 13
#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
__stringify(DRV_VERSION_MINOR) "." \
__stringify(DRV_VERSION_BUILD) DRV_KERN
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 06/12] ixgbevf: update Kconfig description
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (4 preceding siblings ...)
2013-12-10 10:22 ` [net-next 05/12] i40e: Bump version number Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 07/12] ixgbe: Focus config of head, tail ntc, and ntu all into a single function Jeff Kirsher
` (6 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Jacob Keller, netdev, gospo, sassmann, Jeff Kirsher
From: Jacob Keller <jacob.e.keller@intel.com>
This patch updates the ixgbevf Kconfig description, as the VF driver supports
more than just the 82599 device. This patch renames the config menu item, as
well as updates the help description to make it more obvious that the driver
supports more than just a single device group.
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/Kconfig | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig
index 149ac85..41a2fa2 100644
--- a/drivers/net/ethernet/intel/Kconfig
+++ b/drivers/net/ethernet/intel/Kconfig
@@ -220,12 +220,12 @@ config IXGBE_DCB
If unsure, say N.
config IXGBEVF
- tristate "Intel(R) 82599 Virtual Function Ethernet support"
+ tristate "Intel(R) 10GbE PCI Express Virtual Function Ethernet support"
depends on PCI_MSI
---help---
- This driver supports Intel(R) 82599 virtual functions. For more
- information on how to identify your adapter, go to the Adapter &
- Driver ID Guide at:
+ This driver supports Intel(R) PCI Express virtual functions for the
+ Intel(R) ixgbe driver. For more information on how to identify your
+ adapter, go to the Adapter & Driver ID Guide at:
<http://support.intel.com/support/network/sb/CS-008441.htm>
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 07/12] ixgbe: Focus config of head, tail ntc, and ntu all into a single function
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (5 preceding siblings ...)
2013-12-10 10:22 ` [net-next 06/12] ixgbevf: update Kconfig description Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 08/12] igb: Add media switching feature for i354 PHY's Jeff Kirsher
` (5 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Don Skidmore, netdev, gospo, sassmann, Alexander Duyck,
Jeff Kirsher
From: Don Skidmore <donald.c.skidmore@intel.com>
This patch makes it so that head, tail, next to clean, and next to use are
all reset in a single function for the Tx or Rx path. Previously the code
for this was spread out over several areas which could make it difficult to
track what the values for these were.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 4 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 55 ++++++++---------------
2 files changed, 19 insertions(+), 40 deletions(-)
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
index 8971e2d..eaaa3ec 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
@@ -86,9 +86,7 @@ struct ixgbevf_ring {
u64 bp_misses;
u64 bp_cleaned;
#endif
-
- u16 head;
- u16 tail;
+ u8 __iomem *tail;
u16 reg_idx; /* holds the special value that gets the hardware register
* offset associated with this ring, which is different
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 92ef4cb..84b55fe 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -98,10 +98,11 @@ MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
static void ixgbevf_set_itr(struct ixgbevf_q_vector *q_vector);
static void ixgbevf_free_all_rx_resources(struct ixgbevf_adapter *adapter);
-static inline void ixgbevf_release_rx_desc(struct ixgbe_hw *hw,
- struct ixgbevf_ring *rx_ring,
+static inline void ixgbevf_release_rx_desc(struct ixgbevf_ring *rx_ring,
u32 val)
{
+ rx_ring->next_to_use = val;
+
/*
* Force memory writes to complete before letting h/w
* know there are new descriptors to fetch. (Only
@@ -109,7 +110,7 @@ static inline void ixgbevf_release_rx_desc(struct ixgbe_hw *hw,
* such as IA-64).
*/
wmb();
- IXGBE_WRITE_REG(hw, IXGBE_VFRDT(rx_ring->reg_idx), val);
+ writel(val, rx_ring->tail);
}
/**
@@ -406,10 +407,8 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_adapter *adapter,
}
no_buffers:
- if (rx_ring->next_to_use != i) {
- rx_ring->next_to_use = i;
- ixgbevf_release_rx_desc(&adapter->hw, rx_ring, i);
- }
+ if (rx_ring->next_to_use != i)
+ ixgbevf_release_rx_desc(rx_ring, i);
}
static inline void ixgbevf_irq_enable_queues(struct ixgbevf_adapter *adapter,
@@ -1110,8 +1109,9 @@ static void ixgbevf_configure_tx(struct ixgbevf_adapter *adapter)
IXGBE_WRITE_REG(hw, IXGBE_VFTDLEN(j), tdlen);
IXGBE_WRITE_REG(hw, IXGBE_VFTDH(j), 0);
IXGBE_WRITE_REG(hw, IXGBE_VFTDT(j), 0);
- adapter->tx_ring[i].head = IXGBE_VFTDH(j);
- adapter->tx_ring[i].tail = IXGBE_VFTDT(j);
+ ring->tail = hw->hw_addr + IXGBE_VFTDT(j);
+ ring->next_to_clean = 0;
+ ring->next_to_use = 0;
/* Disable Tx Head Writeback RO bit, since this hoses
* bookkeeping if things aren't delivered in order.
*/
@@ -1208,20 +1208,22 @@ static void ixgbevf_configure_rx(struct ixgbevf_adapter *adapter)
/* set_rx_buffer_len must be called before ring initialization */
ixgbevf_set_rx_buffer_len(adapter);
- rdlen = adapter->rx_ring[0].count * sizeof(union ixgbe_adv_rx_desc);
/* Setup the HW Rx Head and Tail Descriptor Pointers and
* the Base and Length of the Rx Descriptor Ring */
for (i = 0; i < adapter->num_rx_queues; i++) {
- rdba = adapter->rx_ring[i].dma;
- j = adapter->rx_ring[i].reg_idx;
+ struct ixgbevf_ring *ring = &adapter->rx_ring[i];
+ rdba = ring->dma;
+ j = ring->reg_idx;
+ rdlen = ring->count * sizeof(union ixgbe_adv_rx_desc);
IXGBE_WRITE_REG(hw, IXGBE_VFRDBAL(j),
(rdba & DMA_BIT_MASK(32)));
IXGBE_WRITE_REG(hw, IXGBE_VFRDBAH(j), (rdba >> 32));
IXGBE_WRITE_REG(hw, IXGBE_VFRDLEN(j), rdlen);
IXGBE_WRITE_REG(hw, IXGBE_VFRDH(j), 0);
IXGBE_WRITE_REG(hw, IXGBE_VFRDT(j), 0);
- adapter->rx_ring[i].head = IXGBE_VFRDH(j);
- adapter->rx_ring[i].tail = IXGBE_VFRDT(j);
+ ring->tail = hw->hw_addr + IXGBE_VFRDT(j);
+ ring->next_to_clean = 0;
+ ring->next_to_use = 0;
ixgbevf_configure_srrctl(adapter, j);
}
@@ -1402,7 +1404,7 @@ static void ixgbevf_rx_desc_queue_enable(struct ixgbevf_adapter *adapter,
hw_dbg(hw, "RXDCTL.ENABLE queue %d not set while polling\n",
rxr);
- ixgbevf_release_rx_desc(&adapter->hw, &adapter->rx_ring[rxr],
+ ixgbevf_release_rx_desc(&adapter->rx_ring[rxr],
(adapter->rx_ring[rxr].count - 1));
}
@@ -1680,14 +1682,6 @@ static void ixgbevf_clean_rx_ring(struct ixgbevf_adapter *adapter,
/* Zero out the descriptor ring */
memset(rx_ring->desc, 0, rx_ring->size);
-
- rx_ring->next_to_clean = 0;
- rx_ring->next_to_use = 0;
-
- if (rx_ring->head)
- writel(0, adapter->hw.hw_addr + rx_ring->head);
- if (rx_ring->tail)
- writel(0, adapter->hw.hw_addr + rx_ring->tail);
}
/**
@@ -1715,14 +1709,6 @@ static void ixgbevf_clean_tx_ring(struct ixgbevf_adapter *adapter,
memset(tx_ring->tx_buffer_info, 0, size);
memset(tx_ring->desc, 0, tx_ring->size);
-
- tx_ring->next_to_use = 0;
- tx_ring->next_to_clean = 0;
-
- if (tx_ring->head)
- writel(0, adapter->hw.hw_addr + tx_ring->head);
- if (tx_ring->tail)
- writel(0, adapter->hw.hw_addr + tx_ring->tail);
}
/**
@@ -2473,8 +2459,6 @@ int ixgbevf_setup_tx_resources(struct ixgbevf_adapter *adapter,
if (!tx_ring->desc)
goto err;
- tx_ring->next_to_use = 0;
- tx_ring->next_to_clean = 0;
return 0;
err:
@@ -2542,9 +2526,6 @@ int ixgbevf_setup_rx_resources(struct ixgbevf_adapter *adapter,
goto alloc_failed;
}
- rx_ring->next_to_clean = 0;
- rx_ring->next_to_use = 0;
-
return 0;
alloc_failed:
return -ENOMEM;
@@ -3181,7 +3162,7 @@ static int ixgbevf_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
ixgbevf_tx_map(tx_ring, skb, tx_flags),
first, skb->len, hdr_len);
- writel(tx_ring->next_to_use, adapter->hw.hw_addr + tx_ring->tail);
+ writel(tx_ring->next_to_use, tx_ring->tail);
ixgbevf_maybe_stop_tx(tx_ring, DESC_NEEDED);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 08/12] igb: Add media switching feature for i354 PHY's
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (6 preceding siblings ...)
2013-12-10 10:22 ` [net-next 07/12] ixgbe: Focus config of head, tail ntc, and ntu all into a single function Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 09/12] igb: Support ports mapped in 64-bit PCI space Jeff Kirsher
` (4 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Jeff Kirsher
From: Carolyn Wyborny <carolyn.wyborny@intel.com>
This patch adds a new feature which is supported in some PHY's on some i354
devices. This feature is Auto Media Detect and allows which ever media is
detected first by the PHY to be the media used and configured by the
device. This is a media swapping feature that is wholly contained in the
Marvell PHY.
Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/igb/e1000_82575.c | 76 ++++++++++++++++++++++++++
drivers/net/ethernet/intel/igb/e1000_defines.h | 11 ++++
drivers/net/ethernet/intel/igb/e1000_hw.h | 2 +
drivers/net/ethernet/intel/igb/igb.h | 1 +
drivers/net/ethernet/intel/igb/igb_main.c | 6 ++
5 files changed, 96 insertions(+)
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c
index 47c2d10..fe9db48 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.c
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.c
@@ -113,6 +113,59 @@ static bool igb_sgmii_uses_mdio_82575(struct e1000_hw *hw)
}
/**
+ * igb_check_for_link_media_swap - Check which M88E1112 interface linked
+ * @hw: pointer to the HW structure
+ *
+ * Poll the M88E1112 interfaces to see which interface achieved link.
+ */
+static s32 igb_check_for_link_media_swap(struct e1000_hw *hw)
+{
+ struct e1000_phy_info *phy = &hw->phy;
+ s32 ret_val;
+ u16 data;
+ u8 port = 0;
+
+ /* Check the copper medium. */
+ ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 0);
+ if (ret_val)
+ return ret_val;
+
+ ret_val = phy->ops.read_reg(hw, E1000_M88E1112_STATUS, &data);
+ if (ret_val)
+ return ret_val;
+
+ if (data & E1000_M88E1112_STATUS_LINK)
+ port = E1000_MEDIA_PORT_COPPER;
+
+ /* Check the other medium. */
+ ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 1);
+ if (ret_val)
+ return ret_val;
+
+ ret_val = phy->ops.read_reg(hw, E1000_M88E1112_STATUS, &data);
+ if (ret_val)
+ return ret_val;
+
+ /* reset page to 0 */
+ ret_val = phy->ops.write_reg(hw, E1000_M88E1112_PAGE_ADDR, 0);
+ if (ret_val)
+ return ret_val;
+
+ if (data & E1000_M88E1112_STATUS_LINK)
+ port = E1000_MEDIA_PORT_OTHER;
+
+ /* Determine if a swap needs to happen. */
+ if (port && (hw->dev_spec._82575.media_port != port)) {
+ hw->dev_spec._82575.media_port = port;
+ hw->dev_spec._82575.media_changed = true;
+ } else {
+ ret_val = igb_check_for_link_82575(hw);
+ }
+
+ return E1000_SUCCESS;
+}
+
+/**
* igb_init_phy_params_82575 - Init PHY func ptrs.
* @hw: pointer to the HW structure
**/
@@ -189,6 +242,29 @@ static s32 igb_init_phy_params_82575(struct e1000_hw *hw)
else
phy->ops.get_cable_length = igb_get_cable_length_m88;
phy->ops.force_speed_duplex = igb_phy_force_speed_duplex_m88;
+ /* Check if this PHY is confgured for media swap. */
+ if (phy->id == M88E1112_E_PHY_ID) {
+ u16 data;
+
+ ret_val = phy->ops.write_reg(hw,
+ E1000_M88E1112_PAGE_ADDR,
+ 2);
+ if (ret_val)
+ goto out;
+
+ ret_val = phy->ops.read_reg(hw,
+ E1000_M88E1112_MAC_CTRL_1,
+ &data);
+ if (ret_val)
+ goto out;
+
+ data = (data & E1000_M88E1112_MAC_CTRL_1_MODE_MASK) >>
+ E1000_M88E1112_MAC_CTRL_1_MODE_SHIFT;
+ if (data == E1000_M88E1112_AUTO_COPPER_SGMII ||
+ data == E1000_M88E1112_AUTO_COPPER_BASEX)
+ hw->mac.ops.check_for_link =
+ igb_check_for_link_media_swap;
+ }
break;
case IGP03E1000_E_PHY_ID:
phy->type = e1000_phy_igp_3;
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h
index 978eca3..378ca21 100644
--- a/drivers/net/ethernet/intel/igb/e1000_defines.h
+++ b/drivers/net/ethernet/intel/igb/e1000_defines.h
@@ -532,6 +532,17 @@
#define E1000_MDICNFG_PHY_MASK 0x03E00000
#define E1000_MDICNFG_PHY_SHIFT 21
+#define E1000_MEDIA_PORT_COPPER 1
+#define E1000_MEDIA_PORT_OTHER 2
+#define E1000_M88E1112_AUTO_COPPER_SGMII 0x2
+#define E1000_M88E1112_AUTO_COPPER_BASEX 0x3
+#define E1000_M88E1112_STATUS_LINK 0x0004 /* Interface Link Bit */
+#define E1000_M88E1112_MAC_CTRL_1 0x10
+#define E1000_M88E1112_MAC_CTRL_1_MODE_MASK 0x0380 /* Mode Select */
+#define E1000_M88E1112_MAC_CTRL_1_MODE_SHIFT 7
+#define E1000_M88E1112_PAGE_ADDR 0x16
+#define E1000_M88E1112_STATUS 0x01
+
/* PCI Express Control */
#define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000
#define E1000_GCR_CMPL_TMOUT_10ms 0x00001000
diff --git a/drivers/net/ethernet/intel/igb/e1000_hw.h b/drivers/net/ethernet/intel/igb/e1000_hw.h
index 2e166b2..5f9758f 100644
--- a/drivers/net/ethernet/intel/igb/e1000_hw.h
+++ b/drivers/net/ethernet/intel/igb/e1000_hw.h
@@ -533,6 +533,8 @@ struct e1000_dev_spec_82575 {
bool clear_semaphore_once;
struct e1000_sfp_flags eth_flags;
bool module_plugged;
+ u8 media_port;
+ bool media_changed;
};
struct e1000_hw {
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 5e9ed89..6c80792 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -462,6 +462,7 @@ struct igb_adapter {
#define IGB_FLAG_RSS_FIELD_IPV6_UDP (1 << 7)
#define IGB_FLAG_WOL_SUPPORTED (1 << 8)
#define IGB_FLAG_NEED_LINK_UPDATE (1 << 9)
+#define IGB_FLAG_MEDIA_RESET (1 << 10)
/* DMA Coalescing defines */
#define IGB_MIN_TXPBSIZE 20408
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 025e5f4..6da479b 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -3946,6 +3946,12 @@ static void igb_watchdog_task(struct work_struct *work)
}
if (link) {
+ /* Perform a reset if the media type changed. */
+ if (hw->dev_spec._82575.media_changed) {
+ hw->dev_spec._82575.media_changed = false;
+ adapter->flags |= IGB_FLAG_MEDIA_RESET;
+ igb_reset(adapter);
+ }
/* Cancel scheduled suspend requests. */
pm_runtime_resume(netdev->dev.parent);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 09/12] igb: Support ports mapped in 64-bit PCI space
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (7 preceding siblings ...)
2013-12-10 10:22 ` [net-next 08/12] igb: Add media switching feature for i354 PHY's Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 10/12] igb: Add new feature Media Auto Sense for 82580 devices only Jeff Kirsher
` (3 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Aaron Sierra, netdev, gospo, sassmann, Jeff Kirsher
From: Aaron Sierra <asierra@xes-inc.com>
This patch resolves an issue with 64-bit PCI addresses being truncated
because the return values of pci_resource_start() and pci_resource_end()
were being cast to unsigned long.
Signed-off-by: Aaron Sierra <asierra@xes-inc.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_main.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 6da479b..ed129f1 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2022,7 +2022,6 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
s32 ret_val;
static int global_quad_port_a; /* global quad port a indication */
const struct e1000_info *ei = igb_info_tbl[ent->driver_data];
- unsigned long mmio_start, mmio_len;
int err, pci_using_dac;
u8 part_str[E1000_PBANUM_LENGTH];
@@ -2079,11 +2078,8 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
hw->back = adapter;
adapter->msg_enable = netif_msg_init(debug, DEFAULT_MSG_ENABLE);
- mmio_start = pci_resource_start(pdev, 0);
- mmio_len = pci_resource_len(pdev, 0);
-
err = -EIO;
- hw->hw_addr = ioremap(mmio_start, mmio_len);
+ hw->hw_addr = pci_iomap(pdev, 0, 0);
if (!hw->hw_addr)
goto err_ioremap;
@@ -2093,8 +2089,8 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
strncpy(netdev->name, pci_name(pdev), sizeof(netdev->name) - 1);
- netdev->mem_start = mmio_start;
- netdev->mem_end = mmio_start + mmio_len;
+ netdev->mem_start = pci_resource_start(pdev, 0);
+ netdev->mem_end = pci_resource_end(pdev, 0);
/* PCI config space info */
hw->vendor_id = pdev->vendor;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 10/12] igb: Add new feature Media Auto Sense for 82580 devices only
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (8 preceding siblings ...)
2013-12-10 10:22 ` [net-next 09/12] igb: Support ports mapped in 64-bit PCI space Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 11/12] igb: Convert to use devm_hwmon_device_register_with_groups Jeff Kirsher
` (2 subsequent siblings)
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Jeff Kirsher
From: Carolyn Wyborny <carolyn.wyborny@intel.com>
This patch adds support for the hardware feature Media Auto Sense. This
feature requires a custom EEPROM image provided by our customer support
team. The feature allows hardware designed with dual PHY's, fiber and
copper to be used with either media without additional EEPROM changes.
Fiber is preferred and driver will swap and configure for fiber media if
sensed by the device at any time. Device will swap back to copper if it
is the only media detected.
Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/igb/e1000_82575.c | 13 ++
drivers/net/ethernet/intel/igb/e1000_defines.h | 5 +
drivers/net/ethernet/intel/igb/e1000_hw.h | 1 +
drivers/net/ethernet/intel/igb/igb.h | 10 ++
drivers/net/ethernet/intel/igb/igb_ethtool.c | 4 +
drivers/net/ethernet/intel/igb/igb_main.c | 193 +++++++++++++++++++++++++
6 files changed, 226 insertions(+)
diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c
index fe9db48..06df692 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.c
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.c
@@ -441,6 +441,19 @@ static s32 igb_init_mac_params_82575(struct e1000_hw *hw)
? igb_setup_copper_link_82575
: igb_setup_serdes_link_82575;
+ if (mac->type == e1000_82580) {
+ switch (hw->device_id) {
+ /* feature not supported on these id's */
+ case E1000_DEV_ID_DH89XXCC_SGMII:
+ case E1000_DEV_ID_DH89XXCC_SERDES:
+ case E1000_DEV_ID_DH89XXCC_BACKPLANE:
+ case E1000_DEV_ID_DH89XXCC_SFP:
+ break;
+ default:
+ hw->dev_spec._82575.mas_capable = true;
+ break;
+ }
+ }
return 0;
}
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h
index 378ca21..0571b97 100644
--- a/drivers/net/ethernet/intel/igb/e1000_defines.h
+++ b/drivers/net/ethernet/intel/igb/e1000_defines.h
@@ -205,6 +205,11 @@
*/
#define E1000_CONNSW_ENRGSRC 0x4
+#define E1000_CONNSW_PHYSD 0x400
+#define E1000_CONNSW_PHY_PDN 0x800
+#define E1000_CONNSW_SERDESD 0x200
+#define E1000_CONNSW_AUTOSENSE_CONF 0x2
+#define E1000_CONNSW_AUTOSENSE_EN 0x1
#define E1000_PCS_CFG_PCS_EN 8
#define E1000_PCS_LCTL_FLV_LINK_UP 1
#define E1000_PCS_LCTL_FSV_100 2
diff --git a/drivers/net/ethernet/intel/igb/e1000_hw.h b/drivers/net/ethernet/intel/igb/e1000_hw.h
index 5f9758f..ab99e2b 100644
--- a/drivers/net/ethernet/intel/igb/e1000_hw.h
+++ b/drivers/net/ethernet/intel/igb/e1000_hw.h
@@ -535,6 +535,7 @@ struct e1000_dev_spec_82575 {
bool module_plugged;
u8 media_port;
bool media_changed;
+ bool mas_capable;
};
struct e1000_hw {
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 6c80792..11173f4 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -450,6 +450,8 @@ struct igb_adapter {
u8 rss_indir_tbl[IGB_RETA_SIZE];
unsigned long link_check_timeout;
+ int copper_tries;
+ struct e1000_info ei;
};
#define IGB_FLAG_HAS_MSI (1 << 0)
@@ -463,6 +465,14 @@ struct igb_adapter {
#define IGB_FLAG_WOL_SUPPORTED (1 << 8)
#define IGB_FLAG_NEED_LINK_UPDATE (1 << 9)
#define IGB_FLAG_MEDIA_RESET (1 << 10)
+#define IGB_FLAG_MAS_CAPABLE (1 << 11)
+#define IGB_FLAG_MAS_ENABLE (1 << 12)
+
+/* Media Auto Sense */
+#define IGB_MAS_ENABLE_0 0X0001
+#define IGB_MAS_ENABLE_1 0X0002
+#define IGB_MAS_ENABLE_2 0X0004
+#define IGB_MAS_ENABLE_3 0X0008
/* DMA Coalescing defines */
#define IGB_MIN_TXPBSIZE 20408
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index c3143da..1c7d238 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -1983,6 +1983,10 @@ static void igb_diag_test(struct net_device *netdev,
bool if_running = netif_running(netdev);
set_bit(__IGB_TESTING, &adapter->state);
+
+ /* can't do offline tests on media switching devices */
+ if (adapter->hw.dev_spec._82575.mas_capable)
+ eth_test->flags &= ~ETH_TEST_FL_OFFLINE;
if (eth_test->flags == ETH_TEST_FL_OFFLINE) {
/* Offline tests */
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index ed129f1..3bc10bd 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -1607,6 +1607,73 @@ static void igb_power_down_link(struct igb_adapter *adapter)
}
/**
+ * Detect and switch function for Media Auto Sense
+ * @adapter: address of the board private structure
+ **/
+static void igb_check_swap_media(struct igb_adapter *adapter)
+{
+ struct e1000_hw *hw = &adapter->hw;
+ u32 ctrl_ext, connsw;
+ bool swap_now = false;
+
+ ctrl_ext = rd32(E1000_CTRL_EXT);
+ connsw = rd32(E1000_CONNSW);
+
+ /* need to live swap if current media is copper and we have fiber/serdes
+ * to go to.
+ */
+
+ if ((hw->phy.media_type == e1000_media_type_copper) &&
+ (!(connsw & E1000_CONNSW_AUTOSENSE_EN))) {
+ swap_now = true;
+ } else if (!(connsw & E1000_CONNSW_SERDESD)) {
+ /* copper signal takes time to appear */
+ if (adapter->copper_tries < 4) {
+ adapter->copper_tries++;
+ connsw |= E1000_CONNSW_AUTOSENSE_CONF;
+ wr32(E1000_CONNSW, connsw);
+ return;
+ } else {
+ adapter->copper_tries = 0;
+ if ((connsw & E1000_CONNSW_PHYSD) &&
+ (!(connsw & E1000_CONNSW_PHY_PDN))) {
+ swap_now = true;
+ connsw &= ~E1000_CONNSW_AUTOSENSE_CONF;
+ wr32(E1000_CONNSW, connsw);
+ }
+ }
+ }
+
+ if (!swap_now)
+ return;
+
+ switch (hw->phy.media_type) {
+ case e1000_media_type_copper:
+ netdev_info(adapter->netdev,
+ "MAS: changing media to fiber/serdes\n");
+ ctrl_ext |=
+ E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES;
+ adapter->flags |= IGB_FLAG_MEDIA_RESET;
+ adapter->copper_tries = 0;
+ break;
+ case e1000_media_type_internal_serdes:
+ case e1000_media_type_fiber:
+ netdev_info(adapter->netdev,
+ "MAS: changing media to copper\n");
+ ctrl_ext &=
+ ~E1000_CTRL_EXT_LINK_MODE_PCIE_SERDES;
+ adapter->flags |= IGB_FLAG_MEDIA_RESET;
+ break;
+ default:
+ /* shouldn't get here during regular operation */
+ netdev_err(adapter->netdev,
+ "AMS: Invalid media type found, returning\n");
+ break;
+ }
+ wr32(E1000_CTRL_EXT, ctrl_ext);
+}
+
+/**
* igb_up - Open the interface and prepare it to handle traffic
* @adapter: board private structure
**/
@@ -1719,6 +1786,37 @@ void igb_reinit_locked(struct igb_adapter *adapter)
clear_bit(__IGB_RESETTING, &adapter->state);
}
+/** igb_enable_mas - Media Autosense re-enable after swap
+ *
+ * @adapter: adapter struct
+ **/
+static s32 igb_enable_mas(struct igb_adapter *adapter)
+{
+ struct e1000_hw *hw = &adapter->hw;
+ u32 connsw;
+ s32 ret_val = 0;
+
+ connsw = rd32(E1000_CONNSW);
+ if (!(hw->phy.media_type == e1000_media_type_copper))
+ return ret_val;
+
+ /* configure for SerDes media detect */
+ if (!(connsw & E1000_CONNSW_SERDESD)) {
+ connsw |= E1000_CONNSW_ENRGSRC;
+ connsw |= E1000_CONNSW_AUTOSENSE_EN;
+ wr32(E1000_CONNSW, connsw);
+ wrfl();
+ } else if (connsw & E1000_CONNSW_SERDESD) {
+ /* already SerDes, no need to enable anything */
+ return ret_val;
+ } else {
+ netdev_info(adapter->netdev,
+ "MAS: Unable to configure feature, disabling..\n");
+ adapter->flags &= ~IGB_FLAG_MAS_ENABLE;
+ }
+ return ret_val;
+}
+
void igb_reset(struct igb_adapter *adapter)
{
struct pci_dev *pdev = adapter->pdev;
@@ -1830,6 +1928,16 @@ void igb_reset(struct igb_adapter *adapter)
hw->mac.ops.reset_hw(hw);
wr32(E1000_WUC, 0);
+ if (adapter->flags & IGB_FLAG_MEDIA_RESET) {
+ /* need to resetup here after media swap */
+ adapter->ei.get_invariants(hw);
+ adapter->flags &= ~IGB_FLAG_MEDIA_RESET;
+ }
+ if (adapter->flags & IGB_FLAG_MAS_ENABLE) {
+ if (igb_enable_mas(adapter))
+ dev_err(&pdev->dev,
+ "Error enabling Media Auto Sense\n");
+ }
if (hw->mac.ops.init_hw(hw))
dev_err(&pdev->dev, "Hardware Error\n");
@@ -1976,6 +2084,58 @@ void igb_set_fw_version(struct igb_adapter *adapter)
}
/**
+ * igb_init_mas - init Media Autosense feature if enabled in the NVM
+ *
+ * @adapter: adapter struct
+ **/
+static void igb_init_mas(struct igb_adapter *adapter)
+{
+ struct e1000_hw *hw = &adapter->hw;
+ u16 eeprom_data;
+
+ hw->nvm.ops.read(hw, NVM_COMPAT, 1, &eeprom_data);
+ switch (hw->bus.func) {
+ case E1000_FUNC_0:
+ if (eeprom_data & IGB_MAS_ENABLE_0) {
+ adapter->flags |= IGB_FLAG_MAS_ENABLE;
+ netdev_info(adapter->netdev,
+ "MAS: Enabling Media Autosense for port %d\n",
+ hw->bus.func);
+ }
+ break;
+ case E1000_FUNC_1:
+ if (eeprom_data & IGB_MAS_ENABLE_1) {
+ adapter->flags |= IGB_FLAG_MAS_ENABLE;
+ netdev_info(adapter->netdev,
+ "MAS: Enabling Media Autosense for port %d\n",
+ hw->bus.func);
+ }
+ break;
+ case E1000_FUNC_2:
+ if (eeprom_data & IGB_MAS_ENABLE_2) {
+ adapter->flags |= IGB_FLAG_MAS_ENABLE;
+ netdev_info(adapter->netdev,
+ "MAS: Enabling Media Autosense for port %d\n",
+ hw->bus.func);
+ }
+ break;
+ case E1000_FUNC_3:
+ if (eeprom_data & IGB_MAS_ENABLE_3) {
+ adapter->flags |= IGB_FLAG_MAS_ENABLE;
+ netdev_info(adapter->netdev,
+ "MAS: Enabling Media Autosense for port %d\n",
+ hw->bus.func);
+ }
+ break;
+ default:
+ /* Shouldn't get here */
+ netdev_err(adapter->netdev,
+ "MAS: Invalid port configuration, returning\n");
+ break;
+ }
+}
+
+/**
* igb_init_i2c - Init I2C interface
* @adapter: pointer to adapter structure
**/
@@ -2346,6 +2506,11 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
adapter->ets = false;
}
#endif
+ /* Check if Media Autosense is enabled */
+ adapter->ei = *ei;
+ if (hw->dev_spec._82575.mas_capable)
+ igb_init_mas(adapter);
+
/* do hw tstamp init after resetting */
igb_ptp_init(adapter);
@@ -3931,6 +4096,7 @@ static void igb_watchdog_task(struct work_struct *work)
struct net_device *netdev = adapter->netdev;
u32 link;
int i;
+ u32 connsw;
link = igb_has_link(adapter);
@@ -3941,6 +4107,14 @@ static void igb_watchdog_task(struct work_struct *work)
link = false;
}
+ /* Force link down if we have fiber to swap to */
+ if (adapter->flags & IGB_FLAG_MAS_ENABLE) {
+ if (hw->phy.media_type == e1000_media_type_copper) {
+ connsw = rd32(E1000_CONNSW);
+ if (!(connsw & E1000_CONNSW_AUTOSENSE_EN))
+ link = 0;
+ }
+ }
if (link) {
/* Perform a reset if the media type changed. */
if (hw->dev_spec._82575.media_changed) {
@@ -4028,8 +4202,27 @@ static void igb_watchdog_task(struct work_struct *work)
mod_timer(&adapter->phy_info_timer,
round_jiffies(jiffies + 2 * HZ));
+ /* link is down, time to check for alternate media */
+ if (adapter->flags & IGB_FLAG_MAS_ENABLE) {
+ igb_check_swap_media(adapter);
+ if (adapter->flags & IGB_FLAG_MEDIA_RESET) {
+ schedule_work(&adapter->reset_task);
+ /* return immediately */
+ return;
+ }
+ }
pm_schedule_suspend(netdev->dev.parent,
MSEC_PER_SEC * 5);
+
+ /* also check for alternate media here */
+ } else if (!netif_carrier_ok(netdev) &&
+ (adapter->flags & IGB_FLAG_MAS_ENABLE)) {
+ igb_check_swap_media(adapter);
+ if (adapter->flags & IGB_FLAG_MEDIA_RESET) {
+ schedule_work(&adapter->reset_task);
+ /* return immediately */
+ return;
+ }
}
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 11/12] igb: Convert to use devm_hwmon_device_register_with_groups
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (9 preceding siblings ...)
2013-12-10 10:22 ` [net-next 10/12] igb: Add new feature Media Auto Sense for 82580 devices only Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-10 10:22 ` [net-next 12/12] igb: Start temperature sensor attribute index with 1 Jeff Kirsher
2013-12-11 2:30 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Guenter Roeck, netdev, gospo, sassmann, Jeff Kirsher
From: Guenter Roeck <linux@roeck-us.net>
Simplify the code. Attach hwmon sysfs attributes to hwmon device
instead of pci device. Avoid race conditions caused by attributes
being created after registration and provide mandatory 'name'
attribute by using new hwmon API.
Other cleanup:
Instead of allocating memory for hwmon attributes, move attributes
and all other hwmon related data into struct hwmon_buff and allocate
the entire structure using devm_kzalloc.
Check return value from calls to igb_add_hwmon_attr() one by one instead
of logically combining them all together.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
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 | 8 ++-
drivers/net/ethernet/intel/igb/igb_hwmon.c | 100 ++++++++++++++---------------
2 files changed, 53 insertions(+), 55 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 11173f4..8aaca0a 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -337,8 +337,10 @@ struct hwmon_attr {
};
struct hwmon_buff {
- struct device *device;
- struct hwmon_attr *hwmon_list;
+ struct attribute_group group;
+ const struct attribute_group *groups[2];
+ struct attribute *attrs[E1000_MAX_SENSORS * 4 + 1];
+ struct hwmon_attr hwmon_list[E1000_MAX_SENSORS * 4];
unsigned int n_hwmon;
};
#endif
@@ -440,7 +442,7 @@ struct igb_adapter {
char fw_version[32];
#ifdef CONFIG_IGB_HWMON
- struct hwmon_buff igb_hwmon_buff;
+ struct hwmon_buff *igb_hwmon_buff;
bool ets;
#endif
struct i2c_algo_bit_data i2c_algo;
diff --git a/drivers/net/ethernet/intel/igb/igb_hwmon.c b/drivers/net/ethernet/intel/igb/igb_hwmon.c
index 58f1ce9..2e7ef2d 100644
--- a/drivers/net/ethernet/intel/igb/igb_hwmon.c
+++ b/drivers/net/ethernet/intel/igb/igb_hwmon.c
@@ -117,8 +117,8 @@ static int igb_add_hwmon_attr(struct igb_adapter *adapter,
unsigned int n_attr;
struct hwmon_attr *igb_attr;
- n_attr = adapter->igb_hwmon_buff.n_hwmon;
- igb_attr = &adapter->igb_hwmon_buff.hwmon_list[n_attr];
+ n_attr = adapter->igb_hwmon_buff->n_hwmon;
+ igb_attr = &adapter->igb_hwmon_buff->hwmon_list[n_attr];
switch (type) {
case IGB_HWMON_TYPE_LOC:
@@ -154,30 +154,16 @@ static int igb_add_hwmon_attr(struct igb_adapter *adapter,
igb_attr->dev_attr.attr.mode = S_IRUGO;
igb_attr->dev_attr.attr.name = igb_attr->name;
sysfs_attr_init(&igb_attr->dev_attr.attr);
- rc = device_create_file(&adapter->pdev->dev,
- &igb_attr->dev_attr);
- if (rc == 0)
- ++adapter->igb_hwmon_buff.n_hwmon;
- return rc;
+ adapter->igb_hwmon_buff->attrs[n_attr] = &igb_attr->dev_attr.attr;
+
+ ++adapter->igb_hwmon_buff->n_hwmon;
+
+ return 0;
}
static void igb_sysfs_del_adapter(struct igb_adapter *adapter)
{
- int i;
-
- if (adapter == NULL)
- return;
-
- for (i = 0; i < adapter->igb_hwmon_buff.n_hwmon; i++) {
- device_remove_file(&adapter->pdev->dev,
- &adapter->igb_hwmon_buff.hwmon_list[i].dev_attr);
- }
-
- kfree(adapter->igb_hwmon_buff.hwmon_list);
-
- if (adapter->igb_hwmon_buff.device)
- hwmon_device_unregister(adapter->igb_hwmon_buff.device);
}
/* called from igb_main.c */
@@ -189,11 +175,11 @@ void igb_sysfs_exit(struct igb_adapter *adapter)
/* called from igb_main.c */
int igb_sysfs_init(struct igb_adapter *adapter)
{
- struct hwmon_buff *igb_hwmon = &adapter->igb_hwmon_buff;
+ struct hwmon_buff *igb_hwmon;
+ struct i2c_client *client;
+ struct device *hwmon_dev;
unsigned int i;
- int n_attrs;
int rc = 0;
- struct i2c_client *client = NULL;
/* If this method isn't defined we don't support thermals */
if (adapter->hw.mac.ops.init_thermal_sensor_thresh == NULL)
@@ -201,34 +187,16 @@ int igb_sysfs_init(struct igb_adapter *adapter)
/* Don't create thermal hwmon interface if no sensors present */
rc = (adapter->hw.mac.ops.init_thermal_sensor_thresh(&adapter->hw));
- if (rc)
- goto exit;
-
- /* init i2c_client */
- client = i2c_new_device(&adapter->i2c_adap, &i350_sensor_info);
- if (client == NULL) {
- dev_info(&adapter->pdev->dev,
- "Failed to create new i2c device..\n");
+ if (rc)
goto exit;
- }
- adapter->i2c_client = client;
- /* Allocation space for max attributes
- * max num sensors * values (loc, temp, max, caution)
- */
- n_attrs = E1000_MAX_SENSORS * 4;
- igb_hwmon->hwmon_list = kcalloc(n_attrs, sizeof(struct hwmon_attr),
- GFP_KERNEL);
- if (!igb_hwmon->hwmon_list) {
+ igb_hwmon = devm_kzalloc(&adapter->pdev->dev, sizeof(*igb_hwmon),
+ GFP_KERNEL);
+ if (!igb_hwmon) {
rc = -ENOMEM;
- goto err;
- }
-
- igb_hwmon->device = hwmon_device_register(&adapter->pdev->dev);
- if (IS_ERR(igb_hwmon->device)) {
- rc = PTR_ERR(igb_hwmon->device);
- goto err;
+ goto exit;
}
+ adapter->igb_hwmon_buff = igb_hwmon;
for (i = 0; i < E1000_MAX_SENSORS; i++) {
@@ -240,11 +208,39 @@ int igb_sysfs_init(struct igb_adapter *adapter)
/* Bail if any hwmon attr struct fails to initialize */
rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_CAUTION);
- rc |= igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_LOC);
- rc |= igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_TEMP);
- rc |= igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_MAX);
if (rc)
- goto err;
+ goto exit;
+ rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_LOC);
+ if (rc)
+ goto exit;
+ rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_TEMP);
+ if (rc)
+ goto exit;
+ rc = igb_add_hwmon_attr(adapter, i, IGB_HWMON_TYPE_MAX);
+ if (rc)
+ goto exit;
+ }
+
+ /* init i2c_client */
+ client = i2c_new_device(&adapter->i2c_adap, &i350_sensor_info);
+ if (client == NULL) {
+ dev_info(&adapter->pdev->dev,
+ "Failed to create new i2c device.\n");
+ rc = -ENODEV;
+ goto exit;
+ }
+ adapter->i2c_client = client;
+
+ igb_hwmon->groups[0] = &igb_hwmon->group;
+ igb_hwmon->group.attrs = igb_hwmon->attrs;
+
+ hwmon_dev = devm_hwmon_device_register_with_groups(&adapter->pdev->dev,
+ client->name,
+ igb_hwmon,
+ igb_hwmon->groups);
+ if (IS_ERR(hwmon_dev)) {
+ rc = PTR_ERR(hwmon_dev);
+ goto err;
}
goto exit;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* [net-next 12/12] igb: Start temperature sensor attribute index with 1
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (10 preceding siblings ...)
2013-12-10 10:22 ` [net-next 11/12] igb: Convert to use devm_hwmon_device_register_with_groups Jeff Kirsher
@ 2013-12-10 10:22 ` Jeff Kirsher
2013-12-11 2:30 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
12 siblings, 0 replies; 36+ messages in thread
From: Jeff Kirsher @ 2013-12-10 10:22 UTC (permalink / raw)
To: davem; +Cc: Guenter Roeck, netdev, gospo, sassmann, Jeff Kirsher
From: Guenter Roeck <linux@roeck-us.net>
Per hwmon ABI, temperature sensor attribute index starts with 1, not 0.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jean Delvare <khali@linux-fr.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_hwmon.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_hwmon.c b/drivers/net/ethernet/intel/igb/igb_hwmon.c
index 2e7ef2d..e0af5bc 100644
--- a/drivers/net/ethernet/intel/igb/igb_hwmon.c
+++ b/drivers/net/ethernet/intel/igb/igb_hwmon.c
@@ -124,22 +124,22 @@ static int igb_add_hwmon_attr(struct igb_adapter *adapter,
case IGB_HWMON_TYPE_LOC:
igb_attr->dev_attr.show = igb_hwmon_show_location;
snprintf(igb_attr->name, sizeof(igb_attr->name),
- "temp%u_label", offset);
+ "temp%u_label", offset + 1);
break;
case IGB_HWMON_TYPE_TEMP:
igb_attr->dev_attr.show = igb_hwmon_show_temp;
snprintf(igb_attr->name, sizeof(igb_attr->name),
- "temp%u_input", offset);
+ "temp%u_input", offset + 1);
break;
case IGB_HWMON_TYPE_CAUTION:
igb_attr->dev_attr.show = igb_hwmon_show_cautionthresh;
snprintf(igb_attr->name, sizeof(igb_attr->name),
- "temp%u_max", offset);
+ "temp%u_max", offset + 1);
break;
case IGB_HWMON_TYPE_MAX:
igb_attr->dev_attr.show = igb_hwmon_show_maxopthresh;
snprintf(igb_attr->name, sizeof(igb_attr->name),
- "temp%u_crit", offset);
+ "temp%u_crit", offset + 1);
break;
default:
rc = -EPERM;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [net-next 00/12][pull request] Intel Wired LAN Driver Updates
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (11 preceding siblings ...)
2013-12-10 10:22 ` [net-next 12/12] igb: Start temperature sensor attribute index with 1 Jeff Kirsher
@ 2013-12-11 2:30 ` David Miller
12 siblings, 0 replies; 36+ messages in thread
From: David Miller @ 2013-12-11 2:30 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 10 Dec 2013 02:22:29 -0800
> This series contains updates to i40e, igb, ixgbe and ixgbevf.
Looks fine, pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2013-12-11 2:30 UTC | newest]
Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-10 10:22 [net-next 00/12][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-12-10 10:22 ` [net-next 01/12] i40e: restrict diag test messages Jeff Kirsher
2013-12-10 10:22 ` [net-next 02/12] i40e: loopback info and set loopback fix Jeff Kirsher
2013-12-10 10:22 ` [net-next 03/12] i40e: complain about out-of-range descriptor request Jeff Kirsher
2013-12-10 10:22 ` [net-next 04/12] i40e: remove and fix confusing define name Jeff Kirsher
2013-12-10 10:22 ` [net-next 05/12] i40e: Bump version number Jeff Kirsher
2013-12-10 10:22 ` [net-next 06/12] ixgbevf: update Kconfig description Jeff Kirsher
2013-12-10 10:22 ` [net-next 07/12] ixgbe: Focus config of head, tail ntc, and ntu all into a single function Jeff Kirsher
2013-12-10 10:22 ` [net-next 08/12] igb: Add media switching feature for i354 PHY's Jeff Kirsher
2013-12-10 10:22 ` [net-next 09/12] igb: Support ports mapped in 64-bit PCI space Jeff Kirsher
2013-12-10 10:22 ` [net-next 10/12] igb: Add new feature Media Auto Sense for 82580 devices only Jeff Kirsher
2013-12-10 10:22 ` [net-next 11/12] igb: Convert to use devm_hwmon_device_register_with_groups Jeff Kirsher
2013-12-10 10:22 ` [net-next 12/12] igb: Start temperature sensor attribute index with 1 Jeff Kirsher
2013-12-11 2:30 ` [net-next 00/12][pull request] Intel Wired LAN Driver Updates David Miller
-- strict thread matches above, loose matches on Subject: below --
2013-07-28 11:41 Jeff Kirsher
2013-07-28 20:21 ` David Miller
2013-07-28 23:11 ` Jeff Kirsher
2013-07-29 0:20 ` David Miller
2013-07-29 2:08 ` Jeff Kirsher
2013-07-29 7:34 ` David Miller
2013-07-29 8:34 ` Jeff Kirsher
2013-07-29 8:46 ` David Miller
2013-07-29 9:17 ` Jeff Kirsher
2013-05-21 22:03 Jeff Kirsher
2013-05-22 20:57 ` David Miller
2013-03-28 9:00 Jeff Kirsher
2013-03-28 18:39 ` David Miller
2012-10-23 4:26 Jeff Kirsher
2012-10-23 6:51 ` David Miller
2012-05-10 6:46 Jeff Kirsher
2012-05-11 3:18 ` David Miller
2012-03-17 8:50 Jeff Kirsher
2012-03-17 9:06 ` David Miller
2012-01-26 7:21 Jeff Kirsher
2012-01-26 18:49 ` David Miller
2012-01-26 21:27 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).