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
This commit is contained in:
Nirav Shah
2015-09-28 11:17:04 -07:00
committed by Satish Singh
parent 9d7f2e8b79
commit 6ea4ca5f0d
7 changed files with 0 additions and 99 deletions

14
Kbuild
View File

@@ -164,15 +164,6 @@ ifeq ($(CONFIG_ROME_IF),usb)
CONFIG_ATH_11AC_TXCOMPACT := 0 CONFIG_ATH_11AC_TXCOMPACT := 0
endif 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 #Enable OS specific IRQ abstraction
CONFIG_ATH_SUPPORT_SHARED_IRQ := 1 CONFIG_ATH_SUPPORT_SHARED_IRQ := 1
@@ -1072,11 +1063,6 @@ ifeq ($(CONFIG_ATH_11AC_TXCOMPACT), 1)
CDEFINES += -DATH_11AC_TXCOMPACT CDEFINES += -DATH_11AC_TXCOMPACT
endif 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 #Enable OS specific IRQ abstraction
ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1) ifeq ($(CONFIG_ATH_SUPPORT_SHARED_IRQ), 1)
CDEFINES += -DATH_SUPPORT_SHARED_IRQ CDEFINES += -DATH_SUPPORT_SHARED_IRQ

View File

@@ -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); ol_tx_desc_compute_delay(tx_desc);
} }
cdf_spin_unlock_bh(&pdev->tx_mutex); 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; 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_desc_reset_timestamp(tx_desc);
ol_tx_put_desc_global_pool(pdev, 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); cdf_spin_unlock_bh(&pdev->tx_mutex);
} }

View File

@@ -965,9 +965,6 @@ ol_txrx_vdev_attach(ol_txrx_pdev_handle pdev,
vdev->safemode = 0; vdev->safemode = 0;
vdev->drop_unenc = 1; vdev->drop_unenc = 1;
vdev->num_filters = 0; 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, cdf_mem_copy(&vdev->mac_addr.raw[0], vdev_mac_addr,
OL_TXRX_MAC_ADDR_LEN); OL_TXRX_MAC_ADDR_LEN);

View File

@@ -39,10 +39,6 @@ void ol_txrx_peer_unref_delete(struct ol_txrx_peer_t *peer);
#define OL_TX_AVG_FRM_BYTES 1000 #define OL_TX_AVG_FRM_BYTES 1000
#endif #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 * ol_txrx_get_vdev_from_vdev_id() - get vdev from vdev_id
* @vdev_id: vdev_id * @vdev_id: vdev_id

View File

@@ -162,9 +162,6 @@ struct ol_tx_desc_t {
after tx complete */ after tx complete */
uint8_t orig_l2_hdr_bytes; uint8_t orig_l2_hdr_bytes;
#endif #endif
#if defined(CONFIG_PER_VDEV_TX_DESC_POOL)
struct ol_txrx_vdev_t *vdev;
#endif
#ifdef QCA_LL_TX_FLOW_CONTROL_V2 #ifdef QCA_LL_TX_FLOW_CONTROL_V2
struct ol_tx_flow_pool_t *pool; struct ol_tx_flow_pool_t *pool;
#endif #endif
@@ -852,10 +849,6 @@ struct ol_txrx_vdev_t {
cdf_spinlock_t flow_control_lock; cdf_spinlock_t flow_control_lock;
ol_txrx_tx_flow_control_fp osif_flow_control_cb; ol_txrx_tx_flow_control_fp osif_flow_control_cb;
void *osif_fc_ctx; 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; uint16_t wait_on_peer_id;
cdf_event_t wait_delete_comp; cdf_event_t wait_delete_comp;
#if defined(FEATURE_TSO) #if defined(FEATURE_TSO)

View File

@@ -148,30 +148,6 @@ void hdd_softap_tx_resume_cb(void *adapter_context, bool tx_resume)
WLAN_WAKE_ALL_NETIF_QUEUE, WLAN_WAKE_ALL_NETIF_QUEUE,
WLAN_DATA_FLOW_CONTROL); 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; return;
} }
#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */ #endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */

View File

@@ -142,32 +142,6 @@ void hdd_tx_resume_cb(void *adapter_context, bool tx_resume)
WLAN_WAKE_ALL_NETIF_QUEUE, WLAN_WAKE_ALL_NETIF_QUEUE,
WLAN_DATA_FLOW_CONTROL); 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; return;
} }