Skip to content

Commit 6b336f0

Browse files
committed
tgupdate: merge t/upstream base into t/upstream
2 parents eb520bd + adc1a41 commit 6b336f0

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15894,6 +15894,8 @@ F: include/uapi/linux/ethtool_netlink.h
1589415894
F: include/uapi/linux/if_*
1589515895
F: include/uapi/linux/netdev*
1589615896
F: tools/testing/selftests/drivers/net/
15897+
X: Documentation/devicetree/bindings/net/bluetooth/
15898+
X: Documentation/devicetree/bindings/net/wireless/
1589715899
X: drivers/net/wireless/
1589815900

1589915901
NETWORKING DRIVERS (WIRELESS)

drivers/net/ethernet/intel/ice/ice_main.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,9 @@ ice_prepare_for_reset(struct ice_pf *pf, enum ice_reset_req reset_type)
608608
memset(&vsi->mqprio_qopt, 0, sizeof(vsi->mqprio_qopt));
609609
}
610610
}
611+
612+
if (vsi->netdev)
613+
netif_device_detach(vsi->netdev);
611614
skip:
612615

613616
/* clear SW filtering DB */
@@ -7589,6 +7592,7 @@ static void ice_update_pf_netdev_link(struct ice_pf *pf)
75897592
*/
75907593
static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
75917594
{
7595+
struct ice_vsi *vsi = ice_get_main_vsi(pf);
75927596
struct device *dev = ice_pf_to_dev(pf);
75937597
struct ice_hw *hw = &pf->hw;
75947598
bool dvm;
@@ -7731,6 +7735,9 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
77317735
ice_rebuild_arfs(pf);
77327736
}
77337737

7738+
if (vsi && vsi->netdev)
7739+
netif_device_attach(vsi->netdev);
7740+
77347741
ice_update_pf_netdev_link(pf);
77357742

77367743
/* tell the firmware we are up */

drivers/net/ethernet/intel/igb/igb_main.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6960,10 +6960,20 @@ static void igb_extts(struct igb_adapter *adapter, int tsintr_tt)
69606960

69616961
static void igb_tsync_interrupt(struct igb_adapter *adapter)
69626962
{
6963+
const u32 mask = (TSINTR_SYS_WRAP | E1000_TSICR_TXTS |
6964+
TSINTR_TT0 | TSINTR_TT1 |
6965+
TSINTR_AUTT0 | TSINTR_AUTT1);
69636966
struct e1000_hw *hw = &adapter->hw;
69646967
u32 tsicr = rd32(E1000_TSICR);
69656968
struct ptp_clock_event event;
69666969

6970+
if (hw->mac.type == e1000_82580) {
6971+
/* 82580 has a hardware bug that requires an explicit
6972+
* write to clear the TimeSync interrupt cause.
6973+
*/
6974+
wr32(E1000_TSICR, tsicr & mask);
6975+
}
6976+
69676977
if (tsicr & TSINTR_SYS_WRAP) {
69686978
event.type = PTP_CLOCK_PPS;
69696979
if (adapter->ptp_caps.pps)

0 commit comments

Comments
 (0)