qcacmn: Add WMI changes for Dynamic HW mode configuration

This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.

Relevant WMI changes are:

1. Relocate API wmi_unified_soc_set_hw_mode_cmd from
wmi_unified_sta_api.c to wmi_unified_api.c
2. Define API wmi_unified_extract_hw_mode_resp to extract
FW response
3. Parse and store new dev-cap fields wireless_modes,
low_2ghz_chan_freq, high_2ghz_chan_freq, low_5ghz_chan_freq,
and high_5ghz_chan_freq.

Change-Id: I49f975e7c5abc8503b651a3ebd4d56b23af915db
CRs-fixed: 2490212
This commit is contained in:
Gyanranjan Hazarika
2019-06-05 00:43:38 -07:00
committed by nshrivas
parent 8e0ae99446
commit fe3cca9bd1
8 changed files with 146 additions and 80 deletions

View File

@@ -54,6 +54,17 @@ static const wmi_host_channel_width mode_to_width[WMI_HOST_MODE_MAX] = {
#endif
};
QDF_STATUS wmi_unified_soc_set_hw_mode_cmd(wmi_unified_t wmi_handle,
uint32_t hw_mode_index)
{
if (wmi_handle->ops->send_pdev_set_hw_mode_cmd)
return wmi_handle->ops->send_pdev_set_hw_mode_cmd(
wmi_handle,
hw_mode_index);
return QDF_STATUS_E_FAILURE;
}
QDF_STATUS wmi_unified_vdev_create_send(wmi_unified_t wmi_handle,
uint8_t macaddr[QDF_MAC_ADDR_SIZE],
struct vdev_create_params *param)
@@ -2896,3 +2907,15 @@ wmi_extract_oem_response_param(wmi_unified_t wmi_hdl, void *resp_buf,
return QDF_STATUS_E_FAILURE;
}
#endif /* WIFI_POS_CONVERGED */
QDF_STATUS wmi_unified_extract_hw_mode_resp(wmi_unified_t wmi,
void *evt_buf,
uint32_t *cmd_status)
{
if (wmi->ops->extract_hw_mode_resp_event)
return wmi->ops->extract_hw_mode_resp_event(wmi,
evt_buf,
cmd_status);
return QDF_STATUS_E_FAILURE;
}