qcacmn: Add INI support to enabling sending ICMP to FW
Add INI support to enable the feature of sending ICMP packets to FW at regular intervals. Change-Id: I888bb2f65e8a497c3e6541f213def905d6dd0727 CRs-Fixed: 2813169
This commit is contained in:
@@ -1046,6 +1046,36 @@
|
|||||||
false, \
|
false, \
|
||||||
"enable rx frame pending check in WoW mode")
|
"enable rx frame pending check in WoW mode")
|
||||||
|
|
||||||
|
#define WLAN_CFG_SEND_ALL_ICMP_REQ_TO_FW (-1)
|
||||||
|
#define WLAN_CFG_SEND_ICMP_REQ_TO_FW 0
|
||||||
|
#define WLAN_CFG_SEND_ICMP_REQ_TO_FW_MIN (-1)
|
||||||
|
#define WLAN_CFG_SEND_ICMP_REQ_TO_FW_MAX 100000
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* send_icmp_pkt_to_fw - Send ICMP Request packet to FW.
|
||||||
|
* @Min: -1
|
||||||
|
* @Max: 100000
|
||||||
|
* @Default: 0
|
||||||
|
*
|
||||||
|
* This ini is used to control DP Software to send ICMP request packets to FW
|
||||||
|
* at certain interval (in milliseconds).
|
||||||
|
* The value 0 is used to disable sending the ICMP requests to FW.
|
||||||
|
* The value -1 is used to send all ICMP requests to FW.
|
||||||
|
* Any value greater than zero indicates the time interval (in milliseconds)
|
||||||
|
* at which ICMP requests should be sent to FW.
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_DP_SEND_ICMP_REQ_TO_FW \
|
||||||
|
CFG_INI_INT("send_icmp_req_to_fw", \
|
||||||
|
WLAN_CFG_SEND_ICMP_REQ_TO_FW_MIN, \
|
||||||
|
WLAN_CFG_SEND_ICMP_REQ_TO_FW_MAX, \
|
||||||
|
WLAN_CFG_SEND_ICMP_REQ_TO_FW, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, "Send ICMP Request packets to FW")
|
||||||
|
|
||||||
#define CFG_DP \
|
#define CFG_DP \
|
||||||
CFG(CFG_DP_HTT_PACKET_TYPE) \
|
CFG(CFG_DP_HTT_PACKET_TYPE) \
|
||||||
CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
|
CFG(CFG_DP_INT_BATCH_THRESHOLD_OTHER) \
|
||||||
@@ -1136,5 +1166,6 @@
|
|||||||
CFG(CFG_DP_RX_RADIO_0_DEFAULT_REO) \
|
CFG(CFG_DP_RX_RADIO_0_DEFAULT_REO) \
|
||||||
CFG(CFG_DP_RX_RADIO_1_DEFAULT_REO) \
|
CFG(CFG_DP_RX_RADIO_1_DEFAULT_REO) \
|
||||||
CFG(CFG_DP_RX_RADIO_2_DEFAULT_REO) \
|
CFG(CFG_DP_RX_RADIO_2_DEFAULT_REO) \
|
||||||
CFG(CFG_DP_WOW_CHECK_RX_PENDING)
|
CFG(CFG_DP_WOW_CHECK_RX_PENDING) \
|
||||||
|
CFG(CFG_DP_SEND_ICMP_REQ_TO_FW)
|
||||||
#endif /* _CFG_DP_H_ */
|
#endif /* _CFG_DP_H_ */
|
||||||
|
@@ -632,6 +632,8 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
|
|||||||
cfg_get(psoc, CFG_DP_RX_RADIO_2_DEFAULT_REO);
|
cfg_get(psoc, CFG_DP_RX_RADIO_2_DEFAULT_REO);
|
||||||
wlan_cfg_ctx->wow_check_rx_pending_enable =
|
wlan_cfg_ctx->wow_check_rx_pending_enable =
|
||||||
cfg_get(psoc, CFG_DP_WOW_CHECK_RX_PENDING);
|
cfg_get(psoc, CFG_DP_WOW_CHECK_RX_PENDING);
|
||||||
|
wlan_cfg_ctx->send_icmp_req_to_fw =
|
||||||
|
cfg_get(psoc, CFG_DP_SEND_ICMP_REQ_TO_FW);
|
||||||
|
|
||||||
return wlan_cfg_ctx;
|
return wlan_cfg_ctx;
|
||||||
}
|
}
|
||||||
@@ -1481,3 +1483,10 @@ uint8_t wlan_cfg_radio2_default_reo_get(struct wlan_cfg_dp_soc_ctxt *cfg)
|
|||||||
{
|
{
|
||||||
return cfg->radio2_rx_default_reo;
|
return cfg->radio2_rx_default_reo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WLAN_DP_FEATURE_SEND_ICMP_TO_FW
|
||||||
|
int wlan_cfg_send_icmp_req_to_fw(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||||
|
{
|
||||||
|
return cfg->send_icmp_req_to_fw;
|
||||||
|
}
|
||||||
|
#endif /* WLAN_DP_FEATURE_SEND_ICMP_TO_FW */
|
||||||
|
@@ -192,6 +192,8 @@ struct wlan_srng_cfg {
|
|||||||
* @is_swlm_enabled: flag to enable/disable SWLM
|
* @is_swlm_enabled: flag to enable/disable SWLM
|
||||||
* @tx_per_pkt_vdev_id_check: Enable tx perpkt vdev id check
|
* @tx_per_pkt_vdev_id_check: Enable tx perpkt vdev id check
|
||||||
* @wow_check_rx_pending_enable: Enable RX frame pending check in WoW
|
* @wow_check_rx_pending_enable: Enable RX frame pending check in WoW
|
||||||
|
* @send_icmp_req_to_fw: Enable sending ICMP Request packets to FW at
|
||||||
|
* regular intervals
|
||||||
*/
|
*/
|
||||||
struct wlan_cfg_dp_soc_ctxt {
|
struct wlan_cfg_dp_soc_ctxt {
|
||||||
int num_int_ctxts;
|
int num_int_ctxts;
|
||||||
@@ -308,6 +310,7 @@ struct wlan_cfg_dp_soc_ctxt {
|
|||||||
uint8_t radio1_rx_default_reo;
|
uint8_t radio1_rx_default_reo;
|
||||||
uint8_t radio2_rx_default_reo;
|
uint8_t radio2_rx_default_reo;
|
||||||
bool wow_check_rx_pending_enable;
|
bool wow_check_rx_pending_enable;
|
||||||
|
int send_icmp_req_to_fw;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1479,6 +1482,14 @@ bool wlan_cfg_is_fst_in_cmem_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
|||||||
*/
|
*/
|
||||||
bool wlan_cfg_is_swlm_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
bool wlan_cfg_is_swlm_enabled(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_cfg_send_icmp_req_to_fw() - Check if ICMP request packets are to be
|
||||||
|
* sent to FW or not.
|
||||||
|
* @cfg: soc configuration context
|
||||||
|
*
|
||||||
|
* Return: Value set in the ini "send_icmp_req_to_fw"
|
||||||
|
*/
|
||||||
|
int wlan_cfg_send_icmp_req_to_fw(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user