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>
64 lines
2.3 KiB
Diff
64 lines
2.3 KiB
Diff
From 1c86828dff88e28b8ade6bddeee0163a023faf91 Mon Sep 17 00:00:00 2001
|
|
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
|
|
Date: Tue, 3 Dec 2024 15:31:12 +0000
|
|
Subject: [PATCH 06/13] net: phy: marvell: implement phy_inband_caps() method
|
|
|
|
Provide an implementation for phy_inband_caps() for Marvell PHYs used
|
|
on SFP modules, so that phylink knows the PHYs capabilities.
|
|
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
|
Link: https://patch.msgid.link/E1tIUro-006IUC-Rq@rmk-PC.armlinux.org.uk
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/phy/marvell.c | 17 +++++++++++++++++
|
|
1 file changed, 17 insertions(+)
|
|
|
|
--- a/drivers/net/phy/marvell.c
|
|
+++ b/drivers/net/phy/marvell.c
|
|
@@ -716,6 +716,20 @@ static int marvell_config_aneg_fiber(str
|
|
return genphy_check_and_restart_aneg(phydev, changed);
|
|
}
|
|
|
|
+static unsigned int m88e1111_inband_caps(struct phy_device *phydev,
|
|
+ phy_interface_t interface)
|
|
+{
|
|
+ /* In 1000base-X and SGMII modes, the inband mode can be changed
|
|
+ * through the Fibre page BMCR ANENABLE bit.
|
|
+ */
|
|
+ if (interface == PHY_INTERFACE_MODE_1000BASEX ||
|
|
+ interface == PHY_INTERFACE_MODE_SGMII)
|
|
+ return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE |
|
|
+ LINK_INBAND_BYPASS;
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
static int m88e1111_config_aneg(struct phy_device *phydev)
|
|
{
|
|
int extsr = phy_read(phydev, MII_M1111_PHY_EXT_SR);
|
|
@@ -3704,6 +3718,7 @@ static struct phy_driver marvell_drivers
|
|
.name = "Marvell 88E1112",
|
|
/* PHY_GBIT_FEATURES */
|
|
.probe = marvell_probe,
|
|
+ .inband_caps = m88e1111_inband_caps,
|
|
.config_init = m88e1112_config_init,
|
|
.config_aneg = marvell_config_aneg,
|
|
.config_intr = marvell_config_intr,
|
|
@@ -3725,6 +3740,7 @@ static struct phy_driver marvell_drivers
|
|
/* PHY_GBIT_FEATURES */
|
|
.flags = PHY_POLL_CABLE_TEST,
|
|
.probe = marvell_probe,
|
|
+ .inband_caps = m88e1111_inband_caps,
|
|
.config_init = m88e1111gbe_config_init,
|
|
.config_aneg = m88e1111_config_aneg,
|
|
.read_status = marvell_read_status,
|
|
@@ -3748,6 +3764,7 @@ static struct phy_driver marvell_drivers
|
|
.name = "Marvell 88E1111 (Finisar)",
|
|
/* PHY_GBIT_FEATURES */
|
|
.probe = marvell_probe,
|
|
+ .inband_caps = m88e1111_inband_caps,
|
|
.config_init = m88e1111gbe_config_init,
|
|
.config_aneg = m88e1111_config_aneg,
|
|
.read_status = marvell_read_status,
|