Merge "[qca-nss-drv] 2K SKB size support for 512MB 32 bit premium profile"
diff --git a/nss_hlos_if.h b/nss_hlos_if.h
index 0d9bbf2..7d2c50c 100644
--- a/nss_hlos_if.h
+++ b/nss_hlos_if.h
@@ -34,6 +34,7 @@
#if defined (NSS_MEM_PROFILE_LOW)
#define NSS_DEFAULT_NUM_CONN 512 /* Default number of connections for IPv4 and IPv6 each, for low memory profile */
#define NSS_MAX_TOTAL_NUM_CONN_IPV4_IPV6 1024 /* MAX Connection shared between IPv4 and IPv6 for low memory profile */
+#define NSS_LOW_MEM_EMPTY_POOL_BUF_SZ 4096 /* Default empty buffer pool size for low profile */
#elif defined (NSS_MEM_PROFILE_MEDIUM)
#define NSS_DEFAULT_NUM_CONN 2048 /* Default number of connections for IPv4 and IPv6 each, for medium memory profile */
#define NSS_MAX_TOTAL_NUM_CONN_IPV4_IPV6 4096 /* MAX Connection shared between IPv4 and IPv6 for medium memory profile */
@@ -42,11 +43,12 @@
#define NSS_MAX_TOTAL_NUM_CONN_IPV4_IPV6 8192 /* MAX Connection shared between IPv4 and IPv6 */
#endif
-#if defined (NSS_MEM_PROFILE_LOW)
-#define NSS_EMPTY_BUFFER_SIZE 1792 /* Default buffer size for low profile. */
-#define NSS_LOW_MEM_EMPTY_POOL_BUF_SZ 4096 /* Default empty buffer pool size for low profile */
+#if defined(NSS_SKB_FIXED_SIZE_2K) && !defined(__LP64__)
+#define NSS_EMPTY_BUFFER_SIZE 1792 /* Default buffer size for reduced memory profiles. */
+#define NSS_FIXED_BUFFER_SIZE /* For low memory profiles, maximum buffer size/MTU is fixed */
#else
-#define NSS_EMPTY_BUFFER_SIZE 1984 /* Default buffer size for medium and high profile. */
+#define NSS_EMPTY_BUFFER_SIZE 1984 /* Default buffer size for regular memory profiles. */
+#undef NSS_FIXED_BUFFER_SIZE
#endif
enum {
diff --git a/nss_phys_if.c b/nss_phys_if.c
index 1257f03..60e5888 100644
--- a/nss_phys_if.c
+++ b/nss_phys_if.c
@@ -432,7 +432,7 @@
/*
* We disallow MTU changes for low memory profiles in order to keep the buffer size constant
*/
-#ifdef NSS_MEM_PROFILE_LOW
+#ifdef NSS_FIXED_BUFFER_SIZE
if (mtu > ETH_DATA_LEN) {
nss_info_always("MTU change beyond 1500 restricted for low memory profile \n");
return NSS_TX_FAILURE;
@@ -476,7 +476,7 @@
* to it due to MTU changes. Also, NSS_EMPTY_BUFFER_SIZE includes the
* PAD and ETH_HLEN, and is aligned to SMP_CACHE_BYTES
*/
-#ifndef NSS_MEM_PROFILE_LOW
+#ifndef NSS_FIXED_BUFFER_SIZE
nss_ctx->max_buf_size = ((mtu_sz + ETH_HLEN + SMP_CACHE_BYTES - 1) & ~(SMP_CACHE_BYTES - 1)) + NSS_NBUF_ETH_EXTRA + NSS_NBUF_PAD_EXTRA;
/*