mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
qcacmn: Add RX defrag timeout handler
Add tid to the defrag waitlist & timeout if further fragments are not received. Change-Id: Iff2d2c23fe796cf70bcc6aa43ab02a308a33ee9f CRs-Fixed: 2174750
This commit is contained in:
parent
7e69eaa303
commit
fc2f91b86a
6 changed files with 121 additions and 30 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
|
|
@ -187,6 +187,7 @@
|
|||
#define WLAN_CFG_HTT_PKT_TYPE 2
|
||||
#define WLAN_CFG_MAX_PEER_ID 64
|
||||
|
||||
#define WLAN_CFG_RX_DEFRAG_TIMEOUT 100
|
||||
|
||||
#ifdef CONFIG_MCL
|
||||
static const int tx_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS] = {
|
||||
|
|
@ -351,6 +352,9 @@ struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach()
|
|||
/*Enable checksum offload by default*/
|
||||
wlan_cfg_ctx->tcp_udp_checksumoffload = 1;
|
||||
|
||||
wlan_cfg_ctx->defrag_timeout_check = 1;
|
||||
wlan_cfg_ctx->rx_defrag_min_timeout = WLAN_CFG_RX_DEFRAG_TIMEOUT;
|
||||
|
||||
return wlan_cfg_ctx;
|
||||
}
|
||||
|
||||
|
|
@ -697,6 +701,17 @@ int wlan_cfg_get_checksum_offload(struct wlan_cfg_dp_soc_ctxt *cfg)
|
|||
{
|
||||
return cfg->tcp_udp_checksumoffload;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_rx_defrag_min_timeout(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->rx_defrag_min_timeout;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_defrag_timeout_check(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->defrag_timeout_check;
|
||||
}
|
||||
|
||||
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
|
||||
/**
|
||||
* wlan_cfg_get_tx_flow_stop_queue_th() - Get flow control stop threshold
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved.
|
||||
* * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
|
|
@ -146,11 +146,13 @@ struct wlan_cfg_dp_soc_ctxt {
|
|||
bool tso_enabled;
|
||||
bool napi_enabled;
|
||||
bool tcp_udp_checksumoffload;
|
||||
bool defrag_timeout_check;
|
||||
int nss_cfg;
|
||||
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
|
||||
uint32_t tx_flow_stop_queue_threshold;
|
||||
uint32_t tx_flow_start_queue_offset;
|
||||
#endif
|
||||
uint32_t rx_defrag_min_timeout;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -663,4 +665,7 @@ int wlan_cfg_get_tx_flow_stop_queue_th(struct wlan_cfg_dp_soc_ctxt *cfg);
|
|||
|
||||
int wlan_cfg_get_tx_flow_start_queue_offset(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
#endif /* QCA_LL_TX_FLOW_CONTROL_V2 */
|
||||
int wlan_cfg_get_rx_defrag_min_timeout(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
int wlan_cfg_get_defrag_timeout_check(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue