aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch
blob: 16ffab3d46ea0ce4302c88a83dc6e3ce7aaf5c7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
From 4c3e2dc08a11fb1273ca62467f1d06e59866bad3 Mon Sep 17 00:00:00 2001
From: Russell King <rmk+kernel@armlinux.org.uk>
Date: Tue, 12 Jul 2016 00:04:13 +0100
Subject: [PATCH 729/744] net: mvneta: enable flow control for fixed
 connections

Allow symetric flow control to be enabled for fixed link connections as
well as other types of connections by setting the supported and
advertised capability bits.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
---
 drivers/net/ethernet/marvell/mvneta.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -3114,9 +3114,9 @@ static int mvneta_mac_support(struct net
 	switch (mode) {
 	case MLO_AN_8023Z:
 		state->supported = SUPPORTED_1000baseT_Full |
-				   SUPPORTED_Autoneg | SUPPORTED_Pause;
+				   SUPPORTED_Autoneg;
 		state->advertising = ADVERTISED_1000baseT_Full |
-				     ADVERTISED_Autoneg | ADVERTISED_Pause;
+				     ADVERTISED_Autoneg;
 		state->an_enabled = 1;
 		break;
 
@@ -3127,18 +3127,21 @@ static int mvneta_mac_support(struct net
 		state->supported = PHY_10BT_FEATURES |
 				   PHY_100BT_FEATURES |
 				   SUPPORTED_1000baseT_Full |
-				   SUPPORTED_Pause |
 				   SUPPORTED_Autoneg;
 		state->advertising = ADVERTISED_10baseT_Half |
 				     ADVERTISED_10baseT_Full |
 				     ADVERTISED_100baseT_Half |
 				     ADVERTISED_100baseT_Full |
 				     ADVERTISED_1000baseT_Full |
-				     ADVERTISED_Pause |
 				     ADVERTISED_Autoneg;
 		state->an_enabled = 1;
 		break;
 	}
+
+	/* All modes support flow control */
+	state->supported |= SUPPORTED_Pause;
+	state->advertising |= ADVERTISED_Pause;
+
 	return 0;
 }