Pārlūkot izejas kodu

qcacld-3.0: hdd: change legacy data path api to cdp api

Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
Introduce cdp apis wrappers.
hdd module.

Change-Id: I2ebddfe9cf063cdbf8caa6b4a65a80fda033b3ba
CRs-fixed: 1075736
Leo Chang 8 gadi atpakaļ
vecāks
revīzija
fdb45c3014

+ 0 - 1
core/hdd/inc/wlan_hdd_assoc.h

@@ -36,7 +36,6 @@
 /* Include files */
 #include <sme_api.h>
 #include <wlan_defs.h>
-#include "ol_txrx_ctrl_api.h"
 #include "cdp_txrx_peer_ops.h"
 #include <net/cfg80211.h>
 #include <linux/ieee80211.h>

+ 1 - 2
core/hdd/inc/wlan_hdd_includes.h

@@ -50,14 +50,13 @@
 #include <linux/init.h>
 #include <linux/wireless.h>
 #include <linux/if_arp.h>
-#include "ol_txrx_ctrl_api.h"
 #include <cds_api.h>
 #include <sme_api.h>
 #include "wlan_hdd_assoc.h"
 #include "wlan_hdd_wext.h"
 #include "wlan_hdd_main.h"
 #include "wlan_hdd_tx_rx.h"
-
+#include <cdp_txrx_ops.h>
 
 #ifdef FEATURE_OEM_DATA_SUPPORT
 /*include for oem data req specific structures*/

+ 1 - 1
core/hdd/inc/wlan_hdd_ipa.h

