From 43f19d8112634599459fff9670c0767d5e222067 Mon Sep 17 00:00:00 2001 From: Alexandru Gagniuc Date: Wed, 28 Sep 2022 12:14:43 +0200 Subject: [PATCH] qca-ssdk: update to QSDK 12.1.5.r3 This "newer" version allows using 3rd party PHYs that are already supported in the upstream kernel. Some devices use non-QCA PHYs, and thus must rely on the kernel PHY drivers instead. Signed-off-by: Alexandru Gagniuc Signed-off-by: Robert Marko --- qca/qca-ssdk/Makefile | 26 ++++------ .../0001-SSDK-config-add-kernel-5.10.patch | 16 +++---- ...replace-ioremap_nocache-with-ioremap.patch | 28 +++++------ ...se-of_mdio_find_bus-to-get-MDIO-bus.patch} | 10 ++-- ...004-SSDK-dts-fix-of_get_mac_address.patch} | 8 ++-- ...=> 0005-SSDK-config-add-kernel-5.15.patch} | 14 +++--- ...6-qca8081-convert-to-5.11-IRQ-model.patch} | 10 ++-- ...x-add-a-LED-quirk-for-Xiaomi-AX9000.patch} | 17 ++----- ...x-add-a-LED-quirk-for-Xiaomi-AX3600.patch} | 6 +-- ...pilation-error-for-parse_uci_option.patch} | 11 ++--- ...010-QSDK-config-Avoid-Werror-heroics.patch | 30 ++++++++++++ ...remove-bridge-fdb-entry-for-the-auth.patch | 48 +++++++++++++++++++ 12 files changed, 142 insertions(+), 82 deletions(-) rename qca/qca-ssdk/patches/{0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch => 0003-SSDK-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch} (78%) rename qca/qca-ssdk/patches/{0005-SSDK-dts-fix-of_get_mac_address.patch => 0004-SSDK-dts-fix-of_get_mac_address.patch} (82%) rename qca/qca-ssdk/patches/{0006-SSDK-config-add-kernel-5.15.patch => 0005-SSDK-config-add-kernel-5.15.patch} (81%) rename qca/qca-ssdk/patches/{0007-qca8081-convert-to-5.11-IRQ-model.patch => 0006-qca8081-convert-to-5.11-IRQ-model.patch} (86%) rename qca/qca-ssdk/patches/{0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch => 0007-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch} (82%) rename qca/qca-ssdk/patches/{0009-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch => 0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch} (84%) rename qca/qca-ssdk/patches/{0012-include-fix-compilation-error-for-parse_uci_option.patch => 0009-include-fix-compilation-error-for-parse_uci_option.patch} (62%) create mode 100644 qca/qca-ssdk/patches/0010-QSDK-config-Avoid-Werror-heroics.patch create mode 100644 qca/qca-ssdk/patches/0011-Revert-qca-ssdk-remove-bridge-fdb-entry-for-the-auth.patch diff --git a/qca/qca-ssdk/Makefile b/qca/qca-ssdk/Makefile index 5b1a795..6762fc1 100644 --- a/qca/qca-ssdk/Makefile +++ b/qca/qca-ssdk/Makefile @@ -5,25 +5,25 @@ PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/qca-ssdk.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2022-04-07 -PKG_SOURCE_VERSION:=62955de3c838028d3f72313eef99c57fa4babb71 -PKG_MIRROR_HASH:=84c7de6d1ce82fb15acebea0e44158695a33ed6f18335da32ec9f248dcb4b285 +PKG_SOURCE_DATE:=2022-09-12 +PKG_SOURCE_VERSION:=628b22bc3d5ee81414b75ab3de6a255c82754dec +PKG_MIRROR_HASH:=859344f79504b9953639dc5aa27042249f68e3a9a269e66d7f7a25e1ab38c110 include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk -define KernelPackage/qca-ssdk-nohnat +define KernelPackage/qca-ssdk SECTION:=kernel CATEGORY:=Kernel modules SUBMENU:=Network Devices - TITLE:=Kernel driver for QCA SSDK + TITLE:=Qualcom SSDK switch driver DEPENDS:=@(TARGET_ipq807x) FILES:=$(PKG_BUILD_DIR)/build/bin/qca-ssdk.ko AUTOLOAD:=$(call AutoLoad,30,qca-ssdk) endef -define KernelPackage/qca-ssdk-nohnat/Description -This package contains a qca-ssdk driver for QCA chipset +define KernelPackage/qca-ssdk/Description + Driver for Qualcomm Atheros switches. endef GCC_VERSION=$(shell echo "$(CONFIG_GCC_VERSION)" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') @@ -46,14 +46,8 @@ MAKE_FLAGS+= \ EXTRA_CFLAGS=-fno-stack-protector -I$(STAGING_DIR)/usr/include \ $(KERNEL_MAKE_FLAGS) -ifneq (, $(findstring $(CONFIG_TARGET_BOARD), "ipq60xx" "ipq807x")) - MAKE_FLAGS+= PTP_FEATURE=disable SWCONFIG_FEATURE=disable -endif - ifeq ($(CONFIG_TARGET_BOARD), "ipq807x") - MAKE_FLAGS+= CHIP_TYPE=HPPE -else ifeq ($(CONFIG_TARGET_BOARD), "ipq60xx") - MAKE_FLAGS+= CHIP_TYPE=CPPE + MAKE_FLAGS+= CHIP_TYPE=HPPE PTP_FEATURE=disable SWCONFIG_FEATURE=disable endif define Build/InstallDev @@ -83,9 +77,9 @@ define Build/InstallDev endef -define KernelPackage/qca-ssdk-nohnat/install +define KernelPackage/qca-ssdk/install $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/qca-ssdk $(1)/etc/init.d/qca-ssdk endef -$(eval $(call KernelPackage,qca-ssdk-nohnat)) +$(eval $(call KernelPackage,qca-ssdk)) diff --git a/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10.patch b/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10.patch index 8ad541e..be83d6f 100644 --- a/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10.patch +++ b/qca/qca-ssdk/patches/0001-SSDK-config-add-kernel-5.10.patch @@ -1,7 +1,7 @@ -From 472c0c8132784608312c80c4b02c03ea7c132235 Mon Sep 17 00:00:00 2001 +From 6ee395e1cab32d1d4899d7846ea99e6e2dc0a9e4 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 12 May 2021 13:41:12 +0200 -Subject: [PATCH] SSDK: config: add kernel 5.10 +Subject: [PATCH 01/11] SSDK: config: add kernel 5.10 This is purely to identify it and be able to set flags correctly. @@ -14,8 +14,8 @@ Signed-off-by: Robert Marko --- a/config +++ b/config -@@ -22,6 +22,10 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER))) - OS_VER=5_4 +@@ -24,6 +24,10 @@ ifeq ($(KVER),$(filter 5.4%,$(KVER))) + OS_VER=5_4 endif +ifeq ($(KVER),$(filter 5.10%,$(KVER))) @@ -23,9 +23,9 @@ Signed-off-by: Robert Marko +endif + ifeq ($(KVER), 3.4.0) - OS_VER=3_4 + OS_VER=3_4 endif -@@ -123,7 +127,7 @@ endif +@@ -132,7 +136,7 @@ ifeq ($(ARCH), arm) endif ifeq ($(ARCH), arm64) @@ -36,7 +36,7 @@ Signed-off-by: Robert Marko endif --- a/make/linux_opt.mk +++ b/make/linux_opt.mk -@@ -388,7 +388,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -437,7 +437,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) KASAN_SHADOW_SCALE_SHIFT := 3 endif @@ -45,7 +45,7 @@ Signed-off-by: Robert Marko ifeq ($(ARCH), arm64) KASAN_OPTION += -DKASAN_SHADOW_SCALE_SHIFT=$(KASAN_SHADOW_SCALE_SHIFT) endif -@@ -419,7 +419,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -468,7 +468,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) endif diff --git a/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch b/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch index b293ad2..5589c8e 100644 --- a/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch +++ b/qca/qca-ssdk/patches/0002-SSDK-replace-ioremap_nocache-with-ioremap.patch @@ -1,7 +1,7 @@ -From 784f2cfdfaf3bdf44917924e157049230a0ef5f8 Mon Sep 17 00:00:00 2001 +From 845a89b05aae807fb837f8e8f27f95c89de6023f Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 12 May 2021 13:45:45 +0200 -Subject: [PATCH] SSDK: replace ioremap_nocache with ioremap +Subject: [PATCH 02/11] SSDK: replace ioremap_nocache with ioremap ioremap_nocache was dropped upstream, simply use the generic variety. @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/src/init/ssdk_clk.c +++ b/src/init/ssdk_clk.c -@@ -623,7 +623,7 @@ ssdk_mp_tcsr_get(a_uint32_t tcsr_offset, +@@ -721,7 +721,7 @@ ssdk_mp_tcsr_get(a_uint32_t tcsr_offset, { void __iomem *tcsr_base = NULL; @@ -24,7 +24,7 @@ Signed-off-by: Robert Marko if (!tcsr_base) { SSDK_ERROR("Failed to map tcsr eth address!\n"); -@@ -640,7 +640,7 @@ ssdk_mp_tcsr_set(a_uint32_t tcsr_offset, +@@ -738,7 +738,7 @@ ssdk_mp_tcsr_set(a_uint32_t tcsr_offset, { void __iomem *tcsr_base = NULL; @@ -33,7 +33,7 @@ Signed-off-by: Robert Marko if (!tcsr_base) { SSDK_ERROR("Failed to map tcsr eth address!\n"); -@@ -688,7 +688,7 @@ ssdk_mp_cmnblk_stable_check(void) +@@ -786,7 +786,7 @@ ssdk_mp_cmnblk_stable_check(void) a_uint32_t reg_val; int i, loops = 20; @@ -42,7 +42,7 @@ Signed-off-by: Robert Marko if (!pll_lock) { SSDK_ERROR("Failed to map CMN PLL LOCK register!\n"); return A_FALSE; -@@ -745,7 +745,7 @@ static void ssdk_cmnblk_pll_src_set(enum +@@ -843,7 +843,7 @@ static void ssdk_cmnblk_pll_src_set(enum void __iomem *cmn_pll_src_base = NULL; a_uint32_t reg_val; @@ -51,9 +51,9 @@ Signed-off-by: Robert Marko if (!cmn_pll_src_base) { SSDK_ERROR("Failed to map cmn pll source address!\n"); return; -@@ -766,7 +766,7 @@ static void ssdk_cmnblk_init(enum cmnblk - void __iomem *gcc_pll_base = NULL; - a_uint32_t reg_val; +@@ -869,7 +869,7 @@ static void ssdk_cmnblk_init(enum cmnblk + return; + } - gcc_pll_base = ioremap_nocache(CMN_BLK_ADDR, CMN_BLK_SIZE); + gcc_pll_base = ioremap(CMN_BLK_ADDR, CMN_BLK_SIZE); @@ -62,7 +62,7 @@ Signed-off-by: Robert Marko return; --- a/src/init/ssdk_init.c +++ b/src/init/ssdk_init.c -@@ -2770,7 +2770,7 @@ static int ssdk_dess_mac_mode_init(a_uin +@@ -3134,7 +3134,7 @@ static int ssdk_dess_mac_mode_init(a_uin (a_uint8_t *)®_value, 4); mdelay(10); /*softreset psgmii, fixme*/ @@ -73,7 +73,7 @@ Signed-off-by: Robert Marko return 0; --- a/src/init/ssdk_plat.c +++ b/src/init/ssdk_plat.c -@@ -1312,7 +1312,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin +@@ -1708,7 +1708,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin reg_mode = ssdk_uniphy_reg_access_mode_get(dev_id); if(reg_mode == HSL_REG_LOCAL_BUS) { ssdk_uniphy_reg_map_info_get(dev_id, &map); @@ -82,16 +82,16 @@ Signed-off-by: Robert Marko map.size); if (!qca_phy_priv_global[dev_id]->uniphy_hw_addr) { SSDK_ERROR("%s ioremap fail.", __func__); -@@ -1327,7 +1327,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin +@@ -1723,7 +1723,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin reg_mode = ssdk_switch_reg_access_mode_get(dev_id); - if(reg_mode == HSL_REG_LOCAL_BUS) { + if (reg_mode == HSL_REG_LOCAL_BUS) { ssdk_switch_reg_map_info_get(dev_id, &map); - qca_phy_priv_global[dev_id]->hw_addr = ioremap_nocache(map.base_addr, + qca_phy_priv_global[dev_id]->hw_addr = ioremap(map.base_addr, map.size); if (!qca_phy_priv_global[dev_id]->hw_addr) { SSDK_ERROR("%s ioremap fail.", __func__); -@@ -1358,7 +1358,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin +@@ -1764,7 +1764,7 @@ ssdk_plat_init(ssdk_init_cfg *cfg, a_uin return -1; } diff --git a/qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch b/qca/qca-ssdk/patches/0003-SSDK-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch similarity index 78% rename from qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch rename to qca/qca-ssdk/patches/0003-SSDK-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch index 3bcbccc..f9535fb 100644 --- a/qca/qca-ssdk/patches/0004-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch +++ b/qca/qca-ssdk/patches/0003-SSDK-platform-use-of_mdio_find_bus-to-get-MDIO-bus.patch @@ -1,7 +1,7 @@ -From b6190ca46287d01a895c7cc14de30410c09ff1b8 Mon Sep 17 00:00:00 2001 +From 85f988dbc15559a5a2fee606e6ef400aa39fe444 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 12 May 2021 17:15:46 +0200 -Subject: [PATCH] SSDK: platform: use of_mdio_find_bus() to get MDIO bus +Subject: [PATCH 03/11] SSDK: platform: use of_mdio_find_bus() to get MDIO bus Kernel has a generic of_mdio_find_bus() which can get the appropriate MDIO bus based on the DT node. @@ -16,15 +16,15 @@ Signed-off-by: Robert Marko --- a/src/init/ssdk_plat.c +++ b/src/init/ssdk_plat.c -@@ -551,7 +551,6 @@ static int miibus_get(a_uint32_t dev_id) +@@ -753,7 +753,6 @@ static int miibus_get(a_uint32_t dev_id) struct device_node *mdio_node = NULL; struct device_node *switch_node = NULL; struct platform_device *mdio_plat = NULL; -- struct ipq40xx_mdio_data *mdio_data = NULL; +- struct qca_mdio_data *mdio_data = NULL; struct qca_phy_priv *priv; hsl_reg_mode reg_mode = HSL_REG_LOCAL_BUS; priv = qca_phy_priv_global[dev_id]; -@@ -584,12 +583,7 @@ static int miibus_get(a_uint32_t dev_id) +@@ -788,12 +787,7 @@ static int miibus_get(a_uint32_t dev_id) if(reg_mode == HSL_REG_LOCAL_BUS) { diff --git a/qca/qca-ssdk/patches/0005-SSDK-dts-fix-of_get_mac_address.patch b/qca/qca-ssdk/patches/0004-SSDK-dts-fix-of_get_mac_address.patch similarity index 82% rename from qca/qca-ssdk/patches/0005-SSDK-dts-fix-of_get_mac_address.patch rename to qca/qca-ssdk/patches/0004-SSDK-dts-fix-of_get_mac_address.patch index 29be931..1dd9486 100644 --- a/qca/qca-ssdk/patches/0005-SSDK-dts-fix-of_get_mac_address.patch +++ b/qca/qca-ssdk/patches/0004-SSDK-dts-fix-of_get_mac_address.patch @@ -1,7 +1,7 @@ -From f3a7b93137c1a6a1b8010b86296242178eed5d9e Mon Sep 17 00:00:00 2001 +From 079c20aa182c6b623d49e1f375e022dedac7373c Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 13 Aug 2021 20:03:21 +0200 -Subject: [PATCH] SSDK: dts: fix of_get_mac_address() +Subject: [PATCH 04/11] SSDK: dts: fix of_get_mac_address() Recently OpenWrt backported the updated of_get_mac_address() function which returns and error code instead. @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/src/init/ssdk_dts.c +++ b/src/init/ssdk_dts.c -@@ -779,8 +779,9 @@ static void ssdk_dt_parse_intf_mac(void) +@@ -921,8 +921,9 @@ static void ssdk_dt_parse_intf_mac(void) { struct device_node *dp_node = NULL; a_uint32_t dp = 0; @@ -26,7 +26,7 @@ Signed-off-by: Robert Marko for (dp = 1; dp <= SSDK_MAX_NR_ETH; dp++) { snprintf(dp_name, sizeof(dp_name), "dp%d", dp); -@@ -788,11 +789,11 @@ static void ssdk_dt_parse_intf_mac(void) +@@ -930,11 +931,11 @@ static void ssdk_dt_parse_intf_mac(void) if (!dp_node) { continue; } diff --git a/qca/qca-ssdk/patches/0006-SSDK-config-add-kernel-5.15.patch b/qca/qca-ssdk/patches/0005-SSDK-config-add-kernel-5.15.patch similarity index 81% rename from qca/qca-ssdk/patches/0006-SSDK-config-add-kernel-5.15.patch rename to qca/qca-ssdk/patches/0005-SSDK-config-add-kernel-5.15.patch index a4e1b27..045f7ae 100644 --- a/qca/qca-ssdk/patches/0006-SSDK-config-add-kernel-5.15.patch +++ b/qca/qca-ssdk/patches/0005-SSDK-config-add-kernel-5.15.patch @@ -1,7 +1,7 @@ -From 599f19551dc8db3cb396e4c139a73bd72300ebf5 Mon Sep 17 00:00:00 2001 +From 0c509f8d8e5a6a03933a112d4487fd1c005442d6 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 24 Dec 2021 19:39:02 +0100 -Subject: [PATCH] SSDK: config: add kernel 5.15 +Subject: [PATCH 05/11] SSDK: config: add kernel 5.15 This is purely to identify it and be able to set flags correctly. @@ -14,7 +14,7 @@ Signed-off-by: Robert Marko --- a/config +++ b/config -@@ -26,6 +26,10 @@ ifeq ($(KVER),$(filter 5.10%,$(KVER))) +@@ -28,6 +28,10 @@ ifeq ($(KVER),$(filter 5.10%,$(KVER))) OS_VER=5_10 endif @@ -23,9 +23,9 @@ Signed-off-by: Robert Marko +endif + ifeq ($(KVER), 3.4.0) - OS_VER=3_4 + OS_VER=3_4 endif -@@ -127,7 +131,7 @@ endif +@@ -136,7 +140,7 @@ ifeq ($(ARCH), arm) endif ifeq ($(ARCH), arm64) @@ -36,7 +36,7 @@ Signed-off-by: Robert Marko endif --- a/make/linux_opt.mk +++ b/make/linux_opt.mk -@@ -388,7 +388,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -437,7 +437,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) KASAN_SHADOW_SCALE_SHIFT := 3 endif @@ -45,7 +45,7 @@ Signed-off-by: Robert Marko ifeq ($(ARCH), arm64) KASAN_OPTION += -DKASAN_SHADOW_SCALE_SHIFT=$(KASAN_SHADOW_SCALE_SHIFT) endif -@@ -419,7 +419,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) +@@ -468,7 +468,7 @@ ifeq (KSLIB, $(MODULE_TYPE)) endif diff --git a/qca/qca-ssdk/patches/0007-qca8081-convert-to-5.11-IRQ-model.patch b/qca/qca-ssdk/patches/0006-qca8081-convert-to-5.11-IRQ-model.patch similarity index 86% rename from qca/qca-ssdk/patches/0007-qca8081-convert-to-5.11-IRQ-model.patch rename to qca/qca-ssdk/patches/0006-qca8081-convert-to-5.11-IRQ-model.patch index b0c272b..4eb7483 100644 --- a/qca/qca-ssdk/patches/0007-qca8081-convert-to-5.11-IRQ-model.patch +++ b/qca/qca-ssdk/patches/0006-qca8081-convert-to-5.11-IRQ-model.patch @@ -1,7 +1,7 @@ -From 25ff0ae02accadd7b05f1dae788505f833d5c019 Mon Sep 17 00:00:00 2001 +From 9278b2794d984f5a8ec2350b9607a35aea2cc106 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 24 Dec 2021 20:02:32 +0100 -Subject: [PATCH] qca8081: convert to 5.11 IRQ model +Subject: [PATCH 06/11] qca8081: convert to 5.11 IRQ model Kernel 5.11 introduced new IRQ handling model for PHY-s, so provide those if 5.11 or later is used. @@ -13,7 +13,7 @@ Signed-off-by: Robert Marko --- a/src/hsl/phy/qca808x.c +++ b/src/hsl/phy/qca808x.c -@@ -238,6 +238,7 @@ static int qca808x_config_intr(struct ph +@@ -247,6 +247,7 @@ static int qca808x_config_intr(struct ph return err; } @@ -21,7 +21,7 @@ Signed-off-by: Robert Marko static int qca808x_ack_interrupt(struct phy_device *phydev) { int err; -@@ -257,6 +258,47 @@ static int qca808x_ack_interrupt(struct +@@ -266,6 +267,47 @@ static int qca808x_ack_interrupt(struct return (err < 0) ? err : 0; } @@ -69,7 +69,7 @@ Signed-off-by: Robert Marko /* switch linux negtiation capability to fal avariable */ #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0)) -@@ -559,7 +601,11 @@ struct phy_driver qca808x_phy_driver = { +@@ -638,7 +680,11 @@ struct phy_driver qca808x_phy_driver = { .config_intr = qca808x_config_intr, .config_aneg = qca808x_config_aneg, .aneg_done = qca808x_aneg_done, diff --git a/qca/qca-ssdk/patches/0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch b/qca/qca-ssdk/patches/0007-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch similarity index 82% rename from qca/qca-ssdk/patches/0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch rename to qca/qca-ssdk/patches/0007-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch index 76f71be..b8ebb08 100644 --- a/qca/qca-ssdk/patches/0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch +++ b/qca/qca-ssdk/patches/0007-qca807x-add-a-LED-quirk-for-Xiaomi-AX9000.patch @@ -1,7 +1,7 @@ -From 86624624c2b593c57999780a3838e6a9fe40b30c Mon Sep 17 00:00:00 2001 +From 20a7945b82a4aefcb9ca0a14978412e4ae0057c9 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 11 Jan 2022 00:28:42 +0100 -Subject: [PATCH] qca807x: add a LED quirk for Xiaomi AX9000 +Subject: [PATCH 07/11] qca807x: add a LED quirk for Xiaomi AX9000 Xiaomi AX9000 has a single LED for each of 4 gigabit ethernet ports that are connected to QCA8075, and that LED is connected to the 100M LED pin. @@ -20,8 +20,6 @@ Signed-off-by: Robert Marko src/hsl/phy/malibu_phy.c | 11 +++++++++++ 2 files changed, 13 insertions(+) -diff --git a/include/hsl/phy/malibu_phy.h b/include/hsl/phy/malibu_phy.h -index b7354041..ec7a0621 100755 --- a/include/hsl/phy/malibu_phy.h +++ b/include/hsl/phy/malibu_phy.h @@ -94,6 +94,7 @@ extern "C" @@ -40,12 +38,10 @@ index b7354041..ec7a0621 100755 #define MALIBU_PHY_MMD7_LED_1000_CTRL1 0x8076 -diff --git a/src/hsl/phy/malibu_phy.c b/src/hsl/phy/malibu_phy.c -index 1f4dba15..2bef9fa3 100644 --- a/src/hsl/phy/malibu_phy.c +++ b/src/hsl/phy/malibu_phy.c -@@ -12,6 +12,8 @@ - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +@@ -15,6 +15,8 @@ + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include @@ -53,7 +49,7 @@ index 1f4dba15..2bef9fa3 100644 #include "sw.h" #include "fal_port_ctrl.h" #include "hsl_api.h" -@@ -2726,6 +2728,15 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_uint32_t port_bmp) +@@ -2708,6 +2710,15 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ led_status |= MALIBU_LED_1000_CTRL1_100_10_MASK; malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, MALIBU_PHY_MMD7_LED_1000_CTRL1, led_status); @@ -69,6 +65,3 @@ index 1f4dba15..2bef9fa3 100644 /*disable Extended next page*/ phy_data = malibu_phy_reg_read(dev_id, phy_addr, MALIBU_AUTONEG_ADVERT); phy_data &= ~MALIBU_EXTENDED_NEXT_PAGE_EN; --- -2.34.1 - diff --git a/qca/qca-ssdk/patches/0009-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch b/qca/qca-ssdk/patches/0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch similarity index 84% rename from qca/qca-ssdk/patches/0009-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch rename to qca/qca-ssdk/patches/0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch index c31ea6d..27423af 100644 --- a/qca/qca-ssdk/patches/0009-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch +++ b/qca/qca-ssdk/patches/0008-qca807x-add-a-LED-quirk-for-Xiaomi-AX3600.patch @@ -1,7 +1,7 @@ -From 913514b9177e77836f2c8d61fc498b54f54c6775 Mon Sep 17 00:00:00 2001 +From bad774f43ec253e7e743e23bde87444c9d9cefdc Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Wed, 26 Jan 2022 14:47:33 +0100 -Subject: [PATCH] qca807x: add a LED quirk for Xiaomi AX3600 +Subject: [PATCH 08/11] qca807x: add a LED quirk for Xiaomi AX3600 AX3600 requires the same LED quirk so that PHY LED-s will blink even once Linux resets the PHY. @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/src/hsl/phy/malibu_phy.c +++ b/src/hsl/phy/malibu_phy.c -@@ -2728,8 +2728,9 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ +@@ -2710,8 +2710,9 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_ led_status |= MALIBU_LED_1000_CTRL1_100_10_MASK; malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM, MALIBU_PHY_MMD7_LED_1000_CTRL1, led_status); diff --git a/qca/qca-ssdk/patches/0012-include-fix-compilation-error-for-parse_uci_option.patch b/qca/qca-ssdk/patches/0009-include-fix-compilation-error-for-parse_uci_option.patch similarity index 62% rename from qca/qca-ssdk/patches/0012-include-fix-compilation-error-for-parse_uci_option.patch rename to qca/qca-ssdk/patches/0009-include-fix-compilation-error-for-parse_uci_option.patch index 01b8ded..1cdb47b 100644 --- a/qca/qca-ssdk/patches/0012-include-fix-compilation-error-for-parse_uci_option.patch +++ b/qca/qca-ssdk/patches/0009-include-fix-compilation-error-for-parse_uci_option.patch @@ -1,7 +1,7 @@ -From 8e3500df074625b3eb3a8ed4e8e0b1b116f13d0c Mon Sep 17 00:00:00 2001 +From be352dd54d163c005611906ac6b87692c9b8a1e6 Mon Sep 17 00:00:00 2001 From: Ansuel Smith Date: Sat, 7 May 2022 19:03:55 +0200 -Subject: [PATCH] include: fix compilation error for parse_uci_option +Subject: [PATCH 09/11] include: fix compilation error for parse_uci_option Fix missing include for parse_uci_option @@ -10,11 +10,9 @@ Signed-off-by: Ansuel Smith include/ref/ref_uci.h | 1 + 1 file changed, 1 insertion(+) -diff --git a/include/ref/ref_uci.h b/include/ref/ref_uci.h -index a42ea153..0906c5ba 100755 --- a/include/ref/ref_uci.h +++ b/include/ref/ref_uci.h -@@ -19,6 +19,7 @@ +@@ -22,6 +22,7 @@ extern "C" { #endif /* __cplusplus */ @@ -22,6 +20,3 @@ index a42ea153..0906c5ba 100755 #if defined(IN_SWCONFIG) int --- -2.34.1 - diff --git a/qca/qca-ssdk/patches/0010-QSDK-config-Avoid-Werror-heroics.patch b/qca/qca-ssdk/patches/0010-QSDK-config-Avoid-Werror-heroics.patch new file mode 100644 index 0000000..f5884f2 --- /dev/null +++ b/qca/qca-ssdk/patches/0010-QSDK-config-Avoid-Werror-heroics.patch @@ -0,0 +1,30 @@ +From ecd1e0c57fdf7f8916fa20f085e08bb4b6ba0396 Mon Sep 17 00:00:00 2001 +From: Alexandru Gagniuc +Date: Fri, 23 Sep 2022 08:21:13 -0500 +Subject: [PATCH 10/11] QSDK: config: Avoid -Werror heroics + +Trying to compile the QSDK with warnings as errors is a very brave +endeavor. It's also stupid as it doesn't work on ipq60xx: + + isisc_acl_prv.h:99: error: "FIELD_GET" redefined [-Werror] + 99 | #define FIELD_GET(reg, field, val) \ + | + +Instead of dealing with the braindead code, just disable Werror. + +Signed-off-by: Alexandru Gagniuc +--- + config | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/config ++++ b/config +@@ -141,7 +141,7 @@ endif + + ifeq ($(ARCH), arm64) + ifeq ($(KVER),$(filter 4.1% 4.4% 4.9% 5.4% 5.10% 5.15%,$(KVER))) +- CPU_CFLAG= -DMODULE -Os -pipe -march=armv8-a -mcpu=cortex-a53+crypto -fno-caller-saves -fno-strict-aliasing -Werror -fno-common -Wno-format-security -Wno-pointer-sign -Wno-unused-but-set-variable -Wno-error=unused-result -mcmodel=large ++ CPU_CFLAG= -DMODULE -Os -pipe -march=armv8-a -mcpu=cortex-a53+crypto -fno-caller-saves -fno-strict-aliasing -fno-common -Wno-format-security -Wno-pointer-sign -Wno-unused-but-set-variable -Wno-error=unused-result -mcmodel=large + endif + endif + diff --git a/qca/qca-ssdk/patches/0011-Revert-qca-ssdk-remove-bridge-fdb-entry-for-the-auth.patch b/qca/qca-ssdk/patches/0011-Revert-qca-ssdk-remove-bridge-fdb-entry-for-the-auth.patch new file mode 100644 index 0000000..14db668 --- /dev/null +++ b/qca/qca-ssdk/patches/0011-Revert-qca-ssdk-remove-bridge-fdb-entry-for-the-auth.patch @@ -0,0 +1,48 @@ +From c06e6edfb740d0ba0b804fa16d6222e257349089 Mon Sep 17 00:00:00 2001 +From: Alexandru Gagniuc +Date: Fri, 23 Sep 2022 08:30:03 -0500 +Subject: [PATCH 11/11] Revert "qca-ssdk: remove bridge fdb entry for the + authentication failed mac" + +This change causes an undefined reference to "br_fdb_delete_by_netdev". +This reverts commit 144f02b982c8c707aaf84b57d8c277d03d877236. + +Signed-off-by: Alexandru Gagniuc +--- + src/ref/ref_acl.c | 11 ----------- + 1 file changed, 11 deletions(-) + +--- a/src/ref/ref_acl.c ++++ b/src/ref/ref_acl.c +@@ -23,7 +23,6 @@ + #include "ssdk_init.h" + #include "ssdk_plat.h" + #include +-#include + + /* entry 0-1 is for global deny all and accept eapol rule + entry 2-9 is for phy port1 specific mac accept rule +@@ -128,7 +127,6 @@ _ref_acl_mac_entry_create_rule(a_uint32_ + { + sw_error_t rv = SW_OK; + fal_acl_rule_t rule = {0}; +- struct net_device *eth_dev = NULL; + a_uint32_t port_id = ssdk_ifname_to_port(dev_id, entry->ifname); + SSDK_DEBUG("port_id %d entry_idx %d\n", port_id, entry_idx); + +@@ -224,15 +222,6 @@ _ref_acl_mac_entry_create_rule(a_uint32_ + ref_acl_mac_entry[dev_id][entry_idx].port_map = BIT(port_id); + ref_acl_mac_entry[dev_id][entry_idx].acl_policy = 1; + } +- else if (!is_deny_all_mac(entry->src_mac.uc) && !entry->acl_policy) +- { +- eth_dev = dev_get_by_name(&init_net, entry->ifname); +- if (eth_dev) +- { +- br_fdb_delete_by_netdev(eth_dev, entry->src_mac.uc, 0); +- dev_put(eth_dev); +- } +- } + return rv; + } +