57 lines
1.7 KiB
Diff
57 lines
1.7 KiB
Diff
From ad63cb5d37f9634fc097249ddda4240c10f041d7 Mon Sep 17 00:00:00 2001
|
|
From: Martijn Braam <martijn@brixit.nl>
|
|
Date: Tue, 7 Sep 2021 20:30:22 +0200
|
|
Subject: [PATCH] Revert "net: stmmac: dwmac-rk: fix unbalanced
|
|
pm_runtime_enable warnings"
|
|
|
|
Revert: 2d26f6e39afb88d32b8f39e76a51b542c3c51674
|
|
|
|
A fix in 5.14 caused a regression in the stmmac driver used for the
|
|
ethernet PHY in the rockpro64. This reverts the revert that caused this
|
|
regression making ethernet work again.
|
|
|
|
The upstream mailing list thread: https://lore.kernel.org/netdev/YS0v9UbzoHkiU9om@sashalap/T/
|
|
---
|
|
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
|
|
index ed817011a94a..280ac0129572 100644
|
|
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
|
|
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
|
|
@@ -21,6 +21,7 @@
|
|
#include <linux/delay.h>
|
|
#include <linux/mfd/syscon.h>
|
|
#include <linux/regmap.h>
|
|
+#include <linux/pm_runtime.h>
|
|
|
|
#include "stmmac_platform.h"
|
|
|
|
@@ -1528,6 +1529,9 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv)
|
|
return ret;
|
|
}
|
|
|
|
+ pm_runtime_enable(dev);
|
|
+ pm_runtime_get_sync(dev);
|
|
+
|
|
if (bsp_priv->integrated_phy)
|
|
rk_gmac_integrated_phy_powerup(bsp_priv);
|
|
|
|
@@ -1536,9 +1540,14 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv)
|
|
|
|
static void rk_gmac_powerdown(struct rk_priv_data *gmac)
|
|
{
|
|
+ struct device *dev = &gmac->pdev->dev;
|
|
+
|
|
if (gmac->integrated_phy)
|
|
rk_gmac_integrated_phy_powerdown(gmac);
|
|
|
|
+ pm_runtime_put_sync(dev);
|
|
+ pm_runtime_disable(dev);
|
|
+
|
|
phy_power_on(gmac, false);
|
|
gmac_clk_enable(gmac, false);
|
|
}
|
|
--
|
|
2.33.0
|
|
|