qcacmn: Add cmn_dev changes to get ANI status from FW
Add changes to send a command and in return, get an event giving ANI status from FW. Change-Id: I327e6134fef17bc4dc98b99d1ca4bc4d0a039625
This commit is contained in:

committed by
Madan Koyyalamudi

orang tua
75b10f2ab7
melakukan
e175d5124c
@@ -4328,4 +4328,17 @@ QDF_STATUS wmi_unified_send_set_tpc_power_cmd(wmi_unified_t wmi_handle,
|
|||||||
QDF_STATUS wmi_extract_dpd_status_ev_param(wmi_unified_t wmi_handle,
|
QDF_STATUS wmi_extract_dpd_status_ev_param(wmi_unified_t wmi_handle,
|
||||||
void *evt_buf,
|
void *evt_buf,
|
||||||
struct wmi_host_pdev_get_dpd_status_event *param);
|
struct wmi_host_pdev_get_dpd_status_event *param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_extract_halphy_cal_status_ev_param() - extract halphy cal status from FW event
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @evt_buf: pointer to event buf
|
||||||
|
* @param: halphy cal status info
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS for success or error code
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_extract_halphy_cal_status_ev_param(wmi_unified_t wmi_handle,
|
||||||
|
void *evt_buf,
|
||||||
|
struct wmi_host_pdev_get_halphy_cal_status_event *param);
|
||||||
#endif /* _WMI_UNIFIED_API_H_ */
|
#endif /* _WMI_UNIFIED_API_H_ */
|
||||||
|
@@ -4675,6 +4675,7 @@ typedef enum {
|
|||||||
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
|
#ifdef WLAN_FEATURE_PKT_CAPTURE_V2
|
||||||
wmi_vdev_smart_monitor_event_id,
|
wmi_vdev_smart_monitor_event_id,
|
||||||
#endif
|
#endif
|
||||||
|
wmi_pdev_get_halphy_cal_status_event_id,
|
||||||
wmi_events_max,
|
wmi_events_max,
|
||||||
} wmi_conv_event_id;
|
} wmi_conv_event_id;
|
||||||
|
|
||||||
@@ -5262,7 +5263,7 @@ typedef enum {
|
|||||||
#endif
|
#endif
|
||||||
wmi_service_sae_eapol_offload_support,
|
wmi_service_sae_eapol_offload_support,
|
||||||
wmi_service_ampdu_tx_buf_size_256_support,
|
wmi_service_ampdu_tx_buf_size_256_support,
|
||||||
|
wmi_service_halphy_cal_status,
|
||||||
wmi_services_max,
|
wmi_services_max,
|
||||||
} wmi_conv_service_ids;
|
} wmi_conv_service_ids;
|
||||||
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
|
||||||
@@ -8031,6 +8032,12 @@ struct wmi_host_pdev_get_dpd_status_event {
|
|||||||
enum wmi_host_dpd_status dpd_status;
|
enum wmi_host_dpd_status dpd_status;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct wmi_host_pdev_get_halphy_cal_status_event {
|
||||||
|
uint32_t pdev_id;
|
||||||
|
uint32_t halphy_cal_valid_bmap;
|
||||||
|
uint32_t halphy_cal_status;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct wmi_install_key_comp_event - params of install key complete event
|
* struct wmi_install_key_comp_event - params of install key complete event
|
||||||
* @vdev_id: unique id identifying the VDEV, generated by the caller
|
* @vdev_id: unique id identifying the VDEV, generated by the caller
|
||||||
|
@@ -1242,6 +1242,9 @@ QDF_STATUS (*send_set_mimogain_table_cmd)(wmi_unified_t wmi_handle,
|
|||||||
QDF_STATUS (*send_packet_power_info_get_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_packet_power_info_get_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct packet_power_info_params *param);
|
struct packet_power_info_params *param);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_get_halphy_cal_status_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
struct halphy_cal_status_params *param);
|
||||||
|
|
||||||
QDF_STATUS (*send_set_ht_ie_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_set_ht_ie_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct ht_ie_params *param);
|
struct ht_ie_params *param);
|
||||||
|
|
||||||
@@ -2548,6 +2551,10 @@ QDF_STATUS (*extract_dpd_status_ev_param)(wmi_unified_t wmi_handle,
|
|||||||
void *evt_buf,
|
void *evt_buf,
|
||||||
struct wmi_host_pdev_get_dpd_status_event *param);
|
struct wmi_host_pdev_get_dpd_status_event *param);
|
||||||
|
|
||||||
|
QDF_STATUS (*extract_halphy_cal_status_ev_param)(wmi_unified_t wmi_handle,
|
||||||
|
void *evt_buf,
|
||||||
|
struct wmi_host_pdev_get_halphy_cal_status_event *param);
|
||||||
|
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
(*extract_install_key_comp_event)(wmi_unified_t wmi_handle,
|
(*extract_install_key_comp_event)(wmi_unified_t wmi_handle,
|
||||||
void *evt_buf, uint32_t len,
|
void *evt_buf, uint32_t len,
|
||||||
|
@@ -3448,3 +3448,15 @@ wmi_extract_dpd_status_ev_param(wmi_unified_t wmi_handle,
|
|||||||
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_extract_halphy_cal_status_ev_param(wmi_unified_t wmi_handle,
|
||||||
|
void *evt_buf,
|
||||||
|
struct wmi_host_pdev_get_halphy_cal_status_event *param)
|
||||||
|
{
|
||||||
|
if (wmi_handle->ops->extract_halphy_cal_status_ev_param)
|
||||||
|
return wmi_handle->ops->extract_halphy_cal_status_ev_param(
|
||||||
|
wmi_handle, evt_buf, param);
|
||||||
|
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
@@ -15120,6 +15120,29 @@ extract_dpd_status_ev_param_tlv(wmi_unified_t wmi_handle,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QDF_STATUS
|
||||||
|
extract_halphy_cal_status_ev_param_tlv(wmi_unified_t wmi_handle,
|
||||||
|
void *evt_buf,
|
||||||
|
struct wmi_host_pdev_get_halphy_cal_status_event *param)
|
||||||
|
{
|
||||||
|
WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID_param_tlvs *param_buf;
|
||||||
|
wmi_pdev_get_halphy_cal_status_evt_fixed_param *halphy_cal_status;
|
||||||
|
|
||||||
|
param_buf = (WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID_param_tlvs *)evt_buf;
|
||||||
|
if (!param_buf) {
|
||||||
|
wmi_err("Invalid get halphy cal status event");
|
||||||
|
return QDF_STATUS_E_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
halphy_cal_status = param_buf->fixed_param;
|
||||||
|
param->pdev_id = wmi_handle->ops->convert_pdev_id_target_to_host
|
||||||
|
(wmi_handle, halphy_cal_status->pdev_id);
|
||||||
|
param->halphy_cal_valid_bmap = halphy_cal_status->halphy_cal_valid_bmap;
|
||||||
|
param->halphy_cal_status = halphy_cal_status->halphy_cal_status;
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* extract_install_key_comp_event_tlv() - extract install key complete event tlv
|
* extract_install_key_comp_event_tlv() - extract install key complete event tlv
|
||||||
* @wmi_handle: wmi handle
|
* @wmi_handle: wmi handle
|
||||||
@@ -15536,6 +15559,7 @@ struct wmi_ops tlv_ops = {
|
|||||||
.send_set_tpc_power_cmd = send_set_tpc_power_cmd_tlv,
|
.send_set_tpc_power_cmd = send_set_tpc_power_cmd_tlv,
|
||||||
.extract_dpd_status_ev_param = extract_dpd_status_ev_param_tlv,
|
.extract_dpd_status_ev_param = extract_dpd_status_ev_param_tlv,
|
||||||
.extract_install_key_comp_event = extract_install_key_comp_event_tlv,
|
.extract_install_key_comp_event = extract_install_key_comp_event_tlv,
|
||||||
|
.extract_halphy_cal_status_ev_param = extract_halphy_cal_status_ev_param_tlv,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -15946,6 +15970,8 @@ event_ids[wmi_roam_scan_chan_list_id] =
|
|||||||
event_ids[wmi_vdev_smart_monitor_event_id] =
|
event_ids[wmi_vdev_smart_monitor_event_id] =
|
||||||
WMI_VDEV_SMART_MONITOR_EVENTID;
|
WMI_VDEV_SMART_MONITOR_EVENTID;
|
||||||
#endif
|
#endif
|
||||||
|
event_ids[wmi_pdev_get_halphy_cal_status_event_id] =
|
||||||
|
WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_LINK_LAYER_STATS
|
#ifdef WLAN_FEATURE_LINK_LAYER_STATS
|
||||||
@@ -16354,6 +16380,8 @@ static void populate_tlv_service(uint32_t *wmi_service)
|
|||||||
#endif
|
#endif
|
||||||
wmi_service[wmi_service_ampdu_tx_buf_size_256_support] =
|
wmi_service[wmi_service_ampdu_tx_buf_size_256_support] =
|
||||||
WMI_SERVICE_AMPDU_TX_BUF_SIZE_256_SUPPORT;
|
WMI_SERVICE_AMPDU_TX_BUF_SIZE_256_SUPPORT;
|
||||||
|
wmi_service[wmi_service_halphy_cal_status] =
|
||||||
|
WMI_SERVICE_HALPHY_CAL_STATUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user