[PATCH v2] net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 platform
Subsystems:
arm/socfpga dwmac glue layer , networking drivers , stmmac ethernet driver , the rest
STALE1735d
2 messages,
2 authors,
2021-11-12 · open the first message on its own page
From: Meng Li <redacted>
According to upstream commit 5ec55823438e("net: stmmac:
add clocks management for gmac driver"), it improve clocks
management for stmmac driver. So, it is necessary to implement
the runtime callback in dwmac-socfpga driver because it doesn't
use the common stmmac_pltfr_pm_ops instance. Otherwise, clocks
are not disabled when system enters suspend status.
Fixes: 5ec55823438e ("net: stmmac: add clocks management for gmac driver")
Cc: stable@vger.kernel.org
Signed-off-by: Meng Li <redacted>
---
v2:
- add static when define socfpga_dwmac_pm_ops
- add fixed tag
---
.../ethernet/stmicro/stmmac/dwmac-socfpga.c | 24 +++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
index 85208128f135..e478a4017caa 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c @@ -485,8 +485,28 @@ static int socfpga_dwmac_resume(struct device *dev)
}
#endif /* CONFIG_PM_SLEEP */
- static SIMPLE_DEV_PM_OPS ( socfpga_dwmac_pm_ops , stmmac_suspend ,
- socfpga_dwmac_resume );
+ static int __maybe_unused socfpga_dwmac_runtime_suspend ( struct device * dev )
+ {
+ struct net_device * ndev = dev_get_drvdata ( dev );
+ struct stmmac_priv * priv = netdev_priv ( ndev );
+
+ stmmac_bus_clks_config ( priv , false );
+
+ return 0 ;
+ }
+
+ static int __maybe_unused socfpga_dwmac_runtime_resume ( struct device * dev )
+ {
+ struct net_device * ndev = dev_get_drvdata ( dev );
+ struct stmmac_priv * priv = netdev_priv ( ndev );
+
+ return stmmac_bus_clks_config ( priv , true );
+ }
+
+ const static struct dev_pm_ops socfpga_dwmac_pm_ops = {
+ SET_SYSTEM_SLEEP_PM_OPS ( stmmac_suspend , socfpga_dwmac_resume )
+ SET_RUNTIME_PM_OPS ( socfpga_dwmac_runtime_suspend , socfpga_dwmac_runtime_resume , NULL )
+ };
static const struct socfpga_dwmac_ops socfpga_gen5_ops = {
. set_phy_mode = socfpga_gen5_set_phy_mode , --
2.17.1
Hi Meng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.15 next-20211112]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch ]
url: https://github.com/0day-ci/linux/commits/Meng-Li/net-stmmac-socfpga-add-runtime-suspend-resume-callback-for-stratix10-platform/20211112-163612
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5833291ab6de9c3e2374336b51c814e515e8f3a5
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/3fee8d6a97c77407e030c5831bed7924958ad53f
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Meng-Li/net-stmmac-socfpga-add-runtime-suspend-resume-callback-for-stratix10-platform/20211112-163612
git checkout 3fee8d6a97c77407e030c5831bed7924958ad53f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <redacted>
All warnings (new ones prefixed by >>):
quoted drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c:506:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration] 506 | const static struct dev_pm_ops socfpga_dwmac_pm_ops = {
| ^~~~~
vim +/static +506 drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
505
> 506 const static struct dev_pm_ops socfpga_dwmac_pm_ops = {
507 SET_SYSTEM_SLEEP_PM_OPS(stmmac_suspend, socfpga_dwmac_resume)
508 SET_RUNTIME_PM_OPS(socfpga_dwmac_runtime_suspend, socfpga_dwmac_runtime_resume, NULL)
509 };
510
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org