From: Kristian Skramstad Date: Sun, 5 May 2024 10:36:20 +0000 (+0200) Subject: kernel: qca-nss-dp: update to 12.5.r2 for kernel 6.6 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a5d12e7839a43a58a2c203d539e33f61ea46adfd;p=openwrt%2Fstaging%2Fthess.git kernel: qca-nss-dp: update to 12.5.r2 for kernel 6.6 There is a new branch 12.5.r2 for kernel 6.6, so refresh and update patches. Delete patch 0010-nss-dp-include-net-netdev_rx_queue.h.patch Changes: 2024-04-04 -5bf8b91 [qca-nss-dp] Adding support for port ID 3 & 4 in MHT switch 2024-03-28 -ce1e4cf [qca-nss-dp] Use skb_queue_head_init instead of __skb_queue_head_init. 2024-03-11 -0d26366 [qca-nss-dp] Read MHT LAN port status for ErP phase2 2024-03-22 -8382f14 [qca-nss-dp] Fix compilation issues seen on ginger branch for Miami profile 2023-05-02 -09b0983 [qca-nss-dp] vp list processing for capwap 2024-02-22 -bc09a01 [qca-nss-dp] EDMA ring reset for PPE-DS 2024-03-12 -2fcb586 [qca-nss-dp] Fix the EDMA clock frequency for the mitigation timer configuration 2024-02-23 -44ba1be [qca-nss-dp] Add API to retrieve ethernet netdevs for ErP 2024-02-09 -a5979b7 [qca-nss-dp] send napi and ip checksum for VP handler 2024-01-12 -1b9cb5d qca-nss-dp: User netdev_alloc_skb_fast instead of dev_alloc_skb 2024-01-08 -a859b48 [qca-nss-dp] NAPI Budget and EDMA Rx size change for KPI improvement. 2024-01-06 -8935523 [qca-nss-dp] Offload L3, L4 checksum to hardware for ppe-vp. 2023-12-07 -bbd9547 [qca-nss-dp] Fix Compilation issues on kernel6.6 2023-10-12 -bc55f75 [qca-nss-dp]: Enable legacy SCS for PPE-VP. 2023-09-08 -6bd771f [qca-nss-dp] Invalidate secondary descriptor before use. 2023-12-19 -b143df8 [qca-nss-dp] Fixed nss_dp_hal_hw_reset functionality for ipq53xx. 2023-12-16 -7cfde1d [qca-nss-dp] Added nss_dp_hal_hw_reset functionality for ipq53xx. 2023-11-02 -70af6c2 [qca-nss-dp] Implement EDMA hang recovery support 2023-11-27 -2202b29 [qca-nss-dp] Add support for adding the link speed for the Miami's port connected to the internal Switch. 2023-12-06 -bef68a8 [qca-nss-dp] Resolve ring utilization reporting issue in EDMA driver 2023-12-06 -eaa7627 [qca-nss-dp] Add/Delete static fdb entries only for physical ports 2023-10-16 -4551d0f [qca-nss-dp]: Support HLOST_TID_override from PPE_VP path. 2023-11-09 -42ad3f3 [qca-nss-dp] Correct the NAPI poll implementation for DS Rx fill handling 2023-10-16 -dfeb7d3 [qca-nss-dp] Check for disabled ethernet port in ErP functions 2023-11-09 -42ad3f3 [qca-nss-dp] Correct the NAPI poll implementation for DS Rx fill handling 2023-10-16 -dfeb7d3 [qca-nss-dp] Check for disabled ethernet port in ErP functions 2023-09-22 -03f83d6 [qca-nss-dp] Correct the mht device flag 2023-08-18 -5efd7f4 [qca-nss-dp] Add EDMA Tx rings for MHT ports 2023-09-11 -7808ba2 [qca-nss-dp] Move DP standby code to new file and use new SSDK API 2023-09-28 -22ade1e [qca-nss-dp] : enable PPE-DS support in 6.x kernel 2023-08-28 -1943922 [qca-nss-dp] Support for bitmap based CPU selection. 2023-08-16 -dcb82a7 qca-nss-dp: 512M profile changes for Miami+Pebble 2023-09-01 -18e51f3 [qca-nss-dp] Fix tx descriptor completion error. 2023-08-28 -0bfde2d [qca-nss-dp] Changes to enable ErP mode 2023-09-05 -f1d635a [qca-nss-dp] Enable fast recycled changes in dp for kernel 6.1 2023-06-15 -55d35bd [qca-nss-dp] Tracking the full utilization of EDMA rings 2023-08-25 -89b9c19 [qca-nss-dp] Restricting the MTU as 9216 for all interfaces in DP 2023-01-03 -5098a4f [qca-nss-dp] Requeue Tx packet in case of Tx-failure. 2023-04-06 -3576dbb [qca-nss-dp] Adding tx napi with four queue per interface. 2023-08-10 -d2b6921 [qca-nss-dp] : changes to support ppe-qdisc for linux 6.x 2023-08-08 -a1941fb [qca-nss-dp] moving SET_NETDEV_DEV for all netdev to set. 2023-07-18 -74d3178 [qca-nss-dp] Reordering the CPU code and ACL index processing. 2023-06-30 -ab03139 [qca-nss-dp] Configure port level PPE offload flag in PPE 2023-06-06 -e9bb8c5 [qca-nss-dp] Rate limit the debug logs. 2023-07-18 -43afb9b [qca-nss-dp] Support Core selection for PPE mirrored packets. 2023-07-11 -92edcfd [qca-nss-dp] Add sysctl to invalidate RX secondary descriptor. Tested and working on WAX620. Signed-off-by: Kristian Skramstad Link: https://github.com/openwrt/openwrt/pull/15383 Signed-off-by: Robert Marko --- diff --git a/package/kernel/qca-nss-dp/Makefile b/package/kernel/qca-nss-dp/Makefile index e6c380aead..a917f0518c 100644 --- a/package/kernel/qca-nss-dp/Makefile +++ b/package/kernel/qca-nss-dp/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-dp -PKG_RELEASE:=3 +PKG_RELEASE:=1 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-dp.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-06-06 -PKG_SOURCE_VERSION:=fa67464466f69f00967cc373d1bdd6025f57eb89 -PKG_MIRROR_HASH:=39329770042c85b32780cd12eef2aad2c5df79f34d1b7081e5ba1e1cc0b1b161 +PKG_SOURCE_DATE:=2024-04-16 +PKG_SOURCE_VERSION:=5bf8b91e9fc209f175f9a58723b03055ace3d581 +PKG_MIRROR_HASH:=e86b04ea674c18fb69cd09a45ccab50317b85117e40d76c8457052c2e55d7c18 PKG_BUILD_PARALLEL:=1 PKG_FLAGS:=nonshared diff --git a/package/kernel/qca-nss-dp/patches/0006-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch b/package/kernel/qca-nss-dp/patches/0006-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch index 0432b82dda..20a7e6b350 100644 --- a/package/kernel/qca-nss-dp/patches/0006-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch +++ b/package/kernel/qca-nss-dp/patches/0006-nss_dp_main-Use-a-phy-handle-property-to-connect-to-.patch @@ -26,7 +26,7 @@ Signed-off-by: Robert Marko --- a/include/nss_dp_dev.h +++ b/include/nss_dp_dev.h -@@ -202,13 +202,10 @@ struct nss_dp_dev { +@@ -225,13 +225,10 @@ struct nss_dp_dev { unsigned long drv_flags; /* Driver specific feature flags */ /* Phy related stuff */ @@ -43,7 +43,7 @@ Signed-off-by: Robert Marko --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -418,7 +418,7 @@ static int nss_dp_open(struct net_device +@@ -436,7 +436,7 @@ static int nss_dp_open(struct net_device netif_start_queue(netdev); @@ -52,7 +52,7 @@ Signed-off-by: Robert Marko /* Notify data plane link is up */ if (dp_priv->data_plane_ops->link_state(dp_priv->dpc, 1)) { netdev_dbg(netdev, "Data plane set link failed\n"); -@@ -615,6 +615,12 @@ static int32_t nss_dp_of_get_pdata(struc +@@ -633,6 +633,12 @@ static int32_t nss_dp_of_get_pdata(struc return -EFAULT; } @@ -65,7 +65,7 @@ Signed-off-by: Robert Marko if (of_property_read_u32(np, "qcom,mactype", &hal_pdata->mactype)) { pr_err("%s: error reading mactype\n", np->name); return -EFAULT; -@@ -635,18 +641,6 @@ static int32_t nss_dp_of_get_pdata(struc +@@ -653,18 +659,6 @@ static int32_t nss_dp_of_get_pdata(struc return -EFAULT; #endif @@ -84,7 +84,7 @@ Signed-off-by: Robert Marko #if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0)) maddr = (uint8_t *)of_get_mac_address(np); #if (LINUX_VERSION_CODE > KERNEL_VERSION(5, 4, 0)) -@@ -695,56 +689,6 @@ static int32_t nss_dp_of_get_pdata(struc +@@ -753,56 +747,6 @@ static int32_t nss_dp_of_get_pdata(struc return 0; } @@ -141,7 +141,7 @@ Signed-off-by: Robert Marko #ifdef CONFIG_NET_SWITCHDEV /* * nss_dp_is_phy_dev() -@@ -803,7 +747,6 @@ static int32_t nss_dp_probe(struct platf +@@ -861,7 +805,6 @@ static int32_t nss_dp_probe(struct platf struct device_node *np = pdev->dev.of_node; struct nss_gmac_hal_platform_data gmac_hal_pdata; int32_t ret = 0; @@ -149,7 +149,7 @@ Signed-off-by: Robert Marko #if defined(NSS_DP_PPE_SUPPORT) uint32_t vsi_id; fal_port_t port_id; -@@ -880,22 +823,14 @@ static int32_t nss_dp_probe(struct platf +@@ -940,22 +883,15 @@ static int32_t nss_dp_probe(struct platf dp_priv->drv_flags |= NSS_DP_PRIV_FLAG(INIT_DONE); @@ -161,20 +161,22 @@ Signed-off-by: Robert Marko - } - snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT, - dp_priv->miibus->id, dp_priv->phy_mdio_addr); -- + if (dp_priv->phy_node) { - SET_NETDEV_DEV(netdev, &pdev->dev); - dp_priv->phydev = phy_connect(netdev, phy_id, - &nss_dp_adjust_link, - dp_priv->phy_mii_type); - if (IS_ERR(dp_priv->phydev)) { - netdev_dbg(netdev, "failed to connect to phy device\n"); +- goto phy_setup_fail; +- } + dp_priv->phydev = of_phy_connect(netdev, dp_priv->phy_node, -+ &nss_dp_adjust_link, 0, -+ dp_priv->phy_mii_type); ++ &nss_dp_adjust_link, 0, ++ dp_priv->phy_mii_type); + if (!(dp_priv->phydev)) { + netdev_err(netdev, "failed to connect to phy device\n"); - goto phy_setup_fail; - } ++ goto phy_setup_fail; ++ } } + + #if defined(NSS_DP_PPE_SUPPORT) diff --git a/package/kernel/qca-nss-dp/patches/0008-nss-dp-allow-setting-netdev-name-from-DTS.patch b/package/kernel/qca-nss-dp/patches/0008-nss-dp-allow-setting-netdev-name-from-DTS.patch index e90bf32ced..d70284dfb5 100644 --- a/package/kernel/qca-nss-dp/patches/0008-nss-dp-allow-setting-netdev-name-from-DTS.patch +++ b/package/kernel/qca-nss-dp/patches/0008-nss-dp-allow-setting-netdev-name-from-DTS.patch @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -746,18 +746,29 @@ static int32_t nss_dp_probe(struct platf +@@ -804,18 +804,29 @@ static int32_t nss_dp_probe(struct platf struct nss_dp_dev *dp_priv; struct device_node *np = pdev->dev.of_node; struct nss_gmac_hal_platform_data gmac_hal_pdata; diff --git a/package/kernel/qca-nss-dp/patches/0009-nss-dp-switchdev-fix-FDB-roaming.patch b/package/kernel/qca-nss-dp/patches/0009-nss-dp-switchdev-fix-FDB-roaming.patch index ec10bdc2d9..7fccfac76d 100644 --- a/package/kernel/qca-nss-dp/patches/0009-nss-dp-switchdev-fix-FDB-roaming.patch +++ b/package/kernel/qca-nss-dp/patches/0009-nss-dp-switchdev-fix-FDB-roaming.patch @@ -31,7 +31,7 @@ Signed-off-by: Robert Marko #define NSS_DP_SWITCH_ID 0 #define NSS_DP_SW_ETHTYPE_PID 0 /* PPE ethtype profile ID for slow protocols */ -@@ -521,7 +523,76 @@ static struct notifier_block *nss_dp_sw_ +@@ -534,7 +536,76 @@ static struct notifier_block *nss_dp_sw_ #else diff --git a/package/kernel/qca-nss-dp/patches/0010-nss-dp-include-net-netdev_rx_queue.h.patch b/package/kernel/qca-nss-dp/patches/0010-nss-dp-include-net-netdev_rx_queue.h.patch deleted file mode 100644 index ddbf342868..0000000000 --- a/package/kernel/qca-nss-dp/patches/0010-nss-dp-include-net-netdev_rx_queue.h.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 01ec275bd0942ddc6b80e1d3671cdc66be670f57 Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Fri, 1 Sep 2023 12:23:58 +0200 -Subject: [PATCH] nss-dp: include - -Since 6.5 netdev_rx_queue was moved out of netdevice.h so include the new -header since that is where it lives now. - -Signed-off-by: Robert Marko ---- - nss_dp_main.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/nss_dp_main.c -+++ b/nss_dp_main.c -@@ -34,6 +34,9 @@ - #if defined(NSS_DP_MAC_POLL_SUPPORT) - #include - #endif -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)) -+#include -+#endif - - #include "nss_dp_hal.h" - diff --git a/package/kernel/qca-nss-dp/patches/0011-02-nss_dp_switchdev-correctly-unregister-notifier-on-dp.patch b/package/kernel/qca-nss-dp/patches/0011-02-nss_dp_switchdev-correctly-unregister-notifier-on-dp.patch index e0a47cfca0..8379fcf20c 100644 --- a/package/kernel/qca-nss-dp/patches/0011-02-nss_dp_switchdev-correctly-unregister-notifier-on-dp.patch +++ b/package/kernel/qca-nss-dp/patches/0011-02-nss_dp_switchdev-correctly-unregister-notifier-on-dp.patch @@ -16,7 +16,7 @@ Signed-off-by: Christian Marangi --- a/include/nss_dp_dev.h +++ b/include/nss_dp_dev.h -@@ -312,6 +312,7 @@ void nss_dp_set_ethtool_ops(struct net_d +@@ -349,6 +349,7 @@ void nss_dp_set_ethtool_ops(struct net_d */ #ifdef CONFIG_NET_SWITCHDEV void nss_dp_switchdev_setup(struct net_device *dev); @@ -26,7 +26,7 @@ Signed-off-by: Christian Marangi --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -913,6 +913,10 @@ static int nss_dp_remove(struct platform +@@ -972,6 +972,10 @@ static int nss_dp_remove(struct platform if (!dp_priv) continue; @@ -39,7 +39,7 @@ Signed-off-by: Christian Marangi --- a/nss_dp_switchdev.c +++ b/nss_dp_switchdev.c -@@ -635,4 +635,17 @@ void nss_dp_switchdev_setup(struct net_d +@@ -648,4 +648,17 @@ void nss_dp_switchdev_setup(struct net_d switch_init_done = true; } diff --git a/package/kernel/qca-nss-dp/patches/0011-03-nss_dp_main-swap-dp_exit-function-call.patch b/package/kernel/qca-nss-dp/patches/0011-03-nss_dp_main-swap-dp_exit-function-call.patch index 7ffde3d286..68a9821ceb 100644 --- a/package/kernel/qca-nss-dp/patches/0011-03-nss_dp_main-swap-dp_exit-function-call.patch +++ b/package/kernel/qca-nss-dp/patches/0011-03-nss_dp_main-swap-dp_exit-function-call.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -1082,6 +1082,8 @@ int __init nss_dp_init(void) +@@ -1163,6 +1163,8 @@ int __init nss_dp_init(void) */ void __exit nss_dp_exit(void) { @@ -24,7 +24,7 @@ Signed-off-by: Christian Marangi /* * TODO Move this to soc_ops */ -@@ -1089,8 +1091,6 @@ void __exit nss_dp_exit(void) +@@ -1170,8 +1172,6 @@ void __exit nss_dp_exit(void) nss_dp_hal_cleanup(); dp_global_ctx.common_init_done = false; } diff --git a/package/kernel/qca-nss-dp/patches/0011-04-nss_dp_main-call-unregister_netdev-first-in-dp_remov.patch b/package/kernel/qca-nss-dp/patches/0011-04-nss_dp_main-call-unregister_netdev-first-in-dp_remov.patch index 20e87459f8..2721d2cfba 100644 --- a/package/kernel/qca-nss-dp/patches/0011-04-nss_dp_main-call-unregister_netdev-first-in-dp_remov.patch +++ b/package/kernel/qca-nss-dp/patches/0011-04-nss_dp_main-call-unregister_netdev-first-in-dp_remov.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -920,6 +920,9 @@ static int nss_dp_remove(struct platform +@@ -979,6 +979,9 @@ static int nss_dp_remove(struct platform dp_ops = dp_priv->data_plane_ops; hal_ops = dp_priv->gmac_hal_ops; @@ -25,7 +25,7 @@ Signed-off-by: Christian Marangi if (dp_priv->phydev) phy_disconnect(dp_priv->phydev); -@@ -931,7 +934,6 @@ static int nss_dp_remove(struct platform +@@ -990,7 +993,6 @@ static int nss_dp_remove(struct platform #endif hal_ops->exit(dp_priv->gmac_hal_ctx); dp_ops->deinit(dp_priv->dpc); diff --git a/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch b/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch index 6e87e4e8c4..3c99cae2d5 100644 --- a/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch +++ b/package/kernel/qca-nss-dp/patches/0011-05-nss_dp_main-use-phy_detach-instead-of-disconnect-in-.patch @@ -15,7 +15,7 @@ Signed-off-by: Christian Marangi --- a/nss_dp_main.c +++ b/nss_dp_main.c -@@ -924,7 +924,7 @@ static int nss_dp_remove(struct platform +@@ -983,7 +983,7 @@ static int nss_dp_remove(struct platform unregister_netdev(dp_priv->netdev); if (dp_priv->phydev)