@@ -221,7 +221,7 @@ static inline struct sk_buff *hdd_ipa_tx_packet_ipa(hdd_context_t *hdd_ctx,
  * Return: true - ipa hw present
  *         false - ipa hw not present
  */
-bool hdd_ipa_is_present(hdd_context_t *hdd_ctx)
+static inline bool hdd_ipa_is_present(hdd_context_t *hdd_ctx)
 {
 	return false;
 }

+ 4 - 4
core/hdd/inc/wlan_hdd_main.h

@@ -59,8 +59,6 @@
 #include "wlan_hdd_cfg80211.h"
 #include <qdf_defer.h>
 #include "sap_api.h"
-#include "ol_txrx_osif_api.h"
-#include "ol_txrx_ctrl_api.h"
 #include <wlan_hdd_lro.h>
 #include "cdp_txrx_flow_ctrl_legacy.h"
 #include <cdp_txrx_peer_ops.h>
@@ -888,6 +886,8 @@ struct hdd_adapter_s {
 
 	void *pHddCtx;
 
+	void *txrx_vdev;
+
 	/** Handle to the network device */
 	struct net_device *dev;
 
@@ -1672,12 +1672,12 @@ static inline void hdd_stop_bus_bw_computer_timer(hdd_adapter_t *pAdapter)
 	return;
 }
 
-int hdd_bus_bandwidth_init(hdd_context_t *hdd_ctx)
+static inline int hdd_bus_bandwidth_init(hdd_context_t *hdd_ctx)
 {
 	return 0;
 }
 
-void hdd_bus_bandwidth_destroy(hdd_context_t *hdd_ctx)
+static inline void hdd_bus_bandwidth_destroy(hdd_context_t *hdd_ctx)
 {
 	return;
 }

+ 5 - 1
core/hdd/inc/wlan_hdd_napi.h

@@ -76,7 +76,7 @@ static inline int hdd_napi_apply_throughput_policy(struct hdd_context_s *hddctx,
 static inline int hdd_napi_serialize(int is_on)
 {
 	return -EINVAL;
-};
+}
 #endif /* HELIUMPLUS */
 
 #else /* ! defined(FEATURE_NAPI) */
@@ -104,6 +104,10 @@ static inline int hdd_napi_apply_throughput_policy(void *hdd_ctx,
 	return 0;
 }
 
+static inline int hdd_napi_serialize(int is_on)
+{
+	return -EINVAL;
+}
 #endif /* FEATURE_NAPI */
 
 #endif /*  HDD_NAPI_H__ */

+ 0 - 1
core/hdd/inc/wlan_hdd_tx_rx.h

@@ -38,7 +38,6 @@
 #include <wlan_hdd_includes.h>
 #include <cds_api.h>
 #include <linux/skbuff.h>
-#include "ol_txrx_osif_api.h"
 #include "cdp_txrx_flow_ctrl_legacy.h"
 
 #define HDD_ETHERTYPE_802_1_X              0x888E

+ 47 - 30
core/hdd/src/wlan_hdd_assoc.c

@@ -52,17 +52,16 @@
 #include "wlan_hdd_hostapd.h"
 #include <wlan_hdd_ipa.h>
 #include "wlan_hdd_lpass.h"
+#include <wlan_logging_sock_svc.h>
 #include <cds_sched.h>
 #include "cds_concurrency.h"
 #include <cds_utils.h>
 #include "sme_power_save_api.h"
-#include "ol_txrx_ctrl_api.h"
-#include "ol_txrx_types.h"
-#include "ol_txrx.h"
-#include "ol_rx_fwd.h"
-#include "cdp_txrx_flow_ctrl_legacy.h"
-#include "cdp_txrx_peer_ops.h"
 #include "wlan_hdd_napi.h"
+#include <cdp_txrx_cmn.h>
+#include <cdp_txrx_flow_ctrl_legacy.h>
+#include <cdp_txrx_peer_ops.h>
+#include <cdp_txrx_misc.h>
 
 /* These are needed to recognize WPA and RSN suite types */
 #define HDD_WPA_OUI_SIZE 4
@@ -1289,7 +1288,8 @@ static void hdd_send_association_event(struct net_device *dev,
 		spin_lock_bh(&pHddCtx->bus_bw_lock);
 		pAdapter->prev_tx_packets = pAdapter->stats.tx_packets;
 		pAdapter->prev_rx_packets = pAdapter->stats.rx_packets;
-		ol_get_intra_bss_fwd_pkts_count(pAdapter->sessionId,
+		cdp_get_intra_bss_fwd_pkts_count(
+			cds_get_context(QDF_MODULE_ID_SOC), pAdapter->sessionId,
 			&pAdapter->prev_fwd_tx_packets,
 			&pAdapter->prev_fwd_rx_packets);
 		spin_unlock_bh(&pHddCtx->bus_bw_lock);
@@ -1412,9 +1412,10 @@ QDF_STATUS hdd_roam_deregister_sta(hdd_adapter_t *pAdapter, uint8_t staId)
 		 */
 	}
 
-	qdf_status = ol_txrx_clear_peer(staId);
+	qdf_status = cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+			cds_get_context(QDF_MODULE_ID_TXRX), staId);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_err("ol_txrx_clear_peer() failed for staID %d. Status(%d) [0x%08X]",
+		hdd_err("cdp_peer_clear() failed for staID %d. Status(%d) [0x%08X]",
 			staId, qdf_status, qdf_status);
 	}
 	return qdf_status;
@@ -1714,8 +1715,9 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter,
 {
 	QDF_STATUS err;
 	uint8_t *peer_mac_addr;
-	struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
-	ol_txrx_peer_handle peer;
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *peer;
 
 	if (!pdev) {
 		hdd_err("Failed to get txrx context");
@@ -1727,17 +1729,17 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter,
 		return QDF_STATUS_E_INVAL;
 	}
 
-	peer = ol_txrx_peer_find_by_local_id(pdev, sta_id);
+	peer = cdp_peer_find_by_local_id(soc, pdev, sta_id);
 	if (!peer)
 		return QDF_STATUS_E_FAULT;
 
-	peer_mac_addr = ol_txrx_peer_get_peer_mac_addr(peer);
+	peer_mac_addr = cdp_peer_get_peer_mac_addr(soc, peer);
 	if (peer_mac_addr == NULL) {
 		hdd_err("peer mac addr is NULL");
 		return QDF_STATUS_E_FAULT;
 	}
 
-	err = ol_txrx_peer_state_update(pdev, peer_mac_addr, sta_state);
+	err = cdp_peer_state_update(soc, pdev, peer_mac_addr, sta_state);
 	if (err != QDF_STATUS_SUCCESS) {
 		hdd_err("peer state update failed");
 		return QDF_STATUS_E_FAULT;
@@ -1764,7 +1766,7 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter,
 		if (pAdapter->device_mode == QDF_STA_MODE ||
 		    pAdapter->device_mode == QDF_P2P_CLIENT_MODE) {
 #if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) || defined(QCA_LL_TX_FLOW_CONTROL_V2)
-			ol_txrx_vdev_handle vdev;
+			void *vdev;
 			unsigned long rc;
 
 			/* wait for event from firmware to set the event */
@@ -1774,8 +1776,8 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter,
 			if (!rc) {
 				hdd_notice("timeout waiting for sta_authorized_event");
 			}
-			vdev = ol_txrx_get_vdev_for_peer(peer);
-			ol_txrx_vdev_unpause(vdev,
+			vdev = cdp_peer_get_vdev(soc, peer);
+			cdp_fc_vdev_unpause(soc, vdev,
 					OL_TXQ_PAUSE_REASON_PEER_UNAUTHORIZED);
 #endif
 		}
@@ -1803,6 +1805,8 @@ QDF_STATUS hdd_roam_register_sta(hdd_adapter_t *pAdapter,
 	struct ol_txrx_desc_type staDesc = { 0 };
 	hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
 	struct ol_txrx_ops txrx_ops;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 
 	if (NULL == pBssDesc)
 		return QDF_STATUS_E_FAILURE;
@@ -1828,15 +1832,25 @@ QDF_STATUS hdd_roam_register_sta(hdd_adapter_t *pAdapter,
 	/* Register the vdev transmit and receive functions */
 	qdf_mem_zero(&txrx_ops, sizeof(txrx_ops));
 	txrx_ops.rx.rx = hdd_rx_packet_cbk;
-	ol_txrx_vdev_register(
-		 ol_txrx_get_vdev_from_vdev_id(pAdapter->sessionId),
-		 pAdapter, &txrx_ops);
-	pAdapter->tx_fn = txrx_ops.tx.tx;
 
-	qdf_status = ol_txrx_register_peer(&staDesc);
+	pAdapter->txrx_vdev = cdp_get_vdev_from_vdev_id(soc, pdev,
+					pAdapter->sessionId);
+	if (!pAdapter->txrx_vdev) {
+		hdd_err("%s find vdev fail", __func__);
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	txrx_ops.tx.tx = NULL;
+	cdp_vdev_register(soc, pAdapter->txrx_vdev, pAdapter, &txrx_ops);
+	if (!txrx_ops.tx.tx) {
+		hdd_err("%s vdev register fail", __func__);
+		return QDF_STATUS_E_FAILURE;
+	}
 
+	pAdapter->tx_fn = txrx_ops.tx.tx;
+	qdf_status = cdp_peer_register(soc, pdev, &staDesc);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_warn("ol_txrx_register_peer() failed to register. Status=%d [0x%08X]",
+		hdd_warn("cdp_peer_register() failed to register. Status=%d [0x%08X]",
 			 qdf_status, qdf_status);
 		return qdf_status;
 	}
@@ -3449,6 +3463,8 @@ QDF_STATUS hdd_roam_register_tdlssta(hdd_adapter_t *pAdapter,
 	QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
 	struct ol_txrx_desc_type staDesc = { 0 };
 	struct ol_txrx_ops txrx_ops;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 
 	/*
 	 * TDLS sta in BSS should be set as STA type TDLS and STA MAC should
@@ -3462,15 +3478,15 @@ QDF_STATUS hdd_roam_register_tdlssta(hdd_adapter_t *pAdapter,
 	/* Register the vdev transmit and receive functions */
 	qdf_mem_zero(&txrx_ops, sizeof(txrx_ops));
 	txrx_ops.rx.rx = hdd_rx_packet_cbk;
-	ol_txrx_vdev_register(
-		 ol_txrx_get_vdev_from_vdev_id(pAdapter->sessionId),
+	cdp_vdev_register(soc,
+		 cdp_get_vdev_from_vdev_id(soc, pdev, pAdapter->sessionId),
 		 pAdapter, &txrx_ops);
 	pAdapter->tx_fn = txrx_ops.tx.tx;
 
 	/* Register the Station with TL...  */
-	qdf_status = ol_txrx_register_peer(&staDesc);
+	qdf_status = cdp_peer_register(soc, pdev, &staDesc);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_err("ol_txrx_register_peer() failed to register. Status=%d [0x%08X]",
+		hdd_err("cdp_peer_register() failed to register. Status=%d [0x%08X]",
 			qdf_status, qdf_status);
 		return qdf_status;
 	}
@@ -3489,10 +3505,11 @@ static QDF_STATUS hdd_roam_deregister_tdlssta(hdd_adapter_t *pAdapter,
 					      uint8_t staId)
 {
 	QDF_STATUS qdf_status;
-	qdf_status = ol_txrx_clear_peer(staId);
+	qdf_status = cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+				cds_get_context(QDF_MODULE_ID_TXRX), staId);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_warn("ol_txrx_clear_peer() failed for staID %d. Status=%d [0x%08X]",
-			 staId, qdf_status, qdf_status);
+		hdd_warn("cdp_peer_clear() failed for staID %d. Status=%d [0x%08X]",
+			staId, qdf_status, qdf_status);
 	}
 	return qdf_status;
 }

+ 9 - 3
core/hdd/src/wlan_hdd_cfg80211.c

@@ -92,7 +92,6 @@
 
 #include "wlan_hdd_ocb.h"
 #include "wlan_hdd_tsf.h"
-#include "ol_txrx.h"
 
 #include "wlan_hdd_subnet_detect.h"
 #include <wlan_hdd_regulatory.h>
@@ -100,6 +99,9 @@
 #include "wlan_hdd_nan_datapath.h"
 #include "wlan_hdd_disa.h"
 
+#include <cdp_txrx_cmn.h>
+#include <cdp_txrx_misc.h>
+
 #define g_mode_rates_size (12)
 #define a_mode_rates_size (8)
 #define GET_IE_LEN_IN_BSS_DESC(lenInBss) (lenInBss + sizeof(lenInBss) - \
@@ -2869,6 +2871,8 @@ static int __wlan_hdd_cfg80211_handle_wisa_cmd(struct wiphy *wiphy,
 	int ret_val;
 	QDF_STATUS status;
 	bool wisa_mode;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 
 	ENTER_DEV(dev);
 	ret_val = wlan_hdd_validate_context(hdd_ctx);
@@ -2902,8 +2906,10 @@ static int __wlan_hdd_cfg80211_handle_wisa_cmd(struct wiphy *wiphy,
 		ret_val = -EINVAL;
 	}
 	if (QDF_IS_STATUS_SUCCESS(status) || wisa_mode == false)
-		ol_txrx_set_wisa_mode(ol_txrx_get_vdev_from_vdev_id(
-					adapter->sessionId), wisa_mode);
+		cdp_set_wisa_mode(soc,
+			cdp_get_vdev_from_vdev_id(soc, pdev,
+				adapter->sessionId),
+			wisa_mode);
 err:
 	EXIT();
 	return ret_val;

+ 10 - 6
core/hdd/src/wlan_hdd_driver_ops.c

@@ -511,6 +511,7 @@ static int __wlan_hdd_bus_suspend(pm_message_t state)
 	void *hif_ctx;
 	int err = wlan_hdd_validate_context(hdd_ctx);
 	int status;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
 	hdd_info("event %d", state.event);
 
@@ -528,7 +529,8 @@ static int __wlan_hdd_bus_suspend(pm_message_t state)
 		goto done;
 	}
 
-	err = qdf_status_to_os_return(ol_txrx_bus_suspend());
+	err = qdf_status_to_os_return(
+			cdp_bus_suspend(soc));
 	if (err)
 		goto done;
 
@@ -547,7 +549,7 @@ resume_wma:
 	status = wma_bus_resume();
 	QDF_BUG(!status);
 resume_oltxrx:
-	status = ol_txrx_bus_resume();
+	status = cdp_bus_resume(soc);
 	QDF_BUG(!status);
 done:
 	hdd_err("suspend failed, status = %d", err);
@@ -680,7 +682,7 @@ static int __wlan_hdd_bus_resume(void)
 	if (status)
 		goto out;
 
-	qdf_status = ol_txrx_bus_resume();
+	qdf_status = cdp_bus_resume(cds_get_context(QDF_MODULE_ID_SOC));
 	status = qdf_status_to_os_return(qdf_status);
 	if (status)
 		goto out;
@@ -806,6 +808,7 @@ static int __wlan_hdd_runtime_suspend(struct device *dev)
 	void *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 	void *htc_ctx = cds_get_context(QDF_MODULE_ID_HTC);
 	int status = wlan_hdd_validate_context(hdd_ctx);
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
 	if (0 != status)
 		goto process_failure;
@@ -814,7 +817,7 @@ static int __wlan_hdd_runtime_suspend(struct device *dev)
 	if (status)
 		goto process_failure;
 
-	status = qdf_status_to_os_return(ol_txrx_runtime_suspend(txrx_pdev));
+	status = qdf_status_to_os_return(cdp_runtime_suspend(soc, txrx_pdev));
 	if (status)
 		goto process_failure;
 
@@ -844,7 +847,7 @@ resume_wma:
 resume_htc:
 	QDF_BUG(!htc_runtime_resume(htc_ctx));
 resume_txrx:
-	QDF_BUG(!qdf_status_to_os_return(ol_txrx_runtime_resume(txrx_pdev)));
+	QDF_BUG(!qdf_status_to_os_return(cdp_runtime_resume(soc, txrx_pdev)));
 process_failure:
 	hif_process_runtime_suspend_failure(hif_ctx);
 	return status;
@@ -883,13 +886,14 @@ static int __wlan_hdd_runtime_resume(struct device *dev)
 	void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
 	void *htc_ctx = cds_get_context(QDF_MODULE_ID_HTC);
 	void *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX);
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
 	hif_pre_runtime_resume(hif_ctx);
 	QDF_BUG(!pld_auto_resume(dev));
 	QDF_BUG(!hif_runtime_resume(hif_ctx));
 	QDF_BUG(!wma_runtime_resume());
 	QDF_BUG(!htc_runtime_resume(htc_ctx));
-	QDF_BUG(!qdf_status_to_os_return(ol_txrx_runtime_resume(txrx_pdev)));
+	QDF_BUG(!qdf_status_to_os_return(cdp_runtime_resume(soc, txrx_pdev)));
 	hif_process_runtime_resume_success(hif_ctx);
 	return 0;
 }

+ 4 - 1
core/hdd/src/wlan_hdd_hostapd.c

@@ -3142,6 +3142,8 @@ static __iw_softap_setparam(struct net_device *dev,
 	{
 		hdd_context_t *hdd_ctx =
 			WLAN_HDD_GET_CTX(pHostapdAdapter);
+		void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+
 		hdd_notice("QCASAP_CLEAR_STATS val %d", set_value);
 		switch (set_value) {
 		case WLAN_HDD_STATS:
@@ -3160,7 +3162,8 @@ static __iw_softap_setparam(struct net_device *dev,
 			hdd_clear_hif_stats();
 			break;
 		default:
-			ol_txrx_clear_stats(set_value);
+			if (soc)
+				cdp_clear_stats(soc, set_value);
 		}
 		break;
 	}

+ 19 - 15
core/hdd/src/wlan_hdd_ipa.c

@@ -48,7 +48,6 @@
 #include <linux/inetdevice.h>
 #include <linux/ip.h>
 #include <wlan_hdd_softap_tx_rx.h>
-#include <ol_txrx_osif_api.h>
 #include <cdp_txrx_peer_ops.h>
 
 #include "cds_sched.h"
@@ -1065,6 +1064,7 @@ static int hdd_ipa_uc_enable_pipes(struct hdd_ipa_priv *hdd_ipa)
 {
 	int result;
 	p_cds_contextType cds_ctx = hdd_ipa->hdd_ctx->pcds_context;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
 	/* ACTIVATE TX PIPE */
 	HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO,
@@ -1084,7 +1084,7 @@ static int hdd_ipa_uc_enable_pipes(struct hdd_ipa_priv *hdd_ipa)
 			    __func__, result);
 		return result;
 	}
-	ol_txrx_ipa_uc_set_active(cds_ctx->pdev_txrx_ctx, true, true);
+	cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, true, true);
 
 	/* ACTIVATE RX PIPE */
 	HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO,
@@ -1104,7 +1104,7 @@ static int hdd_ipa_uc_enable_pipes(struct hdd_ipa_priv *hdd_ipa)
 			    __func__, result);
 		return result;
 	}
-	ol_txrx_ipa_uc_set_active(cds_ctx->pdev_txrx_ctx, true, false);
+	cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, true, false);
 	hdd_ipa->ipa_pipes_down = false;
 	return 0;
 }
@@ -1211,12 +1211,13 @@ static int hdd_ipa_uc_handle_first_con(struct hdd_ipa_priv *hdd_ipa)
 static void hdd_ipa_uc_handle_last_discon(struct hdd_ipa_priv *hdd_ipa)
 {
 	p_cds_contextType cds_ctx = hdd_ipa->hdd_ctx->pcds_context;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
 	hdd_ipa->resource_unloading = true;
 	HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "%s: Disable FW RX PIPE", __func__);
-	ol_txrx_ipa_uc_set_active(cds_ctx->pdev_txrx_ctx, false, false);
+	cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, false, false);
 	HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "%s: Disable FW TX PIPE", __func__);
