netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-next 00/13][pull request] Intel Wired LAN Driver Updates
@ 2014-03-12  5:53 Jeff Kirsher
  2014-03-12  5:53 ` [net-next 01/13] net: e1000e calls skb_set_hash Jeff Kirsher
                   ` (12 more replies)
  0 siblings, 13 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann

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

Tom Herbert provides changes to e1000e, igb and ixgbe to call skb_set_hash()
to set the hash and its type in an skbuff.

Carolyn provides a fix for igb where using ethtool for EEE settings, which
was not working correctly.  Also provides patches to add debugfs support
for igb.

Jacob provides some trivial cleanups and fixes for ixgbe which mainly
dealt with the file headers.

Julia Lawall provides a one fix for ixgbevf where the driver did not need
to adjust the power state on suspend, so the call to pci_set_power_state()
in the resume function was a no-op.

The following are changes since commit a19a7ec8fc8eb32113efeaff2a1ceca273726e9b:
  bonding: force cast of IP address in options
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Carolyn Wyborny (4):
  igb: Fix for devices using ethtool for EEE settings
  igb: Add debugfs skeleton
  igb: Add support for debugfs
  igb: Add debugfs command/register read and write functionality

Jacob Keller (4):
  ixgbe: move setting rx_pb_size into get_invariants
  ixgbe: add Linux NICS mailing list to contact info
  ixgbe: fixup header for ixgbe_set_rxpba_82598
  ixgbe: fix some multiline hw_dbg prints

Julia Lawall (1):
  ixgbevf: delete unneeded call to pci_set_power_state

Masanari Iida (1):
  ixgbe: Fix format string in ixgbe_fcoe.c

Tom Herbert (3):
  net: e1000e calls skb_set_hash
  net: igb calls skb_set_hash
  net: ixgbe calls skb_set_hash

 drivers/net/ethernet/intel/e1000e/netdev.c         |   2 +-
 drivers/net/ethernet/intel/igb/Makefile            |   2 +-
 drivers/net/ethernet/intel/igb/e1000_82575.h       |  13 +
 drivers/net/ethernet/intel/igb/e1000_defines.h     |   4 +-
 drivers/net/ethernet/intel/igb/e1000_regs.h        |   2 +
 drivers/net/ethernet/intel/igb/igb.h               |  33 +
 drivers/net/ethernet/intel/igb/igb_debugfs.c       | 707 +++++++++++++++++++++
 drivers/net/ethernet/intel/igb/igb_ethtool.c       |  45 +-
 drivers/net/ethernet/intel/igb/igb_main.c          | 126 +++-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h           |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c     |  18 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c     |  11 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h    |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c   |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c   |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c      |   3 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h      |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c       |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   5 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c       |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h       |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c       |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h       |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c       |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c     |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h     |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c     |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c      |   3 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c  |   1 -
 33 files changed, 940 insertions(+), 53 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/igb/igb_debugfs.c

-- 
1.8.3.1

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

* [net-next 01/13] net: e1000e calls skb_set_hash
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 02/13] net: igb " Jeff Kirsher
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Tom Herbert, netdev, gospo, sassmann, Jeff Kirsher

From: Tom Herbert <therbert@google.com>

Drivers should call skb_set_hash to set the hash and its type
in an skbuff.

Signed-off-by: Tom Herbert <therbert@google.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 5129c4c..3f044e7 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -878,7 +878,7 @@ static inline void e1000_rx_hash(struct net_device *netdev, __le32 rss,
 				 struct sk_buff *skb)
 {
 	if (netdev->features & NETIF_F_RXHASH)
-		skb->rxhash = le32_to_cpu(rss);
+		skb_set_hash(skb, le32_to_cpu(rss), PKT_HASH_TYPE_L3);
 }
 
 /**
-- 
1.8.3.1

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

* [net-next 02/13] net: igb calls skb_set_hash
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2014-03-12  5:53 ` [net-next 01/13] net: e1000e calls skb_set_hash Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 03/13] igb: Fix for devices using ethtool for EEE settings Jeff Kirsher
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Tom Herbert, netdev, gospo, sassmann, Jeff Kirsher

From: Tom Herbert <therbert@google.com>

Drivers should call skb_set_hash to set the hash and its type
in an skbuff.

Signed-off-by: Tom Herbert <therbert@google.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 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 3384156..a96beb6 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -6620,7 +6620,9 @@ static inline void igb_rx_hash(struct igb_ring *ring,
 			       struct sk_buff *skb)
 {
 	if (ring->netdev->features & NETIF_F_RXHASH)
-		skb->rxhash = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss);
+		skb_set_hash(skb,
+			     le32_to_cpu(rx_desc->wb.lower.hi_dword.rss),
+			     PKT_HASH_TYPE_L3);
 }
 
 /**
-- 
1.8.3.1

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

* [net-next 03/13] igb: Fix for devices using ethtool for EEE settings
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
  2014-03-12  5:53 ` [net-next 01/13] net: e1000e calls skb_set_hash Jeff Kirsher
  2014-03-12  5:53 ` [net-next 02/13] net: igb " Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 04/13] igb: Add debugfs skeleton Jeff Kirsher
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Jeff Kirsher

From: Carolyn Wyborny <carolyn.wyborny@intel.com>

This patch fixes a problem where using ethtool for EEE setting was not
working correctly.  This patch also fixes a problem where
the function that checks for EEE status on i354 devices was not being
called and was causing warnings with static analysis tools.

Reported-by: Rashika Kheria <rashika.kheria@gmail.com>
Reported-by: Josh Triplett <josh@joshtriplett.org>
Reported-by: Stephen Hemminger <stephen@networkplumber.org>
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.h |  1 +
 drivers/net/ethernet/intel/igb/igb.h         |  3 ++
 drivers/net/ethernet/intel/igb/igb_ethtool.c | 45 +++++++++++-------
 drivers/net/ethernet/intel/igb/igb_main.c    | 69 ++++++++++++++++++++++------
 4 files changed, 88 insertions(+), 30 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.h b/drivers/net/ethernet/intel/igb/e1000_82575.h
index f12b086..2a721a1 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.h
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.h
@@ -265,6 +265,7 @@ u16 igb_rxpbs_adjust_82580(u32 data);
 s32 igb_read_emi_reg(struct e1000_hw *, u16 addr, u16 *data);
 s32 igb_set_eee_i350(struct e1000_hw *);
 s32 igb_set_eee_i354(struct e1000_hw *);
+s32 igb_get_eee_status_i354(struct e1000_hw *hw, bool *status);
 
 #define E1000_I2C_THERMAL_SENSOR_ADDR	0xF8
 #define E1000_EMC_INTERNAL_DATA		0x00
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index fc3fc2c..a202c96 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -41,6 +41,7 @@
 #include <linux/i2c.h>
 #include <linux/i2c-algo-bit.h>
 #include <linux/pci.h>
+#include <linux/mdio.h>
 
 struct igb_adapter;
 
@@ -455,6 +456,7 @@ struct igb_adapter {
 	unsigned long link_check_timeout;
 	int copper_tries;
 	struct e1000_info ei;
+	u16 eee_advert;
 };
 
 #define IGB_FLAG_HAS_MSI		(1 << 0)
@@ -471,6 +473,7 @@ struct igb_adapter {
 #define IGB_FLAG_MAS_CAPABLE		(1 << 11)
 #define IGB_FLAG_MAS_ENABLE		(1 << 12)
 #define IGB_FLAG_HAS_MSIX		(1 << 13)
+#define IGB_FLAG_EEE			(1 << 14)
 
 /* Media Auto Sense */
 #define IGB_MAS_ENABLE_0		0X0001
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index c7f5741..170e4db 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -2587,7 +2587,7 @@ static int igb_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
 {
 	struct igb_adapter *adapter = netdev_priv(netdev);
 	struct e1000_hw *hw = &adapter->hw;
-	u32 ipcnfg, eeer, ret_val;
+	u32 ret_val;
 	u16 phy_data;
 
 	if ((hw->mac.type < e1000_i350) ||
@@ -2596,16 +2596,25 @@ static int igb_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
 
 	edata->supported = (SUPPORTED_1000baseT_Full |
 			    SUPPORTED_100baseT_Full);
+	if (!hw->dev_spec._82575.eee_disable)
+		edata->advertised =
+			mmd_eee_adv_to_ethtool_adv_t(adapter->eee_advert);
 
-	ipcnfg = rd32(E1000_IPCNFG);
-	eeer = rd32(E1000_EEER);
+	/* The IPCNFG and EEER registers are not supported on I354. */
+	if (hw->mac.type == e1000_i354) {
+		igb_get_eee_status_i354(hw, (bool *)&edata->eee_active);
+	} else {
+		u32 eeer;
+
+		eeer = rd32(E1000_EEER);
 
-	/* EEE status on negotiated link */
-	if (ipcnfg & E1000_IPCNFG_EEE_1G_AN)
-		edata->advertised = ADVERTISED_1000baseT_Full;
+		/* EEE status on negotiated link */
+		if (eeer & E1000_EEER_EEE_NEG)
+			edata->eee_active = true;
 
-	if (ipcnfg & E1000_IPCNFG_EEE_100M_AN)
-		edata->advertised |= ADVERTISED_100baseT_Full;
+		if (eeer & E1000_EEER_TX_LPI_EN)
+			edata->tx_lpi_enabled = true;
+	}
 
 	/* EEE Link Partner Advertised */
 	switch (hw->mac.type) {
@@ -2616,8 +2625,8 @@ static int igb_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
 			return -ENODATA;
 
 		edata->lp_advertised = mmd_eee_adv_to_ethtool_adv_t(phy_data);
-
 		break;
+	case e1000_i354:
 	case e1000_i210:
 	case e1000_i211:
 		ret_val = igb_read_xmdio_reg(hw, E1000_EEE_LP_ADV_ADDR_I210,
@@ -2633,12 +2642,10 @@ static int igb_get_eee(struct net_device *netdev, struct ethtool_eee *edata)
 		break;
 	}
 
-	if (eeer & E1000_EEER_EEE_NEG)
-		edata->eee_active = true;
-
 	edata->eee_enabled = !hw->dev_spec._82575.eee_disable;
 
-	if (eeer & E1000_EEER_TX_LPI_EN)
+	if ((hw->mac.type == e1000_i354) &&
+	    (edata->eee_enabled))
 		edata->tx_lpi_enabled = true;
 
 	/* Report correct negotiated EEE status for devices that
@@ -2686,9 +2693,10 @@ static int igb_set_eee(struct net_device *netdev,
 			return -EINVAL;
 		}
 
-		if (eee_curr.advertised != edata->advertised) {
+		if (edata->advertised &
+		    ~(ADVERTISE_100_FULL | ADVERTISE_1000_FULL)) {
 			dev_err(&adapter->pdev->dev,
-				"Setting EEE Advertisement is not supported\n");
+				"EEE Advertisement supports only 100Tx and or 100T full duplex\n");
 			return -EINVAL;
 		}
 
@@ -2698,9 +2706,14 @@ static int igb_set_eee(struct net_device *netdev,
 			return -EINVAL;
 		}
 
+	adapter->eee_advert = ethtool_adv_to_mmd_eee_adv_t(edata->advertised);
 	if (hw->dev_spec._82575.eee_disable != !edata->eee_enabled) {
 		hw->dev_spec._82575.eee_disable = !edata->eee_enabled;
-		igb_set_eee_i350(hw);
+		adapter->flags |= IGB_FLAG_EEE;
+		if (hw->mac.type == e1000_i350)
+			igb_set_eee_i350(hw);
+		else
+			igb_set_eee_i354(hw);
 
 		/* reset link */
 		if (netif_running(netdev))
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index a96beb6..340a344 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -1726,6 +1726,10 @@ int igb_up(struct igb_adapter *adapter)
 	hw->mac.get_link_status = 1;
 	schedule_work(&adapter->watchdog_task);
 
+	if ((adapter->flags & IGB_FLAG_EEE) &&
+	    (!hw->dev_spec._82575.eee_disable))
+		adapter->eee_advert = MDIO_EEE_100TX | MDIO_EEE_1000T;
+
 	return 0;
 }
 
@@ -1974,6 +1978,21 @@ void igb_reset(struct igb_adapter *adapter)
 		}
 	}
 #endif
