aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_ethtool.c3
-rw-r--r--drivers/net/ethernet/intel/e1000/e1000_main.c5
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_defines.h3
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_regs.h4
-rw-r--r--drivers/net/ethernet/intel/igb/igb_ethtool.c4
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c6
-rw-r--r--drivers/net/ethernet/intel/igb/igb_ptp.c10
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c7
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c2
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c1
10 files changed, 24 insertions, 21 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c
index 341889a4ef7f..08b207df1459 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c
@@ -1460,7 +1460,8 @@ static int e1000_run_loopback_test(struct e1000_adapter *adapter)
1460 * enough time to complete the receives, if it's 1460 * enough time to complete the receives, if it's
1461 * exceeded, break and error off 1461 * exceeded, break and error off
1462 */ 1462 */
1463 } while (good_cnt < 64 && jiffies < (time + 20)); 1463 } while (good_cnt < 64 && time_after(time + 20, jiffies));
1464
1464 if (good_cnt != 64) { 1465 if (good_cnt != 64) {
1465 ret_val = 13; /* ret_val is the same as mis-compare */ 1466 ret_val = 13; /* ret_val is the same as mis-compare */
1466 break; 1467 break;
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index 27058dfe418b..660971f304b2 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -3105,11 +3105,6 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
3105 */ 3105 */
3106 tx_ring = adapter->tx_ring; 3106 tx_ring = adapter->tx_ring;
3107 3107
3108 if (unlikely(skb->len <= 0)) {
3109 dev_kfree_skb_any(skb);
3110 return NETDEV_TX_OK;
3111 }
3112
3113 /* On PCI/PCI-X HW, if packet size is less than ETH_ZLEN, 3108 /* On PCI/PCI-X HW, if packet size is less than ETH_ZLEN,
3114 * packets may get corrupted during padding by HW. 3109 * packets may get corrupted during padding by HW.
3115 * To WA this issue, pad all small packets manually. 3110 * To WA this issue, pad all small packets manually.
diff --git a/drivers/net/ethernet/intel/igb/e1000_defines.h b/drivers/net/ethernet/intel/igb/e1000_defines.h
index f85be6695e44..11ffdbae9f92 100644
--- a/drivers/net/ethernet/intel/igb/e1000_defines.h
+++ b/drivers/net/ethernet/intel/igb/e1000_defines.h
@@ -329,6 +329,9 @@
329/* Timestamp in Rx buffer */ 329/* Timestamp in Rx buffer */
330#define E1000_RXPBS_CFG_TS_EN 0x80000000 330#define E1000_RXPBS_CFG_TS_EN 0x80000000
331 331
332#define I210_RXPBSIZE_DEFAULT 0x000000A2 /* RXPBSIZE default */
333#define I210_TXPBSIZE_DEFAULT 0x04000014 /* TXPBSIZE default */
334
332/* SerDes Control */ 335/* SerDes Control */
333#define E1000_SCTL_DISABLE_SERDES_LOOPBACK 0x0400 336#define E1000_SCTL_DISABLE_SERDES_LOOPBACK 0x0400
334 337
diff --git a/drivers/net/ethernet/intel/igb/e1000_regs.h b/drivers/net/ethernet/intel/igb/e1000_regs.h
index 833bbb948d97..1cc4b1a7e597 100644
--- a/drivers/net/ethernet/intel/igb/e1000_regs.h
+++ b/drivers/net/ethernet/intel/igb/e1000_regs.h
@@ -192,6 +192,10 @@
192 : (0x0E038 + ((_n) * 0x40))) 192 : (0x0E038 + ((_n) * 0x40)))
193#define E1000_TDWBAH(_n) ((_n) < 4 ? (0x0383C + ((_n) * 0x100)) \ 193#define E1000_TDWBAH(_n) ((_n) < 4 ? (0x0383C + ((_n) * 0x100)) \
194 : (0x0E03C + ((_n) * 0x40))) 194 : (0x0E03C + ((_n) * 0x40)))
195
196#define E1000_RXPBS 0x02404 /* Rx Packet Buffer Size - RW */
197#define E1000_TXPBS 0x03404 /* Tx Packet Buffer Size - RW */
198
195#define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */ 199#define E1000_TDFH 0x03410 /* TX Data FIFO Head - RW */
196#define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */ 200#define E1000_TDFT 0x03418 /* TX Data FIFO Tail - RW */
197#define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */ 201#define E1000_TDFHS 0x03420 /* TX Data FIFO Head Saved - RW */
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index d8bbcf1873ca..80e376377c3d 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -1665,8 +1665,8 @@ static int igb_setup_loopback_test(struct igb_adapter *adapter)
1665 (hw->device_id == E1000_DEV_ID_DH89XXCC_SERDES) || 1665 (hw->device_id == E1000_DEV_ID_DH89XXCC_SERDES) ||
1666 (hw->device_id == E1000_DEV_ID_DH89XXCC_BACKPLANE) || 1666 (hw->device_id == E1000_DEV_ID_DH89XXCC_BACKPLANE) ||
1667 (hw->device_id == E1000_DEV_ID_DH89XXCC_SFP) || 1667 (hw->device_id == E1000_DEV_ID_DH89XXCC_SFP) ||
1668 (hw->device_id == E1000_DEV_ID_I354_SGMII)) { 1668 (hw->device_id == E1000_DEV_ID_I354_SGMII) ||
1669 1669 (hw->device_id == E1000_DEV_ID_I354_BACKPLANE_2_5GBPS)) {
1670 /* Enable DH89xxCC MPHY for near end loopback */ 1670 /* Enable DH89xxCC MPHY for near end loopback */
1671 reg = rd32(E1000_MPHY_ADDR_CTL); 1671 reg = rd32(E1000_MPHY_ADDR_CTL);
1672 reg = (reg & E1000_MPHY_ADDR_CTL_OFFSET_MASK) | 1672 reg = (reg & E1000_MPHY_ADDR_CTL_OFFSET_MASK) |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index ea2868b22c2d..33b3a16dabe1 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -2433,6 +2433,12 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
2433 /* get firmware version for ethtool -i */ 2433 /* get firmware version for ethtool -i */
2434 igb_set_fw_version(adapter); 2434 igb_set_fw_version(adapter);
2435 2435
2436 /* configure RXPBSIZE and TXPBSIZE */
2437 if (hw->mac.type == e1000_i210) {
2438 wr32(E1000_RXPBS, I210_RXPBSIZE_DEFAULT);
2439 wr32(E1000_TXPBS, I210_TXPBSIZE_DEFAULT);
2440 }
2441
2436 setup_timer(&adapter->watchdog_timer, igb_watchdog, 2442 setup_timer(&adapter->watchdog_timer, igb_watchdog,
2437 (unsigned long) adapter); 2443 (unsigned long) adapter);
2438 setup_timer(&adapter->phy_info_timer, igb_update_phy_info, 2444 setup_timer(&adapter->phy_info_timer, igb_update_phy_info,
diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c
index ab25e49365f7..e291be20dc98 100644
--- a/drivers/net/ethernet/intel/igb/igb_ptp.c
+++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
@@ -360,8 +360,8 @@ static int igb_ptp_settime_i210(struct ptp_clock_info *ptp,
360 return 0; 360 return 0;
361} 361}
362 362
363static int igb_ptp_enable(struct ptp_clock_info *ptp, 363static int igb_ptp_feature_enable(struct ptp_clock_info *ptp,
364 struct ptp_clock_request *rq, int on) 364 struct ptp_clock_request *rq, int on)
365{ 365{
366 return -EOPNOTSUPP; 366 return -EOPNOTSUPP;
367} 367}
@@ -745,7 +745,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
745 adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576; 745 adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
746 adapter->ptp_caps.gettime = igb_ptp_gettime_82576; 746 adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
747 adapter->ptp_caps.settime = igb_ptp_settime_82576; 747 adapter->ptp_caps.settime = igb_ptp_settime_82576;
748 adapter->ptp_caps.enable = igb_ptp_enable; 748 adapter->ptp_caps.enable = igb_ptp_feature_enable;
749 adapter->cc.read = igb_ptp_read_82576; 749 adapter->cc.read = igb_ptp_read_82576;
750 adapter->cc.mask = CLOCKSOURCE_MASK(64); 750 adapter->cc.mask = CLOCKSOURCE_MASK(64);
751 adapter->cc.mult = 1; 751 adapter->cc.mult = 1;
@@ -765,7 +765,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
765 adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576; 765 adapter->ptp_caps.adjtime = igb_ptp_adjtime_82576;
766 adapter->ptp_caps.gettime = igb_ptp_gettime_82576; 766 adapter->ptp_caps.gettime = igb_ptp_gettime_82576;
767 adapter->ptp_caps.settime = igb_ptp_settime_82576; 767 adapter->ptp_caps.settime = igb_ptp_settime_82576;
768 adapter->ptp_caps.enable = igb_ptp_enable; 768 adapter->ptp_caps.enable = igb_ptp_feature_enable;
769 adapter->cc.read = igb_ptp_read_82580; 769 adapter->cc.read = igb_ptp_read_82580;
770 adapter->cc.mask = CLOCKSOURCE_MASK(IGB_NBITS_82580); 770 adapter->cc.mask = CLOCKSOURCE_MASK(IGB_NBITS_82580);
771 adapter->cc.mult = 1; 771 adapter->cc.mult = 1;
@@ -784,7 +784,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
784 adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210; 784 adapter->ptp_caps.adjtime = igb_ptp_adjtime_i210;
785 adapter->ptp_caps.gettime = igb_ptp_gettime_i210; 785 adapter->ptp_caps.gettime = igb_ptp_gettime_i210;
786 adapter->ptp_caps.settime = igb_ptp_settime_i210; 786 adapter->ptp_caps.settime = igb_ptp_settime_i210;
787 adapter->ptp_caps.enable = igb_ptp_enable; 787 adapter->ptp_caps.enable = igb_ptp_feature_enable;
788 /* Enable the timer functions by clearing bit 31. */ 788 /* Enable the timer functions by clearing bit 31. */
789 wr32(E1000_TSAUXC, 0x0); 789 wr32(E1000_TSAUXC, 0x0);
790 break; 790 break;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
index cc70de259829..23e4e6a4b4b1 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
@@ -161,13 +161,6 @@ static int ixgbe_get_settings(struct net_device *netdev,
161 bool autoneg = false; 161 bool autoneg = false;
162 bool link_up; 162 bool link_up;
163 163
164 /* SFP type is needed for get_link_capabilities */
165 if (hw->phy.media_type & (ixgbe_media_type_fiber |
166 ixgbe_media_type_fiber_qsfp)) {
167 if (hw->phy.sfp_type == ixgbe_sfp_type_not_present)
168 hw->phy.ops.identify_sfp(hw);
169 }
170
171 hw->mac.ops.get_link_capabilities(hw, &supported_link, &autoneg); 164 hw->mac.ops.get_link_capabilities(hw, &supported_link, &autoneg);
172 165
173 /* set the supported link speeds */ 166 /* set the supported link speeds */
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index ea11e2c8ee8c..e22278a5cbfa 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -4656,6 +4656,8 @@ static inline bool ixgbe_is_sfp(struct ixgbe_hw *hw)
4656 case ixgbe_phy_qsfp_active_unknown: 4656 case ixgbe_phy_qsfp_active_unknown:
4657 case ixgbe_phy_qsfp_intel: 4657 case ixgbe_phy_qsfp_intel:
4658 case ixgbe_phy_qsfp_unknown: 4658 case ixgbe_phy_qsfp_unknown:
4659 /* ixgbe_phy_none is set when no SFP module is present */
4660 case ixgbe_phy_none:
4659 return true; 4661 return true;
4660 case ixgbe_phy_nl: 4662 case ixgbe_phy_nl:
4661 if (hw->mac.type == ixgbe_mac_82598EB) 4663 if (hw->mac.type == ixgbe_mac_82598EB)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
index b3266b7536d5..68f87ecb8a76 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
@@ -26,7 +26,6 @@
26 26
27*******************************************************************************/ 27*******************************************************************************/
28#include "ixgbe.h" 28#include "ixgbe.h"
29#include <linux/export.h>
30#include <linux/ptp_classify.h> 29#include <linux/ptp_classify.h>
31 30
32/* 31/*