-	ol_txrx_ipa_uc_set_active(cds_ctx->pdev_txrx_ctx, false, true);
+	cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, false, true);
 }
 
 /**
@@ -1734,6 +1735,7 @@ static QDF_STATUS hdd_ipa_uc_ol_init(hdd_context_t *hdd_ctx)
 	struct hdd_ipa_priv *ipa_ctxt = (struct hdd_ipa_priv *)hdd_ctx->hdd_ipa;
 	p_cds_contextType cds_ctx = hdd_ctx->pcds_context;
 	uint8_t i;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
 	qdf_mem_zero(&pipe_in, sizeof(struct ipa_wdi_in_params));
 	qdf_mem_zero(&pipe_out, sizeof(struct ipa_wdi_out_params));
@@ -1828,12 +1830,12 @@ static QDF_STATUS hdd_ipa_uc_ol_init(hdd_context_t *hdd_ctx)
 		    (unsigned int)pipe_in.u.ul.rdy_ring_rp_pa,
 		    (unsigned int)ipa_ctxt->rx_ready_doorbell_paddr);
 
-	ol_txrx_ipa_uc_set_doorbell_paddr(cds_ctx->pdev_txrx_ctx,
-				     ipa_ctxt->tx_comp_doorbell_paddr,
-				     ipa_ctxt->rx_ready_doorbell_paddr);
+	cdp_ipa_set_doorbell_paddr(soc, cds_ctx->pdev_txrx_ctx,
+			ipa_ctxt->tx_comp_doorbell_paddr,
+			ipa_ctxt->rx_ready_doorbell_paddr);
 
-	ol_txrx_ipa_uc_register_op_cb(cds_ctx->pdev_txrx_ctx,
-				  hdd_ipa_uc_op_event_handler, (void *)hdd_ctx);
+	cdp_ipa_register_op_cb(soc, cds_ctx->pdev_txrx_ctx,
+			hdd_ipa_uc_op_event_handler, (void *)hdd_ctx);
 
 	for (i = 0; i < HDD_IPA_UC_OPCODE_MAX; i++) {
 		hdd_ipa_init_uc_op_work(&ipa_ctxt->uc_op_work[i].work,
@@ -2872,8 +2874,8 @@ static void hdd_ipa_send_pkt_to_tl(
 
 	adapter->stats.tx_bytes += ipa_tx_desc->skb->len;
 
-	skb = ol_tx_send_ipa_data_frame(iface_context->tl_context,
-					 ipa_tx_desc->skb);
+	skb = cdp_ipa_tx_send_data_frame(cds_get_context(QDF_MODULE_ID_SOC),
+		iface_context->tl_context, ipa_tx_desc->skb);
 	if (skb) {
 		HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, "TLSHIM tx fail");
 		ipa_free_skb(ipa_tx_desc);
@@ -3596,8 +3598,8 @@ static int hdd_ipa_setup_iface(struct hdd_ipa_priv *hdd_ipa,
 	adapter->ipa_context = iface_context;
 	iface_context->adapter = adapter;
 	iface_context->sta_id = sta_id;
-	tl_context = ol_txrx_get_vdev_by_sta_id(sta_id);
-
+	tl_context = cdp_peer_get_vdev_by_sta_id(
+				cds_get_context(QDF_MODULE_ID_SOC), sta_id);
 	if (tl_context == NULL) {
 		HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR,
 			    "Not able to get TL context sta_id: %d", sta_id);
@@ -4289,7 +4291,9 @@ QDF_STATUS hdd_ipa_init(hdd_context_t *hdd_ctx)
 	ghdd_ipa = hdd_ipa;
 	hdd_ipa->hdd_ctx = hdd_ctx;
 	hdd_ipa->num_iface = 0;
-	ol_txrx_ipa_uc_get_resource(pdev, &hdd_ipa->ipa_resource);
+	cdp_ipa_get_resource(cds_get_context(QDF_MODULE_ID_SOC),
+			cds_get_context(QDF_MODULE_ID_TXRX),
+			&hdd_ipa->ipa_resource);
 	if ((0 == hdd_ipa->ipa_resource.ce_sr_base_paddr) ||
 	    (0 == hdd_ipa->ipa_resource.tx_comp_ring_base_paddr) ||
 	    (0 == hdd_ipa->ipa_resource.rx_rdy_ring_base_paddr) ||

+ 2 - 5
core/hdd/src/wlan_hdd_lro.c

@@ -38,8 +38,6 @@
 #include <wlan_hdd_lro.h>
 #include <wlan_hdd_napi.h>
 #include <wma_api.h>
-#include <ol_txrx_types.h>
-#include <ol_cfg.h>
 #include <cdp_txrx_lro.h>
 
 #include <linux/inet_lro.h>
@@ -537,7 +535,7 @@ int hdd_lro_enable(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter)
 	}
 
 	/* Register the flush callback */