+	/*Re-establish EEE setting */
+	if (hw->phy.media_type == e1000_media_type_copper) {
+		switch (mac->type) {
+		case e1000_i350:
+		case e1000_i210:
+		case e1000_i211:
+			igb_set_eee_i350(hw);
+			break;
+		case e1000_i354:
+			igb_set_eee_i354(hw);
+			break;
+		default:
+			break;
+		}
+	}
 	if (!netif_running(adapter->netdev))
 		igb_power_down_link(adapter);
 
@@ -2560,23 +2579,36 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		(adapter->flags & IGB_FLAG_HAS_MSIX) ? "MSI-X" :
 		(adapter->flags & IGB_FLAG_HAS_MSI) ? "MSI" : "legacy",
 		adapter->num_rx_queues, adapter->num_tx_queues);
-	switch (hw->mac.type) {
-	case e1000_i350:
-	case e1000_i210:
-	case e1000_i211:
-		igb_set_eee_i350(hw);
-		break;
-	case e1000_i354:
-		if (hw->phy.media_type == e1000_media_type_copper) {
+	if (hw->phy.media_type == e1000_media_type_copper) {
+		switch (hw->mac.type) {
+		case e1000_i350:
+		case e1000_i210:
+		case e1000_i211:
+			/* Enable EEE for internal copper PHY devices */
+			err = igb_set_eee_i350(hw);
+			if ((!err) &&
+			    (!hw->dev_spec._82575.eee_disable)) {
+				adapter->eee_advert =
+					MDIO_EEE_100TX | MDIO_EEE_1000T;
+				adapter->flags |= IGB_FLAG_EEE;
+			}
+			break;
+		case e1000_i354:
 			if ((rd32(E1000_CTRL_EXT) &
-			    E1000_CTRL_EXT_LINK_MODE_SGMII))
-				igb_set_eee_i354(hw);
+			    E1000_CTRL_EXT_LINK_MODE_SGMII)) {
+				err = igb_set_eee_i354(hw);
+				if ((!err) &&
+					(!hw->dev_spec._82575.eee_disable)) {
+					adapter->eee_advert =
+					   MDIO_EEE_100TX | MDIO_EEE_1000T;
+					adapter->flags |= IGB_FLAG_EEE;
+				}
+			}
+			break;
+		default:
+			break;
 		}
-		break;
-	default:
-		break;
 	}
-
 	pm_runtime_put_noidle(&pdev->dev);
 	return 0;
 
@@ -4158,6 +4190,15 @@ static void igb_watchdog_task(struct work_struct *work)
 			       (ctrl & E1000_CTRL_RFCE) ?  "RX" :
 			       (ctrl & E1000_CTRL_TFCE) ?  "TX" : "None");
 
+			/* disable EEE if enabled */
+			if ((adapter->flags & IGB_FLAG_EEE) &&
+				(adapter->link_duplex == HALF_DUPLEX)) {
+				dev_info(&adapter->pdev->dev,
+				"EEE Disabled: unsupported at half duplex. Re-enable using ethtool when at full duplex.\n");
+				adapter->hw.dev_spec._82575.eee_disable = true;
+				adapter->flags &= ~IGB_FLAG_EEE;
+			}
+
 			/* check if SmartSpeed worked */
 			igb_check_downshift(hw);
 			if (phy->speed_downgraded)
-- 
1.8.3.1

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

* [net-next 04/13] igb: Add debugfs skeleton
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (2 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 03/13] igb: Fix for devices using ethtool for EEE settings Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 05/13] igb: Add support for debugfs Jeff Kirsher
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Josh Hay, Jeff Kirsher

From: Carolyn Wyborny <carolyn.wyborny@intel.com>

This patch adds the basic init and exit functions for debugfs.

Signed-off-by: Josh Hay <hayja@mail.uc.edu>
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/Makefile      |  2 +-
 drivers/net/ethernet/intel/igb/igb.h         | 15 +++++++
 drivers/net/ethernet/intel/igb/igb_debugfs.c | 64 ++++++++++++++++++++++++++++
 drivers/net/ethernet/intel/igb/igb_main.c    |  8 ++++
 4 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 drivers/net/ethernet/intel/igb/igb_debugfs.c

diff --git a/drivers/net/ethernet/intel/igb/Makefile b/drivers/net/ethernet/intel/igb/Makefile
index 5bcb2de..9336024 100644
--- a/drivers/net/ethernet/intel/igb/Makefile
+++ b/drivers/net/ethernet/intel/igb/Makefile
@@ -33,4 +33,4 @@ obj-$(CONFIG_IGB) += igb.o
 
 igb-objs := igb_main.o igb_ethtool.o e1000_82575.o \
 	    e1000_mac.o e1000_nvm.o e1000_phy.o e1000_mbx.o \
-	    e1000_i210.o igb_ptp.o igb_hwmon.o
+	    e1000_i210.o igb_ptp.o igb_hwmon.o igb_debugfs.o
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index a202c96..68b32d4a 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -457,6 +457,9 @@ struct igb_adapter {
 	int copper_tries;
 	struct e1000_info ei;
 	u16 eee_advert;
+#ifdef CONFIG_DEBUG_FS
+	struct dentry *igb_dbg_adapter;
+#endif /* CONFIG_DEBUG_FS */
 };
 
 #define IGB_FLAG_HAS_MSI		(1 << 0)
@@ -588,4 +591,16 @@ static inline struct netdev_queue *txring_txq(const struct igb_ring *tx_ring)
 	return netdev_get_tx_queue(tx_ring->netdev, tx_ring->queue_index);
 }
 
+#ifdef CONFIG_DEBUG_FS
+extern void igb_dbg_adapter_init(struct igb_adapter *adapter);
+extern void igb_dbg_adapter_exit(struct igb_adapter *adapter);
+extern void igb_dbg_init(void);
+extern void igb_dbg_exit(void);
+#else
+static inline void igb_dbg_adapter_init(struct igb_adapter *adapter) {}
+static inline void igb_dbg_adapter_exit(struct igb_adapter *adapter) {}
+static inline void igb_dbg_init(void) {}
+static inline void igb_dbg_exit(void) {}
+#endif /* CONFIG_DEBUG_FS */
+
 #endif /* _IGB_H_ */
diff --git a/drivers/net/ethernet/intel/igb/igb_debugfs.c b/drivers/net/ethernet/intel/igb/igb_debugfs.c
new file mode 100644
index 0000000..c38dd13
--- /dev/null
+++ b/drivers/net/ethernet/intel/igb/igb_debugfs.c
@@ -0,0 +1,64 @@
+/*******************************************************************************
+
+  Intel(R) Gigabit Ethernet Linux driver
+  Copyright(c) 2007-2014 Intel Corporation.
+
+  This program is free software; you can redistribute it and/or modify it
+  under the terms and conditions of the GNU General Public License,
+  version 2, as published by the Free Software Foundation.
+
+  This program is distributed in the hope it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+  more details.
+
+  You should have received a copy of the GNU General Public License along
+  with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+  The full GNU General Public License is included in this distribution in
+  the file called "COPYING".
+
+  Contact Information:
+  e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
+  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
+
+*******************************************************************************/
+#include <linux/fs.h>
+#include <linux/debugfs.h>
+#include <linux/pci.h>
+
+#include "igb.h"
+
+static struct dentry *igb_dbg_root;
+
+/**
+ * igb_dbp_adapter_init - setup the debugfs directory for the adapter
+ * @adapter: the adapter that is starting up
+ **/
+void igb_dbg_adapter_init(struct igb_adapter *adapter)
+{
+	const char *name = pci_name(adapter->pdev);
+
+	adapter->igb_dbg_adapter = debugfs_create_dir(name, igb_dbg_root);
+	if (!adapter->igb_dbg_adapter)
+		dev_err(&adapter->pdev->dev,
+			"debugfs entry for %s failed\n", name);
+}
+
+/**
+ * igb_dbg_init - start up debugfs for the driver
+ **/
+void igb_dbg_init(void)
+{
+	igb_dbg_root = debugfs_create_dir(igb_driver_name, NULL);
+	if (igb_dbg_root == NULL)
+		pr_err("debugfs init failed\n");
+}
+
+/**
+ * igb_dbg_exit - clean out the driver's debugfs entries
+ **/
+void igb_dbg_exit(void)
+{
+	debugfs_remove_recursive(igb_dbg_root);
+}
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 340a344..a709caf 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -686,10 +686,15 @@ static int __init igb_init_module(void)
 
 	pr_info("%s\n", igb_copyright);
 
+	igb_dbg_init();
+
 #ifdef CONFIG_IGB_DCA
 	dca_register_notify(&dca_notifier);
 #endif
 	ret = pci_register_driver(&igb_driver);
+	if (ret < 0)
+		igb_dbg_exit();
+
 	return ret;
 }
 
@@ -703,6 +708,8 @@ module_init(igb_init_module);
  **/
 static void __exit igb_exit_module(void)
 {
+	igb_dbg_exit();
+
 #ifdef CONFIG_IGB_DCA
 	dca_unregister_notify(&dca_notifier);
 #endif
@@ -2609,6 +2616,7 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 			break;
 		}
 	}
+	igb_dbg_adapter_init(adapter);
 	pm_runtime_put_noidle(&pdev->dev);
 	return 0;
 
-- 
1.8.3.1

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

* [net-next 05/13] igb: Add support for debugfs
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (3 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 04/13] igb: Add debugfs skeleton Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12 15:57   ` Or Gerlitz
  2014-03-12  5:53 ` [net-next 06/13] igb: Add debugfs command/register read and write functionality Jeff Kirsher
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Josh Hay, Jeff Kirsher

From: Carolyn Wyborny <carolyn.wyborny@intel.com>

This patch adds the necessary defines, variables, and stats updating
procedures to use the commands implemented in debugfs.

Signed-off-by: Josh Hay <hayja@mail.uc.edu>
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.h   | 12 +++++++
 drivers/net/ethernet/intel/igb/e1000_defines.h |  4 ++-
 drivers/net/ethernet/intel/igb/e1000_regs.h    |  2 ++
 drivers/net/ethernet/intel/igb/igb.h           | 15 +++++++++
 drivers/net/ethernet/intel/igb/igb_main.c      | 45 ++++++++++++++++++++++++++
 5 files changed, 77 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.h b/drivers/net/ethernet/intel/igb/e1000_82575.h
