[PATCH 2/4] net: stmmac: dwmac-rk: add pd_gmac support for rk3399

Caesar Wang
2016-08-30T20:30:05Z

From: David Wu <david.wu-TNX95d0MmH7DzftRWevZcw@public.gmane.org>

Add the gmac power domain support for rk3399, in order to save more
power consumption.

Signed-off-by: David Wu <david.wu-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
Signed-off-by: Caesar Wang <wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
---

drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
index ea0e493..71a1ca5 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
@@ -30,6 +30,7 @@
#include <linux/delay.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
+#include <linux/pm_runtime.h>

#include "stmmac_platform.h"

@@ -660,11 +661,17 @@ static int rk_gmac_init(struct platform_device *pdev, void *priv)
if (ret)
return ret;

+ pm_runtime_enable(&pdev->dev);
+ pm_runtime_get_sync(&pdev->dev);
+
return 0;
}

static void rk_gmac_powerdown(struct rk_priv_data *gmac)
{
+ pm_runtime_put_sync(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
+
phy_power_on(gmac, false);
gmac_clk_enable(gmac, false);
}
--
1.9.1