-	ol_register_lro_flush_cb(hdd_lro_flush, hdd_init_lro_mgr);
+	cdp_register_lro_flush_cb(hdd_lro_flush, hdd_init_lro_mgr);
 	adapter->dev->features |= NETIF_F_LRO;
 
 	hdd_info("LRO Enabled");
@@ -570,8 +568,7 @@ void hdd_lro_disable(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter)
 		return;
 
 	/* Deregister the flush callback */
-	ol_deregister_lro_flush_cb(hdd_deinit_lro_mgr);
-
+	cdp_deregister_lro_flush_cb(hdd_deinit_lro_mgr);
 	return;
 }
 

+ 5 - 4
core/hdd/src/wlan_hdd_main.c

@@ -3700,8 +3700,9 @@ QDF_STATUS hdd_stop_adapter(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter,
 			hdd_wait_for_sme_close_sesion(hdd_ctx, adapter);
 		break;
 	case QDF_OCB_MODE:
-		ol_txrx_clear_peer(WLAN_HDD_GET_STATION_CTX_PTR(adapter)->
-			conn_info.staId[0]);
+		cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+			cds_get_context(QDF_MODULE_ID_TXRX),
+			WLAN_HDD_GET_STATION_CTX_PTR(adapter)->conn_info.staId[0]);
 		break;
 	default:
 		break;
