Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.83 Removed upstreamed: bcm27xx/patches-6.6/950-0483-usb-xhci-borrow-upstream-TRB_FETCH-quirk-on-VL805-ho.patch[1] Manually rebased: bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch All other patches automatically rebased. 1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/usb/host/xhci-pci.c?h=linux-6.6.y&id=c401b1b4b835d66792e884b76264d742a20d931d Build system: x86/64 Build-tested: x86/64 Run-tested: x86/64 Signed-off-by: John Audia <therealgraysky@proton.me> [fixed issues with bcm27xx patches] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
98 lines
3.1 KiB
Diff
98 lines
3.1 KiB
Diff
From e612922de7070a28802216650ee88128a57290de Mon Sep 17 00:00:00 2001
|
||
From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com>
|
||
Date: Tue, 6 Feb 2024 01:08:05 +0300
|
||
Subject: [PATCH 15/30] net: dsa: mt7530: call port 6 setup from
|
||
mt7530_mac_config()
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
mt7530_pad_clk_setup() is called if port 6 is enabled. It used to do more
|
||
things than setting up port 6. That part was moved to more appropriate
|
||
locations, mt7530_setup() and mt7530_pll_setup().
|
||
|
||
Now that all it does is set up port 6, rename it to mt7530_setup_port6(),
|
||
and move it to a more appropriate location, under mt7530_mac_config().
|
||
|
||
Change mt7530_setup_port6() to void as there're no error cases.
|
||
|
||
Leave an empty mt7530_pad_clk_setup() to satisfy the pad_setup function
|
||
pointer.
|
||
|
||
This is the code path for setting up the ports before:
|
||
|
||
dsa_switch_ops :: phylink_mac_config() -> mt753x_phylink_mac_config()
|
||
-> mt753x_mac_config()
|
||
-> mt753x_info :: mac_port_config() -> mt7530_mac_config()
|
||
-> mt7530_setup_port5()
|
||
-> mt753x_pad_setup()
|
||
-> mt753x_info :: pad_setup() -> mt7530_pad_clk_setup()
|
||
|
||
This is after:
|
||
|
||
dsa_switch_ops :: phylink_mac_config() -> mt753x_phylink_mac_config()
|
||
-> mt753x_mac_config()
|
||
-> mt753x_info :: mac_port_config() -> mt7530_mac_config()
|
||
-> mt7530_setup_port5()
|
||
-> mt7530_setup_port6()
|
||
|
||
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
||
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
||
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||
Link: https://lore.kernel.org/r/20240206-for-netnext-mt7530-improvements-2-v5-4-d7d92a185cb1@arinc9.com
|
||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||
---
|
||
drivers/net/dsa/mt7530.c | 19 +++++++++++--------
|
||
1 file changed, 11 insertions(+), 8 deletions(-)
|
||
|
||
--- a/drivers/net/dsa/mt7530.c
|
||
+++ b/drivers/net/dsa/mt7530.c
|
||
@@ -414,8 +414,8 @@ mt753x_preferred_default_local_cpu_port(
|
||
}
|
||
|
||
/* Setup port 6 interface mode and TRGMII TX circuit */
|
||
-static int
|
||
-mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface)
|
||
+static void
|
||
+mt7530_setup_port6(struct dsa_switch *ds, phy_interface_t interface)
|
||
{
|
||
struct mt7530_priv *priv = ds->priv;
|
||
u32 ncpo1, ssc_delta, xtal;
|
||
@@ -426,7 +426,7 @@ mt7530_pad_clk_setup(struct dsa_switch *
|
||
if (interface == PHY_INTERFACE_MODE_RGMII) {
|
||
mt7530_rmw(priv, MT7530_P6ECR, P6_INTF_MODE_MASK,
|
||
P6_INTF_MODE(0));
|
||
- return 0;
|
||
+ return;
|
||
}
|
||
|
||
mt7530_rmw(priv, MT7530_P6ECR, P6_INTF_MODE_MASK, P6_INTF_MODE(1));
|
||
@@ -465,7 +465,11 @@ mt7530_pad_clk_setup(struct dsa_switch *
|
||
|
||
/* Enable the MT7530 TRGMII clocks */
|
||
core_set(priv, CORE_TRGMII_GSW_CLK_CG, REG_TRGMIICK_EN);
|
||
+}
|
||
|
||
+static int
|
||
+mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface)
|
||
+{
|
||
return 0;
|
||
}
|
||
|
||
@@ -2822,11 +2826,10 @@ mt7530_mac_config(struct dsa_switch *ds,
|
||
{
|
||
struct mt7530_priv *priv = ds->priv;
|
||
|
||
- /* Only need to setup port5. */
|
||
- if (port != 5)
|
||
- return 0;
|
||
-
|
||
- mt7530_setup_port5(priv->ds, interface);
|
||
+ if (port == 5)
|
||
+ mt7530_setup_port5(priv->ds, interface);
|
||
+ else if (port == 6)
|
||
+ mt7530_setup_port6(priv->ds, interface);
|
||
|
||
return 0;
|
||
}
|