/branches/gl-inet/target/linux/mvebu/patches-4.14/405-net-mvneta-disable-MVNETA_CAUSE_PSC_SYNC_CHANGE-inte.patch |
@@ -0,0 +1,56 @@ |
From fde9e742a47606110232b7464608b6f9c0510938 Mon Sep 17 00:00:00 2001 |
From: Russell King <rmk+kernel@armlinux.org.uk> |
Date: Sat, 24 Dec 2016 10:27:08 +0000 |
Subject: 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> |
--- |
drivers/net/ethernet/marvell/mvneta.c | 12 ++++-------- |
1 file changed, 4 insertions(+), 8 deletions(-) |
|
--- a/drivers/net/ethernet/marvell/mvneta.c |
+++ b/drivers/net/ethernet/marvell/mvneta.c |
@@ -2705,8 +2705,7 @@ static int mvneta_poll(struct napi_struc |
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)) |
mvneta_link_change(pp); |
} |
|
@@ -3045,8 +3044,7 @@ static void mvneta_start_dev(struct mvne |
|
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); |
@@ -3543,8 +3541,7 @@ static int mvneta_cpu_online(unsigned in |
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; |
@@ -3585,8 +3582,7 @@ static int mvneta_cpu_dead(unsigned int |
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; |
} |