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

@@ -406,21 +406,6 @@ QDF_STATUS wmi_unified_process_ch_avoid_update_cmd(wmi_unified_t wmi_handle);
QDF_STATUS wmi_unified_pdev_set_pcl_cmd(wmi_unified_t wmi_handle,
struct wmi_pcl_chan_weights *msg);
/**
* wmi_unified_soc_set_hw_mode_cmd() - Send WMI_SOC_SET_HW_MODE_CMDID to FW
* @wmi_handle: wmi handle
* hw_mode_index: The HW_Mode field is a enumerated type that is selected
* from the HW_Mode table, which is returned in the WMI_SERVICE_READY_EVENTID.
*
* Provides notification to the WLAN firmware that host driver is requesting a
* HardWare (HW) Mode change. This command is needed to support iHelium in the
* configurations that include the Dual Band Simultaneous (DBS) feature.
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_unified_soc_set_hw_mode_cmd(wmi_unified_t wmi_handle,
uint32_t hw_mode_index);
#ifdef WLAN_POLICY_MGR_ENABLE
/**
* wmi_unified_pdev_set_dual_mac_config_cmd() - Set dual mac config to FW