@@ -7411,9 +7412,9 @@ static int hdd_pre_enable_configure(hdd_context_t *hdd_ctx)
 	int ret;
 	QDF_STATUS status;
 	tSirRetStatus hal_status;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
 
-	ol_txrx_register_pause_cb(wlan_hdd_txrx_pause_cb);
-
+	cdp_register_pause_cb(soc, wlan_hdd_txrx_pause_cb);
 	/*
 	 * Set 802.11p config
 	 * TODO-OCB: This has been temporarily added here to ensure this

+ 9 - 7
core/hdd/src/wlan_hdd_ocb.c

@@ -42,7 +42,7 @@
 #include "wlan_tgt_def_config.h"
 #include "sch_api.h"
 #include "wma_api.h"
-#include "ol_txrx.h"
+#include <cdp_txrx_cmn.h>
 #include <cdp_txrx_peer_ops.h>
 
 /* Structure definitions for WLAN_SET_DOT11P_CHANNEL_SCHED */
@@ -252,10 +252,12 @@ static int hdd_ocb_register_sta(hdd_adapter_t *adapter)
 	hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
 	uint8_t peer_id;
 	struct ol_txrx_ops txrx_ops;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 
-	qdf_status = ol_txrx_register_ocb_peer(hdd_ctx->pcds_context,
-					       adapter->macAddressCurrent.bytes,
-					       &peer_id);
+	qdf_status = cdp_peer_register_ocb_peer(soc, hdd_ctx->pcds_context,
+				adapter->macAddressCurrent.bytes,
+				&peer_id);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 		hdd_err("Error registering OCB Self Peer!");
 		return -EINVAL;
