qcacmn: Add host WMI support for EAPOL minrate resource config

Add host WMI support for EAPOL minrate resource configuration.

Through the use of the global.ini configuration parameter -
eapol_minrate_set and eapol_minrate_ac_set, the user can set EAPOL
frames to be sent in minimum rate in tunnel mode. In addition to
this, the user can also select between the 4 ACs (BE, BK, VI, VO)
to send the EAPOL frames.

The changes are reflected in the target resource config which
is sent to the firmware.

Change-Id: Ib9a264b64305bf43708c3c2af3ff254b6cc28477
CRs-Fixed: 2298020
This commit is contained in:
Aditya Sathish 2018-10-02 11:02:55 +05:30 • committed by nshrivas
commit a06a063b7d
4 changed files with 36 additions and 0 deletions

View file

@ -263,6 +263,9 @@ struct target_ops {
void (*smart_log_enable)
(struct wlan_objmgr_psoc *psoc,
struct target_psoc_info *tgt_info, uint8_t *event);
void (*eapol_minrate_enable)
(struct wlan_objmgr_psoc *psoc,
struct target_psoc_info *tgt_info, uint8_t *event);
};
@ -1596,6 +1599,24 @@ static inline void target_if_mesh_support_enable(struct wlan_objmgr_psoc *psoc,
tgt_hdl->tif_ops->mesh_support_enable(psoc, tgt_hdl, evt_buf);
}
/**
* target_if_eapol_minrate_enable - Enable EAPOL Minrate in Tunnel Mode
* @psoc: psoc object
* @tgt_hdl: target_psoc_info pointer
* @evt_buf: Event buffer received from FW
*
* API to enable eapol minrate
*
* Return: none
*/
static inline void target_if_eapol_minrate_enable(struct wlan_objmgr_psoc *psoc,
struct target_psoc_info *tgt_hdl, uint8_t *evt_buf)
{
if ((tgt_hdl->tif_ops) &&
(tgt_hdl->tif_ops->eapol_minrate_enable))
tgt_hdl->tif_ops->eapol_minrate_enable(psoc, tgt_hdl, evt_buf);
}
/**
* target_if_smart_antenna_enable - Enable Smart antenna module
* @psoc: psoc object

View file

@ -117,6 +117,8 @@ static int init_deinit_service_ready_event_handler(ol_scn_t scn_handle,
target_if_mesh_support_enable(psoc, tgt_hdl, event);
target_if_eapol_minrate_enable(psoc, tgt_hdl, event);
target_if_smart_antenna_enable(psoc, tgt_hdl, event);
target_if_peer_cfg_enable(psoc, tgt_hdl, event);

View file

@ -6067,6 +6067,8 @@ typedef struct {
uint32_t twt_ap_pdev_count;
uint32_t twt_ap_sta_count;
uint32_t max_bssid_indicator;
uint32_t eapol_minrate_set:1,
eapol_minrate_ac_set:2;
} target_resource_config;
/**

View file

@ -11118,6 +11118,17 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
resource_cfg->flag1, 1);
if (tgt_res_cfg->cce_disable)
WMI_RSRC_CFG_FLAG_TCL_CCE_DISABLE_SET(resource_cfg->flag1, 1);
if (tgt_res_cfg->eapol_minrate_set) {
WMI_RSRC_CFG_FLAG_EAPOL_REKEY_MINRATE_SUPPORT_ENABLE_SET(
resource_cfg->flag1, 1);
if (tgt_res_cfg->eapol_minrate_ac_set != 3) {
WMI_RSRC_CFG_FLAG_EAPOL_AC_OVERRIDE_VALID_SET(
resource_cfg->flag1, 1);
WMI_RSRC_CFG_FLAG_EAPOL_AC_OVERRIDE_SET(
resource_cfg->flag1,
tgt_res_cfg->eapol_minrate_ac_set);
}
}
wmi_copy_twt_resource_config(resource_cfg, tgt_res_cfg);
resource_cfg->peer_map_unmap_v2_support =