* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-12-06 8:06 Jeff Kirsher
2013-12-06 8:06 ` [net-next 01/15] i40e: set pf_id based on device and function numbers Jeff Kirsher
` (15 more replies)
0 siblings, 16 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only.
Christopher Pau provides a patch to set pf_id based on device and
function numbers since NICs with ARI enabled can have function
numbers larger than 8.
Anjali provides 3 i40e patches to update hardware defines to keep
in sync with hardware updates.
Shannon provides the majority of i40e patches, with 7. First patch
clears the admin queue head and tail registers during admin queue
shutdown. Then simplifies the admin queue head-tail-len setups to
use more virtual registers. Provides several patches to cleanup
and fix driver load and reset procedures to make more robust. Lastly,
provides an ethtool test for interrupts using the software interrupt.
Mitch provides some i40e patches which fixes up VF code in the PF
driver, specifically the number of vectors per VF are reported by the
hardware does not include vector 0, so we need to account for this
when checking. In addition, cleans up debugging messages.
Kamil provides an i40e patch to fix the diagnostics test by restricting
the diagnostic test length.
The following are changes since commit d70f2cf520cf8c86c6b467fc5dcea524ec51dc2f:
macvlan: Support creating macvtaps from macvlans
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (3):
i40e: sync header files with hardware
i40e: register file updates
i40e: firmware version fields offsets update
Christopher Pau (1):
i40e: set pf_id based on device and function numbers
Kamil Krawczyk (1):
i40e: restrict diag test length
Mitch Williams (3):
i40e: allow one more vector for VFs
i40e: properly add VF MAC addresses
i40e: fix debugging messages
Shannon Nelson (7):
i40e: clear AQ head and tail registers
i40e: simplify aq head-tail-len setups
i40e: select reset counters correctly
i40e: retry call on timeout
i40e: default debug mask setting
i40e: add interrupt test
i40e: add support for triggering EMPR
drivers/net/ethernet/intel/i40e/i40e.h | 19 +--
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 66 +++++-----
drivers/net/ethernet/intel/i40e/i40e_adminq.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_common.c | 6 +-
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 4 +
drivers/net/ethernet/intel/i40e/i40e_diag.c | 8 +-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 10 +-
drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h | 4 +-
drivers/net/ethernet/intel/i40e/i40e_main.c | 37 +++++-
drivers/net/ethernet/intel/i40e/i40e_register.h | 134 +++++++--------------
drivers/net/ethernet/intel/i40e/i40e_type.h | 11 +-
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 8 +-
12 files changed, 155 insertions(+), 153 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 01/15] i40e: set pf_id based on device and function numbers
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 02/15] i40e: register file updates Jeff Kirsher
` (14 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Christopher Pau, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Christopher Pau <christopher.pau@intel.com>
pf_id needs to be encoded for cards with ARI enabled, which
allows for larger function numbers than 8.
Commit-Id: I23fa7df9dabf3878cc08c9b2151729c8539f5f17
Signed-off-by: Christopher Pau <christopher.pau@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_common.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 1e4ea13..9e868ea 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -297,7 +297,11 @@ i40e_status i40e_pf_reset(struct i40e_hw *hw)
}
/* Determine the PF number based on the PCI fn */
- hw->pf_id = (u8)hw->bus.func;
+ reg = rd32(hw, I40E_GLPCI_CAPSUP);
+ if (reg & I40E_GLPCI_CAPSUP_ARI_EN_MASK)
+ hw->pf_id = (u8)((hw->bus.device << 3) | hw->bus.func);
+ else
+ hw->pf_id = (u8)hw->bus.func;
/* If there was a Global Reset in progress when we got here,
* we don't need to do the PF Reset
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 02/15] i40e: register file updates
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-12-06 8:06 ` [net-next 01/15] i40e: set pf_id based on device and function numbers Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 03/15] i40e: clear AQ head and tail registers Jeff Kirsher
` (13 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Anjali Singhai jain, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Anjali Singhai jain <anjali.singhai@intel.com>
Hardware definitions changed slightly so sync up the defines
file with the updated state of the hardware.
Change-Id: I8349d91630a3208df306bd1dc88f028c87be2248
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_register.h | 134 ++++++++----------------
1 file changed, 44 insertions(+), 90 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_register.h b/drivers/net/ethernet/intel/i40e/i40e_register.h
index 6bd333c..db4958b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_register.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_register.h
@@ -28,6 +28,10 @@
#ifndef _I40E_REGISTER_H_
#define _I40E_REGISTER_H_
+#define I40E_GL_GP_FUSE(_i) (0x0009400C + ((_i) * 4)) /* _i=0...28 */
+#define I40E_GL_GP_FUSE_MAX_INDEX 28
+#define I40E_GL_GP_FUSE_GL_GP_FUSE_SHIFT 0
+#define I40E_GL_GP_FUSE_GL_GP_FUSE_MASK (0xFFFFFFFF << I40E_GL_GP_FUSE_GL_GP_FUSE_SHIFT)
#define I40E_GLPCI_PM_MUX_NPQ 0x0009C4F4
#define I40E_GLPCI_PM_MUX_NPQ_NPQ_NUM_PORT_SEL_SHIFT 0
#define I40E_GLPCI_PM_MUX_NPQ_NPQ_NUM_PORT_SEL_MASK (0x7 << I40E_GLPCI_PM_MUX_NPQ_NPQ_NUM_PORT_SEL_SHIFT)
@@ -38,6 +42,11 @@
#define I40E_GLPCI_PM_MUX_PFB_PFB_PORT_SEL_MASK (0x1F << I40E_GLPCI_PM_MUX_PFB_PFB_PORT_SEL_SHIFT)
#define I40E_GLPCI_PM_MUX_PFB_INNER_PORT_SEL_SHIFT 16
#define I40E_GLPCI_PM_MUX_PFB_INNER_PORT_SEL_MASK (0x7 << I40E_GLPCI_PM_MUX_PFB_INNER_PORT_SEL_SHIFT)
+#define I40E_GLPCI_PQ_MAX_USED_SPC 0x0009C4EC
+#define I40E_GLPCI_PQ_MAX_USED_SPC_GLPCI_PQ_MAX_USED_SPC_12_SHIFT 0
+#define I40E_GLPCI_PQ_MAX_USED_SPC_GLPCI_PQ_MAX_USED_SPC_12_MASK (0xFF << I40E_GLPCI_PQ_MAX_USED_SPC_GLPCI_PQ_MAX_USED_SPC_12_SHIFT)
+#define I40E_GLPCI_PQ_MAX_USED_SPC_GLPCI_PQ_MAX_USED_SPC_13_SHIFT 8
+#define I40E_GLPCI_PQ_MAX_USED_SPC_GLPCI_PQ_MAX_USED_SPC_13_MASK (0xFF << I40E_GLPCI_PQ_MAX_USED_SPC_GLPCI_PQ_MAX_USED_SPC_13_SHIFT)
#define I40E_GLPCI_SPARE_BITS_0 0x0009C4F8
#define I40E_GLPCI_SPARE_BITS_0_SPARE_BITS_SHIFT 0
#define I40E_GLPCI_SPARE_BITS_0_SPARE_BITS_MASK (0xFFFFFFFF << I40E_GLPCI_SPARE_BITS_0_SPARE_BITS_SHIFT)
@@ -50,6 +59,10 @@
#define I40E_PFPCI_VF_FLUSH_DONE 0x0009C600
#define I40E_PFPCI_VF_FLUSH_DONE_FLUSH_DONE_SHIFT 0
#define I40E_PFPCI_VF_FLUSH_DONE_FLUSH_DONE_MASK (0x1 << I40E_PFPCI_VF_FLUSH_DONE_FLUSH_DONE_SHIFT)
+#define I40E_PFPCI_VF_FLUSH_DONE1(_VF) (0x0009C600 + ((_VF) * 4)) /* _i=0...127 */
+#define I40E_PFPCI_VF_FLUSH_DONE1_MAX_INDEX 127
+#define I40E_PFPCI_VF_FLUSH_DONE1_FLUSH_DONE_SHIFT 0
+#define I40E_PFPCI_VF_FLUSH_DONE1_FLUSH_DONE_MASK (0x1 << I40E_PFPCI_VF_FLUSH_DONE1_FLUSH_DONE_SHIFT)
#define I40E_PFPCI_VM_FLUSH_DONE 0x0009C880
#define I40E_PFPCI_VM_FLUSH_DONE_FLUSH_DONE_SHIFT 0
#define I40E_PFPCI_VM_FLUSH_DONE_FLUSH_DONE_MASK (0x1 << I40E_PFPCI_VM_FLUSH_DONE_FLUSH_DONE_SHIFT)
@@ -837,7 +850,7 @@
#define I40E_GLHMC_PEQ1FLCNT_FPMPEQ1FLCNT_MASK (0x1FFFFFFF << I40E_GLHMC_PEQ1FLCNT_FPMPEQ1FLCNT_SHIFT)
#define I40E_GLHMC_PEQ1FLMAX 0x000C2058
#define I40E_GLHMC_PEQ1FLMAX_PMPEQ1FLMAX_SHIFT 0
-#define I40E_GLHMC_PEQ1FLMAX_PMPEQ1FLMAX_MASK (0x3FFFFF << I40E_GLHMC_PEQ1FLMAX_PMPEQ1FLMAX_SHIFT)
+#define I40E_GLHMC_PEQ1FLMAX_PMPEQ1FLMAX_MASK (0x3FFFFFF << I40E_GLHMC_PEQ1FLMAX_PMPEQ1FLMAX_SHIFT)
#define I40E_GLHMC_PEQ1MAX 0x000C2054
#define I40E_GLHMC_PEQ1MAX_PMPEQ1MAX_SHIFT 0
#define I40E_GLHMC_PEQ1MAX_PMPEQ1MAX_MASK (0x3FFFFFF << I40E_GLHMC_PEQ1MAX_PMPEQ1MAX_SHIFT)
@@ -903,7 +916,7 @@
#define I40E_GLHMC_PEXFFLCNT_FPMPEXFFLCNT_MASK (0x1FFFFFFF << I40E_GLHMC_PEXFFLCNT_FPMPEXFFLCNT_SHIFT)
#define I40E_GLHMC_PEXFFLMAX 0x000C204c
#define I40E_GLHMC_PEXFFLMAX_PMPEXFFLMAX_SHIFT 0
-#define I40E_GLHMC_PEXFFLMAX_PMPEXFFLMAX_MASK (0x3FFFFF << I40E_GLHMC_PEXFFLMAX_PMPEXFFLMAX_SHIFT)
+#define I40E_GLHMC_PEXFFLMAX_PMPEXFFLMAX_MASK (0x1FFFFFF << I40E_GLHMC_PEXFFLMAX_PMPEXFFLMAX_SHIFT)
#define I40E_GLHMC_PEXFMAX 0x000C2048
#define I40E_GLHMC_PEXFMAX_PMPEXFMAX_SHIFT 0
#define I40E_GLHMC_PEXFMAX_PMPEXFMAX_MASK (0x3FFFFFF << I40E_GLHMC_PEXFMAX_PMPEXFMAX_SHIFT)
@@ -1636,7 +1649,7 @@
#define I40E_VSILAN_QBASE_VSIQTABLE_ENA_SHIFT 11
#define I40E_VSILAN_QBASE_VSIQTABLE_ENA_MASK (0x1 << I40E_VSILAN_QBASE_VSIQTABLE_ENA_SHIFT)
#define I40E_VSILAN_QTABLE(_i, _VSI) (0x00200000 + ((_i) * 2048 + (_VSI) * 4))
-#define I40E_VSILAN_QTABLE_MAX_INDEX 15
+#define I40E_VSILAN_QTABLE_MAX_INDEX 7
#define I40E_VSILAN_QTABLE_QINDEX_0_SHIFT 0
#define I40E_VSILAN_QTABLE_QINDEX_0_MASK (0x7FF << I40E_VSILAN_QTABLE_QINDEX_0_SHIFT)
#define I40E_VSILAN_QTABLE_QINDEX_1_SHIFT 16
@@ -1773,16 +1786,20 @@
#define I40E_PRTMAC_PCS_XAUI_SWAP_B_SWAP_RX_LANE0_SHIFT 14
#define I40E_PRTMAC_PCS_XAUI_SWAP_B_SWAP_RX_LANE0_MASK (0x3 << I40E_PRTMAC_PCS_XAUI_SWAP_B_SWAP_RX_LANE0_SHIFT)
#define I40E_GL_MNG_FWSM 0x000B6134
-#define I40E_GL_MNG_FWSM_FW_MODES_SHIFT 0
-#define I40E_GL_MNG_FWSM_FW_MODES_MASK (0x3FF << I40E_GL_MNG_FWSM_FW_MODES_SHIFT)
-#define I40E_GL_MNG_FWSM_EEP_RELOAD_IND_SHIFT 10
+#define I40E_GL_MNG_FWSM_FW_MODES_SHIFT 1
+#define I40E_GL_MNG_FWSM_FW_MODES_MASK (0x7 << I40E_GL_MNG_FWSM_FW_MODES_SHIFT)
+#define I40E_GL_MNG_FWSM_EEP_RELOAD_IND_SHIFT 6
#define I40E_GL_MNG_FWSM_EEP_RELOAD_IND_MASK (0x1 << I40E_GL_MNG_FWSM_EEP_RELOAD_IND_SHIFT)
#define I40E_GL_MNG_FWSM_CRC_ERROR_MODULE_SHIFT 11
#define I40E_GL_MNG_FWSM_CRC_ERROR_MODULE_MASK (0xF << I40E_GL_MNG_FWSM_CRC_ERROR_MODULE_SHIFT)
#define I40E_GL_MNG_FWSM_FW_STATUS_VALID_SHIFT 15
#define I40E_GL_MNG_FWSM_FW_STATUS_VALID_MASK (0x1 << I40E_GL_MNG_FWSM_FW_STATUS_VALID_SHIFT)
+#define I40E_GL_MNG_FWSM_RESET_CNT_SHIFT 16
+#define I40E_GL_MNG_FWSM_RESET_CNT_MASK (0x7 << I40E_GL_MNG_FWSM_RESET_CNT_SHIFT)
#define I40E_GL_MNG_FWSM_EXT_ERR_IND_SHIFT 19
#define I40E_GL_MNG_FWSM_EXT_ERR_IND_MASK (0x3F << I40E_GL_MNG_FWSM_EXT_ERR_IND_SHIFT)
+#define I40E_GL_MNG_FWSM_RSVD_SHIFT 25
+#define I40E_GL_MNG_FWSM_RSVD_MASK (0x1 << I40E_GL_MNG_FWSM_RSVD_SHIFT)
#define I40E_GL_MNG_FWSM_PHY_SERDES0_CONFIG_ERR_SHIFT 26
#define I40E_GL_MNG_FWSM_PHY_SERDES0_CONFIG_ERR_MASK (0x1 << I40E_GL_MNG_FWSM_PHY_SERDES0_CONFIG_ERR_SHIFT)
#define I40E_GL_MNG_FWSM_PHY_SERDES1_CONFIG_ERR_SHIFT 27
@@ -2380,8 +2397,7 @@
#define I40E_PFPE_IPCONFIG0_PEIPID_MASK (0xFFFF << I40E_PFPE_IPCONFIG0_PEIPID_SHIFT)
#define I40E_PFPE_IPCONFIG0_USEENTIREIDRANGE_SHIFT 16
#define I40E_PFPE_IPCONFIG0_USEENTIREIDRANGE_MASK (0x1 << I40E_PFPE_IPCONFIG0_USEENTIREIDRANGE_SHIFT)
-#define I40E_PFPE_IPCONFIG0_USEUPPERIDRANGE_SHIFT 17
-#define I40E_PFPE_IPCONFIG0_USEUPPERIDRANGE_MASK (0x1 << I40E_PFPE_IPCONFIG0_USEUPPERIDRANGE_SHIFT)
+
#define I40E_PFPE_MRTEIDXMASK 0x00008600
#define I40E_PFPE_MRTEIDXMASK_MRTEIDXMASKBITS_SHIFT 0
#define I40E_PFPE_MRTEIDXMASK_MRTEIDXMASKBITS_MASK (0x1F << I40E_PFPE_MRTEIDXMASK_MRTEIDXMASKBITS_SHIFT)
@@ -2460,8 +2476,6 @@
#define I40E_VFPE_IPCONFIG0_PEIPID_MASK (0xFFFF << I40E_VFPE_IPCONFIG0_PEIPID_SHIFT)
#define I40E_VFPE_IPCONFIG0_USEENTIREIDRANGE_SHIFT 16
#define I40E_VFPE_IPCONFIG0_USEENTIREIDRANGE_MASK (0x1 << I40E_VFPE_IPCONFIG0_USEENTIREIDRANGE_SHIFT)
-#define I40E_VFPE_IPCONFIG0_USEUPPERIDRANGE_SHIFT 17
-#define I40E_VFPE_IPCONFIG0_USEUPPERIDRANGE_MASK (0x1 << I40E_VFPE_IPCONFIG0_USEUPPERIDRANGE_SHIFT)
#define I40E_VFPE_MRTEIDXMASK(_VF) (0x00003000 + ((_VF) * 4)) /* _i=0...127 */
#define I40E_VFPE_MRTEIDXMASK_MAX_INDEX 127
#define I40E_VFPE_MRTEIDXMASK_MRTEIDXMASKBITS_SHIFT 0
@@ -3141,30 +3155,6 @@
#define I40E_GLPES_VFUDPTXPKTSLO_MAX_INDEX 31
#define I40E_GLPES_VFUDPTXPKTSLO_UDPTXPKTSLO_SHIFT 0
#define I40E_GLPES_VFUDPTXPKTSLO_UDPTXPKTSLO_MASK (0xFFFFFFFF << I40E_GLPES_VFUDPTXPKTSLO_UDPTXPKTSLO_SHIFT)
-#define I40E_GLPM_DMACR 0x000881F4
-#define I40E_GLPM_DMACR_DMACWT_SHIFT 0
-#define I40E_GLPM_DMACR_DMACWT_MASK (0xFFFF << I40E_GLPM_DMACR_DMACWT_SHIFT)
-#define I40E_GLPM_DMACR_EXIT_DC_SHIFT 29
-#define I40E_GLPM_DMACR_EXIT_DC_MASK (0x1 << I40E_GLPM_DMACR_EXIT_DC_SHIFT)
-#define I40E_GLPM_DMACR_LX_COALESCING_INDICATION_SHIFT 30
-#define I40E_GLPM_DMACR_LX_COALESCING_INDICATION_MASK (0x1 << I40E_GLPM_DMACR_LX_COALESCING_INDICATION_SHIFT)
-#define I40E_GLPM_DMACR_DMAC_EN_SHIFT 31
-#define I40E_GLPM_DMACR_DMAC_EN_MASK (0x1 << I40E_GLPM_DMACR_DMAC_EN_SHIFT)
-#define I40E_GLPM_LTRC 0x000BE500
-#define I40E_GLPM_LTRC_SLTRV_SHIFT 0
-#define I40E_GLPM_LTRC_SLTRV_MASK (0x3FF << I40E_GLPM_LTRC_SLTRV_SHIFT)
-#define I40E_GLPM_LTRC_SSCALE_SHIFT 10
-#define I40E_GLPM_LTRC_SSCALE_MASK (0x7 << I40E_GLPM_LTRC_SSCALE_SHIFT)
-#define I40E_GLPM_LTRC_LTRS_REQUIREMENT_SHIFT 15
-#define I40E_GLPM_LTRC_LTRS_REQUIREMENT_MASK (0x1 << I40E_GLPM_LTRC_LTRS_REQUIREMENT_SHIFT)
-#define I40E_GLPM_LTRC_NSLTRV_SHIFT 16
-#define I40E_GLPM_LTRC_NSLTRV_MASK (0x3FF << I40E_GLPM_LTRC_NSLTRV_SHIFT)
-#define I40E_GLPM_LTRC_NSSCALE_SHIFT 26
-#define I40E_GLPM_LTRC_NSSCALE_MASK (0x7 << I40E_GLPM_LTRC_NSSCALE_SHIFT)
-#define I40E_GLPM_LTRC_LTR_SEND_SHIFT 30
-#define I40E_GLPM_LTRC_LTR_SEND_MASK (0x1 << I40E_GLPM_LTRC_LTR_SEND_SHIFT)
-#define I40E_GLPM_LTRC_LTRNS_REQUIREMENT_SHIFT 31
-#define I40E_GLPM_LTRC_LTRNS_REQUIREMENT_MASK (0x1 << I40E_GLPM_LTRC_LTRNS_REQUIREMENT_SHIFT)
#define I40E_PRTPM_EEE_STAT 0x001E4320
#define I40E_PRTPM_EEE_STAT_EEE_NEG_SHIFT 29
#define I40E_PRTPM_EEE_STAT_EEE_NEG_MASK (0x1 << I40E_PRTPM_EEE_STAT_EEE_NEG_SHIFT)
@@ -3201,9 +3191,6 @@
#define I40E_PRTPM_GC_LCDMP_MASK (0x1 << I40E_PRTPM_GC_LCDMP_SHIFT)
#define I40E_PRTPM_GC_LPLU_ASSERTED_SHIFT 31
#define I40E_PRTPM_GC_LPLU_ASSERTED_MASK (0x1 << I40E_PRTPM_GC_LPLU_ASSERTED_SHIFT)
-#define I40E_PRTPM_HPTC 0x000AC800
-#define I40E_PRTPM_HPTC_HIGH_PRI_TC_SHIFT 0
-#define I40E_PRTPM_HPTC_HIGH_PRI_TC_MASK (0xFF << I40E_PRTPM_HPTC_HIGH_PRI_TC_SHIFT)
#define I40E_PRTPM_RLPIC 0x001E43A0
#define I40E_PRTPM_RLPIC_ERLPIC_SHIFT 0
#define I40E_PRTPM_RLPIC_ERLPIC_MASK (0xFFFFFFFF << I40E_PRTPM_RLPIC_ERLPIC_SHIFT)
@@ -3265,8 +3252,8 @@
#define I40E_GLQF_CTL_HTOEP_FCOE_MASK (0x1 << I40E_GLQF_CTL_HTOEP_FCOE_SHIFT)
#define I40E_GLQF_CTL_PCNT_ALLOC_SHIFT 3
#define I40E_GLQF_CTL_PCNT_ALLOC_MASK (0x7 << I40E_GLQF_CTL_PCNT_ALLOC_SHIFT)
-#define I40E_GLQF_CTL_DDPLPEN_SHIFT 7
-#define I40E_GLQF_CTL_DDPLPEN_MASK (0x1 << I40E_GLQF_CTL_DDPLPEN_SHIFT)
+#define I40E_GLQF_CTL_RSVD_SHIFT 7
+#define I40E_GLQF_CTL_RSVD_MASK (0x1 << I40E_GLQF_CTL_RSVD_SHIFT)
#define I40E_GLQF_CTL_MAXPEBLEN_SHIFT 8
#define I40E_GLQF_CTL_MAXPEBLEN_MASK (0x7 << I40E_GLQF_CTL_MAXPEBLEN_SHIFT)
#define I40E_GLQF_CTL_MAXFCBLEN_SHIFT 11
@@ -3416,9 +3403,9 @@
#define I40E_PRTQF_FLX_PIT(_i) (0x00255200 + ((_i) * 32)) /* _i=0...8 */
#define I40E_PRTQF_FLX_PIT_MAX_INDEX 8
#define I40E_PRTQF_FLX_PIT_SOURCE_OFF_SHIFT 0
-#define I40E_PRTQF_FLX_PIT_SOURCE_OFF_MASK (0x3F << I40E_PRTQF_FLX_PIT_SOURCE_OFF_SHIFT)
-#define I40E_PRTQF_FLX_PIT_FSIZE_SHIFT 6
-#define I40E_PRTQF_FLX_PIT_FSIZE_MASK (0xF << I40E_PRTQF_FLX_PIT_FSIZE_SHIFT)
+#define I40E_PRTQF_FLX_PIT_SOURCE_OFF_MASK (0x1F << I40E_PRTQF_FLX_PIT_SOURCE_OFF_SHIFT)
+#define I40E_PRTQF_FLX_PIT_FSIZE_SHIFT 5
+#define I40E_PRTQF_FLX_PIT_FSIZE_MASK (0x1F << I40E_PRTQF_FLX_PIT_FSIZE_SHIFT)
#define I40E_PRTQF_FLX_PIT_DEST_OFF_SHIFT 10
#define I40E_PRTQF_FLX_PIT_DEST_OFF_MASK (0x3F << I40E_PRTQF_FLX_PIT_DEST_OFF_SHIFT)
#define I40E_VFQF_HENA1(_i, _VF) (0x00230800 + ((_i) * 1024 + (_VF) * 4))
@@ -3504,7 +3491,7 @@
#define I40E_VSIQF_CTL_PEMFRAG_ENA_SHIFT 5
#define I40E_VSIQF_CTL_PEMFRAG_ENA_MASK (0x1 << I40E_VSIQF_CTL_PEMFRAG_ENA_SHIFT)
#define I40E_VSIQF_TCREGION(_i, _VSI) (0x00206000 + ((_i) * 2048 + (_VSI) * 4))
-#define I40E_VSIQF_TCREGION_MAX_INDEX 7
+#define I40E_VSIQF_TCREGION_MAX_INDEX 3
#define I40E_VSIQF_TCREGION_TC_OFFSET_SHIFT 0
#define I40E_VSIQF_TCREGION_TC_OFFSET_MASK (0x1FF << I40E_VSIQF_TCREGION_TC_OFFSET_SHIFT)
#define I40E_VSIQF_TCREGION_TC_SIZE_SHIFT 9
@@ -3521,10 +3508,7 @@
#define I40E_GL_FCOEDDPC_MAX_INDEX 143
#define I40E_GL_FCOEDDPC_FCOEDDPC_SHIFT 0
#define I40E_GL_FCOEDDPC_FCOEDDPC_MASK (0xFFFFFFFF << I40E_GL_FCOEDDPC_FCOEDDPC_SHIFT)
-#define I40E_GL_FCOEDDPEC(_i) (0x00314900 + ((_i) * 8)) /* _i=0...143 */
-#define I40E_GL_FCOEDDPEC_MAX_INDEX 143
-#define I40E_GL_FCOEDDPEC_CFOEDDPEC_SHIFT 0
-#define I40E_GL_FCOEDDPEC_CFOEDDPEC_MASK (0xFFFFFFFF << I40E_GL_FCOEDDPEC_CFOEDDPEC_SHIFT)
+/* _i=0...143 */
#define I40E_GL_FCOEDIFEC(_i) (0x00318480 + ((_i) * 8)) /* _i=0...143 */
#define I40E_GL_FCOEDIFEC_MAX_INDEX 143
#define I40E_GL_FCOEDIFEC_FCOEDIFRC_SHIFT 0
@@ -4276,46 +4260,10 @@
#define I40E_PFPM_APM 0x000B8080
#define I40E_PFPM_APM_APME_SHIFT 0
#define I40E_PFPM_APM_APME_MASK (0x1 << I40E_PFPM_APM_APME_SHIFT)
-#define I40E_PFPM_FHFT_DATA(_i, _j) (0x00060000 + ((_i) * 4096 + (_j) * 128))
-#define I40E_PFPM_FHFT_DATA_MAX_INDEX 7
-#define I40E_PFPM_FHFT_DATA_DWORD_SHIFT 0
-#define I40E_PFPM_FHFT_DATA_DWORD_MASK (0xFFFFFFFF << I40E_PFPM_FHFT_DATA_DWORD_SHIFT)
#define I40E_PFPM_FHFT_LENGTH(_i) (0x0006A000 + ((_i) * 128)) /* _i=0...7 */
#define I40E_PFPM_FHFT_LENGTH_MAX_INDEX 7
#define I40E_PFPM_FHFT_LENGTH_LENGTH_SHIFT 0
#define I40E_PFPM_FHFT_LENGTH_LENGTH_MASK (0xFF << I40E_PFPM_FHFT_LENGTH_LENGTH_SHIFT)
-#define I40E_PFPM_FHFT_MASK(_i, _j) (0x00068000 + ((_i) * 1024 + (_j) * 128))
-#define I40E_PFPM_FHFT_MASK_MAX_INDEX 7
-#define I40E_PFPM_FHFT_MASK_MASK_SHIFT 0
-#define I40E_PFPM_FHFT_MASK_MASK_MASK (0xFFFF << I40E_PFPM_FHFT_MASK_MASK_SHIFT)
-#define I40E_PFPM_PROXYFC 0x00245A80
-#define I40E_PFPM_PROXYFC_PPROXYE_SHIFT 0
-#define I40E_PFPM_PROXYFC_PPROXYE_MASK (0x1 << I40E_PFPM_PROXYFC_PPROXYE_SHIFT)
-#define I40E_PFPM_PROXYFC_EX_SHIFT 1
-#define I40E_PFPM_PROXYFC_EX_MASK (0x1 << I40E_PFPM_PROXYFC_EX_SHIFT)
-#define I40E_PFPM_PROXYFC_ARP_SHIFT 4
-#define I40E_PFPM_PROXYFC_ARP_MASK (0x1 << I40E_PFPM_PROXYFC_ARP_SHIFT)
-#define I40E_PFPM_PROXYFC_ARP_DIRECTED_SHIFT 5
-#define I40E_PFPM_PROXYFC_ARP_DIRECTED_MASK (0x1 << I40E_PFPM_PROXYFC_ARP_DIRECTED_SHIFT)
-#define I40E_PFPM_PROXYFC_NS_SHIFT 9
-#define I40E_PFPM_PROXYFC_NS_MASK (0x1 << I40E_PFPM_PROXYFC_NS_SHIFT)
-#define I40E_PFPM_PROXYFC_NS_DIRECTED_SHIFT 10
-#define I40E_PFPM_PROXYFC_NS_DIRECTED_MASK (0x1 << I40E_PFPM_PROXYFC_NS_DIRECTED_SHIFT)
-#define I40E_PFPM_PROXYFC_MLD_SHIFT 12
-#define I40E_PFPM_PROXYFC_MLD_MASK (0x1 << I40E_PFPM_PROXYFC_MLD_SHIFT)
-#define I40E_PFPM_PROXYS 0x00245B80
-#define I40E_PFPM_PROXYS_EX_SHIFT 1
-#define I40E_PFPM_PROXYS_EX_MASK (0x1 << I40E_PFPM_PROXYS_EX_SHIFT)
-#define I40E_PFPM_PROXYS_ARP_SHIFT 4
-#define I40E_PFPM_PROXYS_ARP_MASK (0x1 << I40E_PFPM_PROXYS_ARP_SHIFT)
-#define I40E_PFPM_PROXYS_ARP_DIRECTED_SHIFT 5
-#define I40E_PFPM_PROXYS_ARP_DIRECTED_MASK (0x1 << I40E_PFPM_PROXYS_ARP_DIRECTED_SHIFT)
-#define I40E_PFPM_PROXYS_NS_SHIFT 9
-#define I40E_PFPM_PROXYS_NS_MASK (0x1 << I40E_PFPM_PROXYS_NS_SHIFT)
-#define I40E_PFPM_PROXYS_NS_DIRECTED_SHIFT 10
-#define I40E_PFPM_PROXYS_NS_DIRECTED_MASK (0x1 << I40E_PFPM_PROXYS_NS_DIRECTED_SHIFT)
-#define I40E_PFPM_PROXYS_MLD_SHIFT 12
-#define I40E_PFPM_PROXYS_MLD_MASK (0x1 << I40E_PFPM_PROXYS_MLD_SHIFT)
#define I40E_PFPM_WUC 0x0006B200
#define I40E_PFPM_WUC_EN_APM_D0_SHIFT 5
#define I40E_PFPM_WUC_EN_APM_D0_MASK (0x1 << I40E_PFPM_WUC_EN_APM_D0_SHIFT)
@@ -4536,21 +4484,21 @@
#define I40E_VFMSIX_PBA 0x00002000
#define I40E_VFMSIX_PBA_PENBIT_SHIFT 0
#define I40E_VFMSIX_PBA_PENBIT_MASK (0xFFFFFFFF << I40E_VFMSIX_PBA_PENBIT_SHIFT)
-#define I40E_VFMSIX_TADD(_i) (0x00000008 + ((_i) * 16)) /* _i=0...16 */
+#define I40E_VFMSIX_TADD(_i) (0x00000000 + ((_i) * 16)) /* _i=0...16 */
#define I40E_VFMSIX_TADD_MAX_INDEX 16
#define I40E_VFMSIX_TADD_MSIXTADD10_SHIFT 0
#define I40E_VFMSIX_TADD_MSIXTADD10_MASK (0x3 << I40E_VFMSIX_TADD_MSIXTADD10_SHIFT)
#define I40E_VFMSIX_TADD_MSIXTADD_SHIFT 2
#define I40E_VFMSIX_TADD_MSIXTADD_MASK (0x3FFFFFFF << I40E_VFMSIX_TADD_MSIXTADD_SHIFT)
-#define I40E_VFMSIX_TMSG(_i) (0x0000000C + ((_i) * 16)) /* _i=0...16 */
+#define I40E_VFMSIX_TMSG(_i) (0x00000008 + ((_i) * 16)) /* _i=0...16 */
#define I40E_VFMSIX_TMSG_MAX_INDEX 16
#define I40E_VFMSIX_TMSG_MSIXTMSG_SHIFT 0
#define I40E_VFMSIX_TMSG_MSIXTMSG_MASK (0xFFFFFFFF << I40E_VFMSIX_TMSG_MSIXTMSG_SHIFT)
-#define I40E_VFMSIX_TUADD(_i) (0x00000000 + ((_i) * 16)) /* _i=0...16 */
+#define I40E_VFMSIX_TUADD(_i) (0x00000004 + ((_i) * 16)) /* _i=0...16 */
#define I40E_VFMSIX_TUADD_MAX_INDEX 16
#define I40E_VFMSIX_TUADD_MSIXTUADD_SHIFT 0
#define I40E_VFMSIX_TUADD_MSIXTUADD_MASK (0xFFFFFFFF << I40E_VFMSIX_TUADD_MSIXTUADD_SHIFT)
-#define I40E_VFMSIX_TVCTRL(_i) (0x00000004 + ((_i) * 16)) /* _i=0...16 */
+#define I40E_VFMSIX_TVCTRL(_i) (0x0000000C + ((_i) * 16)) /* _i=0...16 */
#define I40E_VFMSIX_TVCTRL_MAX_INDEX 16
#define I40E_VFMSIX_TVCTRL_MASK_SHIFT 0
#define I40E_VFMSIX_TVCTRL_MASK_MASK (0x1 << I40E_VFMSIX_TVCTRL_MASK_SHIFT)
@@ -4610,8 +4558,6 @@
#define I40E_VFPE_IPCONFIG01_PEIPID_MASK (0xFFFF << I40E_VFPE_IPCONFIG01_PEIPID_SHIFT)
#define I40E_VFPE_IPCONFIG01_USEENTIREIDRANGE_SHIFT 16
#define I40E_VFPE_IPCONFIG01_USEENTIREIDRANGE_MASK (0x1 << I40E_VFPE_IPCONFIG01_USEENTIREIDRANGE_SHIFT)
-#define I40E_VFPE_IPCONFIG01_USEUPPERIDRANGE_SHIFT 17
-#define I40E_VFPE_IPCONFIG01_USEUPPERIDRANGE_MASK (0x1 << I40E_VFPE_IPCONFIG01_USEUPPERIDRANGE_SHIFT)
#define I40E_VFPE_MRTEIDXMASK1 0x00009000
#define I40E_VFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_SHIFT 0
#define I40E_VFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_MASK (0x1F << I40E_VFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_SHIFT)
@@ -4684,5 +4630,13 @@
#define I40E_VFQF_HREGION_OVERRIDE_ENA_7_MASK (0x1 << I40E_VFQF_HREGION_OVERRIDE_ENA_7_SHIFT)
#define I40E_VFQF_HREGION_REGION_7_SHIFT 29
#define I40E_VFQF_HREGION_REGION_7_MASK (0x7 << I40E_VFQF_HREGION_REGION_7_SHIFT)
-
+#define I40E_RCU_PST_FOC_ACCESS_STATUS 0x00270110
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_WR_ACCESS_CNT_SHIFT 0
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_WR_ACCESS_CNT_MASK (0xFF << I40E_RCU_PST_FOC_ACCESS_STATUS_WR_ACCESS_CNT_SHIFT)
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_RD_ACCESS_CNT_SHIFT 8
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_RD_ACCESS_CNT_MASK (0xFF << I40E_RCU_PST_FOC_ACCESS_STATUS_RD_ACCESS_CNT_SHIFT)
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_ERR_CNT_SHIFT 16
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_ERR_CNT_MASK (0xFF << I40E_RCU_PST_FOC_ACCESS_STATUS_ERR_CNT_SHIFT)
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_LAST_ERR_CODE_SHIFT 24
+#define I40E_RCU_PST_FOC_ACCESS_STATUS_LAST_ERR_CODE_MASK (0x7 << I40E_RCU_PST_FOC_ACCESS_STATUS_LAST_ERR_CODE_SHIFT)
#endif
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 03/15] i40e: clear AQ head and tail registers
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-12-06 8:06 ` [net-next 01/15] i40e: set pf_id based on device and function numbers Jeff Kirsher
2013-12-06 8:06 ` [net-next 02/15] i40e: register file updates Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 04/15] i40e: simplify aq head-tail-len setups Jeff Kirsher
` (12 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
During admin queue shutdown clear some more registers
explicitly.
Change-Id: Ifb235c691e1c55e76bf66e0642207f464153d05a
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index cfef7fc..2bf73dd 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -466,10 +466,15 @@ static i40e_status i40e_shutdown_asq(struct i40e_hw *hw)
return I40E_ERR_NOT_READY;
/* Stop firmware AdminQ processing */
- if (hw->mac.type == I40E_MAC_VF)
+ if (hw->mac.type == I40E_MAC_VF) {
wr32(hw, I40E_VF_ATQLEN1, 0);
- else
+ wr32(hw, I40E_VF_ATQH1, 0);
+ wr32(hw, I40E_VF_ATQT1, 0);
+ } else {
wr32(hw, I40E_PF_ATQLEN, 0);
+ wr32(hw, I40E_PF_ATQH, 0);
+ wr32(hw, I40E_PF_ATQT, 0);
+ }
/* make sure lock is available */
mutex_lock(&hw->aq.asq_mutex);
@@ -500,10 +505,15 @@ static i40e_status i40e_shutdown_arq(struct i40e_hw *hw)
return I40E_ERR_NOT_READY;
/* Stop firmware AdminQ processing */
- if (hw->mac.type == I40E_MAC_VF)
+ if (hw->mac.type == I40E_MAC_VF) {
wr32(hw, I40E_VF_ARQLEN1, 0);
- else
+ wr32(hw, I40E_VF_ARQH1, 0);
+ wr32(hw, I40E_VF_ARQT1, 0);
+ } else {
wr32(hw, I40E_PF_ARQLEN, 0);
+ wr32(hw, I40E_PF_ARQH, 0);
+ wr32(hw, I40E_PF_ARQT, 0);
+ }
/* make sure lock is available */
mutex_lock(&hw->aq.arq_mutex);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 04/15] i40e: simplify aq head-tail-len setups
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (2 preceding siblings ...)
2013-12-06 8:06 ` [net-next 03/15] i40e: clear AQ head and tail registers Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 05/15] i40e: firmware version fields offsets update Jeff Kirsher
` (11 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
Use more virtual registers to simplify code flows.
Change-Id: I32cff3818c5ca3a3792487ba4fed8f1d0ea6145a
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 50 ++++++++-------------------
drivers/net/ethernet/intel/i40e/i40e_adminq.h | 1 +
2 files changed, 15 insertions(+), 36 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index 2bf73dd..92c01ad 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -43,13 +43,17 @@ static void i40e_adminq_init_regs(struct i40e_hw *hw)
if (hw->mac.type == I40E_MAC_VF) {
hw->aq.asq.tail = I40E_VF_ATQT1;
hw->aq.asq.head = I40E_VF_ATQH1;
+ hw->aq.asq.len = I40E_VF_ATQLEN1;
hw->aq.arq.tail = I40E_VF_ARQT1;
hw->aq.arq.head = I40E_VF_ARQH1;
+ hw->aq.arq.len = I40E_VF_ARQLEN1;
} else {
hw->aq.asq.tail = I40E_PF_ATQT;
hw->aq.asq.head = I40E_PF_ATQH;
+ hw->aq.asq.len = I40E_PF_ATQLEN;
hw->aq.arq.tail = I40E_PF_ARQT;
hw->aq.arq.head = I40E_PF_ARQH;
+ hw->aq.arq.len = I40E_PF_ARQLEN;
}
}
@@ -466,15 +470,9 @@ static i40e_status i40e_shutdown_asq(struct i40e_hw *hw)
return I40E_ERR_NOT_READY;
/* Stop firmware AdminQ processing */
- if (hw->mac.type == I40E_MAC_VF) {
- wr32(hw, I40E_VF_ATQLEN1, 0);
- wr32(hw, I40E_VF_ATQH1, 0);
- wr32(hw, I40E_VF_ATQT1, 0);
- } else {
- wr32(hw, I40E_PF_ATQLEN, 0);
- wr32(hw, I40E_PF_ATQH, 0);
- wr32(hw, I40E_PF_ATQT, 0);
- }
+ wr32(hw, hw->aq.asq.head, 0);
+ wr32(hw, hw->aq.asq.tail, 0);
+ wr32(hw, hw->aq.asq.len, 0);
/* make sure lock is available */
mutex_lock(&hw->aq.asq_mutex);
@@ -505,15 +503,9 @@ static i40e_status i40e_shutdown_arq(struct i40e_hw *hw)
return I40E_ERR_NOT_READY;
/* Stop firmware AdminQ processing */
- if (hw->mac.type == I40E_MAC_VF) {
- wr32(hw, I40E_VF_ARQLEN1, 0);
- wr32(hw, I40E_VF_ARQH1, 0);
- wr32(hw, I40E_VF_ARQT1, 0);
- } else {
- wr32(hw, I40E_PF_ARQLEN, 0);
- wr32(hw, I40E_PF_ARQH, 0);
- wr32(hw, I40E_PF_ARQT, 0);
- }
+ wr32(hw, hw->aq.arq.head, 0);
+ wr32(hw, hw->aq.arq.tail, 0);
+ wr32(hw, hw->aq.arq.len, 0);
/* make sure lock is available */
mutex_lock(&hw->aq.arq_mutex);
@@ -966,27 +958,13 @@ void i40e_resume_aq(struct i40e_hw *hw)
hw->aq.asq.next_to_clean = 0;
i40e_config_asq_regs(hw);
- reg = hw->aq.num_asq_entries;
-
- if (hw->mac.type == I40E_MAC_VF) {
- reg |= I40E_VF_ATQLEN_ATQENABLE_MASK;
- wr32(hw, I40E_VF_ATQLEN1, reg);
- } else {
- reg |= I40E_PF_ATQLEN_ATQENABLE_MASK;
- wr32(hw, I40E_PF_ATQLEN, reg);
- }
+ reg = hw->aq.num_asq_entries | I40E_PF_ATQLEN_ATQENABLE_MASK;
+ wr32(hw, hw->aq.asq.len, reg);
hw->aq.arq.next_to_use = 0;
hw->aq.arq.next_to_clean = 0;
i40e_config_arq_regs(hw);
- reg = hw->aq.num_arq_entries;
-
- if (hw->mac.type == I40E_MAC_VF) {
- reg |= I40E_VF_ATQLEN_ATQENABLE_MASK;
- wr32(hw, I40E_VF_ARQLEN1, reg);
- } else {
- reg |= I40E_PF_ATQLEN_ATQENABLE_MASK;
- wr32(hw, I40E_PF_ARQLEN, reg);
- }
+ reg = hw->aq.num_arq_entries | I40E_PF_ATQLEN_ATQENABLE_MASK;
+ wr32(hw, hw->aq.arq.len, reg);
}
diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.h b/drivers/net/ethernet/intel/i40e/i40e_adminq.h
index 22e5ed6..f8c2c44 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.h
@@ -56,6 +56,7 @@ struct i40e_adminq_ring {
/* used for queue tracking */
u32 head;
u32 tail;
+ u32 len;
};
/* ASQ transaction details */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 05/15] i40e: firmware version fields offsets update
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (3 preceding siblings ...)
2013-12-06 8:06 ` [net-next 04/15] i40e: simplify aq head-tail-len setups Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 06/15] i40e: allow one more vector for VFs Jeff Kirsher
` (10 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Anjali Singhai jain, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Anjali Singhai jain <anjali.singhai@intel.com>
The version bits reported by the hardware changed, so fix
up the offsets to print the version correctly.
Change-Id: I8a8207b401ea88f6da024aebafe7d3826ee6512c
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e.h | 17 +++++++++--------
drivers/net/ethernet/intel/i40e/i40e_main.c | 7 +++++++
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 1ca9834..b82f501 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -81,11 +81,14 @@
#define I40E_DEFAULT_MSG_ENABLE 4
#define I40E_NVM_VERSION_LO_SHIFT 0
-#define I40E_NVM_VERSION_LO_MASK (0xf << I40E_NVM_VERSION_LO_SHIFT)
-#define I40E_NVM_VERSION_MID_SHIFT 4
-#define I40E_NVM_VERSION_MID_MASK (0xff << I40E_NVM_VERSION_MID_SHIFT)
-#define I40E_NVM_VERSION_HI_SHIFT 12
-#define I40E_NVM_VERSION_HI_MASK (0xf << I40E_NVM_VERSION_HI_SHIFT)
+#define I40E_NVM_VERSION_LO_MASK (0xff << I40E_NVM_VERSION_LO_SHIFT)
+#define I40E_NVM_VERSION_HI_SHIFT 8
+#define I40E_NVM_VERSION_HI_MASK (0xff << I40E_NVM_VERSION_HI_SHIFT)
+
+/* The values in here are decimal coded as hex as is the case in the NVM map*/
+#define I40E_CURRENT_NVM_VERSION_HI 0x2
+#define I40E_CURRENT_NVM_VERSION_LO 0x1
+
/* magic for getting defines into strings */
#define STRINGIFY(foo) #foo
@@ -441,13 +444,11 @@ static inline char *i40e_fw_version_str(struct i40e_hw *hw)
static char buf[32];
snprintf(buf, sizeof(buf),
- "f%d.%d a%d.%d n%02d.%02d.%02d e%08x",
+ "f%d.%d a%d.%d n%02x.%02x e%08x",
hw->aq.fw_maj_ver, hw->aq.fw_min_ver,
hw->aq.api_maj_ver, hw->aq.api_min_ver,
(hw->nvm.version & I40E_NVM_VERSION_HI_MASK)
>> I40E_NVM_VERSION_HI_SHIFT,
- (hw->nvm.version & I40E_NVM_VERSION_MID_MASK)
- >> I40E_NVM_VERSION_MID_SHIFT,
(hw->nvm.version & I40E_NVM_VERSION_LO_MASK)
>> I40E_NVM_VERSION_LO_SHIFT,
hw->nvm.eetrack);
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index be15938..6e0f2cb 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -7141,6 +7141,13 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
err = i40e_init_adminq(hw);
dev_info(&pdev->dev, "%s\n", i40e_fw_version_str(hw));
+ if (((hw->nvm.version & I40E_NVM_VERSION_HI_MASK)
+ >> I40E_NVM_VERSION_HI_SHIFT) != I40E_CURRENT_NVM_VERSION_HI) {
+ dev_info(&pdev->dev,
+ "warning: NVM version not supported, supported version: %02x.%02x\n",
+ I40E_CURRENT_NVM_VERSION_HI,
+ I40E_CURRENT_NVM_VERSION_LO);
+ }
if (err) {
dev_info(&pdev->dev,
"init_adminq failed: %d expecting API %02x.%02x\n",
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 06/15] i40e: allow one more vector for VFs
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (4 preceding siblings ...)
2013-12-06 8:06 ` [net-next 05/15] i40e: firmware version fields offsets update Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 07/15] i40e: select reset counters correctly Jeff Kirsher
` (9 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Mitch Williams, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Mitch Williams <mitch.a.williams@intel.com>
The number of vectors per VF as reported by the hardware does not
include vector 0, so we need to account for this when checking to
see if the VF is configuring a valid vector.
Change-Id: I051d8bebae8f4722239f5a3fa5e1de4cf0f4e817
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 0759698..d98cc9b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -70,7 +70,7 @@ static inline bool i40e_vc_isvalid_vector_id(struct i40e_vf *vf, u8 vector_id)
{
struct i40e_pf *pf = vf->pf;
- return vector_id < pf->hw.func_caps.num_msix_vectors_vf;
+ return vector_id <= pf->hw.func_caps.num_msix_vectors_vf;
}
/***********************vf resource mgmt routines*****************/
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 07/15] i40e: select reset counters correctly
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (5 preceding siblings ...)
2013-12-06 8:06 ` [net-next 06/15] i40e: allow one more vector for VFs Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 08/15] i40e: retry call on timeout Jeff Kirsher
` (8 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
The indication for telling which reset happened is a value, not a
bit pattern, so select by ==, not &.
Change-Id: Ie04097388ff16b85015d6ab1236d7511ef653e8c
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 6e0f2cb..2dd4be5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2790,11 +2790,11 @@ static irqreturn_t i40e_intr(int irq, void *data)
val = rd32(hw, I40E_GLGEN_RSTAT);
val = (val & I40E_GLGEN_RSTAT_RESET_TYPE_MASK)
>> I40E_GLGEN_RSTAT_RESET_TYPE_SHIFT;
- if (val & I40E_RESET_CORER)
+ if (val == I40E_RESET_CORER)
pf->corer_count++;
- else if (val & I40E_RESET_GLOBR)
+ else if (val == I40E_RESET_GLOBR)
pf->globr_count++;
- else if (val & I40E_RESET_EMPR)
+ else if (val == I40E_RESET_EMPR)
pf->empr_count++;
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 08/15] i40e: retry call on timeout
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (6 preceding siblings ...)
2013-12-06 8:06 ` [net-next 07/15] i40e: select reset counters correctly Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 09/15] i40e: properly add VF MAC addresses Jeff Kirsher
` (7 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
If the admin queue times out, retry some more to make driver load and
reset more robust.
Change-Id: I45c977b3d10a62c770d6072659ec27834849ca33
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq.c b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
index 92c01ad..30f32f3 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_adminq.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq.c
@@ -535,8 +535,9 @@ static i40e_status i40e_shutdown_arq(struct i40e_hw *hw)
**/
i40e_status i40e_init_adminq(struct i40e_hw *hw)
{
- u16 eetrack_lo, eetrack_hi;
i40e_status ret_code;
+ u16 eetrack_lo, eetrack_hi;
+ int retry = 0;
/* verify input for valid configuration */
if ((hw->aq.num_arq_entries == 0) ||
@@ -564,11 +565,24 @@ i40e_status i40e_init_adminq(struct i40e_hw *hw)
if (ret_code)
goto init_adminq_free_asq;
- ret_code = i40e_aq_get_firmware_version(hw,
- &hw->aq.fw_maj_ver, &hw->aq.fw_min_ver,
- &hw->aq.api_maj_ver, &hw->aq.api_min_ver,
- NULL);
- if (ret_code)
+ /* There are some cases where the firmware may not be quite ready
+ * for AdminQ operations, so we retry the AdminQ setup a few times
+ * if we see timeouts in this first AQ call.
+ */
+ do {
+ ret_code = i40e_aq_get_firmware_version(hw,
+ &hw->aq.fw_maj_ver,
+ &hw->aq.fw_min_ver,
+ &hw->aq.api_maj_ver,
+ &hw->aq.api_min_ver,
+ NULL);
+ if (ret_code != I40E_ERR_ADMIN_QUEUE_TIMEOUT)
+ break;
+ retry++;
+ msleep(100);
+ i40e_resume_aq(hw);
+ } while (retry < 10);
+ if (ret_code != I40E_SUCCESS)
goto init_adminq_free_arq;
if (hw->aq.api_maj_ver != I40E_FW_API_VERSION_MAJOR ||
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 09/15] i40e: properly add VF MAC addresses
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (7 preceding siblings ...)
2013-12-06 8:06 ` [net-next 08/15] i40e: retry call on timeout Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 10/15] i40e: fix debugging messages Jeff Kirsher
` (6 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Mitch Williams, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Mitch Williams <mitch.a.williams@intel.com>
The code that added new MAC addresses from the VFs did not, in
fact, work. Due to inverse logic, the only addresses that could
be added were addresses that already had been added.
Change-Id: Idce9169bd2f36e2c5ee10b130587a65705465d31
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index d98cc9b..5997301 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -1603,7 +1603,7 @@ static int i40e_vc_add_mac_addr_msg(struct i40e_vf *vf, u8 *msg, u16 msglen)
struct i40e_mac_filter *f;
f = i40e_find_mac(vsi, al->list[i].addr, true, false);
- if (f) {
+ if (!f) {
if (i40e_is_vsi_in_vlan(vsi))
f = i40e_put_mac_in_vlan(vsi, al->list[i].addr,
true, false);
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 10/15] i40e: fix debugging messages
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (8 preceding siblings ...)
2013-12-06 8:06 ` [net-next 09/15] i40e: properly add VF MAC addresses Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 11/15] i40e: default debug mask setting Jeff Kirsher
` (5 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Mitch Williams, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Mitch Williams <mitch.a.williams@intel.com>
Clean up some messages that had arguments reversed.
Change-Id: I0f38a4f01132a2918d61dbaf23de1e1eaed5e56d
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 5997301..e7bdd47 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -620,13 +620,13 @@ int i40e_reset_vf(struct i40e_vf *vf, bool flr)
if (ret)
dev_info(&pf->pdev->dev,
"Queue control check failed on Tx queue %d of VSI %d VF %d\n",
- vf->lan_vsi_index, j, vf->vf_id);
+ j, vf->lan_vsi_index, vf->vf_id);
ret = i40e_ctrl_vsi_rx_queue(vf, vf->lan_vsi_index, j,
I40E_QUEUE_CTRL_FASTDISABLECHECK);
if (ret)
dev_info(&pf->pdev->dev,
"Queue control check failed on Rx queue %d of VSI %d VF %d\n",
- vf->lan_vsi_index, j, vf->vf_id);
+ j, vf->lan_vsi_index, vf->vf_id);
}
/* clear the irq settings */
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 11/15] i40e: default debug mask setting
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (9 preceding siblings ...)
2013-12-06 8:06 ` [net-next 10/15] i40e: fix debugging messages Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 12/15] i40e: add interrupt test Jeff Kirsher
` (4 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
Set the debug mask by default.
Change-Id: I10346ccb1a47f79747eb2108a83af059e947f1e2
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 2dd4be5..db626e0 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5579,6 +5579,7 @@ static int i40e_sw_init(struct i40e_pf *pf)
pf->msg_enable = netif_msg_init(I40E_DEFAULT_MSG_ENABLE,
(NETIF_MSG_DRV|NETIF_MSG_PROBE|NETIF_MSG_LINK));
+ pf->hw.debug_mask = pf->msg_enable | I40E_DEBUG_DIAG;
if (debug != -1 && debug != I40E_DEFAULT_MSG_ENABLE) {
if (I40E_DEBUG_USER & debug)
pf->hw.debug_mask = debug;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 12/15] i40e: add interrupt test
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (10 preceding siblings ...)
2013-12-06 8:06 ` [net-next 11/15] i40e: default debug mask setting Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 13/15] i40e: add support for triggering EMPR Jeff Kirsher
` (3 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
Add a quick ethtool test for interrupts using the SW interrupt.
Also, change the loopback test (for now) to not report failure.
Change-Id: Id8ef154b82475e3163087a8d1df01dfec4d529fc
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 10 ++++++++--
drivers/net/ethernet/intel/i40e/i40e_main.c | 5 +++++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index b82f501..8806cab 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -250,6 +250,7 @@ struct i40e_pf {
u16 globr_count; /* Global reset count */
u16 empr_count; /* EMP reset count */
u16 pfr_count; /* PF reset count */
+ u16 sw_int_count; /* SW interrupt count */
struct mutex switch_mutex;
u16 lan_vsi; /* our default LAN VSI */
diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
index 1b86138..8f5d538 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c
@@ -734,14 +734,20 @@ static int i40e_eeprom_test(struct i40e_pf *pf, u64 *data)
static int i40e_intr_test(struct i40e_pf *pf, u64 *data)
{
- *data = -ENOSYS;
+ u16 swc_old = pf->sw_int_count;
+
+ wr32(&pf->hw, I40E_PFINT_DYN_CTL0,
+ (I40E_PFINT_DYN_CTL0_INTENA_MASK |
+ I40E_PFINT_DYN_CTL0_SWINT_TRIG_MASK));
+ usleep_range(1000, 2000);
+ *data = (swc_old == pf->sw_int_count);
return *data;
}
static int i40e_loopback_test(struct i40e_pf *pf, u64 *data)
{
- *data = -ENOSYS;
+ *data = 0;
return *data;
}
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index db626e0..d60673e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2752,6 +2752,11 @@ static irqreturn_t i40e_intr(int irq, void *data)
ena_mask = rd32(hw, I40E_PFINT_ICR0_ENA);
+ /* if interrupt but no bits showing, must be SWINT */
+ if (((icr0 & ~I40E_PFINT_ICR0_INTEVENT_MASK) == 0) ||
+ (icr0 & I40E_PFINT_ICR0_SWINT_MASK))
+ pf->sw_int_count++;
+
/* only q0 is used in MSI/Legacy mode, and none are used in MSIX */
if (icr0 & I40E_PFINT_ICR0_QUEUE_0_MASK) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 13/15] i40e: add support for triggering EMPR
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (11 preceding siblings ...)
2013-12-06 8:06 ` [net-next 12/15] i40e: add interrupt test Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 14/15] i40e: restrict diag test length Jeff Kirsher
` (2 subsequent siblings)
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Shannon Nelson, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Shannon Nelson <shannon.nelson@intel.com>
Allow debugfs to trigger a reset called EMPR.
Change-Id: I2f6600a8242759ec60c8198d03f70c2b774e0740
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 4 ++++
drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++++++++++
3 files changed, 23 insertions(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 8806cab..df685bc 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -130,6 +130,7 @@ enum i40e_state_t {
__I40E_PF_RESET_REQUESTED,
__I40E_CORE_RESET_REQUESTED,
__I40E_GLOBAL_RESET_REQUESTED,
+ __I40E_EMP_RESET_REQUESTED,
__I40E_FILTER_OVERFLOW_PROMISC,
};
diff --git a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
index ef4cb1c..9c675b5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
@@ -1472,6 +1472,10 @@ static ssize_t i40e_dbg_command_write(struct file *filp,
dev_info(&pf->pdev->dev, "forcing GlobR\n");
i40e_do_reset(pf, (1 << __I40E_GLOBAL_RESET_REQUESTED));
+ } else if (strncmp(cmd_buf, "empr", 4) == 0) {
+ dev_info(&pf->pdev->dev, "forcing EMPR\n");
+ i40e_do_reset(pf, (1 << __I40E_EMP_RESET_REQUESTED));
+
} else if (strncmp(cmd_buf, "read", 4) == 0) {
u32 address;
u32 value;
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index d60673e..5d234a1 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -4056,6 +4056,24 @@ void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags)
wr32(&pf->hw, I40E_GLGEN_RTRIG, val);
i40e_flush(&pf->hw);
+ } else if (reset_flags & (1 << __I40E_EMP_RESET_REQUESTED)) {
+
+ /* Request a Firmware Reset
+ *
+ * Same as Global reset, plus restarting the
+ * embedded firmware engine.
+ */
+ /* enable EMP Reset */
+ val = rd32(&pf->hw, I40E_GLGEN_RSTENA_EMP);
+ val |= I40E_GLGEN_RSTENA_EMP_EMP_RST_ENA_MASK;
+ wr32(&pf->hw, I40E_GLGEN_RSTENA_EMP, val);
+
+ /* force the reset */
+ val = rd32(&pf->hw, I40E_GLGEN_RTRIG);
+ val |= I40E_GLGEN_RTRIG_EMPFWR_MASK;
+ wr32(&pf->hw, I40E_GLGEN_RTRIG, val);
+ i40e_flush(&pf->hw);
+
} else if (reset_flags & (1 << __I40E_PF_RESET_REQUESTED)) {
/* Request a PF Reset
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 14/15] i40e: restrict diag test length
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (12 preceding siblings ...)
2013-12-06 8:06 ` [net-next 13/15] i40e: add support for triggering EMPR Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 8:06 ` [net-next 15/15] i40e: sync header files with hardware Jeff Kirsher
2013-12-06 19:49 ` [net-next 00/15][pull request] Intel Wired LAN Driver Updates David Miller
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Kamil Krawczyk, netdev, gospo, sassmann, Jesse Brandeburg, Jeff Kirsher
From: Kamil Krawczyk <kamil.krawczyk@intel.com>
The diagnostics test needs some slightly different limits
in order to succeed.
Change-Id: Ia1c49148af92fa4be20778a819f69350381bf865
Signed-off-by: Kamil Krawczyk <kamil.krawczyk@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_diag.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_diag.c b/drivers/net/ethernet/intel/i40e/i40e_diag.c
index de25514..dc6c41f 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_diag.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_diag.c
@@ -68,16 +68,16 @@ static i40e_status i40e_diag_reg_pattern_test(struct i40e_hw *hw,
struct i40e_diag_reg_test_info i40e_reg_list[] = {
/* offset mask elements stride */
- {I40E_QTX_CTL(0), 0x0000FFBF, 64, I40E_QTX_CTL(1) - I40E_QTX_CTL(0)},
+ {I40E_QTX_CTL(0), 0x0000FFBF, 4, I40E_QTX_CTL(1) - I40E_QTX_CTL(0)},
{I40E_PFINT_ITR0(0), 0x00000FFF, 3, I40E_PFINT_ITR0(1) - I40E_PFINT_ITR0(0)},
{I40E_PFINT_ITRN(0, 0), 0x00000FFF, 64, I40E_PFINT_ITRN(0, 1) - I40E_PFINT_ITRN(0, 0)},
{I40E_PFINT_ITRN(1, 0), 0x00000FFF, 64, I40E_PFINT_ITRN(1, 1) - I40E_PFINT_ITRN(1, 0)},
{I40E_PFINT_ITRN(2, 0), 0x00000FFF, 64, I40E_PFINT_ITRN(2, 1) - I40E_PFINT_ITRN(2, 0)},
{I40E_PFINT_STAT_CTL0, 0x0000000C, 1, 0},
{I40E_PFINT_LNKLST0, 0x00001FFF, 1, 0},
- {I40E_PFINT_LNKLSTN(0), 0x000007FF, 511, I40E_PFINT_LNKLSTN(1) - I40E_PFINT_LNKLSTN(0)},
- {I40E_QINT_TQCTL(0), 0x000000FF, I40E_QINT_TQCTL_MAX_INDEX + 1, I40E_QINT_TQCTL(1) - I40E_QINT_TQCTL(0)},
- {I40E_QINT_RQCTL(0), 0x000000FF, I40E_QINT_RQCTL_MAX_INDEX + 1, I40E_QINT_RQCTL(1) - I40E_QINT_RQCTL(0)},
+ {I40E_PFINT_LNKLSTN(0), 0x000007FF, 64, I40E_PFINT_LNKLSTN(1) - I40E_PFINT_LNKLSTN(0)},
+ {I40E_QINT_TQCTL(0), 0x000000FF, 64, I40E_QINT_TQCTL(1) - I40E_QINT_TQCTL(0)},
+ {I40E_QINT_RQCTL(0), 0x000000FF, 64, I40E_QINT_RQCTL(1) - I40E_QINT_RQCTL(0)},
{I40E_PFINT_ICR0_ENA, 0xF7F20000, 1, 0},
{ 0 }
};
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* [net-next 15/15] i40e: sync header files with hardware
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (13 preceding siblings ...)
2013-12-06 8:06 ` [net-next 14/15] i40e: restrict diag test length Jeff Kirsher
@ 2013-12-06 8:06 ` Jeff Kirsher
2013-12-06 19:49 ` [net-next 00/15][pull request] Intel Wired LAN Driver Updates David Miller
15 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-06 8:06 UTC (permalink / raw)
To: davem
Cc: Anjali Singhai Jain, netdev, gospo, sassmann, Jesse Brandeburg,
Jeff Kirsher
From: Anjali Singhai Jain <anjali.singhai@intel.com>
Update the PCTYPE table
fix fcoe HMC object sizes
Change-Id: I1f12cd2653168859661e8700f929b7c65b0e21b7
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h | 4 ++--
drivers/net/ethernet/intel/i40e/i40e_type.h | 11 ++++-------
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h b/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h
index 00ff35006..f8afbcb0 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h
@@ -113,8 +113,8 @@ enum i40e_hmc_lan_object_size {
#define I40E_HMC_L2OBJ_BASE_ALIGNMENT 512
#define I40E_HMC_OBJ_SIZE_TXQ 128
#define I40E_HMC_OBJ_SIZE_RXQ 32
-#define I40E_HMC_OBJ_SIZE_FCOE_CNTX 128
-#define I40E_HMC_OBJ_SIZE_FCOE_FILT 32
+#define I40E_HMC_OBJ_SIZE_FCOE_CNTX 64
+#define I40E_HMC_OBJ_SIZE_FCOE_FILT 64
enum i40e_hmc_lan_rsrc_type {
I40E_HMC_LAN_FULL = 0,
diff --git a/drivers/net/ethernet/intel/i40e/i40e_type.h b/drivers/net/ethernet/intel/i40e/i40e_type.h
index f3f22b2..5f81bd5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_type.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_type.h
@@ -852,10 +852,7 @@ struct i40e_filter_program_desc {
/* Packet Classifier Types for filters */
enum i40e_filter_pctype {
- /* Note: Value 0-25 are reserved for future use */
- I40E_FILTER_PCTYPE_IPV4_TEREDO_UDP = 26,
- I40E_FILTER_PCTYPE_IPV6_TEREDO_UDP = 27,
- I40E_FILTER_PCTYPE_NONF_IPV4_1588_UDP = 28,
+ /* Note: Values 0-28 are reserved for future use */
I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP = 29,
I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP = 30,
I40E_FILTER_PCTYPE_NONF_IPV4_UDP = 31,
@@ -864,8 +861,7 @@ enum i40e_filter_pctype {
I40E_FILTER_PCTYPE_NONF_IPV4_SCTP = 34,
I40E_FILTER_PCTYPE_NONF_IPV4_OTHER = 35,
I40E_FILTER_PCTYPE_FRAG_IPV4 = 36,
- /* Note: Value 37 is reserved for future use */
- I40E_FILTER_PCTYPE_NONF_IPV6_1588_UDP = 38,
+ /* Note: Values 37-38 are reserved for future use */
I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP = 39,
I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP = 40,
I40E_FILTER_PCTYPE_NONF_IPV6_UDP = 41,
@@ -877,7 +873,8 @@ enum i40e_filter_pctype {
/* Note: Value 47 is reserved for future use */
I40E_FILTER_PCTYPE_FCOE_OX = 48,
I40E_FILTER_PCTYPE_FCOE_RX = 49,
- /* Note: Value 50-62 are reserved for future use */
+ I40E_FILTER_PCTYPE_FCOE_OTHER = 50,
+ /* Note: Values 51-62 are reserved for future use */
I40E_FILTER_PCTYPE_L2_PAYLOAD = 63,
};
--
1.8.3.1
^ permalink raw reply related [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
` (14 preceding siblings ...)
2013-12-06 8:06 ` [net-next 15/15] i40e: sync header files with hardware Jeff Kirsher
@ 2013-12-06 19:49 ` David Miller
15 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2013-12-06 19:49 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 6 Dec 2013 00:06:13 -0800
> This series contains updates to i40e only.
>
> Christopher Pau provides a patch to set pf_id based on device and
> function numbers since NICs with ARI enabled can have function
> numbers larger than 8.
>
> Anjali provides 3 i40e patches to update hardware defines to keep
> in sync with hardware updates.
>
> Shannon provides the majority of i40e patches, with 7. First patch
> clears the admin queue head and tail registers during admin queue
> shutdown. Then simplifies the admin queue head-tail-len setups to
> use more virtual registers. Provides several patches to cleanup
> and fix driver load and reset procedures to make more robust. Lastly,
> provides an ethtool test for interrupts using the software interrupt.
>
> Mitch provides some i40e patches which fixes up VF code in the PF
> driver, specifically the number of vectors per VF are reported by the
> hardware does not include vector 0, so we need to account for this
> when checking. In addition, cleans up debugging messages.
>
> Kamil provides an i40e patch to fix the diagnostics test by restricting
> the diagnostic test length.
Pulled, thanks a lot Jeff.
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-05-29 15:10 Jeff Kirsher
2014-05-31 0:53 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-05-29 15:10 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e and i40evf.
Kevin updates the i40e and i40evf driver i40e_check_asq_alive() to ensure
the length register offset is non-zero which indicates that the software
has initialized the admin queue. Also removes PCTYPE definitions which are
now reserved.
Mitch enables descriptor prefetch for rings belonging to the virtual function.
Also configures the VF minimum transmit rate to 50 Mbps rather than 0 which was
be interpreted as no limit at all. Mitch found in order for the VF to achieve
its programmed transmit rate, we need to set the max credit value to 4.
Lastly fixes a Tx hang and firmware crash that happens after setting the MTU
on a VF by not using the RESETTING state during reinit, this is because
the RESETTING state means that a catastrophic hardware bad thing is happening
and the driver needs to tiptoe around and not use the admin queue or registers.
A reinit is no big deal and we can use the admin queue (and we should) so
do not set the state to RESETTING during reinit to resolve the bug.
Akeem changes the declaration of the transmit and receive rings inside
several loops to eliminate declaring the same ring every time for the
duration of the loop and declares them just once before the loop. Also fixes
the driver to clear the recovery pending bit if pf_reset fails instead of
falling through the setup process.
Anjali makes a change based on feedback from Ben Hutchings that cmd->data
needs to be reported in ETHTOOL_GRXCLSRLCNT and use a helper function to
calculate the total filter count.
Jesse removes storm control since the storm control features are not apart
of the hardware and were mistakenly left in the code.
Greg changes tx_lpi_status and rx_lpi_status from bool to u32 to avoid
sparse errors.
Shannon adds the clear_pxe AdminQ API call to tell the firmware that the
driver is taking over from PXE. In addition, relaxes the firmware API
check to allow more flexibility in handling newer NICs and NVMs in the field.
Vasu ensures that FCoE is disabled for MFP modes since it is not supported
by overriding the hardware FCoE capability.
The following are changes since commit 6623b4194459c07859d3e3196c3994fa7be5b88e:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Akeem G Abodunrin (2):
i40e: Tx/Rx rings declaration
i40e: Clear recovery pending, if reset failed
Anjali Singhai Jain (2):
i40e: Report cmd->data in ETHTOOL_GRXCLSRLCNT instead of
ETHTOOL_GRXCLSRULE
i40e: Use the new i40e_get_fd_cnt_all function in other places
Greg Rose (1):
i40e/i40evf: Change type to u32 to avoid sparse error
Jesse Brandeburg (1):
i40e/i40evf: remove storm control
Kevin Scott (2):
i40e/i40evf: Update check for AQ aliveness
i40e/i40evf: Remove reserved PCTYPE defines
Mitch Williams (4):
i40e: enable descriptor prefetch for VFs
i40evf: don't round Tx rate down to 0
i40evf: tweak Tx rate params and de-magic-ify
i40evf: don't use RESETTING state during reinit
Shannon Nelson (2):
i40e: add clear_pxe AdminQ request
i40e: relax the firmware API version check
Vasu Dev (1):
i40: disable FCoE for MFP modes
drivers/net/ethernet/intel/i40e/i40e.h | 9 +++++
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 3 +-
drivers/net/ethernet/intel/i40e/i40e_common.c | 42 +++++++++++++++++++++-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 37 +++++++------------
drivers/net/ethernet/intel/i40e/i40e_main.c | 19 +++++-----
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 2 ++
drivers/net/ethernet/intel/i40e/i40e_register.h | 4 ---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 33 +++++++----------
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 7 +---
drivers/net/ethernet/intel/i40e/i40e_type.h | 14 +++-----
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 13 +++++--
drivers/net/ethernet/intel/i40evf/i40e_common.c | 6 +++-
drivers/net/ethernet/intel/i40evf/i40e_register.h | 4 ---
drivers/net/ethernet/intel/i40evf/i40e_txrx.h | 7 +---
drivers/net/ethernet/intel/i40evf/i40e_type.h | 14 +++-----
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 --
16 files changed, 116 insertions(+), 100 deletions(-)
--
1.9.3
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-05-29 15:10 Jeff Kirsher
@ 2014-05-31 0:53 ` David Miller
0 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2014-05-31 0:53 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 29 May 2014 08:10:01 -0700
> This series contains updates to i40e and i40evf.
...
> The following are changes since commit 6623b4194459c07859d3e3196c3994fa7be5b88e:
> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
And, as always, thanks for the detailed cover letter.
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-05-27 9:12 Jeff Kirsher
2014-05-28 16:42 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-05-27 9:12 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000, e1000e, ixgbe and i40evf.
Emil provides a fix for ixgbe so that non-fiber devices with MNG FW enabled
are able to link at 100Mbps.
Jacob provides several changes for ixgbe, most of which are PTP related.
Renames ixgbe_ptp_enable() to ixgbe_ptp_feature_enable() to better reflect
the functions purpose. Extracts the hardware setup logic for the PTP
hardware bits from the ixgbe_ptp_set_ts_config() to enable future work for
the ixgbe_ptp_reset(). Maintain the hwstamp configuration through a reset
and extracts the creation of the PTP clock device from ptp_init() in order
to properly handle a suspend/resume cycle and only calls it if we don't
already have a ptp_clock pointer.
David provides a patch to expend the e1000e driver to turn on unicast
PROMISC when there is failure to write to a shared receive address register.
The fix update_phy_task() for 82579 is expanded to include newer PHYs as well
so that the dev_spec->eee_lp_ability has the correct value when going into
SX states.
Todd provides a e1000e fix an errata for 82574/82583 where it is possible
bad bits are read from SYSTIMH/L so check to see that the time is
incrementing at a reasonable rate and is a multiple of the time incremental
value. Removes a redundant igb PHY power down register write.
Andi Kleen out of lines two write functions for e1000e to save 30k text size.
Tobias Klauser converts the e1000 and i40evf drivers to use the
is_broadcast_ether_addr() and is_multicast_ether_addr().
The following are changes since commit 3bea8eddfebe1c61ea824dd2880d4368791edc1f:
Merge branch 'net-sysfs-docs'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Andi Kleen (1):
e1000e: Out of line __ew32_prepare/__ew32
David Ertman (3):
e1000e: Failure to write SHRA turns on PROMISC mode
e1000e: Cleanup parenthesis around return value
e1000e: Fix expand setting EEE link info to all affected parts
Emil Tantilov (1):
ixgbe: fix linking at 100Mbps on copper devices with MNG FW enabled
Jacob Keller (6):
ixgbe: rename ixgbe_ptp_enable to ixgbe_ptp_feature_enable
ixgbe: extract the hardware setup from the ixgbe_ptp_set_ts_config
ixgbe: allow ixgbe_ptp_reset to maintain current hwtstamp config
ixgbe: extract PTP clock device from ptp_init
ixgbe: separate the PTP suspend and stop actions
ixgbe: avoid duplicate code in suspend and stop paths
Tobias Klauser (2):
e1000: Use is_broadcast_ether_addr/is_multicast_ether_addr helpers
i40evf: Use is_multicast_ether_addr helper
Todd Fujinaka (2):
e1000e: 82574/82583 TimeSync errata for SYSTIM read
igb: remove redundant PHY power down register write
drivers/net/ethernet/intel/e1000/e1000_hw.c | 4 +-
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 1 +
drivers/net/ethernet/intel/e1000e/82571.c | 1 +
drivers/net/ethernet/intel/e1000e/e1000.h | 33 +----
drivers/net/ethernet/intel/e1000e/hw.h | 3 +-
drivers/net/ethernet/intel/e1000e/ich8lan.c | 61 +++++++--
drivers/net/ethernet/intel/e1000e/mac.c | 9 +-
drivers/net/ethernet/intel/e1000e/mac.h | 3 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 69 +++++++++-
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 +-
drivers/net/ethernet/intel/igb/e1000_phy.c | 14 --
drivers/net/ethernet/intel/igb/e1000_phy.h | 1 -
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 29 +++--
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 163 ++++++++++++++++++------
15 files changed, 277 insertions(+), 117 deletions(-)
--
1.9.3
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-05-21 12:00 Jeff Kirsher
2014-05-22 16:05 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-05-21 12:00 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e and i40evf.
Shannon makes minor changes to the AdminQ interface to bring it up to
date. Removes the hard coding of stats struct size in ethtool, in prep
for adding data fields which are configuration dependent.
Catherine removes some unused and unneeded PCI bus defines.
Jesse fixes the copyright headers and finishes up the removal of the PTP
Tx work functionality which allows us to rely on the Tx timesync interrupt.
Mitch provides a number of fixes and cleanups for i40e/i40evf based on
suggestions from Ben Hutchings. First is to use a macro parameter for
ethtool stats instead of just assuming that a valid netdev variable
exists. Second is not to tell ethtool that the VF can do 10GbaseT, when
it really has no idea what its link speed is, so set the supported value
to 0 instead. Make the ethtool_ops structure constant since it is
extremely unlikely to change at runtime. Ethtool consistently reports
0 values for our ITR settings because we never actually use them, so
fix this by setting the default values to the specified default values.
Greg avoids a compile error by wrapping the call to i40e_alloc_vfs() in
CONFIG_PCI_IOV because the function itself is wrapped in the same
conditional compile block.
Alexander Gordeev updates the driver to use the new pci_enable_msi_range()
and pci_enable_msix_range() or pci_enable_msi_exact() and
pci_enable_msix_exact().
Jean Sacren provides a fix where the wrong error code was being passed to
i40e_open().
The following are changes since commit b6052af61a9e0dee236bcf4c69843126c0d28e4f:
Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-merge
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Gordeev (1):
i40evf: Use pci_enable_msix_range() instead of pci_enable_msix()
Catherine Sullivan (1):
i40evf: Remove unused defines
Greg Rose (1):
i40e: Check PCI_IOV config to avoid compile error
Jean Sacren (1):
i40e: fix passing wrong error code to i40e_open()
Jesse Brandeburg (2):
i40evf: Fix the headers and update copyright year.
i40e: remove Tx work for ptp
Mitch Williams (7):
i40e: add required include
i40evf: Use macro param for ethtool stats
i40evf: don't lie to ethtool
i40evf: make ethtool_ops const
i40e/i40evf: set proper default for ITR registers
i40e/i40evf: control auto ITR through ethtool
i40e: Don't disable SR-IOV when VFs are assigned
Shannon Nelson (2):
i40evf: Update AdminQ interface
i40e: remove hardcode of stats struct size in ethtool
drivers/net/ethernet/intel/i40e/i40e.h | 4 --
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 63 +++++++---------
drivers/net/ethernet/intel/i40e/i40e_main.c | 8 ++-
drivers/net/ethernet/intel/i40e/i40e_ptp.c | 1 -
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 11 ++-
drivers/net/ethernet/intel/i40evf/Makefile | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_adminq.c | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_adminq.h | 5 +-
.../net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 27 ++++---
drivers/net/ethernet/intel/i40evf/i40e_alloc.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_common.c | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_hmc.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_lan_hmc.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_osdep.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_prototype.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_register.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_status.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 3 +
drivers/net/ethernet/intel/i40evf/i40e_txrx.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40e_type.h | 12 +---
drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h | 5 +-
drivers/net/ethernet/intel/i40evf/i40evf.h | 3 +
drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 84 +++++++++++-----------
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 40 +++++------
.../net/ethernet/intel/i40evf/i40evf_virtchnl.c | 3 +
26 files changed, 179 insertions(+), 146 deletions(-)
--
1.9.0
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-04-28 13:52 Jeff Kirsher
2014-04-28 18:53 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-04-28 13:52 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e and i40evf.
Jacob provides a i40e patch to remove ptp_tx_work() because it conflicts
with the interrupt-based handler and will cause spurious warning messages
to be displayed in the kernel log. Since the hardware can properly trigger
an interrupt, we do not need to poll for an available timestamp in a work
queue any more.
Greg provides two patches for i40e, first to retain the MAC filter list
when changing a port VLAN. Second fixes an issue where the function to
set the VF MAC address was not taking the port VLAN filter into account
when setting/clearing/resetting the VF's host administered MAC address.
Mitch provides three patches for i40evf, first adds support for getting
and setting RSS hashing options, RSS LUT entries, and getting the number
of device channels from ethtool. Fixes a panic that woudl occur in the VF
if the PF driver failed or was removed from the host kernel.
Shannon adds driver version string to the driver version command so that
can be passed down through the firmware to low-level NC-SI functions.
Neerav provides several patches, first redistributes queue vectors after
DCB reconfiguration because the total number of queues that are configured
for a VSI may change based on a change in the total number of TCs enabled
as a result of a change in the DCB configuration based on DCBX. Second,
allows the driver probe to continue when querying DCB config fails.
Lastly, provides changes to retrieve and store missing link config
information that was not being cached in the struct i40e_link_status.
Kevin provides a couple of patches, first to change a int variable type
to u16 to avoid a typecheck failure. Second to update a function
parameters to remove an argument which is no longer used.
The following are changes since commit a49eb42a341f1df8fa0f9dc4449f9dd4a3234a2f:
sched, act: allow to clear all actions as well
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (2):
i40e: Do not enable NTUPLE feature control in MFP mode
i40e: Do not expose fd-sb commands from debugfs
Catherine Sullivan (1):
i40e/i40evf: Bump build version
Greg Rose (2):
i40e: Retain MAC filters when changing port VLAN
i40e: Use port VLAN in MAC/VLAN filter configuration
Jacob Keller (1):
i40e: remove ptp_tx_work timestamp work item
Kevin Scott (2):
i40e: Change variable type to avoid typecheck failure
i40e: Update function formal parameters
Mitch A Williams (1):
i40evf: support ethtool RSS options
Mitch Williams (2):
i40evf: fix panic on PF driver fail
i40evf: remove debugging message
Neerav Parikh (3):
i40e: Redistribute queue vectors after DCB reconfiguration
i40e: Don't stop driver probe when querying DCB config fails
i40e/i40evf: Retrieve and store missing link config information
Shannon Nelson (1):
i40e/i40evf: add driver version string to driver version command
drivers/net/ethernet/intel/i40e/i40e.h | 2 -
drivers/net/ethernet/intel/i40e/i40e_common.c | 21 +-
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 6 -
drivers/net/ethernet/intel/i40e/i40e_main.c | 19 +-
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 4 +-
drivers/net/ethernet/intel/i40e/i40e_ptp.c | 36 ---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 3 -
drivers/net/ethernet/intel/i40e/i40e_type.h | 4 +
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 11 +-
drivers/net/ethernet/intel/i40evf/i40e_type.h | 4 +
drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 316 +++++++++++++++++++++
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 15 +-
12 files changed, 373 insertions(+), 68 deletions(-)
--
1.9.0
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-03-26 18:03 Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2014-03-26 18:03 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000e, igb, i40e and i40evf
Anjali provides i40e fix to remove the ATR filter on RST as well as FIN
packets. Cleans up add_del_fdir() because it was used and implemented
only for the add, so change the name and drop a parameter. Adds the
ability to drop a flow if we wanted to and adds a flow director
message level to be used for flow director specific messages. Provide
a fallback debug flow for i40e if the reset fails or the firmware is
unresponsive.
Mitch fixes an issue on i40evf where the Tx watchdog handler was causing
an oops when sending an admin queue message to request a reset because
the admin queue functions use spinlocks.
Greg provides a change to i40e to make the alloc and free queue vector
calls orthogonal.
Shannon fixes i40e to verify the eeprom checksum and firmware CRC status
bits, and shutdown the driver if they fail. This change stops the
processing of traffic, but does not kill the PF netdev so that the
NVMUpdate process still has a chance at fixing the image. Also provides
a fix to make sure the VSI has a netdev before trying to use it in
the debugfs netdev_ops commands.
Jakub Kicinski provides patches for e1000e and igb to fix a number issues
found in the PTP code.
The following are changes since commit e74dbb73271c5c3e822af3aa66c9a28bf7dbfbfd:
Merge branch 'bnx2x-next'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (6):
i40e: Delete ATR filter on RST
i40e: Cleanup in FDIR SB ethtool code
i40e: Add functionality for FD SB to drop packets
i40e/i40evf: Add an FD message level
i40e: Use DEBUG_FD message level for an FD message
i40e: Add a fallback debug flow for the driver
Greg Rose (1):
i40e: Make the alloc and free queue vector calls orthogonal
Jakub Kicinski (4):
e1000e: add timeout for TX HW time stamping work
e1000e: remove redundant if clause from PTP work
igb: never generate both software and hardware timestamps
igb: fix race conditions on queuing skb for HW time stamp
Jesse Brandeburg (1):
i40evf: remove double space after return
Mitch Williams (1):
i40evf: fix oops in watchdog handler
Shannon Nelson (2):
i40e: eeprom integrity check on load and empr
i40e: check for netdev before debugfs use
drivers/net/ethernet/intel/e1000e/e1000.h | 2 +
drivers/net/ethernet/intel/e1000e/ethtool.c | 1 +
drivers/net/ethernet/intel/e1000e/netdev.c | 10 +-
drivers/net/ethernet/intel/i40e/i40e.h | 2 +
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 120 ++++++++++++---------
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 39 ++++---
drivers/net/ethernet/intel/i40e/i40e_main.c | 72 ++++++++++---
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 14 ++-
drivers/net/ethernet/intel/i40e/i40e_type.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_prototype.h | 2 +-
drivers/net/ethernet/intel/i40evf/i40e_type.h | 1 +
drivers/net/ethernet/intel/i40evf/i40evf.h | 1 +
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 10 +-
drivers/net/ethernet/intel/igb/igb.h | 3 +-
drivers/net/ethernet/intel/igb/igb_main.c | 7 +-
drivers/net/ethernet/intel/igb/igb_ptp.c | 3 +
16 files changed, 186 insertions(+), 102 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-03-20 8:32 Jeff Kirsher
2014-03-20 18:20 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-03-20 8:32 UTC (permalink / raw)
To: davem
Cc: Jeff Kirsher, netdev, gospo, sassmann, emil.s.tantilov, asharma,
donald.c.skidmore
This series contains updates to e100, igb, igbvf, ixgbe and ixgbevf.
Stefan adds a igb patch to enable the ability strip VLAN header information
for packets bound for a VM on i350 hardware.
Joe Perches provides patches for e100, igb, igbvf, ixgbe and ixgbevf to
convert the use of __constant_<foo> to just <foo> to align with the rest
of the kernel.
Don provides two fixes for ixgbe, first resolves a link issue with DA
cables where we were not always freeing the firmware/software semaphore
after grabbing it. Second stops caching whether the management firmware
was enabled, however since this is not static, we really need to verify
with each check.
Jacob provides six fixes/cleanups for ixgbe, most notably, correct
the stop_mac_link_on d3() to check the Core Clock Disable bit before
stopping link and to fully check to see if manage firmware is running or
could be enabled before bringing down the link. Fix flow control
auto-negation for KR/KX/K4 interfaces, since setting up MAC link, the
cached autoc value and current autoc value were being incorrectly used to
determine whether link reset is required.
Emil provides a fix for ixgbe where there was a chance for aggressive
start_ndo_zmit() callers to sneak packets between enabling the Tx queues
and the link coming up. To resolve this, move the call to enable Tx
queues to after the link is established.
The following are changes since commit a9baf10aafe7001501189099df4b91f90739e182:
qeth: Fix IP version detection for VLAN traffic
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Don Skidmore (2):
ixgbe: fix errors related to protected AUTOC calls
ixgbe: Stop cacheing if the MNG FW enabled
Emil Tantilov (1):
ixgbe: enable tx queues after link up
Jacob Keller (6):
ixgbe: check Core Clock Disable bit
ixgbe: fix ixgbe_stop_mac_link_on_d3_82599 to check mng correctly
ixgbe: fix ixgbe_setup_mac_link_82599 autoc variables
ixgbe: remove unused media type
ixgbe: use ixgbe_read_pci_cfg_word
ixgbe: clean up ixgbe_atr_compute_perfect_hash_82599
Joe Perches (5):
e100: Convert uses of __constant_<foo> to <foo>
igb: Convert uses of __constant_<foo> to <foo>
igbvf: Convert uses of __constant_<foo> to <foo>
ixgbe: Convert uses of __constant_<foo> to <foo>
ixgbevf: Convert uses of __constant_<foo> to <foo>
Stefan Assmann (1):
igb: enable VLAN stripping for VMs with i350
drivers/net/ethernet/intel/e100.c | 4 +-
drivers/net/ethernet/intel/igb/e1000_82575.h | 4 +
drivers/net/ethernet/intel/igb/e1000_regs.h | 1 +
drivers/net/ethernet/intel/igb/igb_main.c | 19 ++-
drivers/net/ethernet/intel/igbvf/netdev.c | 4 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 1 -
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 170 +++++-----------------
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 24 +--
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 8 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 68 +++++----
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 4 -
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 6 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c | 1 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 4 +-
15 files changed, 113 insertions(+), 206 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-03-20 8:32 Jeff Kirsher
@ 2014-03-20 18:20 ` David Miller
0 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2014-03-20 18:20 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: netdev, gospo, sassmann, emil.s.tantilov, asharma, donald.c.skidmore
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 20 Mar 2014 01:32:50 -0700
> This series contains updates to e100, igb, igbvf, ixgbe and ixgbevf.
...
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-03-08 9:25 Jeff Kirsher
2014-03-08 23:50 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-03-08 9:25 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000e, ixgbevf and igb.
Majority of this series contains fixes and cleanups to e1000e,
most notably are:
Todd provides a fix to PTP in e1000e which adds a lock in e1000e_phc_adjfreq
to prevent concurrent changes to TIMINCA and SYSTIMH/L. Then provides an
igb fix to use ARRAY_SIZE for array size calculation.
David provides the remaining e1000e which contain:
- cleanup of pointer references that are no longer used
- fix an issue on systems with Management Engine enabled with the
ethernet cable unplugged
- fix an issue on 82579 where enabling EEE LPI sooner than one second
after link up causes link issues on some switches
- refactor the power management flows to prevent the suspend path from
being executed twice when hibernating
- refactor the runtime power management to fix interfering with the
functionality of Energy Efficient Ethernet when enabled and to fix
the device from repeatedly flip between suspend and resume with the
interface administratively downed
- enable the feature PHY Ultra Low Power Mode which is a power saving
feature that reduces the power consumption of the PHY when a cable is
not connected
- fix the ethtool offline tests for 82579 parts
- fix SHRA register access for 82579 parts which was introduced by
previous commit c3a0dce35af0 "e1000e: fix overrun of PHY RAR array"
Florian provides a fix for ixgbevf where skb->pkt_type was being checked
like a bitmask, but it is not a bitmask.
Fix an issue reported by Stephen Hemminger where there was a warning
about code defined but never used if IGB_HWMON is not defined.
The following are changes since commit 37147652cfaa20a87ead9bb04aec1834b40c5c97:
6lowpan: reassembly: fix return of init function
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
David Ertman (11):
e1000e: Cleanup unecessary references
e1000e: Resolve issues with Management Engine (ME) briefly blocking
PHY resets
e1000e: Fix 82579 sets LPI too early.
e1000e: Cleanup - Update GPL header and Copyright
e1000e: Add missing branding strings in ich8lan.c
e1000e: Refactor PM flows
e1000e Refactor of Runtime Power Management
e1000e: Feature Enable PHY Ultra Low Power Mode (ULP)
e1000e: Fix not generating an error on invalid load parameter
e1000e: Fix ethtool offline tests for 82579 parts
e1000e: Fix SHRA register access for 82579
Florian Fainelli (1):
ixgbevf: fix skb->pkt_type checks
Jeff Kirsher (1):
igb: fix warning if !CONFIG_IGB_HWMON
Todd Fujinaka (2):
e1000e: PTP lock in e1000e_phc_adjustfreq
igb: fix array size calculation
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 47 +--
drivers/net/ethernet/intel/e1000e/80003es2lan.h | 47 +--
drivers/net/ethernet/intel/e1000e/82571.c | 47 +--
drivers/net/ethernet/intel/e1000e/82571.h | 47 +--
drivers/net/ethernet/intel/e1000e/Makefile | 7 +-
drivers/net/ethernet/intel/e1000e/defines.h | 55 ++-
drivers/net/ethernet/intel/e1000e/e1000.h | 50 ++-
drivers/net/ethernet/intel/e1000e/ethtool.c | 63 ++--
drivers/net/ethernet/intel/e1000e/hw.h | 55 +--
drivers/net/ethernet/intel/e1000e/ich8lan.c | 427 ++++++++++++++++++----
drivers/net/ethernet/intel/e1000e/ich8lan.h | 72 ++--
drivers/net/ethernet/intel/e1000e/mac.c | 47 +--
drivers/net/ethernet/intel/e1000e/mac.h | 47 +--
drivers/net/ethernet/intel/e1000e/manage.c | 47 +--
drivers/net/ethernet/intel/e1000e/manage.h | 47 +--
drivers/net/ethernet/intel/e1000e/netdev.c | 286 +++++++++------
drivers/net/ethernet/intel/e1000e/nvm.c | 47 +--
drivers/net/ethernet/intel/e1000e/nvm.h | 47 +--
drivers/net/ethernet/intel/e1000e/param.c | 53 ++-
drivers/net/ethernet/intel/e1000e/phy.c | 47 +--
drivers/net/ethernet/intel/e1000e/phy.h | 47 +--
drivers/net/ethernet/intel/e1000e/ptp.c | 52 ++-
drivers/net/ethernet/intel/e1000e/regs.h | 48 ++-
drivers/net/ethernet/intel/igb/e1000_82575.c | 6 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 3 +-
25 files changed, 1003 insertions(+), 738 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-03-08 9:25 Jeff Kirsher
@ 2014-03-08 23:50 ` David Miller
2014-03-09 0:10 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: David Miller @ 2014-03-08 23:50 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Sat, 8 Mar 2014 01:25:26 -0800
> This series contains updates to e1000e, ixgbevf and igb.
...
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks a lot Jeff, and again welcome back.
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-03-08 23:50 ` David Miller
@ 2014-03-09 0:10 ` David Miller
2014-03-09 1:12 ` Jeff Kirsher
0 siblings, 1 reply; 54+ messages in thread
From: David Miller @ 2014-03-09 0:10 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: David Miller <davem@davemloft.net>
Date: Sat, 08 Mar 2014 18:50:08 -0500 (EST)
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Sat, 8 Mar 2014 01:25:26 -0800
>
>> This series contains updates to e1000e, ixgbevf and igb.
> ...
>> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Pulled, thanks a lot Jeff, and again welcome back.
Jeff, please get this new warning fixed, thanks:
drivers/net/ethernet/intel/i40e/i40e_ethtool.c: In function ‘i40e_del_fdir_entry’:
drivers/net/ethernet/intel/i40e/i40e_ethtool.c:1441:18: warning: unused variable ‘pf’ [-Wunused-variable]
struct i40e_pf *pf = vsi->back;
^
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-03-09 0:10 ` David Miller
@ 2014-03-09 1:12 ` Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2014-03-09 1:12 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 913 bytes --]
On Sat, 2014-03-08 at 19:10 -0500, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Sat, 08 Mar 2014 18:50:08 -0500 (EST)
>
> > From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> > Date: Sat, 8 Mar 2014 01:25:26 -0800
> >
> >> This series contains updates to e1000e, ixgbevf and igb.
> > ...
> >> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> master
> >
> > Pulled, thanks a lot Jeff, and again welcome back.
>
> Jeff, please get this new warning fixed, thanks:
>
> drivers/net/ethernet/intel/i40e/i40e_ethtool.c: In function
> ‘i40e_del_fdir_entry’:
> drivers/net/ethernet/intel/i40e/i40e_ethtool.c:1441:18: warning:
> unused variable ‘pf’ [-Wunused-variable]
> struct i40e_pf *pf = vsi->back;
Yeah, I noticed that as well. I have a patch in my queue already to
resolve that, should be in my next pull request. Thanks Dave!
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-09 12:52 Jeff Kirsher
2014-01-09 20:13 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-01-09 12:52 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only.
Anjali provides a fix where interrupts were not being re-enabled on ICR0
even though they were auto masked by hardware. Then provides a fix to
cleanup RSS initialization because it was doing some extra work, so
remove the extra work and any bugs it created when managing number of
queues. Since hardware requires a full packet template to be pointed to
when adding hardware flow filters, add the template and use it for
programming filters.
Jesse provides a fix to replace the use of driver specific defines with
kernel ETH_ALEN defines. Then disables packet split because with the
use of GRO, we do not need the extra bus overhead. Fixes spelling
error in code comment.
Kamil provides a fix for the driver where the hardware expects the MAC
address in a very specific format and the driver was filing the data
incorrectly.
Mitch provides a fix to resolve a panic on reset by adding checks to
VSI->rx_rings. Then shortens alloc_rx_buff_failed and
alloc_rx_page_failed variables since both part of an RX specific
structure so just remove the _rx part of the name. Then fixes
badly formatted lines, long lines and mis-formatted lines.
Shannon provides a fix to call AQ to release any reservation held by this
PF on the NVM resource lock on startup, in order to clear anything that
might have been left over from a previous run. Then removes interrupt on
AQ error since nearly everything we do is synchronous, using the
interrupt-on-error bit is unnecessary and causing unneeded interrupts.
Adds code to handle the ability to send messages among the physical
function interfaces by the admin queue.
Catherine sets the MFP flag earlier in software init and uses that flag
to decide if other hardware work-arounds are required which turns
off flow director in MFP mode.
The following are changes since commit 54b553e2c16001d13e0186cad2531764065f9a1b:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (2):
i40e: Re-enable interrupt on ICR0
i40e: Cleanup reconfig rss path
Catherine Sullivan (1):
i40e: Turn flow director off in MFP mode
Greg Rose (2):
i40e: Fix GPL header
i40e: add a comment on barrier and fix panic on reset
Jesse Brandeburg (4):
i40e: use kernel specific defines
i40e: disable packet split
i40e: fix spelling errors
i40e: Add a dummy packet template
Kamil Krawczyk (1):
i40e: Fix MAC format in Write MAC address AQ cmd
Mitch Williams (2):
i40e: shorten wordy fields
i40e: trivial: formatting and checkpatch fixes
Shannon Nelson (3):
i40e: release NVM resource reservation on startup
i40e: remove interrupt on AQ error
i40e: accept pf to pf adminq messages
drivers/net/ethernet/intel/i40e/Makefile | 7 +--
drivers/net/ethernet/intel/i40e/i40e.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 12 ++--
drivers/net/ethernet/intel/i40e/i40e_adminq.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_alloc.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_common.c | 14 +++--
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 13 ++---
drivers/net/ethernet/intel/i40e/i40e_diag.c | 7 +--
drivers/net/ethernet/intel/i40e/i40e_diag.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 33 ++++++++---
drivers/net/ethernet/intel/i40e/i40e_hmc.c | 7 +--
drivers/net/ethernet/intel/i40e/i40e_hmc.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c | 7 +--
drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_main.c | 68 +++++++++++-----------
drivers/net/ethernet/intel/i40e/i40e_nvm.c | 7 +--
drivers/net/ethernet/intel/i40e/i40e_osdep.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_register.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_status.h | 7 +--
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 44 +++++++-------
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 11 ++--
drivers/net/ethernet/intel/i40e/i40e_type.h | 15 ++---
drivers/net/ethernet/intel/i40e/i40e_virtchnl.h | 11 ++--
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 10 ++--
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h | 7 +--
27 files changed, 176 insertions(+), 174 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-07 9:32 Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2014-01-07 9:32 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only.
Anjali adds more functionality to debugfs to assist development and
testing of admin queue commands.
Greg makes sure broadcast promiscuous is disabled by default, otherwise
VLAN tagged packets out of the assigned VLAN domain are received. Also
provides a fix when the 8021q driver is loaded, so that VLAN 0 tagged
packets are accepted so that upper layers can interpret the priority
bits. Then provides a fix to let the VF to request the PF to set its
already assigned MAC address without generating an error. Greg also
adds helper functions to enable or disable internal switch loopback
when VFs are created or destroyed via the sysfs interface.
Shannon provides most of the changes, where he adds code to ensure
that the hardware waits to make sure that the firmware is ready as well
after reset. Also updates the code to use the new features in the
firmware. Provides a fix while in MFP mode where resources are
reduced, so use a smaller range of test registers than when in SFP mode.
Moves the PF ID initialization code to earlier in the driver
initialization function since a few operations need the information
before the first PF reset is called. Shannon adds a check for MAC
type before reading anything from the registers to ensure we dealing
with the correct MAC type. Then reworks Shadow RAM read word/buffer
functions as to not block whole NVM resources for SR read operations.
Mitch lastly provides a fix to correctly setup ARQ descriptors in
the cleanup code.
Catherine bumps the driver version due to all the recent changes.
The following are changes since commit 83111e7fe85f2dc8b61e463c71b971f4998d8e53:
netfilter: Fix build failure in nfnetlink_queue_core.c.
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (1):
i40e: Expose AQ debugfs hooks
Catherine Sullivan (1):
i40e: Bump version
Greg Rose (4):
i40e: Do not enable broadcast promiscuous by default
i40e: Stop accepting any VLAN tag on VLAN 0 filter set
i40e: Allow VF to set already assigned MAC address
i40e: Enable/Disable PF switch LB on SR-IOV configure changes
Kamil Krawczyk (1):
i40e: remove redundant AQ enable
Mitch Williams (1):
i40e: correctly setup ARQ descriptors
Shannon Nelson (7):
i40e: Add code to wait for FW to complete in reset path
i40e: update firmware api to 1.1
i40e: Reduce range of interrupt reg in reg test
i40e: move PF ID init from PF reset to SC init
i40e: check MAC type before any REG access
i40e: rework shadow ram read functions
i40e: whitespace paren and comment tweaks
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 27 ++---
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 126 +++++++++++++++------
drivers/net/ethernet/intel/i40e/i40e_common.c | 51 ++++++---
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 112 ++++++++++++++++++
drivers/net/ethernet/intel/i40e/i40e_diag.c | 6 +-
drivers/net/ethernet/intel/i40e/i40e_main.c | 29 ++---
drivers/net/ethernet/intel/i40e/i40e_nvm.c | 67 +++--------
drivers/net/ethernet/intel/i40e/i40e_register.h | 22 ++++
drivers/net/ethernet/intel/i40e/i40e_type.h | 11 +-
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 100 +++++++++++++---
10 files changed, 395 insertions(+), 156 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-06 12:30 Jeff Kirsher
2014-01-06 18:26 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-01-06 12:30 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only.
Majority of this series contains patches from Greg and Mitch to fix
up or add functionality to the PF/VF driver interactions. Notably,
a fix for SR-IOV VF port VLAN which resolved the problem of port VLAN
configurations not being persistent across VF driver loads and unloads
and enable/disable of the feature. Also do not enable the default port
on the VEB, which is designed only to bridge the PF to an Open vSwitch
or bridge. Another fix to resolve a possible memory corruption
condition where ARQ messages are written to random memory locations.
Fix a problem where the 'ip link show' command would display stale
link address information after the link address was set via the 'ip
link set' command.
Anjali provides several patches, one which saves information that can
be used while cleaning the Tx ring and useful in detecting Tx hangs.
Then provides a fixes to the admin queue shutdown function to ensure
we are shutting down the queue in the shutdown path and ensure ASQ is
alive before issuing the admin queue command.
Shannon provides a fix for get/update vsi params where the incorrect
struct was being used.
The following are changes since commit b912b2f8fc71df4c3ffa7a9fe2c2227e8bcdaa07:
net/mlx4_core: Warn if device doesn't have enough PCI bandwidth
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (4):
i40e: Record dma buffer info for dummy packets
i40e: Admin queue shutdown fixes
i40e: check asq alive before notify
i40e: Do not allow AQ calls from ndo-ops
Greg Rose (4):
i40e: Fix SR-IOV VF port VLAN
i40e: Do not enable default port on the VEB
i40e: Fix VF driver MAC address configuration
i40e: Hide the Port VLAN VLAN ID
Jesse Brandeburg (1):
i40e: fix whitespace
Mitch Williams (5):
i40e: avoid unnecessary register read
i40e: use struct assign instead of memcpy
i40e: don't allocate zero size
i40e: acknowledge VFLR when disabling SR-IOV
i40e: support VFs on PFs other than 0
Shannon Nelson (1):
i40e: use correct struct for get and update vsi params
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 3 +
drivers/net/ethernet/intel/i40e/i40e_common.c | 75 ++++++++------
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_main.c | 45 ++++----
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 5 +-
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 9 +-
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 114 ++++++++++++++++-----
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h | 2 +
8 files changed, 169 insertions(+), 85 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-01-06 12:30 Jeff Kirsher
@ 2014-01-06 18:26 ` David Miller
2014-01-06 18:49 ` Jeff Kirsher
2014-01-06 20:14 ` Jeff Kirsher
0 siblings, 2 replies; 54+ messages in thread
From: David Miller @ 2014-01-06 18:26 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 6 Jan 2014 04:30:21 -0800
> This series contains updates to i40e only.
...
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, please make sure the coding style feedback does actually
get addressed.
Thanks Jeff.
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-01-06 18:26 ` David Miller
@ 2014-01-06 18:49 ` Jeff Kirsher
2014-01-06 20:14 ` Jeff Kirsher
1 sibling, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2014-01-06 18:49 UTC (permalink / raw)
To: David Miller; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 459 bytes --]
On Mon, 2014-01-06 at 13:26 -0500, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Mon, 6 Jan 2014 04:30:21 -0800
>
> > This series contains updates to i40e only.
> ...
> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Pulled, please make sure the coding style feedback does actually
> get addressed.
>
> Thanks Jeff.
Yes, I will make sure it is in one of the upcoming series.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2014-01-06 18:26 ` David Miller
2014-01-06 18:49 ` Jeff Kirsher
@ 2014-01-06 20:14 ` Jeff Kirsher
1 sibling, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2014-01-06 20:14 UTC (permalink / raw)
To: David Miller, Sergei Shtylyov; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 500 bytes --]
On Mon, 2014-01-06 at 13:26 -0500, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Mon, 6 Jan 2014 04:30:21 -0800
>
> > This series contains updates to i40e only.
> ...
> > git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
>
> Pulled, please make sure the coding style feedback does actually
> get addressed.
>
> Thanks Jeff.
Just to be clear, this coding style will be fixed in patch 13 of the
next series I am sending out.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2014-01-05 10:46 Jeff Kirsher
2014-01-06 1:31 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2014-01-05 10:46 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only.
Anjali provides two cleanups to remove unnecessary code and a fix
to resolve debugfs dumping only half the NVM. Then provides a fix
to ethtool NVM reads where shadow RAM was used instead of actual
NVM reads.
Jesse provides a couple of fixes, one removes custom i40e functions
which duplicate existing kernel functionality. Second fixes constant
cast issues by replacing __constant_htons with htons.
Mitch provides a couple of fixes for the VF interfaces in i40e. First
provides a fix to guard against VF message races with can cause a panic.
Second fix reinitializes the buffer size each time we clean the ARQ,
because subsequent messages can be truncated. Lastly adds functionality
to enable/disable ICR 0 dynamically.
Vasu adds a simple guard against multiple includes of the i40e_txrx.h
file.
Shannon provides a couple of fixes, first fix swaps a couple of lines
around in the error handling if the allocation for the VSI array fails.
Second fixes an issue where we try to free the q_vector that has not
been setup which can panic the kernel.
David provides a patch to save off the point to memory and the length
of 2 structs used in the admin queue in order to store all info about
allocated kernel memory.
Neerav fixes ring allocation where allocation and clearing of rings
for a VSI should be using the alloc_queue_pairs and not num_queue_pairs.
Then removes the unused define for multi-queue enabled.
The following are changes since commit a1d4b03a076d95edc88d070f7627a73ab80abddc:
Merge branch 'bgmac'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (4):
i40e: Dump the whole NVM, not half
i40e: Change the ethtool NVM read method to use AQ
i40e: Remove unnecessary prototypes
i40e: remove un-necessary io-write
David Cassard (1):
i40e: keep allocated memory in structs
Jesse Brandeburg (2):
i40e: fix mac address checking
i40e: fix constant cast issues
Mitch Williams (3):
i40e: guard against vf message races
i40e: use functions to enable and disable icr 0
i40e: reinit buffer size each time
Neerav Parikh (2):
i40e: Fix ring allocation
i40e: I40E_FLAG_MQ_ENABLED is not used
Shannon Nelson (2):
i40e: fix error handling when alloc of vsi array fails
i40e: catch unset q_vector
Vasu Dev (1):
i40e: add header file flag _I40E_TXRX_H_
drivers/net/ethernet/intel/i40e/i40e.h | 40 +++-----
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 103 +++++++++------------
drivers/net/ethernet/intel/i40e/i40e_adminq.h | 13 +--
drivers/net/ethernet/intel/i40e/i40e_common.c | 27 ------
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 8 +-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 68 +++++++++-----
drivers/net/ethernet/intel/i40e/i40e_main.c | 47 +++++-----
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 1 -
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 8 +-
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 4 +
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 28 +++---
11 files changed, 162 insertions(+), 185 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-12-19 6:34 Jeff Kirsher
2013-12-19 19:20 ` Jeff Kirsher
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-19 6:34 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only.
Anjali provides a patch to prevent messages from stray HMC events, except
at interrupt message level, and refactors the HMC error handling.
Catherine adds routines in probe to populate/check PCI bus speed and width,
then verify we are in a 8GT/s x8 PCIe slot and warn when we are not.
Shannon adds Wake-on-LAN support for i40e, fixes curly brace use as well as
return type for i40e_vsi_clear_rings(). Lastly implements the set_settings
and set_pauseparam ethtool functionality.
Joseph implements receive offload for VXLAN for i40e, where the hardware
supports checksum offload/verification of the inner/outer header.
Mitch provides the bulk of the changes, where he refactors the VF reset
code so that it works on real hardware. Then does code cleanup by
calling existing functions to enable and disable queues for VFs and
remove unused functions. Removes a unnecessary log messages that are
seen at every VF reset, for example complaining about disabling queues
that are already disabled. Fixes an error return when the VF asks to
add an invalid MAC address and if the VF sends a bad message, make it
more informative about what is actually going on.
Jesse refactors the LED function to flash LED lights correctly.
The following are changes since commit 020e867c755610fa5a2a08a69707e636cf368b55:
isdn: use strlcpy() instead strcpy()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (1):
i40e: Suppress HMC error to Interrupt message level
Catherine Sullivan (1):
i40e: Populate and check pci bus speed and width
Jesse Brandeburg (1):
i40e: update led set args
Joseph Gasparakis (1):
i40e: Rx checksum offload for VXLAN
Mitch Williams (8):
i40e: move i40e_reset_vf
i40e: refactor VF reset flow
i40e: remove redundant code
i40e: remove chatty log messages
i40e: fix error return
i40e: be more informative
i40e: make a define from a large constant
i40e: report VF MAC addresses correctly
Shannon Nelson (3):
i40e: add wake-on-lan support
i40e: fix curly brace use and return type
i40e: add set settings and pauseparam
drivers/net/ethernet/intel/i40e/i40e.h | 3 +
drivers/net/ethernet/intel/i40e/i40e_common.c | 136 ++++-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 145 +++++-
drivers/net/ethernet/intel/i40e/i40e_main.c | 105 ++--
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 3 +-
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 56 ++-
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 20 +
drivers/net/ethernet/intel/i40e/i40e_type.h | 61 ++-
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 559 ++++++---------------
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h | 2 +-
10 files changed, 572 insertions(+), 518 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2013-12-19 6:34 Jeff Kirsher
@ 2013-12-19 19:20 ` Jeff Kirsher
2013-12-19 19:47 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-19 19:20 UTC (permalink / raw)
To: davem; +Cc: netdev, gospo, sassmann
[-- Attachment #1: Type: text/plain, Size: 1897 bytes --]
On Wed, 2013-12-18 at 22:34 -0800, Jeff Kirsher wrote:
> This series contains updates to i40e only.
>
> Anjali provides a patch to prevent messages from stray HMC events,
> except
> at interrupt message level, and refactors the HMC error handling.
>
> Catherine adds routines in probe to populate/check PCI bus speed and
> width,
> then verify we are in a 8GT/s x8 PCIe slot and warn when we are not.
>
> Shannon adds Wake-on-LAN support for i40e, fixes curly brace use as
> well as
> return type for i40e_vsi_clear_rings(). Lastly implements the
> set_settings
> and set_pauseparam ethtool functionality.
>
> Joseph implements receive offload for VXLAN for i40e, where the
> hardware
> supports checksum offload/verification of the inner/outer header.
>
> Mitch provides the bulk of the changes, where he refactors the VF
> reset
> code so that it works on real hardware. Then does code cleanup by
> calling existing functions to enable and disable queues for VFs and
> remove unused functions. Removes a unnecessary log messages that are
> seen at every VF reset, for example complaining about disabling queues
> that are already disabled. Fixes an error return when the VF asks to
> add an invalid MAC address and if the VF sends a bad message, make it
> more informative about what is actually going on.
>
> Jesse refactors the LED function to flash LED lights correctly.
>
> The following are changes since commit
> 020e867c755610fa5a2a08a69707e636cf368b55:
> isdn: use strlcpy() instead strcpy()
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> master
Dave-
Disregard this pull request. I overlooked a patch that needs to either
precede this series or get added to the series for VXLAN.
I will be sending out a v2 with the necessary patch added.
Cheers,
Jeff
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2013-12-19 19:20 ` Jeff Kirsher
@ 2013-12-19 19:47 ` David Miller
0 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2013-12-19 19:47 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 19 Dec 2013 11:20:36 -0800
> Disregard this pull request. I overlooked a patch that needs to either
> precede this series or get added to the series for VXLAN.
>
> I will be sending out a v2 with the necessary patch added.
Ok.
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-12-12 12:40 Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-12-12 12:40 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to i40e only (again).
Jesse provides a fix for when tx_rings structure is NULL and we do not want
to panic. Then refactors the flow control set up and disables L2 flow control
by default. Provides some trivial fixes as well as prevent compiler warnings.
Then to align to similar behaviour in ixgbe, use the total number of CPUs in
the system to suggest the number of transmit and receive queue pairs.
Shannon provides a i40e ethtool fix to get some more reasonable information
reports back out to the ethtool. In addition, fixes PF reset after offline
test, where it reorders the test to put the register test last as it is the
only one that needs a reset, and we wait to trigger the reset until after we
clear the testing bit. Lastly provides basic support for handling suspend
and resume for now, later on Wake-On-LAN support will be added.
Elizabeth Kappler adds netdev ops helper function.
Anjali provides changes to tell the stack about our actual number of queues
in order for RFS/RPS/XFS to work correctly. Then provides several patches to
implement dynamically changing the queue count for the main VSI. Adds
basic support for get/set channels for RSS so that the number of receive and
transmit queue pair can be changed via ethtool. Cleans up the use of
rtnl_lock in the reset patch since it runs from a work time.
Neerav Parikh cleans up the VF interface to remove FCoE code as this
feature will not be supported on VF interfaces.
The following are changes since commit c45f812f0280c13f1b7992be5e0de512312a9e8f:
8390 : Replace ei_debug with msg_enable/NETIF_MSG_* feature
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Anjali Singhai Jain (6):
i40e: Tell the stack about our actual number of queues
i40e: reinit flow for the main VSI
i40e: function to reconfigure RSS queues and rebuild
i40e: debugfs command to change RSS queue count
i40e: Add basic support for get/set channels for RSS
i40e: rtnl_lock in reset path fixes
Elizabeth Kappler (1):
i40e: add netdev ops helper function
Jesse Brandeburg (5):
i40e: fix null dereference
i40e: fix up some of the ethtool connection reporting
i40e: init flow control settings to disabled
i40e: trivial fixes
i40e: use same number of queues as CPUs
Neerav Parikh (1):
i40e: Remove FCoE in i40e_virtchnl_pf.c code
Shannon Nelson (2):
i40e: fix pf reset after offline test
i40e: support for suspend and resume
drivers/net/ethernet/intel/i40e/i40e.h | 6 +-
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 22 +-
drivers/net/ethernet/intel/i40e/i40e_diag.c | 2 +-
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 146 +++++++-
drivers/net/ethernet/intel/i40e/i40e_hmc.c | 2 +-
drivers/net/ethernet/intel/i40e/i40e_main.c | 380 ++++++++++++++++++---
drivers/net/ethernet/intel/i40e/i40e_type.h | 4 +
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 29 +-
8 files changed, 499 insertions(+), 92 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-08-21 8:23 Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-08-21 8:23 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to igb and e1000e.
Akeem provides 3 igb patches, the first resets the link when EEE is enabled
or disabled if the link is up. His second patch changes a register read
which normally stores of the read value to "just-read" so that hardware
can accurately latch the register read. Lastly, he adds rcu_lock to avoid
a possible race condition with igb_update_stats function.
Mitch provides a fix for SR-IOV, where MSI-X interrupts are required, so
make sure that MSI-X is enabled before allowing the user to turn on SR-IOV.
Alex's igb patch make it so that we limit the lower bound for max_frame_size
to the size of a standard Ethernet frame. This allows for feature parity
with other Intel based drivers such as ixgbe.
Carolyn adds a SKU for a flashless i210 device and a fix for get_fw_version()
so that it works for all parts for igb. In addition, she has 2 igb patches
to refactor NVM code to accommodate devices with no flash. Lastly, she
adds code to check for the failure of pci_disable_link_state() to attempt
to work around a problem found with some systems.
Laura provides the remaining 2 igb patches. One removing the hard-coded
value for the size of the RETA indirection table, and creates a macro instead
for the RETA indirection table. The second adds the ethtool callbacks
necessary to change the RETA indirection table from userspace.
Bruce fixes a whitespace issue in a recent commit and resolves a jiffies
comparison warning by using time_after().
Li provides a fix for e1000e to avoid a kernel crash on shutdown by adding
one more check in e1000e_shutdown(). This is due to e1000e_shutdown()
trying to clear correctable errors on the upstream P2P bridge, when under
some cases we do not have the upstream P2P bridge.
The following are changes since commit 84ce22df92f5cf9ecb76d53f4bf5f6d504684540:
net: davinci_mdio: use platform_{get,set}_drvdata()
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Akeem G Abodunrin (3):
igb: Reset the link when EEE setting changed
igb: Read register for latch_on without return value
igb: Added rcu_lock to avoid race
Alexander Duyck (1):
igb: Update MTU so that it is always at least a standard frame size
Bruce Allan (2):
e1000e: cleanup whitespace in recent commit
e1000e: resolve checkpatch JIFFIES_COMPARISON warning
Carolyn Wyborny (5):
igb: Refactor of init_nvm_params
igb: Refactor NVM read functions to accommodate devices with no flash
igb: Add device support for flashless SKU of i210 device
igb: Fix get_fw_version function for all parts
e1000e: Add code to check for failure of pci_disable_link_state call
Laura Mihaela Vasilescu (2):
igb: Add macro for size of RETA indirection table
igb: Expose RSS indirection table for ethtool
Li Zhang (1):
e1000e: Avoid kernel crash during shutdown
Mitch A Williams (1):
igb: don't allow SR-IOV without MSI-X
drivers/net/ethernet/intel/e1000e/ethtool.c | 2 +-
drivers/net/ethernet/intel/e1000e/hw.h | 3 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 92 ++++++++++-----
drivers/net/ethernet/intel/igb/e1000_82575.c | 117 ++++++++-----------
drivers/net/ethernet/intel/igb/e1000_defines.h | 34 ++++--
drivers/net/ethernet/intel/igb/e1000_hw.h | 3 +
drivers/net/ethernet/intel/igb/e1000_i210.c | 155 ++++++++++++++++---------
drivers/net/ethernet/intel/igb/e1000_i210.h | 5 +-
drivers/net/ethernet/intel/igb/e1000_nvm.c | 80 +++++++++----
drivers/net/ethernet/intel/igb/e1000_nvm.h | 1 +
drivers/net/ethernet/intel/igb/igb.h | 5 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 106 ++++++++++++++++-
drivers/net/ethernet/intel/igb/igb_main.c | 105 ++++++++++-------
drivers/net/ethernet/intel/igb/igb_ptp.c | 8 +-
14 files changed, 476 insertions(+), 240 deletions(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-07-29 12:51 Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-07-29 12:51 UTC (permalink / raw)
To: davem, bhelgaas; +Cc: Jeff Kirsher, netdev, gospo, sassmann, linux-pci
This series contains updates to ixgbe and pci.
The first patch for ixgbe from Greg Rose is the second submission. The
first submission of "ixgbe: Retain VLAN filtering in promiscuous + VT
mode" had a typo, which Joe Perches pointed out and is fixed in this
submission.
Alex updates the ixgbe driver to use the generic helper pci_vfs_assigned
instead of the driver specific function ixgbe_vfs_are_assigned.
Don Skidmore provides 4 patches for ixgbe, the first being a fix for
flow control ethtool reporting. Originally ixgbe_device_supports_autoneg_fc()
was expected to be called by only copper devices, which lead to false
information being displayed via ethtool. Two other patches add support
for fixed fiber for SFP+ devices and the addition of a quad-port x520
adapter. The last patch simply bumps the driver version.
Emil Tantilov provides 3 fixes for ixgbe, two of which resolve
semaphore lock issues. The third fix resolves several issues in the
previous implementation of the SFF data dumps of SFP+ modules.
The remaining ixgbe and pci patches are from Jacob Keller. The pci
patches exposes bus speed, link speed and bus width so that drivers
can take advantage of this information. In addition, adds a pci function
which obtains minimum link width and speed. Jacob also provides the
ixgbe patch to incorporate the pci function. He provides a patch that
fixes a lockdep issue created due to ixgbe_ptp_stop always running
cancel_work_sync even if the work item had not been created properly with
INIT_WORK. This issue was found and reported by Stephen Hemminger.
The following are changes since commit fe6f700d6cbb7e8a61711e325f53d9c9e0a42a4c:
net/mlx4_core: Respond to operation request by firmware
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (1):
ixgbe: Use pci_vfs_assigned instead of ixgbe_vfs_are_assigned
Don Skidmore (4):
ixgbe: fix fc autoneg ethtool reporting.
ixgbe: add new media type
ixgbe: bump version number
ixgbe: add support for quad-port x520 adapter
Emil Tantilov (3):
ixgbe: fix semaphore lock for I2C read/writes on 82598
ixgbe: fix SFF data dumps of SFP+ modules
ixgbe: clear semaphore bits on timeouts
Greg Rose (1):
ixgbe: Retain VLAN filtering in promiscuous + VT mode
Jacob Keller (6):
pci: expose pcie_link_speed and pcix_bus_speed arrays
pci: move enum pcie_link_width into pci.h
pci: Add function to obtain minimum link width and speed
ixgbe: call pcie_get_mimimum_link to check if device has enough
bandwidth
ixgbe: fix lockdep annotation issue for ptp's work item
ixgbe: rename LL_EXTENDED_STATS to use queue instead of q
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 7 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 34 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 231 ++++++++++-
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 88 +++--
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 94 ++---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 158 +++++++-
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 470 ++++++++++++++++-------
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 41 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 12 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 101 +++--
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 12 +
drivers/pci/pci.c | 43 +++
drivers/pci/probe.c | 4 +-
include/linux/pci.h | 18 +
include/linux/pci_hotplug.h | 13 -
15 files changed, 983 insertions(+), 343 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-04-18 23:30 Jeff Kirsher
2013-04-19 18:19 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2013-04-18 23:30 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbe and igb.
The ixgbe changes contains 2 patches from the community, one which is a
fix from akepner to fix a issue where netif_running() in shutdown was
not done under rtnl_lock. The other community fix from Joe Perches
cleans up #ifdef CONFIG_DEBUG_FS which is no longer necessary. The
last ixgbe patch, from Jacob Keller, adds support for WoL on 82559
SFP+ LOM.
The remaining patches are against igb, 10 of which were previously
submitted in a pull request where changes were requested.
The following igb patches:
igb: Support for 100base-fx SFP
igb: Support to read and export SFF-8472/8079 data
are v2 based on feedback from Dan Carpenter and Ben Hutchings in
the previous pull request.
The largest set of changes are in my patch to cleanup code comments
and whitespace to align the igb driver with the networking style of
code comments. While cleaning up the code comments, fixed several
other whitespace/checkpatch.pl code formatting issues.
Other notable igb patches are EEE capable devices query the PHY to
determine what the link partner is advertising, added support for
i354 devices and added support for spoofchk config.
The following are changes since commit c1cb0d3b569b1d21ada8666efb42dfd437617a09:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Akeem G. Abodunrin (5):
igb: Support for 100base-fx SFP
igb: Support to read and export SFF-8472/8079 data
igb: Implement support to power sfp cage and turn on I2C
igb: random code and comments fix
igb: Fix sparse warnings on function pointers
Alexander Duyck (3):
igb: Mask off check of frag_off as we only want fragment offset
igb: Pull adapter out of main path in igb_xmit_frame_ring
igb: Use rx/tx_itr_setting when setting up initial value of itr
Carolyn Wyborny (1):
igb: Add support for i354 devices
Jacob Keller (1):
ixgbe: Add support for WoL on 82599 SFP+ LOM
Jeff Kirsher (1):
igb: Fix code comments and whitespace
Joe Perches (1):
ixgbe: Remove unnecessary #ifdef CONFIG_DEBUG_FS tests
Lior Levy (1):
igb: add support for spoofchk config
Matthew Vick (1):
igb: Enable EEE LP advertisement
akepner (1):
ixgbe: in shutdown, do netif_running() under rtnl_lock
drivers/net/ethernet/intel/igb/e1000_82575.c | 252 +++--
drivers/net/ethernet/intel/igb/e1000_82575.h | 2 +
drivers/net/ethernet/intel/igb/e1000_defines.h | 50 +-
drivers/net/ethernet/intel/igb/e1000_hw.h | 57 +-
drivers/net/ethernet/intel/igb/e1000_i210.c | 93 +-
drivers/net/ethernet/intel/igb/e1000_i210.h | 4 +
drivers/net/ethernet/intel/igb/e1000_mac.c | 124 +--
drivers/net/ethernet/intel/igb/e1000_mac.h | 17 +-
drivers/net/ethernet/intel/igb/e1000_mbx.c | 11 +-
drivers/net/ethernet/intel/igb/e1000_mbx.h | 52 +-
drivers/net/ethernet/intel/igb/e1000_nvm.c | 27 +-
drivers/net/ethernet/intel/igb/e1000_phy.c | 259 ++---
drivers/net/ethernet/intel/igb/e1000_regs.h | 53 +-
drivers/net/ethernet/intel/igb/igb.h | 133 +--
drivers/net/ethernet/intel/igb/igb_ethtool.c | 345 +++++--
drivers/net/ethernet/intel/igb/igb_hwmon.c | 29 +-
drivers/net/ethernet/intel/igb/igb_main.c | 1270 +++++++++++++-----------
drivers/net/ethernet/intel/igb/igb_ptp.c | 61 +-
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 5 +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 15 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 1 +
21 files changed, 1604 insertions(+), 1256 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2013-04-18 23:30 Jeff Kirsher
@ 2013-04-19 18:19 ` David Miller
0 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2013-04-19 18:19 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 18 Apr 2013 16:30:07 -0700
> This series contains updates to ixgbe and igb.
>
> The ixgbe changes contains 2 patches from the community, one which is a
> fix from akepner to fix a issue where netif_running() in shutdown was
> not done under rtnl_lock. The other community fix from Joe Perches
> cleans up #ifdef CONFIG_DEBUG_FS which is no longer necessary. The
> last ixgbe patch, from Jacob Keller, adds support for WoL on 82559
> SFP+ LOM.
>
> The remaining patches are against igb, 10 of which were previously
> submitted in a pull request where changes were requested.
>
> The following igb patches:
> igb: Support for 100base-fx SFP
> igb: Support to read and export SFF-8472/8079 data
> are v2 based on feedback from Dan Carpenter and Ben Hutchings in
> the previous pull request.
>
> The largest set of changes are in my patch to cleanup code comments
> and whitespace to align the igb driver with the networking style of
> code comments. While cleaning up the code comments, fixed several
> other whitespace/checkpatch.pl code formatting issues.
>
> Other notable igb patches are EEE capable devices query the PHY to
> determine what the link partner is advertising, added support for
> i354 devices and added support for spoofchk config.
>
> The following are changes since commit c1cb0d3b569b1d21ada8666efb42dfd437617a09:
> Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks a lot Jeff.
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-03-08 10:07 Jeff Kirsher
2013-03-08 17:25 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2013-03-08 10:07 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to ixgbevf and e1000e.
Alex's ixgbevf patch is meant to address several race issues that become
possible because next_to_watch could possibly be set to a value that shows
that the descriptor is done when it is not. In order to correct that we
instead make next_to_watch a pointer that is set to NULL during cleanup,
and set to the eop_desc after the descriptor rings have been written.
Stephen's ixgbevf patch makes the PCI id table a const and reformats the
table to match what the ixgbe driver does.
The remaining 13 patches from Bruce are cleanup patches for e1000e to
resolve checkpatch.pl warnings/errors, removing blank lines where
necessary and fix code formatting.
The following are changes since commit 7f0e44ac9f7f12a2519bfed9ea4df3c1471bd8bb:
ipv6 flowlabel: add __rcu annotations
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Alexander Duyck (1):
ixgbevf: Make next_to_watch a pointer and adjust memory barriers to
avoid races
Bruce Allan (13):
e1000e: cleanup CODE_INDENT checkpatch errors
e1000e: cleanup SPACING checkpatch errors and warnings
e1000e: cleanup LONG_LINE checkpatch warnings
e1000e: cleanup LEADING_SPACE checkpatch warnings
e1000e: cleanup PARENTHESIS_ALIGNMENT checkpatch checks
e1000e: cleanup SPACING checkpatch checks
e1000e: cleanup (add/remove) blank lines where appropriate
e1000e: cleanup unusually placed comments
e1000e: cleanup formatting of static structs
e1000e: cleanup unnecessary line breaks
e1000e: cleanup USLEEP_RANGE checkpatch checks
e1000e: cleanup format of struct e1000_opt_list struct
e1000e: cleanup - move defines to appropriate header file
Stephen Hemminger (1):
ixgbevf: use PCI_DEVICE_TABLE macro
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 131 ++++++-----
drivers/net/ethernet/intel/e1000e/82571.c | 38 ++-
drivers/net/ethernet/intel/e1000e/82571.h | 2 +
drivers/net/ethernet/intel/e1000e/defines.h | 25 +-
drivers/net/ethernet/intel/e1000e/e1000.h | 18 +-
drivers/net/ethernet/intel/e1000e/ethtool.c | 177 +++++++-------
drivers/net/ethernet/intel/e1000e/hw.h | 4 +-
drivers/net/ethernet/intel/e1000e/ich8lan.c | 195 ++++++++--------
drivers/net/ethernet/intel/e1000e/mac.c | 10 +-
drivers/net/ethernet/intel/e1000e/netdev.c | 269 ++++++++++------------
drivers/net/ethernet/intel/e1000e/nvm.c | 2 +-
drivers/net/ethernet/intel/e1000e/param.c | 62 +++--
drivers/net/ethernet/intel/e1000e/phy.c | 130 +++++------
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 2 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 80 ++++---
15 files changed, 574 insertions(+), 571 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver Updates
2013-03-08 10:07 Jeff Kirsher
@ 2013-03-08 17:25 ` David Miller
0 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2013-03-08 17:25 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 8 Mar 2013 02:07:02 -0800
> This series contains updates to ixgbevf and e1000e.
>
> Alex's ixgbevf patch is meant to address several race issues that become
> possible because next_to_watch could possibly be set to a value that shows
> that the descriptor is done when it is not. In order to correct that we
> instead make next_to_watch a pointer that is set to NULL during cleanup,
> and set to the eop_desc after the descriptor rings have been written.
>
> Stephen's ixgbevf patch makes the PCI id table a const and reformats the
> table to match what the ixgbe driver does.
>
> The remaining 13 patches from Bruce are cleanup patches for e1000e to
> resolve checkpatch.pl warnings/errors, removing blank lines where
> necessary and fix code formatting.
>
> The following are changes since commit 7f0e44ac9f7f12a2519bfed9ea4df3c1471bd8bb:
> ipv6 flowlabel: add __rcu annotations
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks Jeff.
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver Updates
@ 2013-01-11 10:23 Jeff Kirsher
0 siblings, 0 replies; 54+ messages in thread
From: Jeff Kirsher @ 2013-01-11 10:23 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
This series contains updates to e1000e only.
The following are changes since commit 1def9238d4aa2146924994aa4b7dc861f03b9362:
net_sched: more precise pkt_len computation
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (15):
e1000e: SerDes autoneg flow control
e1000e: Acquire/release semaphore when writing each EEPROM page
e1000e: Invalid Image CSUM bit changed for I217
e1000e: helper functions for accessing EMI registers
e1000e: 82577: workaround for link drop issue
e1000e: fix enabling of EEE on 82579 and I217
e1000e: unexpected "Reset adapter" message when cable pulled
e1000e: add missing bailout on error
e1000e: resolve checkpatch PREFER_PR_LEVEL warning
e1000e: cleanup redundant statistics counter
e1000e: cleanup unusual comment placement
e1000e: cleanup unnecessary line wrap
e1000e: cleanup magic number
e1000e: cleanup code duplication
e1000e: merge multiple conditional statements into one
drivers/net/ethernet/intel/e1000e/defines.h | 10 +-
drivers/net/ethernet/intel/e1000e/e1000.h | 2 +-
drivers/net/ethernet/intel/e1000e/ethtool.c | 1 -
drivers/net/ethernet/intel/e1000e/hw.h | 4 +
drivers/net/ethernet/intel/e1000e/ich8lan.c | 213 +++++++++++++++++++++-------
drivers/net/ethernet/intel/e1000e/mac.c | 125 ++++++++++++++++
drivers/net/ethernet/intel/e1000e/netdev.c | 67 ++++-----
drivers/net/ethernet/intel/e1000e/nvm.c | 26 ++--
drivers/net/ethernet/intel/e1000e/param.c | 3 +-
9 files changed, 340 insertions(+), 111 deletions(-)
--
1.7.11.7
^ permalink raw reply [flat|nested] 54+ messages in thread
* [net-next 00/15][pull request] Intel Wired LAN Driver updates
@ 2012-02-13 21:47 Jeff Kirsher
2012-02-13 23:48 ` David Miller
0 siblings, 1 reply; 54+ messages in thread
From: Jeff Kirsher @ 2012-02-13 21:47 UTC (permalink / raw)
To: davem; +Cc: Jeff Kirsher, netdev, gospo, sassmann
The following series contains updates to e1000e only. All of the
patches are cleanup of the e1000e driver.
The following are changes since commit fafdbf84d7eb2cd7aee435cc381a0796e1a5ccb0:
trivial: typo hnalder -> handler
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Bruce Allan (15):
e1000e: cleanup: use goto for common work needed by multiple exit
points
e1000e: cleanup: rename goto labels to be more meaningful
e1000e: potentially incorrect return for
e1000_cfg_kmrn_10_100_80003es2lan
e1000e: potential incorrect return for
e1000_setup_copper_link_80003es2lan
e1000e: cleanup: remove unnecessary assignments just before returning
e1000e: cleanup: always return 0
e1000e: potentially incorrect return for
e1000_set_d3_lplu_state_ich8lan
e1000e: cleanup: remove unreachable statement
e1000e: cleanup: remove unnecessary variable ret_val
e1000e: cleanup: remove unnecessary test and return
e1000e: cleanup: remove unnecessary variable initializations
e1000e: cleanup: minor whitespace addition (insert blank line
separator)
e1000e: potentially incorrect return for e1000_init_hw_ich8lan
e1000e: potentially incorrect return for
e1000e_setup_fiber_serdes_link
e1000e: cleanup goto statements to exit points without common work
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 36 +---
drivers/net/ethernet/intel/e1000e/82571.c | 36 ++---
drivers/net/ethernet/intel/e1000e/ich8lan.c | 220 +++++++++------------
drivers/net/ethernet/intel/e1000e/mac.c | 25 +--
drivers/net/ethernet/intel/e1000e/manage.c | 32 +--
drivers/net/ethernet/intel/e1000e/netdev.c | 16 +-
drivers/net/ethernet/intel/e1000e/nvm.c | 32 ++--
drivers/net/ethernet/intel/e1000e/phy.c | 241 ++++++++++-------------
8 files changed, 265 insertions(+), 373 deletions(-)
--
1.7.7.6
^ permalink raw reply [flat|nested] 54+ messages in thread
* Re: [net-next 00/15][pull request] Intel Wired LAN Driver updates
2012-02-13 21:47 [net-next 00/15][pull request] Intel Wired LAN Driver updates Jeff Kirsher
@ 2012-02-13 23:48 ` David Miller
0 siblings, 0 replies; 54+ messages in thread
From: David Miller @ 2012-02-13 23:48 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 13 Feb 2012 13:47:35 -0800
> The following series contains updates to e1000e only. All of the
> patches are cleanup of the e1000e driver.
>
> The following are changes since commit fafdbf84d7eb2cd7aee435cc381a0796e1a5ccb0:
> trivial: typo hnalder -> handler
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master
Pulled, thanks.
^ permalink raw reply [flat|nested] 54+ messages in thread
end of thread, other threads:[~2014-05-31 0:53 UTC | newest]
Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-06 8:06 [net-next 00/15][pull request] Intel Wired LAN Driver Updates Jeff Kirsher
2013-12-06 8:06 ` [net-next 01/15] i40e: set pf_id based on device and function numbers Jeff Kirsher
2013-12-06 8:06 ` [net-next 02/15] i40e: register file updates Jeff Kirsher
2013-12-06 8:06 ` [net-next 03/15] i40e: clear AQ head and tail registers Jeff Kirsher
2013-12-06 8:06 ` [net-next 04/15] i40e: simplify aq head-tail-len setups Jeff Kirsher
2013-12-06 8:06 ` [net-next 05/15] i40e: firmware version fields offsets update Jeff Kirsher
2013-12-06 8:06 ` [net-next 06/15] i40e: allow one more vector for VFs Jeff Kirsher
2013-12-06 8:06 ` [net-next 07/15] i40e: select reset counters correctly Jeff Kirsher
2013-12-06 8:06 ` [net-next 08/15] i40e: retry call on timeout Jeff Kirsher
2013-12-06 8:06 ` [net-next 09/15] i40e: properly add VF MAC addresses Jeff Kirsher
2013-12-06 8:06 ` [net-next 10/15] i40e: fix debugging messages Jeff Kirsher
2013-12-06 8:06 ` [net-next 11/15] i40e: default debug mask setting Jeff Kirsher
2013-12-06 8:06 ` [net-next 12/15] i40e: add interrupt test Jeff Kirsher
2013-12-06 8:06 ` [net-next 13/15] i40e: add support for triggering EMPR Jeff Kirsher
2013-12-06 8:06 ` [net-next 14/15] i40e: restrict diag test length Jeff Kirsher
2013-12-06 8:06 ` [net-next 15/15] i40e: sync header files with hardware Jeff Kirsher
2013-12-06 19:49 ` [net-next 00/15][pull request] Intel Wired LAN Driver Updates David Miller
-- strict thread matches above, loose matches on Subject: below --
2014-05-29 15:10 Jeff Kirsher
2014-05-31 0:53 ` David Miller
2014-05-27 9:12 Jeff Kirsher
2014-05-28 16:42 ` David Miller
2014-05-21 12:00 Jeff Kirsher
2014-05-22 16:05 ` David Miller
2014-04-28 13:52 Jeff Kirsher
2014-04-28 18:53 ` David Miller
2014-03-26 18:03 Jeff Kirsher
2014-03-20 8:32 Jeff Kirsher
2014-03-20 18:20 ` David Miller
2014-03-08 9:25 Jeff Kirsher
2014-03-08 23:50 ` David Miller
2014-03-09 0:10 ` David Miller
2014-03-09 1:12 ` Jeff Kirsher
2014-01-09 12:52 Jeff Kirsher
2014-01-09 20:13 ` David Miller
2014-01-07 9:32 Jeff Kirsher
2014-01-06 12:30 Jeff Kirsher
2014-01-06 18:26 ` David Miller
2014-01-06 18:49 ` Jeff Kirsher
2014-01-06 20:14 ` Jeff Kirsher
2014-01-05 10:46 Jeff Kirsher
2014-01-06 1:31 ` David Miller
2013-12-19 6:34 Jeff Kirsher
2013-12-19 19:20 ` Jeff Kirsher
2013-12-19 19:47 ` David Miller
2013-12-12 12:40 Jeff Kirsher
2013-08-21 8:23 Jeff Kirsher
2013-07-29 12:51 Jeff Kirsher
2013-04-18 23:30 Jeff Kirsher
2013-04-19 18:19 ` David Miller
2013-03-08 10:07 Jeff Kirsher
2013-03-08 17:25 ` David Miller
2013-01-11 10:23 Jeff Kirsher
2012-02-13 21:47 [net-next 00/15][pull request] Intel Wired LAN Driver updates Jeff Kirsher
2012-02-13 23:48 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).