mirror of
https://github.com/VIKINGYFY/immortalwrt.git
synced 2025-12-16 17:15:26 +00:00
changelogs: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.58 Removed upstreamed patches: 1. target/linux/generic/backport-6.12/612-01-v6.17-net-dsa-tag_brcm-legacy-reorganize-functions.patch Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=a4daaf063f8269a5881154c5b77c5ef6639d65d3 2. target/linux/qualcommax/patches-6.12/0151-arm64-qcom-ipq6018-nss_port5.patch Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=9a7a5d50ee2e035325de9c720e4842d6759d2374 3. target/linux/realtek/patches-6.12/020-01-v6.18-timer-rtl-otto-work-around-dying-timers.patch Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=d0e217b33d42bfe52ef7ef447916a23a586e6e5c 4. target/linux/realtek/patches-6.12/020-03-v6.18-timer-rtl-otto-do-not-interfere-with-interrupts.patch Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=8cc561dd9d02f1753ae34dfdd565662828be9a9d Additional changes: - Manually adapted bcm27xx patch: * 950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch Rebased and adjusted for kernel 6.12 to fix context conflicts. - Synced lantiq DTS (danube.dtsi) with upstream bindings to fix DT validation issues on kernel 6.12. - Manually adapted DTS to match OpenWrt's lantiq DTS layout. Compile-tested on x86_64 Run-tested on x86_64 Signed-off-by: gongzi miao <miaogongzi0227@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20777 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
78 lines
2.5 KiB
Diff
78 lines
2.5 KiB
Diff
From a219912e0fec73c346e64ef47013cb2e152f88fc Mon Sep 17 00:00:00 2001
|
|
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
|
|
Date: Tue, 3 Dec 2024 15:31:23 +0000
|
|
Subject: [PATCH 08/13] net: phy: marvell: implement config_inband() method
|
|
|
|
Implement the config_inband() method for Marvell 88E1112, 88E1111,
|
|
and Finisar's 88E1111 variant.
|
|
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
|
Link: https://patch.msgid.link/E1tIUrz-006IUO-3r@rmk-PC.armlinux.org.uk
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/phy/marvell.c | 31 +++++++++++++++++++++++++++++++
|
|
1 file changed, 31 insertions(+)
|
|
|
|
--- a/drivers/net/phy/marvell.c
|
|
+++ b/drivers/net/phy/marvell.c
|
|
@@ -730,6 +730,34 @@ static unsigned int m88e1111_inband_caps
|
|
return 0;
|
|
}
|
|
|
|
+static int m88e1111_config_inband(struct phy_device *phydev, unsigned int modes)
|
|
+{
|
|
+ u16 extsr, bmcr;
|
|
+ int err;
|
|
+
|
|
+ if (phydev->interface != PHY_INTERFACE_MODE_1000BASEX &&
|
|
+ phydev->interface != PHY_INTERFACE_MODE_SGMII)
|
|
+ return -EINVAL;
|
|
+
|
|
+ if (modes == LINK_INBAND_BYPASS)
|
|
+ extsr = MII_M1111_HWCFG_SERIAL_AN_BYPASS;
|
|
+ else
|
|
+ extsr = 0;
|
|
+
|
|
+ if (modes == LINK_INBAND_DISABLE)
|
|
+ bmcr = 0;
|
|
+ else
|
|
+ bmcr = BMCR_ANENABLE;
|
|
+
|
|
+ err = phy_modify(phydev, MII_M1111_PHY_EXT_SR,
|
|
+ MII_M1111_HWCFG_SERIAL_AN_BYPASS, extsr);
|
|
+ if (err < 0)
|
|
+ return extsr;
|
|
+
|
|
+ return phy_modify_paged(phydev, MII_MARVELL_FIBER_PAGE, MII_BMCR,
|
|
+ BMCR_ANENABLE, bmcr);
|
|
+}
|
|
+
|
|
static int m88e1111_config_aneg(struct phy_device *phydev)
|
|
{
|
|
int extsr = phy_read(phydev, MII_M1111_PHY_EXT_SR);
|
|
@@ -3719,6 +3747,7 @@ static struct phy_driver marvell_drivers
|
|
/* PHY_GBIT_FEATURES */
|
|
.probe = marvell_probe,
|
|
.inband_caps = m88e1111_inband_caps,
|
|
+ .config_inband = m88e1111_config_inband,
|
|
.config_init = m88e1112_config_init,
|
|
.config_aneg = marvell_config_aneg,
|
|
.config_intr = marvell_config_intr,
|
|
@@ -3741,6 +3770,7 @@ static struct phy_driver marvell_drivers
|
|
.flags = PHY_POLL_CABLE_TEST,
|
|
.probe = marvell_probe,
|
|
.inband_caps = m88e1111_inband_caps,
|
|
+ .config_inband = m88e1111_config_inband,
|
|
.config_init = m88e1111gbe_config_init,
|
|
.config_aneg = m88e1111_config_aneg,
|
|
.read_status = marvell_read_status,
|
|
@@ -3765,6 +3795,7 @@ static struct phy_driver marvell_drivers
|
|
/* PHY_GBIT_FEATURES */
|
|
.probe = marvell_probe,
|
|
.inband_caps = m88e1111_inband_caps,
|
|
+ .config_inband = m88e1111_config_inband,
|
|
.config_init = m88e1111gbe_config_init,
|
|
.config_aneg = m88e1111_config_aneg,
|
|
.read_status = marvell_read_status,
|