From 6ea4ca5f0da3d09d9286bf0afb0b8e6408a8652a Mon Sep 17 00:00:00 2001 From: Nirav Shah Date: Mon, 28 Sep 2015 11:17:04 -0700 Subject: [PATCH] qcacld-3.0: Remove per vdev tx descriptor pool Remove per vdev tx descriptor pool feature as it is applicable only for High Latency. CRs-Fixed: 916724 Change-Id: I22ab3dd187518790694356bdde8475b194845bf5 --- Kbuild | 14 -------------- core/dp/txrx/ol_tx_desc.c | 21 --------------------- core/dp/txrx/ol_txrx.c | 3 --- core/dp/txrx/ol_txrx.h | 4 ---- core/dp/txrx/ol_txrx_types.h | 7 ------- core/hdd/src/wlan_hdd_softap_tx_rx.c | 24 ------------------------ core/hdd/src/wlan_hdd_tx_rx.c | 26 -------------------------- 7 files changed, 99 deletions(-) diff --git a/Kbuild b/Kbuild index 825909f521cd..e21632faec12 100644 --- a/Kbuild +++ b/Kbuild @@ -164,15 +164,6 @@ ifeq ($(CONFIG_ROME_IF),usb) CONFIG_ATH_11AC_TXCOMPACT := 0 endif -#Enable per vdev Tx desc pool -ifeq ($(CONFIG_ROME_IF),pci) - CONFIG_PER_VDEV_TX_DESC_POOL := 0 -endif -ifeq ($(CONFIG_ROME_IF),usb) - CONFIG_PER_VDEV_TX_DESC_POOL := 1 -endif - - #Enable OS specific IRQ abstraction CONFIG_ATH_SUPPORT_SHARED_IRQ := 1 @@ -1072,11 +1063,6 @@ ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1) CDEFINES += -DATH_11AC_TXCOMPACT endif -#Enable per vdev Tx desc pool -ifeq ($(CONFIG_PER_VDEV_TX_DESC_POOL), 1) -CDEFINES += -DCONFIG_PER_VDEV_TX_DESC_POOL -endif - #Enable OS specific IRQ abstraction ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1) CDEFINES += -DATH_SUPPORT_SHARED_IRQ diff --git a/core/dp/txrx/ol_tx_desc.c b/core/dp/txrx/ol_tx_desc.c index 4b80f5c37555..591b66026bfc 100644 --- a/core/dp/txrx/ol_tx_desc.c +++ b/core/dp/txrx/ol_tx_desc.c @@ -127,14 +127,6 @@ struct ol_tx_desc_t *ol_tx_desc_alloc(struct ol_txrx_pdev_t *pdev, ol_tx_desc_compute_delay(tx_desc); } cdf_spin_unlock_bh(&pdev->tx_mutex); - if (!tx_desc) - return NULL; - -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) - tx_desc->vdev = vdev; - cdf_atomic_inc(&vdev->tx_desc_count); -#endif - return tx_desc; } @@ -251,19 +243,6 @@ void ol_tx_desc_free(struct ol_txrx_pdev_t *pdev, struct ol_tx_desc_t *tx_desc) ol_tx_desc_reset_timestamp(tx_desc); ol_tx_put_desc_global_pool(pdev, tx_desc); -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) -#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL - if ((cdf_atomic_read(&tx_desc->vdev->os_q_paused)) && - (cdf_atomic_read(&tx_desc->vdev->tx_desc_count) < - TXRX_HL_TX_FLOW_CTRL_VDEV_LOW_WATER_MARK)) { - /* wakeup netif_queue */ - cdf_atomic_set(&tx_desc->vdev->os_q_paused, 0); - ol_txrx_flow_control_cb(tx_desc->vdev, true); - } -#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */ - cdf_atomic_dec(&tx_desc->vdev->tx_desc_count); - tx_desc->vdev = NULL; -#endif cdf_spin_unlock_bh(&pdev->tx_mutex); } diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 02ab1793afbd..37694a8e78dd 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -965,9 +965,6 @@ ol_txrx_vdev_attach(ol_txrx_pdev_handle pdev, vdev->safemode = 0; vdev->drop_unenc = 1; vdev->num_filters = 0; -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) - cdf_atomic_init(&vdev->tx_desc_count); -#endif cdf_mem_copy(&vdev->mac_addr.raw[0], vdev_mac_addr, OL_TXRX_MAC_ADDR_LEN); diff --git a/core/dp/txrx/ol_txrx.h b/core/dp/txrx/ol_txrx.h index 01590093520f..4e77867ce37f 100644 --- a/core/dp/txrx/ol_txrx.h +++ b/core/dp/txrx/ol_txrx.h @@ -39,10 +39,6 @@ void ol_txrx_peer_unref_delete(struct ol_txrx_peer_t *peer); #define OL_TX_AVG_FRM_BYTES 1000 #endif -#ifdef CONFIG_PER_VDEV_TX_DESC_POOL -#define TXRX_HL_TX_FLOW_CTRL_VDEV_LOW_WATER_MARK 400 -#endif - /** * ol_txrx_get_vdev_from_vdev_id() - get vdev from vdev_id * @vdev_id: vdev_id diff --git a/core/dp/txrx/ol_txrx_types.h b/core/dp/txrx/ol_txrx_types.h index aee96852fe5b..118d9d97bbee 100644 --- a/core/dp/txrx/ol_txrx_types.h +++ b/core/dp/txrx/ol_txrx_types.h @@ -162,9 +162,6 @@ struct ol_tx_desc_t { after tx complete */ uint8_t orig_l2_hdr_bytes; #endif -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) - struct ol_txrx_vdev_t *vdev; -#endif #ifdef QCA_LL_TX_FLOW_CONTROL_V2 struct ol_tx_flow_pool_t *pool; #endif @@ -852,10 +849,6 @@ struct ol_txrx_vdev_t { cdf_spinlock_t flow_control_lock; ol_txrx_tx_flow_control_fp osif_flow_control_cb; void *osif_fc_ctx; - -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) - cdf_atomic_t tx_desc_count; -#endif uint16_t wait_on_peer_id; cdf_event_t wait_delete_comp; #if defined(FEATURE_TSO) diff --git a/core/hdd/src/wlan_hdd_softap_tx_rx.c b/core/hdd/src/wlan_hdd_softap_tx_rx.c index bb85d1703a0e..f50b582a6499 100644 --- a/core/hdd/src/wlan_hdd_softap_tx_rx.c +++ b/core/hdd/src/wlan_hdd_softap_tx_rx.c @@ -148,30 +148,6 @@ void hdd_softap_tx_resume_cb(void *adapter_context, bool tx_resume) WLAN_WAKE_ALL_NETIF_QUEUE, WLAN_DATA_FLOW_CONTROL); } -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) - else if (false == tx_resume) { /* Pause TX */ - hddLog(LOG1, FL("Disabling queues")); - wlan_hdd_netif_queue_control(pAdapter, - WLAN_STOP_ALL_NETIF_QUEUE, - WLAN_DATA_FLOW_CONTROL); - if (CDF_TIMER_STATE_STOPPED == - cdf_mc_timer_get_current_state(&pAdapter-> - tx_flow_control_timer)) { - CDF_STATUS status; - status = - cdf_mc_timer_start(&pAdapter->tx_flow_control_timer, - WLAN_SAP_HDD_TX_FLOW_CONTROL_OS_Q_BLOCK_TIME); - if (!CDF_IS_STATUS_SUCCESS(status)) - CDF_TRACE(CDF_MODULE_ID_HDD, - CDF_TRACE_LEVEL_ERROR, - "%s: Failed to start tx_flow_control_timer", - __func__); - else - pAdapter->hdd_stats.hddTxRxStats.txflow_timer_cnt++; - } - } -#endif - return; } #endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */ diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 0f6c3b9c13db..f5e9c32584ca 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -142,32 +142,6 @@ void hdd_tx_resume_cb(void *adapter_context, bool tx_resume) WLAN_WAKE_ALL_NETIF_QUEUE, WLAN_DATA_FLOW_CONTROL); } -#if defined(CONFIG_PER_VDEV_TX_DESC_POOL) - else if (false == tx_resume) { /* Pause TX */ - hddLog(LOG1, FL("Disabling queues")); - wlan_hdd_netif_queue_control(pAdapter, - WLAN_STOP_ALL_NETIF_QUEUE, - WLAN_DATA_FLOW_CONTROL); - if (CDF_TIMER_STATE_STOPPED == - cdf_mc_timer_get_current_state(&pAdapter-> - tx_flow_control_timer)) { - CDF_STATUS status; - status = - cdf_mc_timer_start(&pAdapter->tx_flow_control_timer, - WLAN_HDD_TX_FLOW_CONTROL_OS_Q_BLOCK_TIME); - if (!CDF_IS_STATUS_SUCCESS(status)) - CDF_TRACE(CDF_MODULE_ID_HDD, - CDF_TRACE_LEVEL_ERROR, - "%s: Failed to start tx_flow_control_timer", - __func__); - else - pAdapter->hdd_stats.hddTxRxStats.txflow_timer_cnt++; - } - pAdapter->hdd_stats.hddTxRxStats.txflow_pause_cnt++; - pAdapter->hdd_stats.hddTxRxStats.is_txflow_paused = true; - } -#endif - return; }