aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch b/target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch
new file mode 100644
index 0000000000..bf34d39be4
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0318-staging-fsl_ppfe-eth-adapt-to-link-mode-based-phydev.patch
@@ -0,0 +1,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);
+ }
+ }
+