Преглед изворни кода

qcacld-3.0: Add INI support to handle latency critical clients

Add a new ini to enable/disable the handling of the
latency critical clients (eg: 11g/a) in the bus
bandwidth timer.

Change-Id: I4b8966aa29ffc2ca236098cb83b8db0e160b776b
CRs-Fixed: 2695042
Rakesh Pillai пре 4 година
родитељ
комит
79098d2cc9
3 измењених фајлова са 27 додато и 1 уклоњено
  1. 24 1
      core/hdd/inc/hdd_dp_cfg.h
  2. 1 0
      core/hdd/inc/wlan_hdd_cfg.h
  3. 2 0
      core/hdd/src/wlan_hdd_tx_rx.c

+ 24 - 1
core/hdd/inc/hdd_dp_cfg.h

@@ -673,6 +673,27 @@
 		CFG_VALUE_OR_DEFAULT, \
 		"Threshold to trigger GRO flush skip for low T-put")
 
+/*
+ * <ini>
+ * gHandleLatencyCriticalClients - Enable the handling of latency critical
+ *			     clients in bus bandwidth timer.
+ * @Default: false
+ *
+ * This ini enables the handling of latency critical clients, eg: 11g/a
+ * clients, when they are running their corresponding peak throughput.
+ *
+ * Supported Feature: Latency critical clients in host
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_DP_BUS_HANDLE_LATENCY_CRITICAL_CLIENTS \
+		CFG_INI_BOOL( \
+		"gHandleLatencyCriticalClients", \
+		false, \
+		"Control to enable latency critical clients")
+
 #endif /*WLAN_FEATURE_DP_BUS_BANDWIDTH*/
 
 #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK
@@ -1378,7 +1399,9 @@
 	CFG(CFG_DP_TCP_DELACK_THRESHOLD_LOW) \
 	CFG(CFG_DP_TCP_DELACK_TIMER_COUNT) \
 	CFG(CFG_DP_TCP_TX_HIGH_TPUT_THRESHOLD) \
-	CFG(CFG_DP_BUS_LOW_BW_CNT_THRESHOLD)
+	CFG(CFG_DP_BUS_LOW_BW_CNT_THRESHOLD) \
+	CFG(CFG_DP_BUS_HANDLE_LATENCY_CRITICAL_CLIENTS)
+
 #else
 #define CFG_HDD_DP_BUS_BANDWIDTH
 #endif

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

@@ -171,6 +171,7 @@ struct hdd_config {
 	uint32_t tcp_delack_timer_count;
 	bool     enable_tcp_param_update;
 	uint32_t bus_low_cnt_threshold;
+	bool enable_latency_crit_clients;
 #endif /*WLAN_FEATURE_DP_BUS_BANDWIDTH*/
 
 #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK

+ 2 - 0
core/hdd/src/wlan_hdd_tx_rx.c

@@ -3069,6 +3069,8 @@ static void hdd_ini_bus_bandwidth(struct hdd_config *config,
 		cfg_get(psoc, CFG_DP_BUS_BANDWIDTH_COMPUTE_INTERVAL);
 	config->bus_low_cnt_threshold =
 		cfg_get(psoc, CFG_DP_BUS_LOW_BW_CNT_THRESHOLD);
+	config->enable_latency_crit_clients =
+		cfg_get(psoc, CFG_DP_BUS_HANDLE_LATENCY_CRITICAL_CLIENTS);
 }
 
 /**