qcacmn: Converge on wmi event registration / unregistration

Converge on wmi event registration / unregistration method.

Change-Id: If03a38d74a47cc1d900bc5734a7c8f950513efaa
CRs-Fixed: 2148479
This commit is contained in:
Mukul Sharma
2017-11-03 19:26:54 +05:30
committed by snandini
parent f2098294d3
commit 2c66f7e844
2 changed files with 44 additions and 17 deletions

View File

@@ -1514,7 +1514,7 @@ int wmi_unified_register_event(wmi_unified_t wmi_handle,
* Return: 0 on success
*/
int wmi_unified_register_event_handler(wmi_unified_t wmi_handle,
uint32_t event_id,
wmi_conv_event_id event_id,
wmi_unified_event_handler handler_func,
uint8_t rx_ctx)
{
@@ -1522,7 +1522,6 @@ int wmi_unified_register_event_handler(wmi_unified_t wmi_handle,
uint32_t evt_id;
struct wmi_soc *soc = wmi_handle->soc;
#ifndef CONFIG_MCL
if (event_id >= wmi_events_max ||
wmi_handle->wmi_events[event_id] == WMI_EVENT_ID_INVALID) {
qdf_print("%s: Event id %d is unavailable\n",
@@ -1530,9 +1529,7 @@ int wmi_unified_register_event_handler(wmi_unified_t wmi_handle,
return QDF_STATUS_E_FAILURE;
}
evt_id = wmi_handle->wmi_events[event_id];
#else
evt_id = event_id;
#endif
if (wmi_unified_get_event_handler_ix(wmi_handle, evt_id) != -1) {
qdf_print("%s : event handler already registered 0x%x\n",
__func__, evt_id);
@@ -1603,13 +1600,12 @@ int wmi_unified_unregister_event(wmi_unified_t wmi_handle,
* Return: 0 on success
*/
int wmi_unified_unregister_event_handler(wmi_unified_t wmi_handle,
uint32_t event_id)
wmi_conv_event_id event_id)
{
uint32_t idx = 0;
uint32_t evt_id;
struct wmi_soc *soc = wmi_handle->soc;
#ifndef CONFIG_MCL
if (event_id >= wmi_events_max ||
wmi_handle->wmi_events[event_id] == WMI_EVENT_ID_INVALID) {
qdf_print("%s: Event id %d is unavailable\n",
@@ -1617,9 +1613,6 @@ int wmi_unified_unregister_event_handler(wmi_unified_t wmi_handle,
return QDF_STATUS_E_FAILURE;
}
evt_id = wmi_handle->wmi_events[event_id];
#else
evt_id = event_id;
#endif
idx = wmi_unified_get_event_handler_ix(wmi_handle, evt_id);
if (idx == -1) {
@@ -2112,16 +2105,10 @@ void *wmi_unified_attach(void *scn_handle,
sizeof(struct wmi_soc));
return NULL;
}
#ifdef CONFIG_MCL
wmi_handle =
(struct wmi_unified *)os_malloc(NULL,
sizeof(struct wmi_unified),
GFP_ATOMIC);
#else
wmi_handle =
(struct wmi_unified *) qdf_mem_malloc(
sizeof(struct wmi_unified));
#endif
if (wmi_handle == NULL) {
qdf_mem_free(soc);
qdf_print("allocation of wmi handle failed %zu\n",

View File

@@ -20581,6 +20581,46 @@ static void populate_tlv_events_id(uint32_t *event_ids)
WMI_SERVICE_AVAILABLE_EVENTID;
event_ids[wmi_update_rcpi_event_id] = WMI_UPDATE_RCPI_EVENTID;
event_ids[wmi_pdev_check_cal_version_event_id] = WMI_PDEV_CHECK_CAL_VERSION_EVENTID;
/* NDP events */
event_ids[wmi_ndp_initiator_rsp_event_id] =
WMI_NDP_INITIATOR_RSP_EVENTID;
event_ids[wmi_ndp_indication_event_id] = WMI_NDP_INDICATION_EVENTID;
event_ids[wmi_ndp_confirm_event_id] = WMI_NDP_CONFIRM_EVENTID;
event_ids[wmi_ndp_responder_rsp_event_id] =
WMI_NDP_RESPONDER_RSP_EVENTID;
event_ids[wmi_ndp_end_indication_event_id] =
WMI_NDP_END_INDICATION_EVENTID;
event_ids[wmi_ndp_end_rsp_event_id] = WMI_NDP_END_RSP_EVENTID;
event_ids[wmi_oem_response_event_id] = WMI_OEM_RESPONSE_EVENTID;
event_ids[wmi_peer_stats_info_event_id] = WMI_PEER_STATS_INFO_EVENTID;
event_ids[wmi_pdev_chip_power_stats_event_id] =
WMI_PDEV_CHIP_POWER_STATS_EVENTID;
event_ids[wmi_ap_ps_egap_info_event_id] = WMI_AP_PS_EGAP_INFO_EVENTID;
event_ids[wmi_peer_assoc_conf_event_id] = WMI_PEER_ASSOC_CONF_EVENTID;
event_ids[wmi_vdev_delete_resp_event_id] = WMI_VDEV_DELETE_RESP_EVENTID;
event_ids[wmi_bpf_capability_info_event_id] =
WMI_BPF_CAPABILIY_INFO_EVENTID;
event_ids[wmi_vdev_encrypt_decrypt_data_rsp_event_id] =
WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID;
event_ids[wmi_report_rx_aggr_failure_event_id] =
WMI_REPORT_RX_AGGR_FAILURE_EVENTID;
event_ids[wmi_pdev_chip_pwr_save_failure_detect_event_id] =
WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID;
event_ids[wmi_peer_antdiv_info_event_id] = WMI_PEER_ANTDIV_INFO_EVENTID;
event_ids[wmi_pdev_set_hw_mode_rsp_event_id] =
WMI_PDEV_SET_HW_MODE_RESP_EVENTID;
event_ids[wmi_pdev_hw_mode_transition_event_id] =
WMI_PDEV_HW_MODE_TRANSITION_EVENTID;
event_ids[wmi_pdev_set_mac_config_resp_event_id] =
WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID;
event_ids[wmi_coex_bt_activity_event_id] =
WMI_WLAN_COEX_BT_ACTIVITY_EVENTID;
event_ids[wmi_mgmt_tx_bundle_completion_event_id] =
WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID;
event_ids[wmi_radio_tx_power_level_stats_event_id] =
WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID;
event_ids[wmi_report_stats_event_id] = WMI_REPORT_STATS_EVENTID;
}
#ifndef CONFIG_MCL