@@ -269,12 +271,12 @@ static int hdd_ocb_register_sta(hdd_adapter_t *adapter)
 	/* Register the vdev transmit and receive functions */
 	qdf_mem_zero(&txrx_ops, sizeof(txrx_ops));
 	txrx_ops.rx.rx = hdd_rx_packet_cbk;
-	ol_txrx_vdev_register(
-		 ol_txrx_get_vdev_from_vdev_id(adapter->sessionId),
+	cdp_vdev_register(soc,
+		 cdp_get_vdev_from_vdev_id(soc, pdev, adapter->sessionId),
 		 adapter, &txrx_ops);
 	adapter->tx_fn = txrx_ops.tx.tx;
 
-	qdf_status = ol_txrx_register_peer(&sta_desc);
+	qdf_status = cdp_peer_register(soc, pdev, &sta_desc);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 		hdd_err("Failed to register. Status= %d [0x%08X]",
 		       qdf_status, qdf_status);

+ 15 - 9
core/hdd/src/wlan_hdd_softap_tx_rx.c

@@ -38,9 +38,10 @@
 #include <net/ieee80211_radiotap.h>
 #include <cds_sched.h>
 #include <wlan_hdd_napi.h>
-#include <ol_txrx.h>
+#include <cdp_txrx_cmn.h>
 #include <cdp_txrx_peer_ops.h>
 #include <cds_utils.h>
+#include <cdp_txrx_flow_ctrl_v2.h>
 
 #ifdef IPA_OFFLOAD
 #include <wlan_hdd_ipa.h>
@@ -343,7 +344,7 @@ static int __hdd_softap_hard_start_xmit(struct sk_buff *skb,
 			(uint8_t *)&skb->data[QDF_DP_TRACE_RECORD_SIZE],
 			(qdf_nbuf_len(skb)-QDF_DP_TRACE_RECORD_SIZE), QDF_TX));
 
