mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 01:59:02 +00:00
21549dbf7b
Update patch set for new release and add required kernel option
CONFIG_ZRAM_TRACK_ENTRY_ACTIME to generic config
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.66
Manually rebased:
bcm27xx/patches-6.6/950-0092-MMC-added-alternative-MMC-driver.patch
bcm53xx/patches-6.6/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
starfive/patches-6.6/1000-serial-8250_dw-Add-starfive-jh7100-hsuart-compatible.patch
Removed upstreamed:
bcm27xx/patches-6.6/950-0029-vc4_hdmi-Avoid-log-spam-for-audio-start-failure.patch[1]
All other patches automatically rebased.
1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.66&id=e0388a95736abd1f5f5a94221dd1ac24eacbd4d7
Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: bcm27xx/bcm2712, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17271
(cherry picked from commit 28f534d953
)
Link: https://github.com/openwrt/openwrt/pull/17302
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
64 lines
2.3 KiB
Diff
64 lines
2.3 KiB
Diff
From 7cc39a6bedbd85f3ff7e16845f310e4ce8d9833f Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
Date: Tue, 6 Sep 2022 00:31:19 +0100
|
|
Subject: [PATCH] net: sfp: add quirk for ATS SFP-GE-T 1000Base-TX module
|
|
To: netdev@vger.kernel.org,
|
|
linux-kernel@vger.kernel.org,
|
|
Russell King <linux@armlinux.org.uk>,
|
|
Andrew Lunn <andrew@lunn.ch>,
|
|
Heiner Kallweit <hkallweit1@gmail.com>
|
|
Cc: David S. Miller <davem@davemloft.net>,
|
|
Eric Dumazet <edumazet@google.com>,
|
|
Jakub Kicinski <kuba@kernel.org>,
|
|
Paolo Abeni <pabeni@redhat.com>,
|
|
Josef Schlehofer <pepe.schlehofer@gmail.com>
|
|
|
|
This copper module comes with broken TX_FAULT indicator which must be
|
|
ignored for it to work. Implement ignoring TX_FAULT state bit also
|
|
during reset/insertion and mute the warning telling the user that the
|
|
module indicates TX_FAULT.
|
|
|
|
Co-authored-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
|
|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|
---
|
|
drivers/net/phy/sfp.c | 14 +++++++++++---
|
|
1 file changed, 11 insertions(+), 3 deletions(-)
|
|
|
|
--- a/drivers/net/phy/sfp.c
|
|
+++ b/drivers/net/phy/sfp.c
|
|
@@ -472,6 +472,9 @@ static const struct sfp_quirk sfp_quirks
|
|
// FS 2.5G Base-T
|
|
SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
|
|
|
|
+ // OEM SFP-GE-T is 1000Base-T module
|
|
+ SFP_QUIRK_F("OEM", "SFP-GE-T", sfp_fixup_ignore_tx_fault),
|
|
+
|
|
// Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
|
|
// 2500MBd NRZ in their EEPROM
|
|
SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex),
|
|
@@ -2590,7 +2593,8 @@ static void sfp_sm_main(struct sfp *sfp,
|
|
* or t_start_up, so assume there is a fault.
|
|
*/
|
|
sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
|
|
- sfp->sm_fault_retries == N_FAULT_INIT);
|
|
+ !sfp->tx_fault_ignore &&
|
|
+ (sfp->sm_fault_retries == N_FAULT_INIT));
|
|
} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
|
|
init_done:
|
|
/* Create mdiobus and start trying for PHY */
|
|
@@ -2844,10 +2848,12 @@ static void sfp_check_state(struct sfp *
|
|
mutex_lock(&sfp->st_mutex);
|
|
state = sfp_get_state(sfp);
|
|
changed = state ^ sfp->state;
|
|
- if (sfp->tx_fault_ignore)
|
|
+ if (sfp->tx_fault_ignore) {
|
|
changed &= SFP_F_PRESENT | SFP_F_LOS;
|
|
- else
|
|
+ state &= ~SFP_F_TX_FAULT;
|
|
+ } else {
|
|
changed &= SFP_F_PRESENT | SFP_F_LOS | SFP_F_TX_FAULT;
|
|
+ }
|
|
|
|
for (i = 0; i < GPIO_MAX; i++)
|
|
if (changed & BIT(i))
|