소스 검색

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
Nirav Shah 9 년 전
부모
커밋
11dbd38e50
7개의 변경된 파일0개의 추가작업 그리고 99개의 파일을 삭제
  1. 0 14
      Kbuild
  2. 0 21
      core/dp/txrx/ol_tx_desc.c
  3. 0 3
      core/dp/txrx/ol_txrx.c
  4. 0 4
      core/dp/txrx/ol_txrx.h
  5. 0 7
      core/dp/txrx/ol_txrx_types.h
  6. 0 24
      core/hdd/src/wlan_hdd_softap_tx_rx.c
  7. 0 26
      core/hdd/src/wlan_hdd_tx_rx.c

+ 0 - 14
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

+ 0 - 21
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);
 }
 

+ 0 - 3
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);

+ 0 - 4
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

+ 0 - 7
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)

+ 0 - 24
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 */

+ 0 - 26
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;
 }