aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch
blob: bf34d39be474fe4f0b59c8dfcf2eee416e39e0dd (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
54
55
56
From 002297dd2634e993257a00fe4458b0288ec7baea Mon Sep 17 00:00:00 2001
From: Calvin Johnson <calvin.johnson@nxp.com>
Date: Wed, 27 Mar 2019 13:25:57 +0530
Subject: [PATCH] staging: fsl_ppfe/eth: adapt to link mode based phydev
 changes

Setting link mode bits have changed with the integration of
commit (3c1bcc8 net: ethernet: Convert phydev advertize and
supported from u32 to link mode). Adapt to the new method of
setting and clearing the link mode bits.

Signed-off-by: Calvin Johnson <calvin.johnson@nxp.com>
---
 drivers/staging/fsl_ppfe/pfe_eth.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

--- a/drivers/staging/fsl_ppfe/pfe_eth.c
+++ b/drivers/staging/fsl_ppfe/pfe_eth.c
@@ -701,10 +701,14 @@ static int pfe_eth_set_pauseparam(struct
 					EGPI_PAUSE_ENABLE),
 				priv->GPI_baseaddr + GPI_TX_PAUSE_TIME);
 		if (priv->phydev) {
-			priv->phydev->supported |= ADVERTISED_Pause |
-							ADVERTISED_Asym_Pause;
-			priv->phydev->advertising |= ADVERTISED_Pause |
-							ADVERTISED_Asym_Pause;
+			linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT,
+					 priv->phydev->supported);
+			linkmode_set_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
+					 priv->phydev->supported);
+			linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT,
+					 priv->phydev->advertising);
+			linkmode_set_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
+					 priv->phydev->advertising);
 		}
 	} else {
 		gemac_disable_pause_rx(priv->EMAC_baseaddr);
@@ -712,10 +716,14 @@ static int pfe_eth_set_pauseparam(struct
 					~EGPI_PAUSE_ENABLE),
 				priv->GPI_baseaddr + GPI_TX_PAUSE_TIME);
 		if (priv->phydev) {
-			priv->phydev->supported &= ~(ADVERTISED_Pause |
-							ADVERTISED_Asym_Pause);
-			priv->phydev->advertising &= ~(ADVERTISED_Pause |
-							ADVERTISED_Asym_Pause);
+			linkmode_clear_bit(ETHTOOL_LINK_MODE_Pause_BIT,
+					   priv->phydev->supported);
+			linkmode_clear_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
+					   priv->phydev->supported);
+			linkmode_clear_bit(ETHTOOL_LINK_MODE_Pause_BIT,
+					   priv->phydev->advertising);
+			linkmode_clear_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT,
+					   priv->phydev->advertising);
 		}
 	}