405-net-mvneta-disable-MVNETA_CAUSE_PSC_SYNC_CHANGE-inte.patch 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. From fde9e742a47606110232b7464608b6f9c0510938 Mon Sep 17 00:00:00 2001
  2. From: Russell King <rmk+kernel@armlinux.org.uk>
  3. Date: Sat, 24 Dec 2016 10:27:08 +0000
  4. Subject: net: mvneta: disable MVNETA_CAUSE_PSC_SYNC_CHANGE interrupt
  5. The PSC sync change interrupt can fire multiple times while the link is
  6. down. As this isn't information we make use of, it's pointless having
  7. the interrupt enabled, so let's disable this interrupt.
  8. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  9. ---
  10. drivers/net/ethernet/marvell/mvneta.c | 12 ++++--------
  11. 1 file changed, 4 insertions(+), 8 deletions(-)
  12. --- a/drivers/net/ethernet/marvell/mvneta.c
  13. +++ b/drivers/net/ethernet/marvell/mvneta.c
  14. @@ -2705,8 +2705,7 @@ static int mvneta_poll(struct napi_struc
  15. mvreg_write(pp, MVNETA_INTR_MISC_CAUSE, 0);
  16. if (cause_misc & (MVNETA_CAUSE_PHY_STATUS_CHANGE |
  17. - MVNETA_CAUSE_LINK_CHANGE |
  18. - MVNETA_CAUSE_PSC_SYNC_CHANGE))
  19. + MVNETA_CAUSE_LINK_CHANGE))
  20. mvneta_link_change(pp);
  21. }
  22. @@ -3044,8 +3043,7 @@ static void mvneta_start_dev(struct mvne
  23. mvreg_write(pp, MVNETA_INTR_MISC_MASK,
  24. MVNETA_CAUSE_PHY_STATUS_CHANGE |
  25. - MVNETA_CAUSE_LINK_CHANGE |
  26. - MVNETA_CAUSE_PSC_SYNC_CHANGE);
  27. + MVNETA_CAUSE_LINK_CHANGE);
  28. phylink_start(pp->phylink);
  29. netif_tx_start_all_queues(pp->dev);
  30. @@ -3541,8 +3539,7 @@ static int mvneta_cpu_online(unsigned in
  31. on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
  32. mvreg_write(pp, MVNETA_INTR_MISC_MASK,
  33. MVNETA_CAUSE_PHY_STATUS_CHANGE |
  34. - MVNETA_CAUSE_LINK_CHANGE |
  35. - MVNETA_CAUSE_PSC_SYNC_CHANGE);
  36. + MVNETA_CAUSE_LINK_CHANGE);
  37. netif_tx_start_all_queues(pp->dev);
  38. spin_unlock(&pp->lock);
  39. return 0;
  40. @@ -3583,8 +3580,7 @@ static int mvneta_cpu_dead(unsigned int
  41. on_each_cpu(mvneta_percpu_unmask_interrupt, pp, true);
  42. mvreg_write(pp, MVNETA_INTR_MISC_MASK,
  43. MVNETA_CAUSE_PHY_STATUS_CHANGE |
  44. - MVNETA_CAUSE_LINK_CHANGE |
  45. - MVNETA_CAUSE_PSC_SYNC_CHANGE);
  46. + MVNETA_CAUSE_LINK_CHANGE);
  47. netif_tx_start_all_queues(pp->dev);
  48. return 0;
  49. }