From e862d14986ab848da771c55da7e894519d059707 Mon Sep 17 00:00:00 2001 From: Qosmio Date: Sat, 27 Jan 2024 18:27:37 -0500 Subject: [PATCH] qca-nss-drv: Backport changes from 12.2 2024-01-02 - 89cc01b - Introduce new msg for pn error" 2024-01-02 - 8f31ae5 - Fix greredir stats partial copy issue If the kernel passes smaller user buffer to copy stats than required, copy the partial content from local buffer and in the next call, copy the remaining content. 2023-12-27 - bd89094 - qca-nss-drv: Introduce new msg for pn error --- qca/qca-nss-drv/Makefile | 8 ++++---- ...replace-ioremap_nocache-with-ioremap.patch | 20 +++++++++---------- ...-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch | 12 +++++------ ...ork-getting-the-reserved-memory-size.patch | 2 +- .../patches/0008-Add-kernel-6.1-support.patch | 2 +- .../0010-nss-drv-dynamic-interface-desc.patch | 4 +--- 6 files changed, 23 insertions(+), 25 deletions(-) diff --git a/qca/qca-nss-drv/Makefile b/qca/qca-nss-drv/Makefile index bb29354..73d83c0 100644 --- a/qca/qca-nss-drv/Makefile +++ b/qca/qca-nss-drv/Makefile @@ -1,13 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=qca-nss-drv -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-drv.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2023-08-06 -PKG_SOURCE_VERSION:=1ab184034529539f61093184a67d4454cb3eb352 -PKG_MIRROR_HASH:=6aa081c0853d3e3b6d78eee588a0967e540b2317d15aef3c3f6f7129925653f7 +PKG_SOURCE_DATE:=2024-01-04 +PKG_SOURCE_VERSION:=89cc01b57199c6b9845bcef48125f21b6a8c0cc2 +PKG_MIRROR_HASH:=2d505bff0602a74b14ea0c4aefee0604e20ce2f95dab0ebb2a70b36cd884e9f4 PKG_BUILD_PARALLEL:=1 PKG_FLAGS:=nonshared diff --git a/qca/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch b/qca/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch index edbd104..b8ee7dd 100644 --- a/qca/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch +++ b/qca/qca-nss-drv/patches/0001-nss-drv-replace-ioremap_nocache-with-ioremap.patch @@ -32,7 +32,7 @@ Signed-off-by: Robert Marko goto out; --- a/nss_hal/ipq50xx/nss_hal_pvt.c +++ b/nss_hal/ipq50xx/nss_hal_pvt.c -@@ -185,13 +185,13 @@ static struct nss_platform_data *__nss_h +@@ -184,13 +184,13 @@ static struct nss_platform_data *__nss_h npd->nphys = res_nphys.start; npd->qgic_phys = res_qgic_phys.start; @@ -48,7 +48,7 @@ Signed-off-by: Robert Marko if (!npd->qgic_map) { nss_info_always("%px: nss%d: ioremap() fail for qgic map\n", nss_ctx, nss_ctx->id); goto out; -@@ -349,7 +349,7 @@ static int __nss_hal_common_reset(struct +@@ -348,7 +348,7 @@ static int __nss_hal_common_reset(struct of_node_put(cmn); @@ -59,7 +59,7 @@ Signed-off-by: Robert Marko return -EFAULT; --- a/nss_hal/ipq60xx/nss_hal_pvt.c +++ b/nss_hal/ipq60xx/nss_hal_pvt.c -@@ -208,13 +208,13 @@ static struct nss_platform_data *__nss_h +@@ -207,13 +207,13 @@ static struct nss_platform_data *__nss_h npd->nphys = res_nphys.start; npd->qgic_phys = res_qgic_phys.start; @@ -75,7 +75,7 @@ Signed-off-by: Robert Marko if (!npd->qgic_map) { nss_info_always("%px: nss%d: ioremap() fail for qgic map\n", nss_ctx, nss_ctx->id); goto out; -@@ -434,13 +434,13 @@ static int __nss_hal_common_reset(struct +@@ -433,13 +433,13 @@ static int __nss_hal_common_reset(struct of_node_put(cmn); @@ -93,7 +93,7 @@ Signed-off-by: Robert Marko return -EFAULT; --- a/nss_hal/ipq806x/nss_hal_pvt.c +++ b/nss_hal/ipq806x/nss_hal_pvt.c -@@ -461,7 +461,7 @@ static struct nss_platform_data *__nss_h +@@ -458,7 +458,7 @@ static struct nss_platform_data *__nss_h npd->nphys = res_nphys.start; npd->vphys = res_vphys.start; @@ -102,7 +102,7 @@ Signed-off-by: Robert Marko if (!npd->nmap) { nss_info_always("%px: nss%d: ioremap() fail for nphys\n", nss_ctx, nss_ctx->id); goto out; -@@ -714,7 +714,7 @@ static int __nss_hal_common_reset(struct +@@ -711,7 +711,7 @@ static int __nss_hal_common_reset(struct } of_node_put(cmn); @@ -113,7 +113,7 @@ Signed-off-by: Robert Marko return -EFAULT; --- a/nss_hal/ipq807x/nss_hal_pvt.c +++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -237,7 +237,7 @@ static struct nss_platform_data *__nss_h +@@ -234,7 +234,7 @@ static struct nss_platform_data *__nss_h npd->vphys = res_vphys.start; npd->qgic_phys = res_qgic_phys.start; @@ -122,7 +122,7 @@ Signed-off-by: Robert Marko if (!npd->nmap) { nss_info_always("%px: nss%d: ioremap() fail for nphys\n", nss_ctx, nss_ctx->id); goto out; -@@ -250,7 +250,7 @@ static struct nss_platform_data *__nss_h +@@ -247,7 +247,7 @@ static struct nss_platform_data *__nss_h goto out; } @@ -131,7 +131,7 @@ Signed-off-by: Robert Marko if (!npd->qgic_map) { nss_info_always("%px: nss%d: ioremap() fail for qgic map\n", nss_ctx, nss_ctx->id); goto out; -@@ -470,7 +470,7 @@ static int __nss_hal_common_reset(struct +@@ -467,7 +467,7 @@ static int __nss_hal_common_reset(struct } of_node_put(cmn); @@ -185,7 +185,7 @@ Signed-off-by: Robert Marko } --- a/nss_meminfo.c +++ b/nss_meminfo.c -@@ -736,7 +736,7 @@ bool nss_meminfo_init(struct nss_ctx_ins +@@ -735,7 +735,7 @@ bool nss_meminfo_init(struct nss_ctx_ins /* * meminfo_start is the label where the start address of meminfo map is stored. */ diff --git a/qca/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch b/qca/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch index 793da70..17ad9cd 100644 --- a/qca/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch +++ b/qca/qca-nss-drv/patches/0004-nss-drv-rework-NSS_CORE_DMA_CACHE_MAINT-ops.patch @@ -484,7 +484,7 @@ Signed-off-by: Christian Marangi --- a/nss_hal/ipq806x/nss_hal_pvt.c +++ b/nss_hal/ipq806x/nss_hal_pvt.c -@@ -477,10 +477,9 @@ static struct nss_platform_data *__nss_h +@@ -474,10 +474,9 @@ static struct nss_platform_data *__nss_h /* * Clear TCM memory used by this core */ @@ -499,7 +499,7 @@ Signed-off-by: Christian Marangi /* --- a/nss_hal/ipq807x/nss_hal_pvt.c +++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -259,10 +259,9 @@ static struct nss_platform_data *__nss_h +@@ -256,10 +256,9 @@ static struct nss_platform_data *__nss_h /* * Clear TCM memory used by this core */ @@ -514,7 +514,7 @@ Signed-off-by: Christian Marangi /* --- a/nss_meminfo.c +++ b/nss_meminfo.c -@@ -415,7 +415,6 @@ static bool nss_meminfo_init_block_lists +@@ -414,7 +414,6 @@ static bool nss_meminfo_init_block_lists /* * Flush the updated meminfo request. */ @@ -522,7 +522,7 @@ Signed-off-by: Christian Marangi NSS_CORE_DSB(); /* -@@ -546,7 +545,7 @@ static bool nss_meminfo_configure_n2h_h2 +@@ -545,7 +544,7 @@ static bool nss_meminfo_configure_n2h_h2 * Bring a fresh copy of if_map from memory in order to read it correctly. */ if_map = mem_ctx->if_map; @@ -531,7 +531,7 @@ Signed-off-by: Christian Marangi NSS_CORE_DSB(); if_map->n2h_rings = NSS_N2H_RING_COUNT; -@@ -584,7 +583,7 @@ static bool nss_meminfo_configure_n2h_h2 +@@ -583,7 +582,7 @@ static bool nss_meminfo_configure_n2h_h2 /* * Flush the updated nss_if_mem_map. */ @@ -542,7 +542,7 @@ Signed-off-by: Christian Marangi return true; --- a/nss_profiler.c +++ b/nss_profiler.c -@@ -209,11 +209,12 @@ EXPORT_SYMBOL(nss_profile_dma_deregister +@@ -202,11 +202,12 @@ EXPORT_SYMBOL(nss_profile_dma_deregister struct nss_profile_sdma_ctrl *nss_profile_dma_get_ctrl(struct nss_ctx_instance *nss_ctx) { struct nss_profile_sdma_ctrl *ctrl = nss_ctx->meminfo_ctx.sdma_ctrl; diff --git a/qca/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch b/qca/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch index 7bb8549..ca7abbd 100644 --- a/qca/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch +++ b/qca/qca-nss-drv/patches/0005-nss-drv-rework-getting-the-reserved-memory-size.patch @@ -73,7 +73,7 @@ Signed-off-by: Robert Marko - if (ppp) { - n_items /= sizeof(ppp[0]); - nss_msize = be32_to_cpup(ppp + addr_cells + size_cells - 1); -- nss_info("addr/size storage words %d %d # words %d in DTS, ddr size %x\n", +- nss_info_always("addr/size storage words %d %d # words %d in DTS, ddr size %x\n", - addr_cells, size_cells, n_items, nss_msize); + struct device_node *common_node, *memory_node; + struct resource r; diff --git a/qca/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch b/qca/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch index 605c163..38f0869 100644 --- a/qca/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch +++ b/qca/qca-nss-drv/patches/0008-Add-kernel-6.1-support.patch @@ -1,6 +1,6 @@ --- a/nss_hal/ipq807x/nss_hal_pvt.c +++ b/nss_hal/ipq807x/nss_hal_pvt.c -@@ -659,62 +659,62 @@ static int __nss_hal_request_irq(struct +@@ -656,62 +656,62 @@ static int __nss_hal_request_irq(struct irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY); if (irq_num == NSS_HAL_N2H_INTR_PURPOSE_EMPTY_BUFFER_SOS) { diff --git a/qca/qca-nss-drv/patches/0010-nss-drv-dynamic-interface-desc.patch b/qca/qca-nss-drv/patches/0010-nss-drv-dynamic-interface-desc.patch index 55bf638..6d3434b 100644 --- a/qca/qca-nss-drv/patches/0010-nss-drv-dynamic-interface-desc.patch +++ b/qca/qca-nss-drv/patches/0010-nss-drv-dynamic-interface-desc.patch @@ -1,8 +1,6 @@ -diff --git a/nss_dynamic_interface_stats.c b/nss_dynamic_interface_stats.c -index 1f190b6..f7d613e 100644 --- a/nss_dynamic_interface_stats.c +++ b/nss_dynamic_interface_stats.c -@@ -87,8 +87,15 @@ const char *nss_dynamic_interface_type_names[NSS_DYNAMIC_INTERFACE_TYPE_MAX] = { +@@ -87,8 +87,15 @@ const char *nss_dynamic_interface_type_n "NSS_DYNAMIC_INTERFACE_TYPE_RMNET_RX_H2N", "NSS_DYNAMIC_INTERFACE_TYPE_WIFILI_EXTERNAL0", "NSS_DYNAMIC_INTERFACE_TYPE_WIFILI_EXTERNAL1",