diff options
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 5 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_defines.h | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_regs.h | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_ethtool.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_ptp.c | 10 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 7 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 1 |
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 | ||
363 | static int igb_ptp_enable(struct ptp_clock_info *ptp, | 363 | static 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 | /* |