2017-02-06 10:46:48 +00:00
|
|
|
From: Russell King <rmk+kernel@armlinux.org.uk>
|
|
|
|
Date: Sat, 24 Dec 2016 10:27:08 +0000
|
|
|
|
Subject: [PATCH] net: mvneta: disable MVNETA_CAUSE_PSC_SYNC_CHANGE
|
|
|
|
interrupt
|
|
|
|
|
|
|
|
The PSC sync change interrupt can fire multiple times while the link is
|
|
|
|
down. As this isn't information we make use of, it's pointless having
|
|
|
|
the interrupt enabled, so let's disable this interrupt.
|
|
|
|
|
|
|
|
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
|
|
|
|
---
|
|
|
|
|
|
|
|
--- a/drivers/net/ethernet/marvell/mvneta.c
|
|
|
|
+++ b/drivers/net/ethernet/marvell/mvneta.c
|
2017-11-20 09:51:09 +00:00
|
|
|
@@ -2630,9 +2630,11 @@ static int mvneta_poll(struct napi_struc
|
2017-02-06 10:46:48 +00:00
|
|
|
mvreg_write(pp, MVNETA_INTR_MISC_CAUSE, 0);
|
|
|
|
|
|
|
|
if (cause_misc & (MVNETA_CAUSE_PHY_STATUS_CHANGE |
|
|
|
|
- MVNETA_CAUSE_LINK_CHANGE |
|
|
|
|
- MVNETA_CAUSE_PSC_SYNC_CHANGE))
|
|
|
|
+ MVNETA_CAUSE_LINK_CHANGE)) {
|
|
|
|
+ printk(KERN_DEBUG "%s: cause 0x%08x:0x%08x\n",
|
|
|
|
+ __func__, cause_rx_tx, cause_misc);
|
|
|
|
mvneta_link_change(pp);
|
|
|
|
+ }
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Release Tx descriptors */
|
2017-11-20 09:51:09 +00:00
|
|
|
@@ -2947,8 +2949,7 @@ static void mvneta_start_dev(struct mvne
|
2017-02-06 10:46:48 +00:00
|
|
|
|
|
|
|
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
|
|
|
|
MVNETA_CAUSE_PHY_STATUS_CHANGE |
|
|
|
|
- MVNETA_CAUSE_LINK_CHANGE |
|
|
|
|
- MVNETA_CAUSE_PSC_SYNC_CHANGE);
|
|
|
|
+ MVNETA_CAUSE_LINK_CHANGE);
|
|
|
|
|
|
|
|
phylink_start(pp->phylink);
|
|
|
|
netif_tx_start_all_queues(pp->dev);
|
2017-11-20 09:51:09 +00:00
|
|
|
@@ -3439,8 +3440,7 @@ static int mvneta_cpu_online(unsigned in
|
2017-02-06 10:46:48 +00:00
|
|
|
on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
|
|
|
|
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
|
|
|
|
MVNETA_CAUSE_PHY_STATUS_CHANGE |
|
|
|
|
- MVNETA_CAUSE_LINK_CHANGE |
|
|
|
|
- MVNETA_CAUSE_PSC_SYNC_CHANGE);
|
|
|
|
+ MVNETA_CAUSE_LINK_CHANGE);
|
|
|
|
netif_tx_start_all_queues(pp->dev);
|
|
|
|
spin_unlock(&pp->lock);
|
|
|
|
return 0;
|
2017-11-20 09:51:09 +00:00
|
|
|
@@ -3481,8 +3481,7 @@ static int mvneta_cpu_dead(unsigned int
|
2017-02-06 10:46:48 +00:00
|
|
|
on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
|
|
|
|
mvreg_write(pp, MVNETA_INTR_MISC_MASK,
|
|
|
|
MVNETA_CAUSE_PHY_STATUS_CHANGE |
|
|
|
|
- MVNETA_CAUSE_LINK_CHANGE |
|
|
|
|
- MVNETA_CAUSE_PSC_SYNC_CHANGE);
|
|
|
|
+ MVNETA_CAUSE_LINK_CHANGE);
|
|
|
|
netif_tx_start_all_queues(pp->dev);
|
|
|
|
return 0;
|
|
|
|
}
|