index 2a721a1..806e730 100644
--- a/drivers/net/ethernet/intel/igb/e1000_82575.h
+++ b/drivers/net/ethernet/intel/igb/e1000_82575.h
@@ -116,6 +116,18 @@ union e1000_adv_rx_desc {
 #define E1000_RXDADV_STAT_TS             0x10000 /* Pkt was time stamped */
 #define E1000_RXDADV_STAT_TSIP           0x08000 /* timestamp in packet */
 
+#define E1000_RXDADV_PKTTYPE_ILMASK	0x00F0
+#define E1000_RXDADV_PKTTYPE_TLMASK	0x0F00
+#define E1000_RXDADV_PKTTYPE_NONE	0x0000
+#define E1000_RXDADV_PKTTYPE_IPV4	0x0010 /* IPV4 hdr present */
+#define E1000_RXDADV_PKTTYPE_IPV4_EX	0x0020 /* IPV4 hdr + extensions */
+#define E1000_RXDADV_PKTTYPE_IPV6	0x0040 /* IPV6 hdr present */
+#define E1000_RXDADV_PKTTYPE_IPV6_EX	0x0080 /* IPV6 + extensions */
+#define E1000_RXDADV_PKTTYPE_TCP	0x0100 /* TCP hdr present */
+#define E1000_RXDADV_PKTTYPE_UDP	0x0200 /* UDP hdr present */
+#define E1000_RXDADV_PKTTYPE_SCTP	0x0400 /* SCTP hdr present */
+#define E1000_RXDADV_PKTTYPE_NFS	0x0800 /* NDS hdr present */
+
 /* Transmit Descriptor - Advanced */
 union e1000_adv_tx_desc {
 	struct {
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h
index 393c896..59303ef 100644
--- a/drivers/net/ethernet/intel/igb/e1000_defines.h
+++ b/drivers/net/ethernet/intel/igb/e1000_defines.h
@@ -430,7 +430,7 @@
 /* Extended Interrupt Cause Set */
 /* E1000_EITR_CNT_IGNR is only for 82576 and newer */
 #define E1000_EITR_CNT_IGNR     0x80000000 /* Don't reset counters on write */
-
+#define E1000_EITR_INTERVAL	0x00007FFC
 
 /* Transmit Descriptor Control */
 /* Enable the counting of descriptors still to be processed. */
@@ -920,6 +920,8 @@
 #define E1000_EEER_LPI_FC            0x00040000  /* EEE Enable on FC */
 #define E1000_EEE_SU_LPI_CLK_STP     0X00800000  /* EEE LPI Clock Stop */
 #define E1000_EEER_EEE_NEG           0x20000000  /* EEE capability nego */
+#define E1000_EEER_RX_LPI_STATUS     0x40000000  /* RX in LPI state */
+#define E1000_EEER_TX_LPI_STATUS     0x80000000  /* TX in LPI state */
 #define E1000_EEE_LP_ADV_ADDR_I350   0x040F      /* EEE LP Advertisement */
 #define E1000_EEE_LP_ADV_DEV_I210    7           /* EEE LP Adv Device */
 #define E1000_EEE_LP_ADV_ADDR_I210   61          /* EEE LP Adv Register */
diff --git a/drivers/net/ethernet/intel/igb/e1000_regs.h b/drivers/net/ethernet/intel/igb/e1000_regs.h
index abdd935..7e17181 100644
--- a/drivers/net/ethernet/intel/igb/e1000_regs.h
+++ b/drivers/net/ethernet/intel/igb/e1000_regs.h
@@ -368,6 +368,8 @@
 #define E1000_IPCNFG	0x0E38 /* Internal PHY Configuration */
 #define E1000_EEER	0x0E30 /* Energy Efficient Ethernet */
 #define E1000_EEE_SU	0X0E34 /* EEE Setup */
+#define E1000_TLPIC	0x4148 /* EEE TX LPI count */
+#define E1000_RLPIC	0x414C /* EEE RX LPI count */
 #define E1000_EMIADD	0x10   /* Extended Memory Indirect Address */
 #define E1000_EMIDATA	0x11   /* Extended Memory Indirect Data */
 #define E1000_MMDAC	13     /* MMD Access Control */
diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h
index 68b32d4a..a8c4fca 100644
--- a/drivers/net/ethernet/intel/igb/igb.h
+++ b/drivers/net/ethernet/intel/igb/igb.h
@@ -224,6 +224,18 @@ struct igb_rx_queue_stats {
 	u64 alloc_failed;
 };
 
+struct igb_rx_pkt_stats {
+	u64 ipv4_packets;		/* IPv4 headers processed */
+	u64 ipv4e_packets;		/* IPv4E headers processed */
+	u64 ipv6_packets;		/* IPv6 headers processed */
+	u64 ipv6e_packets;		/* IPv6e headers processed */
+	u64 tcp_packets;		/* TCP headers processed */
+	u64 udp_packets;		/* UDP headers processed */
+	u64 sctp_packets;		/* SCTP headers processed */
+	u64 nfs_packets;		/* NFS headers processed */
+	u64 other_packets;
+};
+
 struct igb_ring_container {
 	struct igb_ring *ring;		/* pointer to linked list of rings */
 	unsigned int total_bytes;	/* total bytes processed this int */
@@ -268,6 +280,7 @@ struct igb_ring {
 		struct {
 			struct sk_buff *skb;
 			struct igb_rx_queue_stats rx_stats;
+			struct igb_rx_pkt_stats pkt_stats;
 			struct u64_stats_sync rx_syncp;
 		};
 	};
@@ -460,6 +473,8 @@ struct igb_adapter {
 #ifdef CONFIG_DEBUG_FS
 	struct dentry *igb_dbg_adapter;
 #endif /* CONFIG_DEBUG_FS */
+
+	int devrc;
 };
 
 #define IGB_FLAG_HAS_MSI		(1 << 0)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index a709caf..6cc9487 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2012,6 +2012,8 @@ void igb_reset(struct igb_adapter *adapter)
 	igb_ptp_reset(adapter);
 
 	igb_get_phy_info(hw);
+
+	adapter->devrc++;
 }
 
 static netdev_features_t igb_fix_features(struct net_device *netdev,
@@ -2498,6 +2500,7 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	/* reset the hardware with the new settings */
 	igb_reset(adapter);
+	adapter->devrc = 0;
 
 	/* Init the I2C interface */
 	err = igb_init_i2c(adapter);
@@ -6923,11 +6926,53 @@ static void igb_process_skb_fields(struct igb_ring *rx_ring,
 				   struct sk_buff *skb)
 {
 	struct net_device *dev = rx_ring->netdev;
+	__le16 pkt_info = rx_desc->wb.lower.lo_dword.pkt_info;
+	bool other = false;
 
 	igb_rx_hash(rx_ring, rx_desc, skb);
 
 	igb_rx_checksum(rx_ring, rx_desc, skb);
 
+	switch (pkt_info & E1000_RXDADV_PKTTYPE_ILMASK) {
+	case E1000_RXDADV_PKTTYPE_IPV4:
+		rx_ring->pkt_stats.ipv4_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_IPV4_EX:
+		rx_ring->pkt_stats.ipv4e_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_IPV6:
+		rx_ring->pkt_stats.ipv6_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_IPV6_EX:
+		rx_ring->pkt_stats.ipv6e_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_NONE:
+		other = true;
+	default:
+		break;
+	}
+
+	switch (pkt_info & E1000_RXDADV_PKTTYPE_TLMASK) {
+	case E1000_RXDADV_PKTTYPE_TCP:
+		rx_ring->pkt_stats.tcp_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_UDP:
+		rx_ring->pkt_stats.udp_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_SCTP:
+		rx_ring->pkt_stats.sctp_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_NFS:
+		rx_ring->pkt_stats.nfs_packets++;
+		break;
+	case E1000_RXDADV_PKTTYPE_NONE:
+		if (other)
+			rx_ring->pkt_stats.other_packets++;
+		break;
+	default:
+		break;
+	}
+
 	igb_ptp_rx_hwtstamp(rx_ring, rx_desc, skb);
 
 	if ((dev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
-- 
1.8.3.1

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

* [net-next 06/13] igb: Add debugfs command/register read and write functionality
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (4 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 05/13] igb: Add support for debugfs Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 07/13] net: ixgbe calls skb_set_hash Jeff Kirsher
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Josh Hay, Jeff Kirsher

From: Carolyn Wyborny <carolyn.wyborny@intel.com>

This patch adds the functions to implement custom commands for debugfs.

Signed-off-by: Josh Hay <hayja@mail.uc.edu>
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/igb_debugfs.c | 647 ++++++++++++++++++++++++++-
 1 file changed, 645 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/igb/igb_debugfs.c b/drivers/net/ethernet/intel/igb/igb_debugfs.c
index c38dd13..21e1879 100644
--- a/drivers/net/ethernet/intel/igb/igb_debugfs.c
+++ b/drivers/net/ethernet/intel/igb/igb_debugfs.c
@@ -31,6 +31,631 @@
 
 static struct dentry *igb_dbg_root;
 
+#define BUF_SIZE 256
+
+#define ASPMS_L1    2
+#define ASPMS_L0S   1
+#define ASPMS_NONE  0
+#define ASPMS_L1L0S (ASPMS_L1 | ASPMS_L0S)
+
+static char igb_dbg_reg_ops_buf[BUF_SIZE];
+static char igb_dbg_cmd_buf[BUF_SIZE];
+u32 txlpic;
+u32 rxlpic;
+
+/**
+ * igb_dbg_reg_ops_read - read from reg_ops datum
+ * @filep: the opened file
+ * @buffer: where to write the data for the user to read
+ * @count: size of the user's buffer
+ * @ppos: file position offset
+ **/
+static ssize_t igb_dbg_reg_ops_read(struct file *filep, char __user *buffer,
+				    size_t count, loff_t *ppos)
+{
+	struct igb_adapter *adapter = filep->private_data;
+	char *buf;
+	int len;
+
+	/* don't allow partial reads */
+	if (*ppos != 0)
+		return 0;
+
+	buf = kasprintf(GFP_KERNEL, "%s: %s\n", adapter->netdev->name,
+			igb_dbg_reg_ops_buf);
+	if (!buf)
+		return -ENOMEM;
+
+	if (count < strlen(buf)) {
+		kfree(buf);
+		return -ENOSPC;
+	}
+
+	len = simple_read_from_buffer(buffer, count, ppos, buf, strlen(buf));
+
+	kfree(buf);
+	return len;
+}
+
+/**
+ * igb_dbg_reg_ops write - write into reg_ops datum
+ * @filep: the opened file
+ * @buffer: where to write the data for the user to read
+ * @count: size of the user's buffer
+ * @ppos: file position offset
+ **/
+static ssize_t igb_dbg_reg_ops_write(struct file *filep,
+				     const char __user *buffer,
+				     size_t count, loff_t *ppos)
+{
+	struct igb_adapter *adapter = filep->private_data;
+	struct e1000_hw *hw = &adapter->hw;
+	int len;
+
+	/* don't allow partial writes */
+	if (*ppos != 0)
+		return 0;
+
+	if (count >= sizeof(igb_dbg_reg_ops_buf))
+		return -ENOSPC;
+
+	len = simple_write_to_buffer(igb_dbg_reg_ops_buf,
+				     sizeof(igb_dbg_reg_ops_buf) - 1,
+				     ppos, buffer, count);
+	if (len < 0)
+		return len;
+
+	igb_dbg_reg_ops_buf[len] = '\0';
+
+	if (strncmp(igb_dbg_reg_ops_buf, "write", 5) == 0) {
+		u32 reg, value;
+		int cnt;
+
+		cnt = sscanf(&igb_dbg_reg_ops_buf[5], "%x %x", &reg, &value);
+		if (cnt == 2) {
+			wr32(reg, value);
+			value = rd32(reg);
+			dev_info(&adapter->pdev->dev,
+				 "write: 0x%08x = 0x%08x\n",
+				 reg, value);
+		} else {
+			dev_info(&adapter->pdev->dev,
+				 "write: <reg> <value>\n");
+		}
+	} else if (strncmp(igb_dbg_reg_ops_buf, "read", 4) == 0) {
+		u32 reg, value;
+		int cnt;
+
+		cnt = sscanf(&igb_dbg_reg_ops_buf[4], "%x", &reg);
+		if (cnt == 1) {
+			value = rd32(reg);
+			dev_info(&adapter->pdev->dev,
+				 "read 0x%08x = 0x%08x\n",
+				 reg, value);
+		} else {
+			dev_info(&adapter->pdev->dev, "read <reg>\n");
+		}
+	} else {
+		dev_info(&adapter->pdev->dev, "Unknown command %s\n",
+			 igb_dbg_reg_ops_buf);
+		dev_info(&adapter->pdev->dev,
+			 "Available commands:\n");
+		dev_info(&adapter->pdev->dev, "\tread <reg>\n");
+		dev_info(&adapter->pdev->dev,
+			 "\twrite <reg> <value>\n");
+	}
+
+	return count;
+}
+
+static const struct file_operations igb_dbg_reg_ops_fops = {
+	.owner = THIS_MODULE,
+	.open = simple_open,
+	.read = igb_dbg_reg_ops_read,
+	.write = igb_dbg_reg_ops_write,
+};
+
+/**
+ * igb_dbg_show_usage - print list of available commands
+ * @pdev - pci_dev associated with
+ **/
+static void igb_dbg_show_usage(struct pci_dev *pdev)
+{
+	dev_info(&pdev->dev,
+		 "unknown command '%s'\n", igb_dbg_cmd_buf);
+	dev_info(&pdev->dev, "available commands:\n");
+	dev_info(&pdev->dev, "  query aspm support\n");
+	dev_info(&pdev->dev, "  query aspm status\n");
+	dev_info(&pdev->dev, "  aspm set <disable|L1|L0sL1>\n");
+	dev_info(&pdev->dev, "  query rx csum ofls\n");
+	dev_info(&pdev->dev, "  %s %s\n",
+		 "rx csum ofls <enable|disable>",
+		 "<all|[IPV4] [TCPUDP] [SCTP]>");
+	dev_info(&pdev->dev, "  dump rx packet stats\n");
+	dev_info(&pdev->dev, "  query eee\n");
+	dev_info(&pdev->dev, "  dump eee stats\n");
+	dev_info(&pdev->dev, "  dump itr\n");
+	dev_info(&pdev->dev, "  dump reset stats\n");
+	dev_info(&pdev->dev, "  reset stats\n");
+}
+
+/**
+ * igb_dbg_find_pcicap_reg - find the offset of the PCIe configuration
+ * register in the PCIe configuration header capabilities linked list
+ * @adapter - the igb_adapter created in command write
+ * @reg_name - name of the capability register in the PCIe config header
+ **/
+static u8 igb_dbg_find_pcicap_reg(struct igb_adapter *adapter, u8 reg_name)
+{
+	u8 cap_ptr = PCI_CAPABILITY_LIST;
+	u8 cap_id;
+	int ret;
+
+	ret = pci_read_config_byte(adapter->pdev, cap_ptr, &cap_ptr);
+	if (ret < 0) {
+		dev_err(&adapter->pdev->dev,
+			"Failed to read PCI capabilities list register.\n");
+		return ret;
+	}
+
+	while (cap_ptr != 0x00) {
+		ret = pci_read_config_byte(adapter->pdev, cap_ptr, &cap_id);
+		if (ret < 0) {
+			dev_err(&adapter->pdev->dev,
+				"Failed to read PCI capabilities ID reg.\n");
+			return ret;
+		}
+
+		if (cap_id == reg_name)
+			return cap_ptr;
+
+		ret = pci_read_config_byte(adapter->pdev,
+					   cap_ptr+PCI_CAP_LIST_NEXT, &cap_ptr);
+		if (ret < 0) {
+			dev_err(&adapter->pdev->dev,
+				"Failed to read PCI capabilities next reg\n");
+			return ret;
+		}
+	}
+
+	dev_err(&adapter->pdev->dev,
+		"PCI capability not supported.\n");
+
+	return 0;
+}
+
+static u8 igb_dbg_get_aspm_support(struct igb_adapter *adapter)
+{
+	u8 support;
+	u8 cap_offset;
+	u32 link_cap;
+	int ret;
+
+	cap_offset = igb_dbg_find_pcicap_reg(adapter, PCI_CAP_ID_EXP);
+
+	if (cap_offset <= 0)
+		return 0;
+
+	ret = pci_read_config_dword(adapter->pdev,
+				    cap_offset + PCI_EXP_LNKCAP,
+				    &link_cap);
+	if (ret < 0) {
+		dev_err(&adapter->pdev->dev,
+			"Failed to read PCI LinkCap register.\n");
+		return 0;
+	}
+
+	switch (link_cap & PCI_EXP_LNKCAP_ASPMS) {
+	case PCI_EXP_LNKCAP_ASPMS:
+		support = ASPMS_L1L0S;
+		break;
+	case (PCI_EXP_LNKCAP_ASPMS - ASPMS_L0S):
+		support = ASPMS_L1;
+		break;
+	case (PCI_EXP_LNKCAP_ASPMS - ASPMS_L1):
+		dev_err(&adapter->pdev->dev,
+			"Unable to set L0s support alone.\n");
+		support = ASPMS_L1L0S;
+		break;
+	case (PCI_EXP_LNKCAP_ASPMS - ASPMS_L1L0S):
+	default:
+		support = ASPMS_NONE;
+		break;
+	}
+
+	return support;
+}
+
+static void igb_dbg_parse_aspm_cmd(struct igb_adapter *adapter)
+{
+	struct pci_dev *pdev = adapter->pdev;
+	u8 cap_offset;
+	int ret;
+	u8 aspm_support;
+	u16 val;
+
+	cap_offset = igb_dbg_find_pcicap_reg(adapter, PCI_CAP_ID_EXP);
+	if (cap_offset <= 0)
+		return;
+
+	if (strncmp(&igb_dbg_cmd_buf[11], "support", 7) == 0) {
+		aspm_support = igb_dbg_get_aspm_support(adapter);
+		switch (aspm_support) {
+		case ASPMS_L1L0S:
+			dev_info(&adapter->pdev->dev,
+				 "ASPM Support: L0s/L1\n");
+			break;
+		case ASPMS_L1:
+			dev_info(&adapter->pdev->dev, "ASPM Support: L1\n");
+			break;
+		case ASPMS_L0S:
+			dev_info(&adapter->pdev->dev, "ASPM Support: Invalid\n");
+			break;
+		case ASPMS_NONE:
+		default:
+			dev_info(&adapter->pdev->dev, "ASPM Support: Unknown\n");
+			break;
+		}
+	} else if (strncmp(&igb_dbg_cmd_buf[11], "status", 6) == 0) {
+		ret = pci_read_config_word(pdev, cap_offset + PCI_EXP_LNKCTL,
+					   &val);
+		if (ret < 0) {
+			dev_err(&adapter->pdev->dev,
+				"Failed to read PCI config header\n");
+			return;
+		}
+		switch (val) {
+		case ASPMS_L1L0S:
+			dev_info(&adapter->pdev->dev,
+				 "ASPM Status: L0s/L1\n");
+			break;
+		case ASPMS_L1:
+			dev_info(&adapter->pdev->dev, "ASPM Status: L1\n");
+			break;
+		case ASPMS_L0S:
+			dev_info(&adapter->pdev->dev, "ASPM Status: Invalid\n");
+			break;
+		case ASPMS_NONE:
+		default:
+			dev_info(&adapter->pdev->dev, "ASPM Status: Disabled\n");
+			break;
+		}
+	} else if (strncmp(&igb_dbg_cmd_buf[5], "set", 3) == 0) {
+		aspm_support = igb_dbg_get_aspm_support(adapter);
+		if (strncmp(&igb_dbg_cmd_buf[9], "L0sL1", 5) == 0) {
+			if (!(aspm_support & ASPMS_L1L0S)) {
+				dev_info(&adapter->pdev->dev,
+					 "L0sL1 ASPM not supported\n");
+				return;
+			}
+			val = ASPMS_L1L0S;
+			dev_info(&adapter->pdev->dev, "Enabling ASPM L0sL1\n");
+		} else if (strncmp(&igb_dbg_cmd_buf[9], "L1", 2) == 0) {
+			if (!(aspm_support & ASPMS_L1)) {
+				dev_info(&adapter->pdev->dev,
+					 "ASPM L1 not supported\n");
+				return;
+			}
+			val = ASPMS_L1;
+			dev_info(&adapter->pdev->dev, "Enabling L1 ASPM\n");
+		} else if (strncmp(&igb_dbg_cmd_buf[9], "disable", 7) == 0) {
+			val = (PCI_EXP_LNKCTL_ASPMC - ASPMS_L1L0S);
+			dev_info(&adapter->pdev->dev, "Disabling ASPM\n");
+		} else {
+			igb_dbg_show_usage(pdev);
+			return;
+		}
+		ret = pci_write_config_word(pdev, cap_offset + PCI_EXP_LNKCTL,
+					    val);
+		if (ret < 0)
+			dev_err(&adapter->pdev->dev,
+				"Error writing PCI config header\n");
+	} else {
+		igb_dbg_show_usage(pdev);
+	}
+}
+
+static void igb_dbg_set_rx_csum(struct igb_adapter *adapter)
+{
+	struct e1000_hw *hw = &adapter->hw;
+	u32 rxcsum = 0;
+	int cnt, i, cmd_ind;
+	char buf[5][6];
+	bool enable;
+
+	if (strncmp(&igb_dbg_cmd_buf[13], "enable", 6) == 0) {
+		enable = 1;
+		cmd_ind = 17;
+	} else if (strncmp(&igb_dbg_cmd_buf[13], "disable", 7) == 0) {
+		enable = 0;
+		cmd_ind = 18;
+	} else {
+		goto invalid_cmd;
+	}
+
+	cnt = sscanf(&igb_dbg_cmd_buf[cmd_ind], "%s %s %s %s %s",
+		     buf[0], buf[1], buf[2], buf[3], buf[4]);
+
+	if (cnt == 0)
+		goto invalid_cmd;
+
+	rxcsum = rd32(E1000_RXCSUM);
+	for (i = 0; i < cnt; i++) {
+		if (strncmp(buf[i], "IPV4", 4) == 0) {
+			if (enable)
+				rxcsum |= E1000_RXCSUM_IPOFL;
+			else
+				rxcsum &= ~E1000_RXCSUM_IPOFL;
+		} else if (strncmp(buf[i], "TCPUDP", 6) == 0) {
+			if (enable)
+				rxcsum |= E1000_RXCSUM_TUOFL;
+			else
+				rxcsum &= ~E1000_RXCSUM_TUOFL;
+		} else if (strncmp(buf[i], "SCTP", 4) == 0) {
+			if (enable)
+				rxcsum |= E1000_RXCSUM_CRCOFL;
+			else
+				rxcsum &= ~E1000_RXCSUM_CRCOFL;
+		} else if (strncmp(buf[i], "all", 3) == 0) {
+			if (enable) {
+				rxcsum |= (E1000_RXCSUM_IPOFL |
+					   E1000_RXCSUM_TUOFL |
+					   E1000_RXCSUM_CRCOFL);
+			} else {
+				rxcsum &= ~(E1000_RXCSUM_IPOFL |
+					    E1000_RXCSUM_TUOFL |
+					    E1000_RXCSUM_CRCOFL);
+			}
+
+			break;
+		}
+	}
+	dev_info(&adapter->pdev->dev,
+		 "Setting checksum offloads: 0x%08X\n", rxcsum);
+	wr32(E1000_RXCSUM, rxcsum);
+
+	return;
+
+invalid_cmd:
+	igb_dbg_show_usage(adapter->pdev);
+}
+
+/**
+ * igb_dbg_command_read - read for command datum
+ * @filep: the opened file
+ * @buffer: where to write the data for the user to read
+ * @count: the size of the user's buffer
+ * @ppos: file position offset
+ **/
+static ssize_t igb_dbg_command_read(struct file *filep, char __user *buffer,
+				    size_t count, loff_t *ppos)
+{
+	struct igb_adapter *adapter = filep->private_data;
+	char *buf;
+	int len;
+
+	memset(igb_dbg_cmd_buf, 0, BUF_SIZE);
+
+	/* don't allow partial reads */
+	if (*ppos != 0)
+		return 0;
+
+	buf = kasprintf(GFP_KERNEL, "%s: %s\n", adapter->netdev->name,
+			igb_dbg_cmd_buf);
+	if (!buf)
+		return -ENOMEM;
+
+	if (count < strlen(buf)) {
+		kfree(buf);
+		return -ENOSPC;
+	}
+
+	len = simple_read_from_buffer(buffer, count, ppos, buf, strlen(buf));
+
+	kfree(buf);
+
+	return len;
+}
+
+/**
+ * igb_dbg_command_write - write into command datum
+ * @filep: the opened file
+ * @buffer: where to find the user's data
+ * @count: the length of the user's data
+ * @ppos: file position offset
+**/
+static ssize_t igb_dbg_command_write(struct file *filep,
+				     const char __user *buffer,
+				     size_t count, loff_t *ppos)
+{
+	struct igb_adapter *adapter = filep->private_data;
+	struct pci_dev *pdev = adapter->pdev;
+	int len;
+
+	memset(igb_dbg_cmd_buf, 0, BUF_SIZE);
+
+	/* don't allow partial writes */
+	if (*ppos != 0)
+		return 0;
+
+	if (count >= sizeof(igb_dbg_cmd_buf))
+		return -ENOSPC;
+
+	len = simple_write_to_buffer(igb_dbg_cmd_buf,
+				     sizeof(igb_dbg_cmd_buf) - 1,
+				     ppos, buffer, count);
+
+	if (len < 0)
+		return len;
+
+	igb_dbg_cmd_buf[len-1] = '\0';
+
+	if ((strncmp(igb_dbg_cmd_buf, "query aspm", 10) == 0) ||
+	    (strncmp(igb_dbg_cmd_buf, "aspm set", 8) == 0)) {
+		igb_dbg_parse_aspm_cmd(adapter);
+	} else if (strncmp(igb_dbg_cmd_buf, "query rx csum ofls", 18) == 0) {
+		u32 rxcsum;
+		struct e1000_hw *hw = &adapter->hw;
+		char *status[2] = {"disabled", "enabled"};
+
+		rxcsum = rd32(E1000_RXCSUM);
+		dev_info(&adapter->pdev->dev,
+			 "RX Checksum Offloading Status:\n");
+		dev_info(&adapter->pdev->dev, "  IPv4: %s\n",
+			 status[(bool)(rxcsum & E1000_RXCSUM_IPOFL)]);
+		dev_info(&adapter->pdev->dev, "  TCP/UDP: %s\n",
+			 status[(bool)(rxcsum & E1000_RXCSUM_TUOFL)]);
+		dev_info(&adapter->pdev->dev, "  SCTP CRC32: %s\n",
+			 status[(bool)(rxcsum & E1000_RXCSUM_CRCOFL)]);
+	} else if (strncmp(igb_dbg_cmd_buf, "rx csum ofls", 12) == 0) {
+		igb_dbg_set_rx_csum(adapter);
+	} else if (strncmp(igb_dbg_cmd_buf, "dump rx packet stats", 17) == 0) {
+		int i;
+		int ipv4 = 0;
+		int ipv4e = 0;
+		int ipv6 = 0;
+		int ipv6e = 0;
+		int tcp = 0;
+		int udp = 0;
+		int sctp = 0;
+		int nfs = 0;
+		int other = 0;
+
+		for (i = 0; i < adapter->num_rx_queues; i++) {
+			struct igb_ring *ring = adapter->rx_ring[i];
+
+			ipv4 += ring->pkt_stats.ipv4_packets;
+			ipv4e += ring->pkt_stats.ipv4e_packets;
+			ipv6 += ring->pkt_stats.ipv6_packets;
+			ipv6e += ring->pkt_stats.ipv6e_packets;
+			tcp += ring->pkt_stats.tcp_packets;
+			udp += ring->pkt_stats.udp_packets;
+			sctp += ring->pkt_stats.sctp_packets;
+			nfs += ring->pkt_stats.nfs_packets;
+			other += ring->pkt_stats.other_packets;
+		}
+
+		dev_info(&adapter->pdev->dev, "RX Packet Type Stats:\n");
+		dev_info(&adapter->pdev->dev, "  IPv4  = %i\n", ipv4);
+		dev_info(&adapter->pdev->dev, "  IPv4E = %i\n", ipv4e);
+		dev_info(&adapter->pdev->dev, "  IPv6  = %i\n", ipv6);
+		dev_info(&adapter->pdev->dev, "  IPv6E = %i\n", ipv6e);
+		dev_info(&adapter->pdev->dev, "  TCP   = %i\n", tcp);
+		dev_info(&adapter->pdev->dev, "  UDP   = %i\n", udp);
+		dev_info(&adapter->pdev->dev, "  SCTP  = %i\n", sctp);
+		dev_info(&adapter->pdev->dev, "  NFS   = %i\n", nfs);
+		dev_info(&adapter->pdev->dev, "  OTHER = %i\n", other);
+	} else if (strncmp(igb_dbg_cmd_buf, "dump eee stats", 14) == 0) {
+		struct e1000_hw *hw = &adapter->hw;
+
+		txlpic += rd32(E1000_TLPIC);
+		rxlpic += rd32(E1000_RLPIC);
+
+		dev_info(&adapter->pdev->dev, "EEE TX LPIC = %i", txlpic);
+		dev_info(&adapter->pdev->dev, "EEE RX LPIC = %i", rxlpic);
+	} else if (strncmp(igb_dbg_cmd_buf, "query eee", 9) == 0) {
+		struct e1000_hw *hw = &adapter->hw;
+
+		if (hw->mac.type != e1000_i354) {
+			u32 eeer, ipcnfg;
+
+			eeer = rd32(E1000_EEER);
+			ipcnfg = rd32(E1000_IPCNFG);
+
+			if (eeer & E1000_EEER_EEE_NEG) {
+				dev_info(&adapter->pdev->dev, "EEE Link:\n");
+				if (eeer & E1000_EEER_RX_LPI_STATUS)
+					dev_info(&adapter->pdev->dev,
+						 "  RX Link State: LPI\n");
+				else
+					dev_info(&adapter->pdev->dev,
+						 "  RX Link State: Active\n");
+
+				if (eeer & E1000_EEER_TX_LPI_STATUS)
+					dev_info(&adapter->pdev->dev,
+						 "  TX Link State: LPI\n");
+				else
+					dev_info(&adapter->pdev->dev,
+						 "  TX Link State: Active\n");
+			} else {
+				dev_info(&adapter->pdev->dev,
+					 "EEE not negotiated on link\n");
+			}
+		} else {
+			bool status = false;
+
+			igb_get_eee_status_i354(hw, &status);
+			if (status)
+				dev_info(&adapter->pdev->dev,
+					 "  TX or RX Link State: Active\n");
+			else
+				dev_info(&adapter->pdev->dev,
+					 "EEE not negotiated on link\n");
+		}
+	} else if (strncmp(igb_dbg_cmd_buf, "dump reset stats", 16) == 0) {
+		dev_info(&adapter->pdev->dev, "Num device resets: %i",
+			 adapter->devrc);
+	} else if (strncmp(igb_dbg_cmd_buf, "dump itr", 8) == 0) {
+		struct e1000_hw *hw = &adapter->hw;
+		int i, interval;
+		u32 eitr;
+
+		dev_info(&adapter->pdev->dev,
+			 "Vector inter-interrupt interval (usec):\n");
+		for (i = 0; i < adapter->num_q_vectors; i++) {
+			eitr = rd32(E1000_EITR(i));
+
+			interval = eitr & E1000_EITR_INTERVAL;
+			if (interval) {
+				dev_info(&adapter->pdev->dev,
+					 "  Vector[%i]: %i\n", i, interval);
+			} else {
+				dev_info(&adapter->pdev->dev,
+					 "  Vector[%i]: NA\n", i);
+			}
+		}
+	} else if (strncmp(igb_dbg_cmd_buf, "reset stats", 11) == 0) {
+		int i;
+
+		txlpic = 0;
+		rxlpic = 0;
+
+		memset(&adapter->stats, 0, sizeof(struct e1000_hw_stats));
+
+		for (i = 0; i < adapter->num_q_vectors; i++) {
+			adapter->q_vector[i]->rx.total_bytes = 0;
+			adapter->q_vector[i]->rx.total_packets = 0;
+			adapter->q_vector[i]->tx.total_bytes = 0;
+			adapter->q_vector[i]->tx.total_packets = 0;
+		}
+		for (i = 0; i < adapter->num_rx_queues; i++) {
+			memset(&adapter->rx_ring[i]->rx_stats, 0,
+				   sizeof(struct igb_rx_queue_stats));
+		}
+		for (i = 0; i < adapter->num_tx_queues; i++) {
+			memset(&adapter->tx_ring[i]->tx_stats, 0,
+				   sizeof(struct igb_tx_queue_stats));
+		}
+		for (i = 0; i < adapter->num_rx_queues; i++) {
+			memset(&adapter->rx_ring[i]->pkt_stats, 0,
+				sizeof(struct igb_rx_pkt_stats));
+		}
+
+		dev_info(&adapter->pdev->dev, "Stats reset.\n");
+	} else {
+		igb_dbg_show_usage(pdev);
+	}
+
+	return count;
+}
+
+static const struct file_operations igb_dbg_command_fops = {
+	.owner = THIS_MODULE,
+	.open = simple_open,
+	.read = igb_dbg_command_read,
+	.write = igb_dbg_command_write,
+};
+
 /**
  * igb_dbp_adapter_init - setup the debugfs directory for the adapter
  * @adapter: the adapter that is starting up
@@ -38,11 +663,29 @@ static struct dentry *igb_dbg_root;
 void igb_dbg_adapter_init(struct igb_adapter *adapter)
 {
 	const char *name = pci_name(adapter->pdev);
+	struct dentry *pfile;
 
 	adapter->igb_dbg_adapter = debugfs_create_dir(name, igb_dbg_root);
-	if (!adapter->igb_dbg_adapter)
+	if (adapter->igb_dbg_adapter) {
+		pfile = debugfs_create_file("reg_ops", 0600,
+					    adapter->igb_dbg_adapter, adapter,
+					    &igb_dbg_reg_ops_fops);
+		if (!pfile) {
+			dev_err(&adapter->pdev->dev,
+				"debugfs reg_ops for %s failed\n", name);
+		}
+
+		pfile = debugfs_create_file("command", 0600,
+					    adapter->igb_dbg_adapter, adapter,
+					    &igb_dbg_command_fops);
+		if (!pfile) {
+			dev_err(&adapter->pdev->dev,
+				"debugfs command for %s failed\n", name);
+		}
+	} else {
 		dev_err(&adapter->pdev->dev,
-			"debugfs entry for %s failed\n", name);
+				"debugfs entry for %s failed\n", name);
+	}
 }
 
 /**
-- 
1.8.3.1

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

* [net-next 07/13] net: ixgbe calls skb_set_hash
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (5 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 06/13] igb: Add debugfs command/register read and write functionality Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 08/13] ixgbe: Fix format string in ixgbe_fcoe.c Jeff Kirsher
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Tom Herbert, netdev, gospo, sassmann, Jeff Kirsher

From: Tom Herbert <therbert@google.com>

Drivers should call skb_set_hash to set the hash and its type
in an skbuff.

Signed-off-by: Tom Herbert <therbert@google.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 10b35d8..815e81e 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1311,7 +1311,9 @@ static inline void ixgbe_rx_hash(struct ixgbe_ring *ring,
 				 struct sk_buff *skb)
 {
 	if (ring->netdev->features & NETIF_F_RXHASH)
-		skb->rxhash = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss);
+		skb_set_hash(skb,
+			     le32_to_cpu(rx_desc->wb.lower.hi_dword.rss),
+			     PKT_HASH_TYPE_L3);
 }
 
 #ifdef IXGBE_FCOE
-- 
1.8.3.1

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

* [net-next 08/13] ixgbe: Fix format string in ixgbe_fcoe.c
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (6 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 07/13] net: ixgbe calls skb_set_hash Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 09/13] ixgbe: move setting rx_pb_size into get_invariants Jeff Kirsher
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Masanari Iida, netdev, gospo, sassmann, Jeff Kirsher

From: Masanari Iida <standby24x7@gmail.com>

cppcheck detected following warning in ixgbe_fcoe.c
(warning) %d in format string (no. 1) requires 'int' but the
argument type is 'unsigned int'.

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Tested-By: Jack Morgan<jack.morgan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
index f58db45..0872617 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
@@ -585,7 +585,7 @@ static int ixgbe_fcoe_dma_pool_alloc(struct ixgbe_fcoe *fcoe,
 	struct dma_pool *pool;
 	char pool_name[32];
 
-	snprintf(pool_name, 32, "ixgbe_fcoe_ddp_%d", cpu);
+	snprintf(pool_name, 32, "ixgbe_fcoe_ddp_%u", cpu);
 
 	pool = dma_pool_create(pool_name, dev, IXGBE_FCPTR_MAX,
 			       IXGBE_FCPTR_ALIGN, PAGE_SIZE);
-- 
1.8.3.1

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

* [net-next 09/13] ixgbe: move setting rx_pb_size into get_invariants
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (7 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 08/13] ixgbe: Fix format string in ixgbe_fcoe.c Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 10/13] ixgbe: add Linux NICS mailing list to contact info Jeff Kirsher
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Jacob Keller, netdev, gospo, sassmann, Jeff Kirsher

From: Jacob Keller <jacob.e.keller@intel.com>

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 3 +--
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c  | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
index 15506f0..650d7af 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
@@ -104,6 +104,7 @@ static s32 ixgbe_get_invariants_82598(struct ixgbe_hw *hw)
 	mac->mcft_size = IXGBE_82598_MC_TBL_SIZE;
 	mac->vft_size = IXGBE_82598_VFT_TBL_SIZE;
 	mac->num_rar_entries = IXGBE_82598_RAR_ENTRIES;
+	mac->rx_pb_size = IXGBE_82598_RX_PB_SIZE;
 	mac->max_rx_queues = IXGBE_82598_MAX_RX_QUEUES;
 	mac->max_tx_queues = IXGBE_82598_MAX_TX_QUEUES;
 	mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw);
@@ -205,8 +206,6 @@ static s32 ixgbe_start_hw_82598(struct ixgbe_hw *hw)
 		IXGBE_WRITE_REG(hw, IXGBE_DCA_RXCTRL(i), regval);
 	}
 
-	hw->mac.rx_pb_size = IXGBE_82598_RX_PB_SIZE;
-
 	/* set the completion timeout for interface */
 	if (ret_val == 0)
 		ixgbe_set_pcie_completion_timeout(hw);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
index b96cefd..82b7462 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
@@ -270,6 +270,7 @@ static s32 ixgbe_get_invariants_82599(struct ixgbe_hw *hw)
 	mac->mcft_size = IXGBE_82599_MC_TBL_SIZE;
 	mac->vft_size = IXGBE_82599_VFT_TBL_SIZE;
 	mac->num_rar_entries = IXGBE_82599_RAR_ENTRIES;
+	mac->rx_pb_size = IXGBE_82599_RX_PB_SIZE;
 	mac->max_rx_queues = IXGBE_82599_MAX_RX_QUEUES;
 	mac->max_tx_queues = IXGBE_82599_MAX_TX_QUEUES;
 	mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw);
@@ -2025,7 +2026,6 @@ static s32 ixgbe_start_hw_82599(struct ixgbe_hw *hw)
 
 	/* We need to run link autotry after the driver loads */
 	hw->mac.autotry_restart = true;
-	hw->mac.rx_pb_size = IXGBE_82599_RX_PB_SIZE;
 
 	if (ret_val == 0)
 		ret_val = ixgbe_verify_fw_version_82599(hw);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
index c870f37..eed790a 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
@@ -61,6 +61,7 @@ static s32 ixgbe_get_invariants_X540(struct ixgbe_hw *hw)
 	mac->mcft_size = IXGBE_X540_MC_TBL_SIZE;
 	mac->vft_size = IXGBE_X540_VFT_TBL_SIZE;
 	mac->num_rar_entries = IXGBE_X540_RAR_ENTRIES;
+	mac->rx_pb_size = IXGBE_X540_RX_PB_SIZE;
 	mac->max_rx_queues = IXGBE_X540_MAX_RX_QUEUES;
 	mac->max_tx_queues = IXGBE_X540_MAX_TX_QUEUES;
 	mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw);
@@ -187,7 +188,6 @@ static s32 ixgbe_start_hw_X540(struct ixgbe_hw *hw)
 		goto out;
 
 	ret_val = ixgbe_start_hw_gen2(hw);
-	hw->mac.rx_pb_size = IXGBE_X540_RX_PB_SIZE;
 out:
 	return ret_val;
 }
-- 
1.8.3.1

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

* [net-next 10/13] ixgbe: add Linux NICS mailing list to contact info
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (8 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 09/13] ixgbe: move setting rx_pb_size into get_invariants Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 11/13] ixgbe: fixup header for ixgbe_set_rxpba_82598 Jeff Kirsher
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 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 contact information on the ixgbe driver files so
that every file includes the Linux NICS address, as it is still used,
but only a few of the files mentioned it.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe.h           | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c     | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c     | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c    | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.h    | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c   | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c   | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c      | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h      | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c       | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c       | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h       | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c       | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h       | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c       | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c     | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h     | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c     | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h      | 1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c      | 1 +
 23 files changed, 23 insertions(+)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
index 4371ef0..2fff0fc 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
index 650d7af..e61aa1f 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
index 82b7462..446df3c 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
index 4456c23..6149c65 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
index ef0fd4c..d1d67ba 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c
index 05e23b8..bdb99b3 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h
index d71d9ce..d5a1e3d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
index c5933f6..472b0f4 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
index f2d35c0..24dd6f0 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
index 0872617..39557e3 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h
index 3a02759..b16cc78 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index 0834e1e..2067d39 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 815e81e..851c413 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c
index cc3101a..f5c6af2 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
index e44ff47..a9b9ad6 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
index d2caae4..ad51c12 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
index b4d4323..478eca9 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
index 9ef730f..44ac9ae 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index dff0977..e6c68d3 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
index 8bd2919..139eadd 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
index e74ae36..ef6df3d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
index c10382e..69271bc 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
index eed790a..2e0e5ec 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
@@ -20,6 +20,7 @@
   the file called "COPYING".
 
   Contact Information:
+  Linux NICS <linux.nics@intel.com>
   e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
   Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 
-- 
1.8.3.1

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

* [net-next 11/13] ixgbe: fixup header for ixgbe_set_rxpba_82598
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (9 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 10/13] ixgbe: add Linux NICS mailing list to contact info Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12  5:53 ` [net-next 12/13] ixgbe: fix some multiline hw_dbg prints Jeff Kirsher
  2014-03-12  5:53 ` [net-next 13/13] ixgbevf: delete unneeded call to pci_set_power_state Jeff Kirsher
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Jacob Keller, netdev, gospo, sassmann, Jeff Kirsher

From: Jacob Keller <jacob.e.keller@intel.com>

The header above this function did not match the function prototype.
This patch rewords the comment to specify the correct parameters.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
index e61aa1f..f8ebe58 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c
@@ -1241,14 +1241,14 @@ static void ixgbe_set_lan_id_multi_port_pcie_82598(struct ixgbe_hw *hw)
 }
 
 /**
- * ixgbe_set_rxpba_82598 - Configure packet buffers
+ * ixgbe_set_rxpba_82598 - Initialize RX packet buffer
  * @hw: pointer to hardware structure
- * @dcb_config: pointer to ixgbe_dcb_config structure
- *
- * Configure packet buffers.
- */
-static void ixgbe_set_rxpba_82598(struct ixgbe_hw *hw, int num_pb, u32 headroom,
-				  int strategy)
+ * @num_pb: number of packet buffers to allocate
+ * @headroom: reserve n KB of headroom
+ * @strategy: packet buffer allocation strategy
+ **/
+static void ixgbe_set_rxpba_82598(struct ixgbe_hw *hw, int num_pb,
+				  u32 headroom, int strategy)
 {
 	u32 rxpktsize = IXGBE_RXPBSIZE_64KB;
 	u8  i = 0;
-- 
1.8.3.1

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

* [net-next 12/13] ixgbe: fix some multiline hw_dbg prints
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (10 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 11/13] ixgbe: fixup header for ixgbe_set_rxpba_82598 Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  2014-03-12 14:51   ` Sergei Shtylyov
  2014-03-12  5:53 ` [net-next 13/13] ixgbevf: delete unneeded call to pci_set_power_state Jeff Kirsher
  12 siblings, 1 reply; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Jacob Keller, netdev, gospo, sassmann, Jeff Kirsher

From: Jacob Keller <jacob.e.keller@intel.com>

This patch fixes some formatting on multilined print messages, so that
the text of the print appears on a single line, which aids in grepping
the sourcecode for where the error came from.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
 drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
index 446df3c..3bc9b67 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
@@ -512,7 +512,7 @@ out:
  *
  * Disables link, should be called during D3 power down sequence.
  *
- */
+ **/
 static void ixgbe_stop_mac_link_on_d3_82599(struct ixgbe_hw *hw)
 {
 	u32 autoc2_reg;
@@ -1005,8 +1005,7 @@ static s32 ixgbe_setup_mac_link_smartspeed(struct ixgbe_hw *hw,
 
 out:
 	if (link_up && (link_speed == IXGBE_LINK_SPEED_1GB_FULL))
-		hw_dbg(hw, "Smartspeed has downgraded the link speed from "
-		       "the maximum advertised\n");
+		hw_dbg(hw, "Smartspeed has downgraded the link speed from the maximum advertised\n");
 	return status;
 }
 
@@ -1114,8 +1113,7 @@ static s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw,
 				if (!(links_reg & IXGBE_LINKS_KX_AN_COMP)) {
 					status =
 					        IXGBE_ERR_AUTONEG_NOT_COMPLETE;
-					hw_dbg(hw, "Autoneg did not "
-					       "complete.\n");
+					hw_dbg(hw, "Autoneg did not complete.\n");
 				}
 			}
 		}
-- 
1.8.3.1

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

* [net-next 13/13] ixgbevf: delete unneeded call to pci_set_power_state
  2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
                   ` (11 preceding siblings ...)
  2014-03-12  5:53 ` [net-next 12/13] ixgbe: fix some multiline hw_dbg prints Jeff Kirsher
@ 2014-03-12  5:53 ` Jeff Kirsher
  12 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2014-03-12  5:53 UTC (permalink / raw)
  To: davem; +Cc: Julia Lawall, netdev, gospo, sassmann, Jeff Kirsher

From: Julia Lawall <Julia.Lawall@lip6.fr>

This driver does not need to adjust the power state on suspend, so the
call to pci_set_power_state in the resume function is a no-op.  Drop it,
to make the code more understandable.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
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_main.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 6ac5da2..475341d 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -3280,7 +3280,6 @@ static int ixgbevf_resume(struct pci_dev *pdev)
 	struct ixgbevf_adapter *adapter = netdev_priv(netdev);
 	u32 err;
 
-	pci_set_power_state(pdev, PCI_D0);
 	pci_restore_state(pdev);
 	/*
 	 * pci_restore_state clears dev->state_saved so call
-- 
1.8.3.1

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

* Re: [net-next 12/13] ixgbe: fix some multiline hw_dbg prints
  2014-03-12  5:53 ` [net-next 12/13] ixgbe: fix some multiline hw_dbg prints Jeff Kirsher
@ 2014-03-12 14:51   ` Sergei Shtylyov
  2014-03-12 18:31     ` Keller, Jacob E
  0 siblings, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2014-03-12 14:51 UTC (permalink / raw)
  To: Jeff Kirsher, davem; +Cc: Jacob Keller, netdev, gospo, sassmann

Hello.

On 12-03-2014 9:53, Jeff Kirsher wrote:

> From: Jacob Keller <jacob.e.keller@intel.com>

> This patch fixes some formatting on multilined print messages, so that
> the text of the print appears on a single line, which aids in grepping
> the sourcecode for where the error came from.

> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> ---
>   drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 8 +++-----
>   1 file changed, 3 insertions(+), 5 deletions(-)

> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> index 446df3c..3bc9b67 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> @@ -512,7 +512,7 @@ out:
>    *
>    * Disables link, should be called during D3 power down sequence.
>    *
> - */
> + **/

    Hm? What's this for?

WBR, Sergei

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

* Re: [net-next 05/13] igb: Add support for debugfs
  2014-03-12  5:53 ` [net-next 05/13] igb: Add support for debugfs Jeff Kirsher
@ 2014-03-12 15:57   ` Or Gerlitz
  2014-03-12 16:35     ` Wyborny, Carolyn
  0 siblings, 1 reply; 25+ messages in thread
From: Or Gerlitz @ 2014-03-12 15:57 UTC (permalink / raw)
  To: Jeff Kirsher, David Miller, Andy Gospodarek
  Cc: Carolyn Wyborny, netdev@vger.kernel.org, sassmann@redhat.com,
	Josh Hay, Amir Vadai, Yevgeny Petrilin

On Wed, Mar 12, 2014 at 7:53 AM, Jeff Kirsher
<jeffrey.t.kirsher@intel.com> wrote:
> This patch adds the necessary defines, variables, and stats updating
> procedures to use the commands implemented in debugfs.

Guys,

Do we have a clear criteria when it makes sense to have debugfs for
network driver and when it doesn't, for example
we got this cold shower
http://marc.info/?l=linux-netdev&m=135959539719935&w=2 when attempting
to do so and I am
not fully clear (or want to sharpen the sow) how to review a concrete
design/need for debugs to fall into yes, it makes sense, or
no, it doesn't b/c there are existing mechanisms that can be used or
extended for that matter.

Or.

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

* RE: [net-next 05/13] igb: Add support for debugfs
  2014-03-12 15:57   ` Or Gerlitz
@ 2014-03-12 16:35     ` Wyborny, Carolyn
  2014-03-12 19:46       ` David Miller
  0 siblings, 1 reply; 25+ messages in thread
From: Wyborny, Carolyn @ 2014-03-12 16:35 UTC (permalink / raw)
  To: Or Gerlitz, Kirsher, Jeffrey T, David Miller, Andy Gospodarek
  Cc: netdev@vger.kernel.org, sassmann@redhat.com, Josh Hay, Amir Vadai,
	Yevgeny Petrilin

> -----Original Message-----
> From: netdev-owner@vger.kernel.org [mailto:netdev-owner@vger.kernel.org]
> On Behalf Of Or Gerlitz
> Sent: Wednesday, March 12, 2014 8:58 AM
> To: Kirsher, Jeffrey T; David Miller; Andy Gospodarek
> Cc: Wyborny, Carolyn; netdev@vger.kernel.org; sassmann@redhat.com; Josh
> Hay; Amir Vadai; Yevgeny Petrilin
> Subject: Re: [net-next 05/13] igb: Add support for debugfs
> 
> On Wed, Mar 12, 2014 at 7:53 AM, Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> wrote:
> > This patch adds the necessary defines, variables, and stats updating
> > procedures to use the commands implemented in debugfs.
> 
> Guys,
> 
> Do we have a clear criteria when it makes sense to have debugfs for network
> driver and when it doesn't, for example we got this cold shower
> http://marc.info/?l=linux-netdev&m=135959539719935&w=2 when attempting
> to do so and I am not fully clear (or want to sharpen the sow) how to review a
> concrete design/need for debugs to fall into yes, it makes sense, or no, it
> doesn't b/c there are existing mechanisms that can be used or extended for that
> matter.
> 
> Or.
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a
> message to majordomo@vger.kernel.org More majordomo info at
> http://vger.kernel.org/majordomo-info.html

Josh and I tried very hard to not reimplement anything already available in some other tool or mechanism and used the examples we already have for this in our other drivers.  That being said, we'll abide and follow any clear criteria provided.

Thanks,

Carolyn

Carolyn Wyborny 
Linux Development 
Networking Division 
Intel Corporation 

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

* Re: [net-next 12/13] ixgbe: fix some multiline hw_dbg prints
  2014-03-12 14:51   ` Sergei Shtylyov
@ 2014-03-12 18:31     ` Keller, Jacob E
  2014-03-12 20:11       ` Sergei Shtylyov
  0 siblings, 1 reply; 25+ messages in thread
From: Keller, Jacob E @ 2014-03-12 18:31 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Kirsher, Jeffrey T, davem@davemloft.net, netdev@vger.kernel.org,
	gospo@redhat.com, sassmann@redhat.com

On Wed, 2014-03-12 at 18:51 +0400, Sergei Shtylyov wrote:
> Hello.
> 
> On 12-03-2014 9:53, Jeff Kirsher wrote:
> 
> > From: Jacob Keller <jacob.e.keller@intel.com>
> 
> > This patch fixes some formatting on multilined print messages, so that
> > the text of the print appears on a single line, which aids in grepping
> > the sourcecode for where the error came from.
> 
> > Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> > Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
> > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > ---
> >   drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 8 +++-----
> >   1 file changed, 3 insertions(+), 5 deletions(-)
> 
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> > index 446df3c..3bc9b67 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> > @@ -512,7 +512,7 @@ out:
> >    *
> >    * Disables link, should be called during D3 power down sequence.
> >    *
> > - */
> > + **/
> 
>     Hm? What's this for?
> 

The extra **/ is part of the standard doc format for function headers,
and this was likely a fix to convert it to the standard format, though
probably was meant to end up in a separate patch... I don't fully
recall.

Thanks,
Jake

> WBR, Sergei
> 



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

* Re: [net-next 05/13] igb: Add support for debugfs
  2014-03-12 16:35     ` Wyborny, Carolyn
@ 2014-03-12 19:46       ` David Miller
  2014-03-12 20:13         ` Wyborny, Carolyn
  0 siblings, 1 reply; 25+ messages in thread
From: David Miller @ 2014-03-12 19:46 UTC (permalink / raw)
  To: carolyn.wyborny
  Cc: or.gerlitz, jeffrey.t.kirsher, gospo, netdev, sassmann, hayja,
	amirv, yevgenyp

From: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
Date: Wed, 12 Mar 2014 16:35:49 +0000

> Josh and I tried very hard to not reimplement anything already
> available in some other tool or mechanism and used the examples we
> already have for this in our other drivers.  That being said, we'll
> abide and follow any clear criteria provided.

I don't think what's being done here is appropriate.

ethtool can provide the extended statistics.

We already have a way to dump registers in ethtool as well.  If you
want to add fine-grained register read support and write support, that
would be a nice addition to ethtool.

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

* Re: [net-next 12/13] ixgbe: fix some multiline hw_dbg prints
  2014-03-12 18:31     ` Keller, Jacob E
@ 2014-03-12 20:11       ` Sergei Shtylyov
  2014-03-12 20:24         ` Sergei Shtylyov
  0 siblings, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2014-03-12 20:11 UTC (permalink / raw)
  To: Keller, Jacob E
  Cc: Kirsher, Jeffrey T, davem@davemloft.net, netdev@vger.kernel.org,
	gospo@redhat.com, sassmann@redhat.com

Hello.

On 03/12/2014 09:31 PM, Keller, Jacob E wrote:

>>> From: Jacob Keller <jacob.e.keller@intel.com>

>>> This patch fixes some formatting on multilined print messages, so that
>>> the text of the print appears on a single line, which aids in grepping
>>> the sourcecode for where the error came from.

>>> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
>>> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
>>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>>> ---
>>>    drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 8 +++-----
>>>    1 file changed, 3 insertions(+), 5 deletions(-)

>>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>> index 446df3c..3bc9b67 100644
>>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>> @@ -512,7 +512,7 @@ out:
>>>     *
>>>     * Disables link, should be called during D3 power down sequence.
>>>     *
>>> - */
>>> + **/

>>      Hm? What's this for?

> The extra **/ is part of the standard doc format for function headers,

    It is not. Reread Documentation/kernel-doc-nano-HOWTO.txt please.

WBR, Sergei

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

* RE: [net-next 05/13] igb: Add support for debugfs
  2014-03-12 19:46       ` David Miller
@ 2014-03-12 20:13         ` Wyborny, Carolyn
  2014-03-12 20:24           ` David Miller
  0 siblings, 1 reply; 25+ messages in thread
From: Wyborny, Carolyn @ 2014-03-12 20:13 UTC (permalink / raw)
  To: David Miller
  Cc: or.gerlitz@gmail.com, Kirsher, Jeffrey T, gospo@redhat.com,
	netdev@vger.kernel.org, sassmann@redhat.com, hayja@mail.uc.edu,
	amirv@mellanox.com, yevgenyp@mellanox.com

> -----Original Message-----
> From: David Miller [mailto:davem@davemloft.net]
> Sent: Wednesday, March 12, 2014 12:47 PM
> To: Wyborny, Carolyn
> Cc: or.gerlitz@gmail.com; Kirsher, Jeffrey T; gospo@redhat.com;
> netdev@vger.kernel.org; sassmann@redhat.com; hayja@mail.uc.edu;
> amirv@mellanox.com; yevgenyp@mellanox.com
> Subject: Re: [net-next 05/13] igb: Add support for debugfs
> 
> From: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
> Date: Wed, 12 Mar 2014 16:35:49 +0000
> 
> > Josh and I tried very hard to not reimplement anything already
> > available in some other tool or mechanism and used the examples we
> > already have for this in our other drivers.  That being said, we'll
> > abide and follow any clear criteria provided.
> 
> I don't think what's being done here is appropriate.
> 
> ethtool can provide the extended statistics.
> 
> We already have a way to dump registers in ethtool as well.  If you want to add
> fine-grained register read support and write support, that would be a nice
> addition to ethtool.

Ok, I'll remove the register outputs.  Is there any objection to the other functionality provided?

Thanks,

Carolyn

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

* Re: [net-next 12/13] ixgbe: fix some multiline hw_dbg prints
  2014-03-12 20:24         ` Sergei Shtylyov
@ 2014-03-12 20:21           ` Keller, Jacob E
  0 siblings, 0 replies; 25+ messages in thread
From: Keller, Jacob E @ 2014-03-12 20:21 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Kirsher, Jeffrey T, davem@davemloft.net, netdev@vger.kernel.org,
	gospo@redhat.com, sassmann@redhat.com

On Wed, 2014-03-12 at 23:24 +0300, Sergei Shtylyov wrote:
> On 03/12/2014 11:11 PM, Sergei Shtylyov wrote:
> 
> >>>> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> >>>> This patch fixes some formatting on multilined print messages, so that
> >>>> the text of the print appears on a single line, which aids in grepping
> >>>> the sourcecode for where the error came from.
> 
> >>>> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> >>>> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
> >>>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >>>> ---
> >>>>    drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 8 +++-----
> >>>>    1 file changed, 3 insertions(+), 5 deletions(-)
> 
> >>>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> >>>> b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> >>>> index 446df3c..3bc9b67 100644
> >>>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> >>>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> >>>> @@ -512,7 +512,7 @@ out:
> >>>>     *
> >>>>     * Disables link, should be called during D3 power down sequence.
> >>>>     *
> >>>> - */
> >>>> + **/
> 
> >>>      Hm? What's this for?
> 
> >> The extra **/ is part of the standard doc format for function headers,
> 
> >     It is not. Reread Documentation/kernel-doc-nano-HOWTO.txt please.
> 
>     Sorry, I messed it myself -- it seems to be an optional part of the format 
> which I've never seen actually used. Anyway, you shouldn't do "drove-by" 
> changes like that, moreover undocumented in the change log.
> 
> WBR, Sergei
> 

It's used all over in our driver source, and I was trying to sync style.
But I can re-spin this patch with that hunk dropped.

Thanks,
Jake

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

* Re: [net-next 12/13] ixgbe: fix some multiline hw_dbg prints
  2014-03-12 20:11       ` Sergei Shtylyov
@ 2014-03-12 20:24         ` Sergei Shtylyov
  2014-03-12 20:21           ` Keller, Jacob E
  0 siblings, 1 reply; 25+ messages in thread
From: Sergei Shtylyov @ 2014-03-12 20:24 UTC (permalink / raw)
  To: Keller, Jacob E
  Cc: Kirsher, Jeffrey T, davem@davemloft.net, netdev@vger.kernel.org,
	gospo@redhat.com, sassmann@redhat.com

On 03/12/2014 11:11 PM, Sergei Shtylyov wrote:

>>>> From: Jacob Keller <jacob.e.keller@intel.com>

>>>> This patch fixes some formatting on multilined print messages, so that
>>>> the text of the print appears on a single line, which aids in grepping
>>>> the sourcecode for where the error came from.

>>>> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
>>>> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
>>>> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
>>>> ---
>>>>    drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 8 +++-----
>>>>    1 file changed, 3 insertions(+), 5 deletions(-)

>>>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>>> b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>>> index 446df3c..3bc9b67 100644
>>>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
>>>> @@ -512,7 +512,7 @@ out:
>>>>     *
>>>>     * Disables link, should be called during D3 power down sequence.
>>>>     *
>>>> - */
>>>> + **/

>>>      Hm? What's this for?

>> The extra **/ is part of the standard doc format for function headers,

>     It is not. Reread Documentation/kernel-doc-nano-HOWTO.txt please.

    Sorry, I messed it myself -- it seems to be an optional part of the format 
which I've never seen actually used. Anyway, you shouldn't do "drove-by" 
changes like that, moreover undocumented in the change log.

WBR, Sergei

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

* Re: [net-next 05/13] igb: Add support for debugfs
  2014-03-12 20:13         ` Wyborny, Carolyn
@ 2014-03-12 20:24           ` David Miller
  2014-03-12 20:31             ` Wyborny, Carolyn
  0 siblings, 1 reply; 25+ messages in thread
From: David Miller @ 2014-03-12 20:24 UTC (permalink / raw)
  To: carolyn.wyborny
  Cc: or.gerlitz, jeffrey.t.kirsher, gospo, netdev, sassmann, hayja,
	amirv, yevgenyp

From: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
Date: Wed, 12 Mar 2014 20:13:53 +0000

>> -----Original Message-----
>> From: David Miller [mailto:davem@davemloft.net]
>> Sent: Wednesday, March 12, 2014 12:47 PM
>> To: Wyborny, Carolyn
>> Cc: or.gerlitz@gmail.com; Kirsher, Jeffrey T; gospo@redhat.com;
>> netdev@vger.kernel.org; sassmann@redhat.com; hayja@mail.uc.edu;
>> amirv@mellanox.com; yevgenyp@mellanox.com
>> Subject: Re: [net-next 05/13] igb: Add support for debugfs
>> 
>> From: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
>> Date: Wed, 12 Mar 2014 16:35:49 +0000
>> 
>> > Josh and I tried very hard to not reimplement anything already
>> > available in some other tool or mechanism and used the examples we
>> > already have for this in our other drivers.  That being said, we'll
>> > abide and follow any clear criteria provided.
>> 
>> I don't think what's being done here is appropriate.
>> 
>> ethtool can provide the extended statistics.
>> 
>> We already have a way to dump registers in ethtool as well.  If you want to add
>> fine-grained register read support and write support, that would be a nice
>> addition to ethtool.
> 
> Ok, I'll remove the register outputs.  Is there any objection to the other functionality provided?

I said the statistics can be done with ethtool, so I object to everything.

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

* RE: [net-next 05/13] igb: Add support for debugfs
  2014-03-12 20:24           ` David Miller
@ 2014-03-12 20:31             ` Wyborny, Carolyn
  0 siblings, 0 replies; 25+ messages in thread
From: Wyborny, Carolyn @ 2014-03-12 20:31 UTC (permalink / raw)
  To: David Miller
  Cc: or.gerlitz@gmail.com, Kirsher, Jeffrey T, gospo@redhat.com,
	netdev@vger.kernel.org, sassmann@redhat.com, hayja@mail.uc.edu,
	amirv@mellanox.com, yevgenyp@mellanox.com



> -----Original Message-----
> From: David Miller [mailto:davem@davemloft.net]
> Sent: Wednesday, March 12, 2014 1:24 PM
> To: Wyborny, Carolyn
> Cc: or.gerlitz@gmail.com; Kirsher, Jeffrey T; gospo@redhat.com;
> netdev@vger.kernel.org; sassmann@redhat.com; hayja@mail.uc.edu;
> amirv@mellanox.com; yevgenyp@mellanox.com
> Subject: Re: [net-next 05/13] igb: Add support for debugfs
> 
> From: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
> Date: Wed, 12 Mar 2014 20:13:53 +0000
> 
> >> -----Original Message-----
> >> From: David Miller [mailto:davem@davemloft.net]
> >> Sent: Wednesday, March 12, 2014 12:47 PM
> >> To: Wyborny, Carolyn
> >> Cc: or.gerlitz@gmail.com; Kirsher, Jeffrey T; gospo@redhat.com;
> >> netdev@vger.kernel.org; sassmann@redhat.com; hayja@mail.uc.edu;
> >> amirv@mellanox.com; yevgenyp@mellanox.com
> >> Subject: Re: [net-next 05/13] igb: Add support for debugfs
> >>
> >> From: "Wyborny, Carolyn" <carolyn.wyborny@intel.com>
> >> Date: Wed, 12 Mar 2014 16:35:49 +0000
> >>
> >> > Josh and I tried very hard to not reimplement anything already
> >> > available in some other tool or mechanism and used the examples we
> >> > already have for this in our other drivers.  That being said, we'll
> >> > abide and follow any clear criteria provided.
> >>
> >> I don't think what's being done here is appropriate.
> >>
> >> ethtool can provide the extended statistics.
> >>
> >> We already have a way to dump registers in ethtool as well.  If you
> >> want to add fine-grained register read support and write support,
> >> that would be a nice addition to ethtool.
> >
> > Ok, I'll remove the register outputs.  Is there any objection to the other
> functionality provided?
> 
> I said the statistics can be done with ethtool, so I object to everything.

Understood.  Withdrawing patchset.  Will take suggestion for ethtool work.

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

end of thread, other threads:[~2014-03-12 20:31 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-12  5:53 [net-next 00/13][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2014-03-12  5:53 ` [net-next 01/13] net: e1000e calls skb_set_hash Jeff Kirsher
2014-03-12  5:53 ` [net-next 02/13] net: igb " Jeff Kirsher
2014-03-12  5:53 ` [net-next 03/13] igb: Fix for devices using ethtool for EEE settings Jeff Kirsher
2014-03-12  5:53 ` [net-next 04/13] igb: Add debugfs skeleton Jeff Kirsher
2014-03-12  5:53 ` [net-next 05/13] igb: Add support for debugfs Jeff Kirsher
2014-03-12 15:57   ` Or Gerlitz
2014-03-12 16:35     ` Wyborny, Carolyn
2014-03-12 19:46       ` David Miller
2014-03-12 20:13         ` Wyborny, Carolyn
2014-03-12 20:24           ` David Miller
2014-03-12 20:31             ` Wyborny, Carolyn
2014-03-12  5:53 ` [net-next 06/13] igb: Add debugfs command/register read and write functionality Jeff Kirsher
2014-03-12  5:53 ` [net-next 07/13] net: ixgbe calls skb_set_hash Jeff Kirsher
2014-03-12  5:53 ` [net-next 08/13] ixgbe: Fix format string in ixgbe_fcoe.c Jeff Kirsher
2014-03-12  5:53 ` [net-next 09/13] ixgbe: move setting rx_pb_size into get_invariants Jeff Kirsher
2014-03-12  5:53 ` [net-next 10/13] ixgbe: add Linux NICS mailing list to contact info Jeff Kirsher
2014-03-12  5:53 ` [net-next 11/13] ixgbe: fixup header for ixgbe_set_rxpba_82598 Jeff Kirsher
2014-03-12  5:53 ` [net-next 12/13] ixgbe: fix some multiline hw_dbg prints Jeff Kirsher
2014-03-12 14:51   ` Sergei Shtylyov
2014-03-12 18:31     ` Keller, Jacob E
2014-03-12 20:11       ` Sergei Shtylyov
2014-03-12 20:24         ` Sergei Shtylyov
2014-03-12 20:21           ` Keller, Jacob E
2014-03-12  5:53 ` [net-next 13/13] ixgbevf: delete unneeded call to pci_set_power_state Jeff Kirsher

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