-	if (pAdapter->tx_fn(ol_txrx_get_vdev_by_sta_id(STAId),
+	if (pAdapter->tx_fn(pAdapter->txrx_vdev,
 		 (qdf_nbuf_t) skb) != NULL) {
 		QDF_TRACE(QDF_MODULE_ID_HDD_SAP_DATA, QDF_TRACE_LEVEL_WARN,
 			  "%s: Failed to send packet to txrx for staid:%d",
@@ -436,7 +437,7 @@ static void __hdd_softap_tx_timeout(struct net_device *dev)
 	}
 
 	wlan_hdd_display_netif_queue_history(hdd_ctx);
-	ol_tx_dump_flow_pool_info();
+	cdp_dump_flow_pool_info(cds_get_context(QDF_MODULE_ID_SOC));
 	QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_ERROR,
 			"carrier state: %d", netif_carrier_ok(dev));
 }
@@ -678,10 +679,11 @@ QDF_STATUS hdd_softap_deregister_sta(hdd_adapter_t *pAdapter, uint8_t staId)
 	 * structures. This helps to block RX frames from other
 	 * station to this station.
 	 */
-	qdf_status = ol_txrx_clear_peer(staId);
+	qdf_status = cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+			cds_get_context(QDF_MODULE_ID_TXRX), staId);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 		QDF_TRACE(QDF_MODULE_ID_HDD_SAP_DATA, QDF_TRACE_LEVEL_ERROR,
-			  "ol_txrx_clear_peer() failed to for staID %d.  "
+			  "cdp_peer_clear() failed to for staID %d.  "
 			  "Status= %d [0x%08X]", staId, qdf_status, qdf_status);
 	}
 
@@ -722,6 +724,8 @@ QDF_STATUS hdd_softap_register_sta(hdd_adapter_t *pAdapter,
 	struct ol_txrx_desc_type staDesc = { 0 };
 	hdd_context_t *pHddCtx = pAdapter->pHddCtx;
 	struct ol_txrx_ops txrx_ops;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 
 	/*
 	 * Clean up old entry if it is not cleaned up properly
@@ -750,15 +754,17 @@ QDF_STATUS hdd_softap_register_sta(hdd_adapter_t *pAdapter,
 	/* Register the vdev transmit and receive functions */
 	qdf_mem_zero(&txrx_ops, sizeof(txrx_ops));
 	txrx_ops.rx.rx = hdd_softap_rx_packet_cbk;
-	ol_txrx_vdev_register(
-		 ol_txrx_get_vdev_from_vdev_id(pAdapter->sessionId),
+	cdp_vdev_register(soc,
+		 cdp_get_vdev_from_vdev_id(soc, pdev, pAdapter->sessionId),
 		 pAdapter, &txrx_ops);
+	pAdapter->txrx_vdev = cdp_get_vdev_from_vdev_id(soc, pdev,
+					pAdapter->sessionId);
 	pAdapter->tx_fn = txrx_ops.tx.tx;
 
-	qdf_status = ol_txrx_register_peer(&staDesc);
+	qdf_status = cdp_peer_register(soc, pdev, &staDesc);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 		QDF_TRACE(QDF_MODULE_ID_HDD_SAP_DATA, QDF_TRACE_LEVEL_ERROR,
-			  "SOFTAP ol_txrx_register_peer() failed to register.  Status= %d [0x%08X]",
+			  "SOFTAP cdp_peer_register() failed to register.  Status= %d [0x%08X]",
 			  qdf_status, qdf_status);
 		return qdf_status;
 	}

+ 16 - 13
core/hdd/src/wlan_hdd_tx_rx.c

@@ -51,8 +51,9 @@
 #include <wlan_hdd_ipa.h>
 #include "wlan_hdd_ocb.h"
 #include "wlan_hdd_lro.h"
-#include "cdp_txrx_peer_ops.h"
-#include "ol_txrx.h"
+#include <cdp_txrx_cmn.h>
+#include <cdp_txrx_peer_ops.h>
+#include <cdp_txrx_flow_ctrl_v2.h>
 #include "wlan_hdd_nan_datapath.h"
 #include "pld_common.h"
 
@@ -215,9 +216,8 @@ void hdd_register_tx_flow_control(hdd_adapter_t *adapter,
 			  adapter);
 		adapter->tx_flow_timer_initialized = true;
 	}
-	ol_txrx_register_tx_flow_control(adapter->sessionId,
-					flow_control_fp,
-					adapter);
+	cdp_fc_register(cds_get_context(QDF_MODULE_ID_SOC),
+		adapter->sessionId, flow_control_fp, adapter);
 
 }
 
