Bladeren bron

qcacmn: Cfg changes for IPA offload support

Cfg changes for IPA offload support.

Change-Id: If477db8e958b22634e1505f3e4319c7aa0cc6ef4
Himanshu Batra 3 jaren geleden
bovenliggende
commit
f49b3a1753
5 gewijzigde bestanden met toevoegingen van 28 en 16 verwijderingen
  1. 4 1
      cfg/inc/cfg_converged.h
  2. 6 0
      dp/inc/cdp_txrx_cmn.h
  3. 0 3
      dp/inc/cdp_txrx_mob_def.h
  4. 3 2
      dp/wifi3.0/dp_ipa.c
  5. 15 10
      wlan_cfg/cfg_dp.h

+ 4 - 1
cfg/inc/cfg_converged.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -51,6 +52,7 @@
 #define CFG_WLAN_CM_UTF_PARAM
 #endif
 #include <cfg_mgmt_txrx.h>
+#include <cfg_ipa.h>
 
 #define CFG_CONVERGED_ALL \
 		CFG_SCAN_ALL \
@@ -64,7 +66,8 @@
 		CFG_MLME_SCORE_ALL \
 		CFG_WLAN_CM_UTF_PARAM \
 		CFG_CMN_MLME_ALL \
-		CFG_MGMT_TXRX_ALL
+		CFG_MGMT_TXRX_ALL \
+		CFG_IPA
 
 #endif /* __CFG_CONVERGED_H */
 

+ 6 - 0
dp/inc/cdp_txrx_cmn.h

@@ -128,6 +128,12 @@ enum {
 	DP_VDEV_STATS_TX_ME,
 };
 
+/*
+ * typedef ipa_uc_op_cb_type - Register OP handler function
+ */
+typedef void (*ipa_uc_op_cb_type)(uint8_t *op_msg,
+				  void *osif_ctxt);
+
 static inline QDF_STATUS
 cdp_soc_attach_target(ol_txrx_soc_handle soc)
 {

+ 0 - 3
dp/inc/cdp_txrx_mob_def.h

@@ -475,9 +475,6 @@ typedef void (*tx_pause_callback)(uint8_t vdev_id,
 		enum netif_action_type action,
 		enum netif_reason_type reason);
 
-typedef void (*ipa_uc_op_cb_type)(uint8_t *op_msg,
-			void *osif_ctxt);
-
 /**
  * struct ol_rx_inv_peer_params - rx invalid peer data parameters
  * @vdev_id: Virtual device ID

+ 3 - 2
dp/wifi3.0/dp_ipa.c

@@ -1833,15 +1833,16 @@ QDF_STATUS dp_ipa_disable_autonomy(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 0)) || \
 	defined(CONFIG_IPA_WDI_UNIFIED_API)
 
-#ifndef QCA_LL_TX_FLOW_CONTROL_V2
+#if !defined(QCA_LL_TX_FLOW_CONTROL_V2) && !defined(QCA_IPA_LL_TX_FLOW_CONTROL)
 static inline void dp_setup_mcc_sys_pipes(
 		qdf_ipa_sys_connect_params_t *sys_in,
 		qdf_ipa_wdi_conn_in_params_t *pipe_in)
 {
+	int i = 0;
 	/* Setup MCC sys pipe */
 	QDF_IPA_WDI_CONN_IN_PARAMS_NUM_SYS_PIPE_NEEDED(pipe_in) =
 			DP_IPA_MAX_IFACE;
-	for (int i = 0; i < DP_IPA_MAX_IFACE; i++)
+	for (i = 0; i < DP_IPA_MAX_IFACE; i++)
 		memcpy(&QDF_IPA_WDI_CONN_IN_PARAMS_SYS_IN(pipe_in)[i],
 		       &sys_in[i], sizeof(qdf_ipa_sys_connect_params_t));
 }

+ 15 - 10
wlan_cfg/cfg_dp.h

@@ -48,15 +48,6 @@
 #define WLAN_CFG_PER_PDEV_TX_RING_MIN 0
 #define WLAN_CFG_PER_PDEV_TX_RING_MAX 1
 
-#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
-#define WLAN_CFG_PER_PDEV_RX_RING 0
-#define WLAN_CFG_PER_PDEV_LMAC_RING 0
-#define WLAN_LRO_ENABLE 0
-#ifdef QCA_WIFI_QCA6750
-#define WLAN_CFG_MAC_PER_TARGET 1
-#else
-#define WLAN_CFG_MAC_PER_TARGET 2
-#endif
 #ifdef IPA_OFFLOAD
 /* Size of TCL TX Ring */
 #if defined(TX_TO_NPEERS_INC_TX_DESCS)
@@ -89,10 +80,24 @@
 #define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 1024
 #else
 #define WLAN_CFG_TX_RING_SIZE 512
+#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
 #define WLAN_CFG_PER_PDEV_TX_RING 1
+#else
+#define WLAN_CFG_PER_PDEV_TX_RING 0
+#endif
 #define WLAN_CFG_IPA_UC_TX_BUF_SIZE 0
 #define WLAN_CFG_IPA_UC_TX_PARTITION_BASE 0
 #define WLAN_CFG_IPA_UC_RX_IND_RING_COUNT 0
+#endif /* IPA_OFFLOAD */
+
+#if defined(WLAN_MAX_PDEVS) && (WLAN_MAX_PDEVS == 1)
+#define WLAN_CFG_PER_PDEV_RX_RING 0
+#define WLAN_CFG_PER_PDEV_LMAC_RING 0
+#define WLAN_LRO_ENABLE 0
+#ifdef QCA_WIFI_QCA6750
+#define WLAN_CFG_MAC_PER_TARGET 1
+#else
+#define WLAN_CFG_MAC_PER_TARGET 2
 #endif
 
 #if defined(TX_TO_NPEERS_INC_TX_DESCS)
@@ -126,7 +131,7 @@
 #define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1
 #define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8
 #endif
-#endif
+#endif /* WLAN_MAX_PDEVS */
 
 #ifdef NBUF_MEMORY_DEBUG
 #define WLAN_CFG_RX_PENDING_THRESHOLD_DEFAULT 0xFFFF