qcacld-3.0: Separate TcpDelAck and TcpAdvWinScale
Separate tcp-del-act and tcp-advanced-window-scaling triggers so that these system parameters can be set separately. Change-Id: If2f869243152e698409e8a38459f5fabe44f35cb CRs-Fixed: 1115614
This commit is contained in:

committed by
snandini

szülő
85761e64ca
commit
c13cb5bdb3
@@ -6426,6 +6426,8 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (hdd_ctx->cur_rx_level != next_rx_level) {
|
if (hdd_ctx->cur_rx_level != next_rx_level) {
|
||||||
|
struct wlan_rx_tp_data rx_tp_data = {0};
|
||||||
|
|
||||||
hdd_debug("TCP DELACK trigger level %d, average_rx: %llu",
|
hdd_debug("TCP DELACK trigger level %d, average_rx: %llu",
|
||||||
next_rx_level, temp_rx);
|
next_rx_level, temp_rx);
|
||||||
hdd_ctx->cur_rx_level = next_rx_level;
|
hdd_ctx->cur_rx_level = next_rx_level;
|
||||||
@@ -6436,10 +6438,13 @@ static void hdd_pld_request_bus_bandwidth(struct hdd_context *hdd_ctx,
|
|||||||
* dynamic delayed ack mechanism across the system
|
* dynamic delayed ack mechanism across the system
|
||||||
*/
|
*/
|
||||||
if (hdd_ctx->config->enable_tcp_delack)
|
if (hdd_ctx->config->enable_tcp_delack)
|
||||||
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index,
|
rx_tp_data.rx_tp_flags |= TCP_DEL_ACK_IND;
|
||||||
WLAN_SVC_WLAN_TP_IND,
|
|
||||||
&next_rx_level,
|
rx_tp_data.rx_tp_flags |= TCP_ADV_WIN_SCL;
|
||||||
sizeof(next_rx_level));
|
rx_tp_data.level = next_rx_level;
|
||||||
|
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index,
|
||||||
|
WLAN_SVC_WLAN_TP_IND, &rx_tp_data,
|
||||||
|
sizeof(rx_tp_data));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* fine-tuning parameters for TX Flows */
|
/* fine-tuning parameters for TX Flows */
|
||||||
@@ -6660,9 +6665,11 @@ void hdd_bus_bw_cancel_work(struct hdd_context *hdd_ctx)
|
|||||||
|
|
||||||
void hdd_send_wlan_tp_ind(struct hdd_context *hdd_ctx)
|
void hdd_send_wlan_tp_ind(struct hdd_context *hdd_ctx)
|
||||||
{
|
{
|
||||||
|
struct wlan_rx_tp_data rx_tp_data = {0};
|
||||||
|
|
||||||
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index,
|
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index,
|
||||||
WLAN_SVC_WLAN_TP_IND, &hdd_ctx->cur_rx_level,
|
WLAN_SVC_WLAN_TP_IND, &rx_tp_data,
|
||||||
sizeof(hdd_ctx->cur_rx_level));
|
sizeof(rx_tp_data));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1894,10 +1894,14 @@ void hdd_send_rps_disable_ind(struct hdd_adapter *adapter)
|
|||||||
*/
|
*/
|
||||||
void hdd_reset_tcp_delack(struct hdd_context *hdd_ctx)
|
void hdd_reset_tcp_delack(struct hdd_context *hdd_ctx)
|
||||||
{
|
{
|
||||||
enum pld_bus_width_type next_level = PLD_BUS_WIDTH_LOW;
|
enum pld_bus_width_type next_level = WLAN_SVC_TP_LOW;
|
||||||
|
struct wlan_rx_tp_data rx_tp_data = {0};
|
||||||
|
|
||||||
|
rx_tp_data.rx_tp_flags |= TCP_DEL_ACK_IND;
|
||||||
|
rx_tp_data.rx_tp_flags |= TCP_ADV_WIN_SCL;
|
||||||
|
rx_tp_data.level = next_level;
|
||||||
hdd_ctx->rx_high_ind_cnt = 0;
|
hdd_ctx->rx_high_ind_cnt = 0;
|
||||||
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, WLAN_SVC_WLAN_TP_IND,
|
wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, WLAN_SVC_WLAN_TP_IND,
|
||||||
&next_level, sizeof(next_level));
|
&rx_tp_data, sizeof(rx_tp_data));
|
||||||
}
|
}
|
||||||
#endif /* MSM_PLATFORM */
|
#endif /* MSM_PLATFORM */
|
||||||
|
Reference in New Issue
Block a user