From fdb45c3014288156e6927b3fa5aa5994305cd8c5 Mon Sep 17 00:00:00 2001 From: Leo Chang Date: Fri, 28 Oct 2016 11:09:23 -0700 Subject: [PATCH] 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 --- core/hdd/inc/wlan_hdd_assoc.h | 1 - core/hdd/inc/wlan_hdd_includes.h | 3 +- core/hdd/inc/wlan_hdd_ipa.h | 2 +- core/hdd/inc/wlan_hdd_main.h | 8 +-- core/hdd/inc/wlan_hdd_napi.h | 6 ++- core/hdd/inc/wlan_hdd_tx_rx.h | 1 - core/hdd/src/wlan_hdd_assoc.c | 79 +++++++++++++++++----------- core/hdd/src/wlan_hdd_cfg80211.c | 12 +++-- core/hdd/src/wlan_hdd_driver_ops.c | 16 +++--- core/hdd/src/wlan_hdd_hostapd.c | 5 +- core/hdd/src/wlan_hdd_ipa.c | 34 ++++++------ core/hdd/src/wlan_hdd_lro.c | 7 +-- core/hdd/src/wlan_hdd_main.c | 9 ++-- core/hdd/src/wlan_hdd_ocb.c | 16 +++--- core/hdd/src/wlan_hdd_softap_tx_rx.c | 24 +++++---- core/hdd/src/wlan_hdd_tx_rx.c | 29 +++++----- core/hdd/src/wlan_hdd_wext.c | 9 ++-- 17 files changed, 153 insertions(+), 108 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_assoc.h b/core/hdd/inc/wlan_hdd_assoc.h index 22022df74105..5f1b093f19e8 100644 --- a/core/hdd/inc/wlan_hdd_assoc.h +++ b/core/hdd/inc/wlan_hdd_assoc.h @@ -36,7 +36,6 @@ /* Include files */ #include #include -#include "ol_txrx_ctrl_api.h" #include "cdp_txrx_peer_ops.h" #include #include diff --git a/core/hdd/inc/wlan_hdd_includes.h b/core/hdd/inc/wlan_hdd_includes.h index 4eead672404f..0ec9a75f67a5 100644 --- a/core/hdd/inc/wlan_hdd_includes.h +++ b/core/hdd/inc/wlan_hdd_includes.h @@ -50,14 +50,13 @@ #include #include #include -#include "ol_txrx_ctrl_api.h" #include #include #include "wlan_hdd_assoc.h" #include "wlan_hdd_wext.h" #include "wlan_hdd_main.h" #include "wlan_hdd_tx_rx.h" - +#include #ifdef FEATURE_OEM_DATA_SUPPORT /*include for oem data req specific structures*/ diff --git a/core/hdd/inc/wlan_hdd_ipa.h b/core/hdd/inc/wlan_hdd_ipa.h index b2bf9803e6da..8b1272cc0cf2 100644 --- a/core/hdd/inc/wlan_hdd_ipa.h +++ b/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; } diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 13572103286b..b043befeca29 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -59,8 +59,6 @@ #include "wlan_hdd_cfg80211.h" #include #include "sap_api.h" -#include "ol_txrx_osif_api.h" -#include "ol_txrx_ctrl_api.h" #include #include "cdp_txrx_flow_ctrl_legacy.h" #include @@ -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; } diff --git a/core/hdd/inc/wlan_hdd_napi.h b/core/hdd/inc/wlan_hdd_napi.h index 3e81ef6dae01..81f973405d1f 100644 --- a/core/hdd/inc/wlan_hdd_napi.h +++ b/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__ */ diff --git a/core/hdd/inc/wlan_hdd_tx_rx.h b/core/hdd/inc/wlan_hdd_tx_rx.h index 0352cdb8add1..451bbb29a508 100644 --- a/core/hdd/inc/wlan_hdd_tx_rx.h +++ b/core/hdd/inc/wlan_hdd_tx_rx.h @@ -38,7 +38,6 @@ #include #include #include -#include "ol_txrx_osif_api.h" #include "cdp_txrx_flow_ctrl_legacy.h" #define HDD_ETHERTYPE_802_1_X 0x888E diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 590a9bbb10df..799d6c7ac476 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -52,17 +52,16 @@ #include "wlan_hdd_hostapd.h" #include #include "wlan_hdd_lpass.h" +#include #include #include "cds_concurrency.h" #include #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 +#include +#include +#include /* 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->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 = ol_txrx_register_peer(&staDesc); - + 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; } diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 9c5d3bc2b7c3..bd5599077a67 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/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 @@ -100,6 +99,9 @@ #include "wlan_hdd_nan_datapath.h" #include "wlan_hdd_disa.h" +#include +#include + #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; diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c index 20290b8f9280..fefccff259c0 100644 --- a/core/hdd/src/wlan_hdd_driver_ops.c +++ b/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; } diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 239fd3edb97c..3dbca7fade6e 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/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; } diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 510a5717088f..406ba1abca74 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -48,7 +48,6 @@ #include #include #include -#include #include #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) || diff --git a/core/hdd/src/wlan_hdd_lro.c b/core/hdd/src/wlan_hdd_lro.c index 586e0b717135..eafa0fc997a7 100644 --- a/core/hdd/src/wlan_hdd_lro.c +++ b/core/hdd/src/wlan_hdd_lro.c @@ -38,8 +38,6 @@ #include #include #include -#include -#include #include #include @@ -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; } diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index ce0e257fa24e..077be9a5343a 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/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 diff --git a/core/hdd/src/wlan_hdd_ocb.c b/core/hdd/src/wlan_hdd_ocb.c index 64ac5a0ebb42..c6e5d4245f0c 100644 --- a/core/hdd/src/wlan_hdd_ocb.c +++ b/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 #include /* 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); diff --git a/core/hdd/src/wlan_hdd_softap_tx_rx.c b/core/hdd/src/wlan_hdd_softap_tx_rx.c index f5c670d1174f..f388a089d650 100644 --- a/core/hdd/src/wlan_hdd_softap_tx_rx.c +++ b/core/hdd/src/wlan_hdd_softap_tx_rx.c @@ -38,9 +38,10 @@ #include #include #include -#include +#include #include #include +#include #ifdef IPA_OFFLOAD #include @@ -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; } diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 93283605640c..dab803bf91a4 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -51,8 +51,9 @@ #include #include "wlan_hdd_ocb.h" #include "wlan_hdd_lro.h" -#include "cdp_txrx_peer_ops.h" -#include "ol_txrx.h" +#include +#include +#include #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; } diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index cffa762b6476..8b70093c2ad4 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/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; }