On Tue, Nov 16, 2021 at 7:52 AM Quentin Schulz <[email protected]> wrote: > > From Linux kernel v5.14 to v5.14.11 (both included), the Ethernet MAC > controller found on RK3399 is not working. > > A fix is available in v5.14.12 and later (available also in v5.15) > which is provided here and applied to linux-yocto source tree if > linux-yocto version is of the impacted ones. > > The conditional patching is unfortunately required because Honister 3.4 > has linux-yocto v5.14.9 and Honister 3.4.1 will have at least > linux-yocto v5.14.14.
Patching piece below looks quite a bit. lets just fix v5.14.14 and dont worry about 3.4 > > Cc: Quentin Schulz <[email protected]> > Signed-off-by: Quentin Schulz <[email protected]> > --- > ...-rk-Fix-ethernet-on-rk3399-based-dev.patch | 63 +++++++++++++++++++ > .../linux/linux-yocto/5.14-rk3399-mac-fix.scc | 1 + > .../linux/linux-yocto_5.14.bbappend | 11 ++++ > 3 files changed, 75 insertions(+) > create mode 100644 > recipes-kernel/linux/linux-yocto/0001-net-stmmac-dwmac-rk-Fix-ethernet-on-rk3399-based-dev.patch > create mode 100644 recipes-kernel/linux/linux-yocto/5.14-rk3399-mac-fix.scc > create mode 100644 recipes-kernel/linux/linux-yocto_5.14.bbappend > > diff --git > a/recipes-kernel/linux/linux-yocto/0001-net-stmmac-dwmac-rk-Fix-ethernet-on-rk3399-based-dev.patch > > b/recipes-kernel/linux/linux-yocto/0001-net-stmmac-dwmac-rk-Fix-ethernet-on-rk3399-based-dev.patch > new file mode 100644 > index 0000000..b2ce7e8 > --- /dev/null > +++ > b/recipes-kernel/linux/linux-yocto/0001-net-stmmac-dwmac-rk-Fix-ethernet-on-rk3399-based-dev.patch > @@ -0,0 +1,63 @@ > +From 8efe947ea1eace444d78398a31469b30e47ae585 Mon Sep 17 00:00:00 2001 > +From: Punit Agrawal <[email protected]> > +Date: Wed, 29 Sep 2021 22:50:49 +0900 > +Subject: [PATCH] net: stmmac: dwmac-rk: Fix ethernet on rk3399 based devices > + > +[ Upstream commit aec3f415f7244b7747a7952596971adb0df2f568 ] > + > +Commit 2d26f6e39afb ("net: stmmac: dwmac-rk: fix unbalanced > pm_runtime_enable warnings") > +while getting rid of a runtime PM warning ended up breaking ethernet > +on rk3399 based devices. By dropping an extra reference to the device, > +the commit ends up enabling suspend / resume of the ethernet device - > +which appears to be broken. > + > +While the issue with runtime pm is being investigated, partially > +revert commit 2d26f6e39afb to restore the network on rk3399. > + > +Fixes: 2d26f6e39afb ("net: stmmac: dwmac-rk: fix unbalanced > pm_runtime_enable warnings") > +Suggested-by: Heiko Stuebner <[email protected]> > +Signed-off-by: Punit Agrawal <[email protected]> > +Cc: Michael Riesch <[email protected]> > +Tested-by: Heiko Stuebner <[email protected]> > +Link: > https://lore.kernel.org/r/[email protected] > +Signed-off-by: Jakub Kicinski <[email protected]> > +Signed-off-by: Sasha Levin <[email protected]> > + > +Upstream-Status: Backport [8efe947ea1eace444d78398a31469b30e47ae585] > +--- > + drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 5 +++++ > + 1 file changed, 5 insertions(+) > + > +diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > +index ed817011a94a..6924a6aacbd5 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,8 @@ static int rk_gmac_powerup(struct rk_priv_data > *bsp_priv) > + return ret; > + } > + > ++ pm_runtime_get_sync(dev); > ++ > + if (bsp_priv->integrated_phy) > + rk_gmac_integrated_phy_powerup(bsp_priv); > + > +@@ -1539,6 +1542,8 @@ static void rk_gmac_powerdown(struct rk_priv_data > *gmac) > + if (gmac->integrated_phy) > + rk_gmac_integrated_phy_powerdown(gmac); > + > ++ pm_runtime_put_sync(&gmac->pdev->dev); > ++ > + phy_power_on(gmac, false); > + gmac_clk_enable(gmac, false); > + } > +-- > +2.33.1 > + > diff --git a/recipes-kernel/linux/linux-yocto/5.14-rk3399-mac-fix.scc > b/recipes-kernel/linux/linux-yocto/5.14-rk3399-mac-fix.scc > new file mode 100644 > index 0000000..1ad2bde > --- /dev/null > +++ b/recipes-kernel/linux/linux-yocto/5.14-rk3399-mac-fix.scc > @@ -0,0 +1 @@ > +patch 0001-net-stmmac-dwmac-rk-Fix-ethernet-on-rk3399-based-dev.patch > diff --git a/recipes-kernel/linux/linux-yocto_5.14.bbappend > b/recipes-kernel/linux/linux-yocto_5.14.bbappend > new file mode 100644 > index 0000000..5eaa604 > --- /dev/null > +++ b/recipes-kernel/linux/linux-yocto_5.14.bbappend > @@ -0,0 +1,11 @@ > +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" > + > +# Fix Ethernet on 5.14 until 5.14.11 (included) for RK3399 MAC controller > +# Conditional patching required because Honister 3.4 has linux-yocto > +# v5.14.9 and Honister 3.4.1 will have at least linux-yocto v5.14.14. > +python __anonymous() { > + kver = d.getVar('LINUX_VERSION') or '' > + if bb.utils.is_semver(kver) \ > + and bb.utils.vercmp_string(kver, '5.14.11') <= 0: > + d.appendVar('SRC_URI', ' file://5.14-rk3399-mac-fix.scc') > +} > -- > 2.30.2 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#55348): https://lists.yoctoproject.org/g/yocto/message/55348 Mute This Topic: https://lists.yoctoproject.org/mt/87097671/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
