aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0099-sdk_fman-suspend-the-FMan-to-Deep-Sleep-on-PPC-only.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0099-sdk_fman-suspend-the-FMan-to-Deep-Sleep-on-PPC-only.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0099-sdk_fman-suspend-the-FMan-to-Deep-Sleep-on-PPC-only.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0099-sdk_fman-suspend-the-FMan-to-Deep-Sleep-on-PPC-only.patch b/target/linux/layerscape/patches-5.4/701-net-0099-sdk_fman-suspend-the-FMan-to-Deep-Sleep-on-PPC-only.patch
new file mode 100644
index 0000000000..677dbbc077
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0099-sdk_fman-suspend-the-FMan-to-Deep-Sleep-on-PPC-only.patch
@@ -0,0 +1,56 @@
+From 2223efd48766e22bbf56ba6000078af9e32c7772 Mon Sep 17 00:00:00 2001
+From: Camelia Groza <camelia.groza@nxp.com>
+Date: Mon, 17 Dec 2018 15:20:42 +0200
+Subject: [PATCH] sdk_fman: suspend the FMan to Deep Sleep on PPC only
+
+The SCFG_FMCLKDPSLPCR register is present on PPC targets only. This
+feature does not apply to ARM SoCs.
+
+Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
+---
+ .../net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c
++++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c
+@@ -251,7 +251,7 @@ static irqreturn_t fm_irq(int irq, void
+ #ifdef CONFIG_PM_SLEEP
+ if (fman_get_normal_pending(p_Fm->p_FmFpmRegs) & INTR_EN_WAKEUP)
+ {
+- pm_wakeup_event(p_LnxWrpFmDev->dev, 200);
++ pm_wakeup_event(p_LnxWrpFmDev->dev, 200);
+ }
+ #endif
+ FM_EventIsr(p_LnxWrpFmDev->h_Dev);
+@@ -1107,7 +1107,7 @@ static t_Error InitFmDev(t_LnxWrpFmDev
+ p_LnxWrpFmDev->fmDevSettings.param.fmMacClkRatio =
+ !!(get_rcwsr(4) & 0x1); /* RCW[FM_MAC_RAT1] */
+
+- {
++ {
+ /* T4 Devices ClkRatio is always 1 regardless of RCW[FM_MAC_RAT1] */
+ uint32_t svr;
+ svr = mfspr(SPRN_SVR);
+@@ -1320,7 +1320,7 @@ static const struct of_device_id fm_matc
+ MODULE_DEVICE_TABLE(of, fm_match);
+ #endif /* !MODULE */
+
+-#ifdef CONFIG_PM
++#if defined CONFIG_PM && (defined CONFIG_PPC || defined CONFIG_PPC64)
+
+ #define SCFG_FMCLKDPSLPCR_ADDR 0xFFE0FC00C
+ #define SCFG_FMCLKDPSLPCR_DS_VAL 0x48402000
+@@ -1373,11 +1373,11 @@ static const struct dev_pm_ops fm_pm_ops
+
+ #define FM_PM_OPS (&fm_pm_ops)
+
+-#else /* CONFIG_PM */
++#else /* CONFIG_PM && (CONFIG_PPC || CONFIG_PPC64) */
+
+ #define FM_PM_OPS NULL
+
+-#endif /* CONFIG_PM */
++#endif /* CONFIG_PM && (CONFIG_PPC || CONFIG_PPC64) */
+
+ static struct platform_driver fm_driver = {
+ .driver = {