@@ -229,7 +229,8 @@ void hdd_register_tx_flow_control(hdd_adapter_t *adapter,
  */
 void hdd_deregister_tx_flow_control(hdd_adapter_t *adapter)
 {
-	ol_txrx_deregister_tx_flow_control_cb(adapter->sessionId);
+	cdp_fc_deregister(cds_get_context(QDF_MODULE_ID_SOC),
+			adapter->sessionId);
 	if (adapter->tx_flow_timer_initialized == true) {
 		qdf_mc_timer_stop(&adapter->tx_flow_control_timer);
 		qdf_mc_timer_destroy(&adapter->tx_flow_control_timer);
@@ -249,7 +250,7 @@ void hdd_get_tx_resource(hdd_adapter_t *adapter,
 			uint8_t STAId, uint16_t timer_value)
 {
 	if (false ==
-	    ol_txrx_get_tx_resource(STAId,
+	    cdp_fc_get_tx_resource(cds_get_context(QDF_MODULE_ID_SOC), STAId,
 				   adapter->tx_flow_low_watermark,
 				   adapter->tx_flow_high_watermark_offset)) {
 		hdd_info("Disabling queues lwm %d hwm offset %d",
@@ -587,7 +588,7 @@ static int __hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 		goto drop_pkt;
 	}
 
-	if (pAdapter->tx_fn(ol_txrx_get_vdev_by_sta_id(STAId),
+	if (pAdapter->tx_fn(pAdapter->txrx_vdev,
 		 (qdf_nbuf_t) skb) != NULL) {
 		QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_WARN,
 			  "%s: Failed to send packet to txrx for staid:%d",
@@ -707,7 +708,7 @@ static void __hdd_tx_timeout(struct net_device *dev)
 		  "carrier state: %d", netif_carrier_ok(dev));
 	hdd_ctx = WLAN_HDD_GET_CTX(adapter);
 	wlan_hdd_display_netif_queue_history(hdd_ctx);
-	ol_tx_dump_flow_pool_info();
+	cdp_dump_flow_pool_info(cds_get_context(QDF_MODULE_ID_SOC));
 }
 
 /**
@@ -1305,6 +1306,8 @@ int hdd_set_mon_rx_cb(struct net_device *dev)
 	QDF_STATUS qdf_status;
 	struct ol_txrx_desc_type sta_desc = {0};
 	struct ol_txrx_ops txrx_ops;
+	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
+	void *pdev = cds_get_context(QDF_MODULE_ID_TXRX);
 
 	ret = wlan_hdd_validate_context(hdd_ctx);
 	if (0 != ret)
@@ -1312,13 +1315,13 @@ int hdd_set_mon_rx_cb(struct net_device *dev)
 
 	qdf_mem_zero(&txrx_ops, sizeof(txrx_ops));
 	txrx_ops.rx.rx = hdd_mon_rx_packet_cbk;
-	ol_txrx_vdev_register(
-		 ol_txrx_get_vdev_from_vdev_id(adapter->sessionId),
+	cdp_vdev_register(soc,
+		 cdp_get_vdev_from_vdev_id(soc, pdev, adapter->sessionId),
 		 adapter, &txrx_ops);
 	/* peer is created wma_vdev_attach->wma_create_peer */
-	qdf_status = ol_txrx_register_peer(&sta_desc);
+	qdf_status = cdp_peer_register(soc, pdev, &sta_desc);
 	if (QDF_STATUS_SUCCESS != qdf_status) {
-		hdd_err("WLANTL_RegisterSTAClient() failed to register. Status= %d [0x%08X]",
+		hdd_err("cdp_peer_register() failed to register. Status= %d [0x%08X]",
 			qdf_status, qdf_status);
 		goto exit;
 	}

+ 5 - 4
core/hdd/src/wlan_hdd_wext.c

@@ -655,8 +655,8 @@ void hdd_wlan_get_stats(hdd_adapter_t *pAdapter, uint16_t *length,
 		pStats->txflow_pause_cnt,
 		pStats->txflow_unpause_cnt);
 
-	len += ol_txrx_stats(pAdapter->sessionId,
-		&buffer[len], (buf_len - len));
+	len += cdp_stats(cds_get_context(QDF_MODULE_ID_SOC),
+		pAdapter->sessionId, &buffer[len], (buf_len - len));
 
 	len += hdd_napi_stats(buffer + len, buf_len - len,
 			   NULL, hdd_napi_get_all());
@@ -725,7 +725,7 @@ void hdd_wlan_dump_stats(hdd_adapter_t *adapter, int value)
 		hdd_lro_display_stats(hdd_ctx);
 		break;
 	default:
-		ol_txrx_display_stats(value);
+		cdp_display_stats(cds_get_context(QDF_MODULE_ID_SOC), value);
 		break;
 	}
 }
@@ -5957,7 +5957,8 @@ static int __iw_setint_getnone(struct net_device *dev,
 			hdd_clear_hif_stats();
 			break;
 		default:
-			ol_txrx_clear_stats(set_value);
+			cdp_clear_stats(cds_get_context(QDF_MODULE_ID_SOC),
+						set_value);
 		}
 		break;
 	}