pmaports/device/community/linux-postmarketos-rockchip/0011-stmmac-revert-stmmac-fix.patch

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