qcacmn: Add support to send hw_mode in init cmd

Support to add hw_mode in init command is added by FW
to let host choose the mode to be use. Change init cmd
send API to enable upper layer to send the hw_mode selected.
Since this is new TLV in init command, init cmd send API
needs to be changed to accommodate this parameter.

Change-Id: I172d8d737425599c36666d9fec8a6cdd48085097
CRs-Fixed: 2004652
This commit is contained in:
Kiran Venkatappa
2016-12-23 19:58:54 +05:30
committed by qcabuildsw
parent 3f061a9d37
commit af1dae38ef
3 changed files with 35 additions and 6 deletions

View File

@@ -1101,9 +1101,7 @@ QDF_STATUS wmi_unified_set_psmode_cmd_send(void *wmi_hdl,
struct set_ps_mode_params *param); struct set_ps_mode_params *param);
QDF_STATUS wmi_unified_init_cmd_send(void *wmi_hdl, QDF_STATUS wmi_unified_init_cmd_send(void *wmi_hdl,
target_resource_config *res_cfg, struct wmi_init_cmd_param *param);
uint8_t num_mem_chunks,
struct wmi_host_mem_chunk *mem_chunk);
bool wmi_service_enabled(void *wmi_hdl, uint32_t service_id); bool wmi_service_enabled(void *wmi_hdl, uint32_t service_id);

View File

@@ -7090,6 +7090,7 @@ struct wmi_host_ppe_threshold {
* to be communicated separately. * to be communicated separately.
* @WMI_HOST_HW_MODE_DBS_SBS: 3 PHYs, with 2 on the same band doing SBS * @WMI_HOST_HW_MODE_DBS_SBS: 3 PHYs, with 2 on the same band doing SBS
* as in WMI_HW_MODE_SBS, and 3rd on the other band * as in WMI_HW_MODE_SBS, and 3rd on the other band
* @WMI_HOST_HW_MODE_MAX: Max hw_mode_id. Used to indicate invalid mode.
*/ */
enum wmi_host_hw_mode_config_type { enum wmi_host_hw_mode_config_type {
WMI_HOST_HW_MODE_SINGLE = 0, WMI_HOST_HW_MODE_SINGLE = 0,
@@ -7097,6 +7098,7 @@ enum wmi_host_hw_mode_config_type {
WMI_HOST_HW_MODE_SBS_PASSIVE = 2, WMI_HOST_HW_MODE_SBS_PASSIVE = 2,
WMI_HOST_HW_MODE_SBS = 3, WMI_HOST_HW_MODE_SBS = 3,
WMI_HOST_HW_MODE_DBS_SBS = 4, WMI_HOST_HW_MODE_DBS_SBS = 4,
WMI_HOST_HW_MODE_MAX,
}; };
/** /**
@@ -7393,4 +7395,35 @@ struct wmi_host_proxy_ast_reserve_param {
uint32_t pdev_id; uint32_t pdev_id;
uint32_t result; uint32_t result;
}; };
/**
* struct wmi_host_pdev_band_to_mac - freq range for mac
* @pdev_id: PDEV ID to identifiy mac
* @start_freq: start frequency value
* @end_freq: end frequency value
*/
struct wmi_host_pdev_band_to_mac {
uint32_t pdev_id;
uint32_t start_freq;
uint32_t end_freq;
};
#define WMI_HOST_MAX_PDEV 3
/**
* struct wmi_init_cmd_param - INIT command params
* @target_resource_config: pointer to resource config
* @num_mem_chunks: number of memory chunks
* @struct wmi_host_mem_chunk: pointer to memory chunks
* @hw_mode_index: HW mode index chosen
* @num_band_to_mac: Number of band to mac setting
* @struct wmi_host_pdev_band_to_mac: band to mac setting
*/
struct wmi_init_cmd_param {
target_resource_config *res_cfg;
uint8_t num_mem_chunks;
struct wmi_host_mem_chunk *mem_chunks;
uint32_t hw_mode_id;
uint32_t num_band_to_mac;
struct wmi_host_pdev_band_to_mac band_to_mac[WMI_HOST_MAX_PDEV];
};
#endif /* _WMI_UNIFIED_PARAM_H_ */ #endif /* _WMI_UNIFIED_PARAM_H_ */

View File

@@ -923,9 +923,7 @@ host_mem_req * (*extract_host_mem_req)(wmi_unified_t wmi_handle,
void *evt_buf, uint8_t *num_entries); void *evt_buf, uint8_t *num_entries);
QDF_STATUS (*init_cmd_send)(wmi_unified_t wmi_handle, QDF_STATUS (*init_cmd_send)(wmi_unified_t wmi_handle,
target_resource_config *res_cfg, struct wmi_init_cmd_param *param);
uint8_t num_mem_chunks,
struct wmi_host_mem_chunk *mem_chunk);
QDF_STATUS (*save_fw_version)(wmi_unified_t wmi_handle, void *evt_buf); QDF_STATUS (*save_fw_version)(wmi_unified_t wmi_handle, void *evt_buf);
uint32_t (*ready_extract_init_status)(wmi_unified_t wmi_hdl, void *ev); uint32_t (*ready_extract_init_status)(wmi_unified_t wmi_hdl, void *ev);