mirror of
https://git.openwrt.org/openwrt/openwrt.git/
synced 2025-10-06 03:02:55 +02:00
kernel: bump 6.6 to 6.6.109
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.109
Removed upstreamed patch:
lantiq/patches-6.6/0736-v6.11-net-dsa-lantiq_gswip-do-also-enable-or-disable-cpu-p.patch [1]
All other patches autorefreshed.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.109&id=a7a2b29c1ee44b8d379ab>
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20277
(cherry picked from commit bb1779cdc5
)
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20299
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
committed by
Hauke Mehrtens
parent
10363b5e26
commit
28bb6f73e6
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .108
|
||||
LINUX_KERNEL_HASH-6.6.108 = 601cd332aa695d16607b353feff369b4a0b36d111be077e8af54bdd41e1968a6
|
||||
LINUX_VERSION-6.6 = .109
|
||||
LINUX_KERNEL_HASH-6.6.109 = 7731cd99778cfdeedd63aa1b5aa8379511b97ec7df8c9eca44baed4e401730f4
|
||||
|
@@ -17583,7 +17583,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
* For devices with more than one control interface, we assume the
|
||||
--- a/sound/usb/quirks.c
|
||||
+++ b/sound/usb/quirks.c
|
||||
@@ -2260,6 +2260,8 @@ static const struct usb_audio_quirk_flag
|
||||
@@ -2278,6 +2278,8 @@ static const struct usb_audio_quirk_flag
|
||||
QUIRK_FLAG_ALIGN_TRANSFER),
|
||||
DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
|
||||
QUIRK_FLAG_ALIGN_TRANSFER),
|
||||
|
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4927,6 +4927,7 @@ static const struct {
|
||||
@@ -4934,6 +4934,7 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
int ret = 0;
|
||||
bool invalid_bdaddr;
|
||||
size_t i;
|
||||
@@ -4955,7 +4956,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
@@ -4962,7 +4963,8 @@ static int hci_dev_setup_sync(struct hci
|
||||
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
|
||||
if (!ret) {
|
||||
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
|
||||
|
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/net/bluetooth/hci_sync.c
|
||||
+++ b/net/bluetooth/hci_sync.c
|
||||
@@ -4927,7 +4927,8 @@ static const struct {
|
||||
@@ -4934,7 +4934,8 @@ static const struct {
|
||||
*/
|
||||
static int hci_dev_setup_sync(struct hci_dev *hdev)
|
||||
{
|
||||
|
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
/**
|
||||
@@ -250,6 +252,4 @@ static inline void *offset_to_ptr(const
|
||||
@@ -259,6 +261,4 @@ static inline void *offset_to_ptr(const
|
||||
*/
|
||||
#define prevent_tail_call_optimization() mb()
|
||||
|
||||
|
@@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -1509,6 +1509,7 @@ static void gswip_xrx200_phylink_get_cap
|
||||
@@ -1511,6 +1511,7 @@ static void gswip_xrx200_phylink_get_cap
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
__set_bit(PHY_INTERFACE_MODE_INTERNAL,
|
||||
config->supported_interfaces);
|
||||
break;
|
||||
@@ -1540,6 +1541,7 @@ static void gswip_xrx300_phylink_get_cap
|
||||
@@ -1542,6 +1543,7 @@ static void gswip_xrx300_phylink_get_cap
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
|
@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -829,7 +829,7 @@ static int gswip_setup(struct dsa_switch
|
||||
@@ -830,7 +830,7 @@ static int gswip_setup(struct dsa_switch
|
||||
|
||||
err = gswip_pce_load_microcode(priv);
|
||||
if (err) {
|
||||
@@ -26,7 +26,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -1780,7 +1780,7 @@ static u32 gswip_bcm_ram_entry_read(stru
|
||||
@@ -1782,7 +1782,7 @@ static u32 gswip_bcm_ram_entry_read(stru
|
||||
err = gswip_switch_r_timeout(priv, GSWIP_BM_RAM_CTRL,
|
||||
GSWIP_BM_RAM_CTRL_BAS);
|
||||
if (err) {
|
||||
@@ -35,7 +35,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
table, index);
|
||||
return 0;
|
||||
}
|
||||
@@ -2009,7 +2009,7 @@ static void gswip_gphy_fw_remove(struct
|
||||
@@ -2012,7 +2012,7 @@ static void gswip_gphy_fw_remove(struct
|
||||
|
||||
ret = regmap_write(priv->rcu_regmap, gphy_fw->fw_addr_offset, 0);
|
||||
if (ret)
|
||||
@@ -44,7 +44,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
clk_disable_unprepare(gphy_fw->clk_gate);
|
||||
|
||||
@@ -2038,7 +2038,7 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
@@ -2041,7 +2041,7 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
priv->gphy_fw_name_cfg = &xrx200a2x_gphy_data;
|
||||
break;
|
||||
default:
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
return -ENOENT;
|
||||
}
|
||||
}
|
||||
@@ -2048,7 +2048,7 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
@@ -2051,7 +2051,7 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
priv->gphy_fw_name_cfg = match->data;
|
||||
|
||||
if (!priv->gphy_fw_name_cfg) {
|
||||
@@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
@@ -2150,7 +2150,7 @@ static int gswip_probe(struct platform_d
|
||||
@@ -2153,7 +2153,7 @@ static int gswip_probe(struct platform_d
|
||||
return -EINVAL;
|
||||
break;
|
||||
default:
|
||||
@@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
@@ -2181,7 +2181,7 @@ static int gswip_probe(struct platform_d
|
||||
@@ -2184,7 +2184,7 @@ static int gswip_probe(struct platform_d
|
||||
goto mdio_bus;
|
||||
}
|
||||
if (!dsa_is_cpu_port(priv->ds, priv->hw_info->cpu_port)) {
|
||||
|
@@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -1919,11 +1919,9 @@ static int gswip_gphy_fw_load(struct gsw
|
||||
@@ -1922,11 +1922,9 @@ static int gswip_gphy_fw_load(struct gsw
|
||||
msleep(200);
|
||||
|
||||
ret = request_firmware(&fw, gphy_fw->fw_name, dev);
|
||||
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
/* GPHY cores need the firmware code in a persistent and contiguous
|
||||
* memory area with a 16 kB boundary aligned start address.
|
||||
@@ -1936,9 +1934,9 @@ static int gswip_gphy_fw_load(struct gsw
|
||||
@@ -1939,9 +1937,9 @@ static int gswip_gphy_fw_load(struct gsw
|
||||
dev_addr = ALIGN(dma_addr, XRX200_GPHY_FW_ALIGN);
|
||||
memcpy(fw_addr, fw->data, fw->size);
|
||||
} else {
|
||||
@@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
release_firmware(fw);
|
||||
@@ -1965,8 +1963,8 @@ static int gswip_gphy_fw_probe(struct gs
|
||||
@@ -1968,8 +1966,8 @@ static int gswip_gphy_fw_probe(struct gs
|
||||
|
||||
gphy_fw->clk_gate = devm_clk_get(dev, gphyname);
|
||||
if (IS_ERR(gphy_fw->clk_gate)) {
|
||||
@@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
ret = of_property_read_u32(gphy_fw_np, "reg", &gphy_fw->fw_addr_offset);
|
||||
@@ -1986,8 +1984,8 @@ static int gswip_gphy_fw_probe(struct gs
|
||||
@@ -1989,8 +1987,8 @@ static int gswip_gphy_fw_probe(struct gs
|
||||
gphy_fw->fw_name = priv->gphy_fw_name_cfg->ge_firmware_name;
|
||||
break;
|
||||
default:
|
||||
@@ -70,7 +70,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
gphy_fw->reset = of_reset_control_array_get_exclusive(gphy_fw_np);
|
||||
@@ -2038,8 +2036,9 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
@@ -2041,8 +2039,9 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
priv->gphy_fw_name_cfg = &xrx200a2x_gphy_data;
|
||||
break;
|
||||
default:
|
||||
@@ -82,7 +82,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2047,10 +2046,9 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
@@ -2050,10 +2049,9 @@ static int gswip_gphy_fw_list(struct gsw
|
||||
if (match && match->data)
|
||||
priv->gphy_fw_name_cfg = match->data;
|
||||
|
||||
@@ -96,7 +96,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
priv->num_gphy_fw = of_get_available_child_count(gphy_fw_list_np);
|
||||
if (!priv->num_gphy_fw)
|
||||
@@ -2150,8 +2148,8 @@ static int gswip_probe(struct platform_d
|
||||
@@ -2153,8 +2151,8 @@ static int gswip_probe(struct platform_d
|
||||
return -EINVAL;
|
||||
break;
|
||||
default:
|
||||
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
/* bring up the mdio bus */
|
||||
@@ -2159,10 +2157,9 @@ static int gswip_probe(struct platform_d
|
||||
@@ -2162,10 +2160,9 @@ static int gswip_probe(struct platform_d
|
||||
if (gphy_fw_np) {
|
||||
err = gswip_gphy_fw_list(priv, gphy_fw_np, version);
|
||||
of_node_put(gphy_fw_np);
|
||||
@@ -121,7 +121,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
}
|
||||
|
||||
/* bring up the mdio bus */
|
||||
@@ -2170,20 +2167,20 @@ static int gswip_probe(struct platform_d
|
||||
@@ -2173,20 +2170,20 @@ static int gswip_probe(struct platform_d
|
||||
if (mdio_np) {
|
||||
err = gswip_mdio(priv, mdio_np);
|
||||
if (err) {
|
||||
|
@@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -891,8 +891,6 @@ static int gswip_setup(struct dsa_switch
|
||||
@@ -892,8 +892,6 @@ static int gswip_setup(struct dsa_switch
|
||||
|
||||
ds->mtu_enforcement_ingress = true;
|
||||
|
||||
|
@@ -1,73 +0,0 @@
|
||||
From 86b9ea6412af41914ef6549f85a849c3b987f4f3 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Schiller <ms@dev.tdt.de>
|
||||
Date: Tue, 11 Jun 2024 15:54:28 +0200
|
||||
Subject: net: dsa: lantiq_gswip: do also enable or disable cpu port
|
||||
|
||||
Before commit 74be4babe72f ("net: dsa: do not enable or disable non user
|
||||
ports"), gswip_port_enable/disable() were also executed for the cpu port
|
||||
in gswip_setup() which disabled the cpu port during initialization.
|
||||
|
||||
Let's restore this by removing the dsa_is_user_port checks. Also, let's
|
||||
clean up the gswip_port_enable() function so that we only have to check
|
||||
for the cpu port once. The operation reordering done here is safe.
|
||||
|
||||
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
|
||||
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
|
||||
Link: https://lore.kernel.org/r/20240611135434.3180973-7-ms@dev.tdt.de
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
drivers/net/dsa/lantiq_gswip.c | 24 ++++++++----------------
|
||||
1 file changed, 8 insertions(+), 16 deletions(-)
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -688,13 +688,18 @@ static int gswip_port_enable(struct dsa_
|
||||
struct gswip_priv *priv = ds->priv;
|
||||
int err;
|
||||
|
||||
- if (!dsa_is_user_port(ds, port))
|
||||
- return 0;
|
||||
-
|
||||
if (!dsa_is_cpu_port(ds, port)) {
|
||||
+ u32 mdio_phy = 0;
|
||||
+
|
||||
err = gswip_add_single_port_br(priv, port, true);
|
||||
if (err)
|
||||
return err;
|
||||
+
|
||||
+ if (phydev)
|
||||
+ mdio_phy = phydev->mdio.addr & GSWIP_MDIO_PHY_ADDR_MASK;
|
||||
+
|
||||
+ gswip_mdio_mask(priv, GSWIP_MDIO_PHY_ADDR_MASK, mdio_phy,
|
||||
+ GSWIP_MDIO_PHYp(port));
|
||||
}
|
||||
|
||||
/* RMON Counter Enable for port */
|
||||
@@ -707,16 +712,6 @@ static int gswip_port_enable(struct dsa_
|
||||
gswip_switch_mask(priv, 0, GSWIP_SDMA_PCTRL_EN,
|
||||
GSWIP_SDMA_PCTRLp(port));
|
||||
|
||||
- if (!dsa_is_cpu_port(ds, port)) {
|
||||
- u32 mdio_phy = 0;
|
||||
-
|
||||
- if (phydev)
|
||||
- mdio_phy = phydev->mdio.addr & GSWIP_MDIO_PHY_ADDR_MASK;
|
||||
-
|
||||
- gswip_mdio_mask(priv, GSWIP_MDIO_PHY_ADDR_MASK, mdio_phy,
|
||||
- GSWIP_MDIO_PHYp(port));
|
||||
- }
|
||||
-
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -724,9 +719,6 @@ static void gswip_port_disable(struct ds
|
||||
{
|
||||
struct gswip_priv *priv = ds->priv;
|
||||
|
||||
- if (!dsa_is_user_port(ds, port))
|
||||
- return;
|
||||
-
|
||||
gswip_switch_mask(priv, GSWIP_FDMA_PCTRL_EN, 0,
|
||||
GSWIP_FDMA_PCTRLp(port));
|
||||
gswip_switch_mask(priv, GSWIP_SDMA_PCTRL_EN, 0,
|
@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -1457,12 +1457,11 @@ static int gswip_port_max_mtu(struct dsa
|
||||
@@ -1467,12 +1467,11 @@ static int gswip_port_max_mtu(struct dsa
|
||||
static int gswip_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
|
||||
{
|
||||
struct gswip_priv *priv = ds->priv;
|
||||
|
@@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -1406,7 +1406,7 @@ static int gswip_port_fdb_dump(struct ds
|
||||
@@ -1416,7 +1416,7 @@ static int gswip_port_fdb_dump(struct ds
|
||||
{
|
||||
struct gswip_priv *priv = ds->priv;
|
||||
struct gswip_pce_table_entry mac_bridge = {0,};
|
||||
|
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
#define XRX200_GPHY_FW_ALIGN (16 * 1024)
|
||||
|
||||
@@ -1297,10 +1299,11 @@ static void gswip_port_fast_age(struct d
|
||||
@@ -1306,10 +1308,11 @@ static void gswip_port_fast_age(struct d
|
||||
if (!mac_bridge.valid)
|
||||
continue;
|
||||
|
||||
@@ -50,7 +50,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
continue;
|
||||
|
||||
mac_bridge.valid = false;
|
||||
@@ -1375,9 +1378,9 @@ static int gswip_port_fdb(struct dsa_swi
|
||||
@@ -1385,9 +1388,9 @@ static int gswip_port_fdb(struct dsa_swi
|
||||
mac_bridge.key[0] = addr[5] | (addr[4] << 8);
|
||||
mac_bridge.key[1] = addr[3] | (addr[2] << 8);
|
||||
mac_bridge.key[2] = addr[1] | (addr[0] << 8);
|
||||
@@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
mac_bridge.valid = add;
|
||||
|
||||
err = gswip_pce_table_entry_write(priv, &mac_bridge);
|
||||
@@ -1431,14 +1434,15 @@ static int gswip_port_fdb_dump(struct ds
|
||||
@@ -1441,14 +1444,15 @@ static int gswip_port_fdb_dump(struct ds
|
||||
addr[2] = (mac_bridge.key[1] >> 8) & 0xff;
|
||||
addr[1] = mac_bridge.key[2] & 0xff;
|
||||
addr[0] = (mac_bridge.key[2] >> 8) & 0xff;
|
||||
|
@@ -21,7 +21,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -773,7 +773,7 @@ static int gswip_port_vlan_filtering(str
|
||||
@@ -782,7 +782,7 @@ static int gswip_port_vlan_filtering(str
|
||||
}
|
||||
|
||||
if (vlan_filtering) {
|
||||
@@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
gswip_switch_mask(priv,
|
||||
GSWIP_PCE_VCTRL_VSR,
|
||||
GSWIP_PCE_VCTRL_UVR | GSWIP_PCE_VCTRL_VIMR |
|
||||
@@ -782,7 +782,7 @@ static int gswip_port_vlan_filtering(str
|
||||
@@ -791,7 +791,7 @@ static int gswip_port_vlan_filtering(str
|
||||
gswip_switch_mask(priv, GSWIP_PCE_PCTRL_0_TVM, 0,
|
||||
GSWIP_PCE_PCTRL_0p(port));
|
||||
} else {
|
||||
|
@@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/dsa/lantiq_gswip.c
|
||||
+++ b/drivers/net/dsa/lantiq_gswip.c
|
||||
@@ -1363,7 +1363,8 @@ static int gswip_port_fdb(struct dsa_swi
|
||||
@@ -1373,7 +1373,8 @@ static int gswip_port_fdb(struct dsa_swi
|
||||
}
|
||||
|
||||
if (fid == -1) {
|
||||
|
Reference in New Issue
Block a user