qcacmn: CE Debug Enhancements WMI interface

Add WMI interface for the smart logging feature.

Change-Id: Ife3784020d1b9458c2b09b6a2f31f55aab5f57ec
CRs-Fixed: 2001507
This commit is contained in:
c_cgodav
2017-02-13 10:14:42 +05:30
committed by nshrivas
parent 74cce66d76
commit a5eb9a2e00
3 changed files with 82 additions and 0 deletions

View File

@@ -2331,4 +2331,42 @@ wmi_unified_dfs_send_avg_params_cmd(void *wmi_hdl,
QDF_STATUS wmi_extract_dfs_status_from_fw(void *wmi_hdl, void *evt_buf,
uint32_t *dfs_status_check);
#endif
#ifdef OL_ATH_SMART_LOGGING
/**
* wmi_unified_send_smart_logging_enable_cmd() - send smart logging enable cmd
* @wmi_hdl: wmi handle
* @params: enable/disable
*
* This function enables/disable the smart logging feature
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_unified_send_smart_logging_enable_cmd(void *wmi_hdl,
uint32_t param);
/**
* wmi_unified_send_smart_logging_fatal_cmd() - send smart logging fatal cmd
* @wmi_hdl: wmi handle
* @param: Fatal event
*
* This function sends the smart log fatal events to the FW
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_unified_send_smart_logging_fatal_cmd
(void *wmi_hdl,
struct wmi_debug_fatal_events *param);
/**
* wmi_extract_smartlog_ev() - extract smartlog event info from event
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param ev: Pointer to hold fatal events
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_extract_smartlog_ev
(void *wmi_hdl, void *evt_buf,
struct wmi_debug_fatal_events *ev);
#endif /* OL_ATH_SMART_LOGGING */
#endif /* _WMI_UNIFIED_API_H_ */

View File

@@ -5531,6 +5531,9 @@ typedef enum {
wmi_twt_enable_complete_event_id,
wmi_apf_get_vdev_work_memory_resp_event_id,
#ifdef OL_ATH_SMART_LOGGING
wmi_debug_fatal_condition_eventid,
#endif /* OL_ATH_SMART_LOGGING */
wmi_events_max,
} wmi_conv_event_id;
@@ -5962,6 +5965,9 @@ typedef enum {
wmi_service_twt_responder,
wmi_service_listen_interval_offload_support,
#ifdef OL_ATH_SMART_LOGGING
wmi_service_smart_logging_support,
#endif
wmi_services_max,
} wmi_conv_service_ids;
#define WMI_SERVICE_UNAVAILABLE 0xFFFF
@@ -7916,6 +7922,33 @@ struct wmi_host_pdev_band_to_mac {
};
#define WMI_HOST_MAX_PDEV 3
#ifdef OL_ATH_SMART_LOGGING
/**
* struct wmi_fatal_condition_event - Fatal condition event param
* @type: Type of event
* @subtype: subtype of event
* @reserved0: reserved
*/
struct wmi_fatal_condition_event {
uint32_t type;
uint32_t subtype;
uint32_t reserved0;
};
/*Currently the Max fatal events is 3 */
#define FATAL_EVENTS_MAX 3
/**
* struct wmi_debug_fatal_events: Fatal events list
* @num_events:Number of events
* @event[FATAL_EVENTS_MAX]: Each event data
*/
struct wmi_debug_fatal_events {
uint32_t num_events;
struct wmi_fatal_condition_event event[FATAL_EVENTS_MAX];
};
#endif /* OL_ATH_SMART_LOGGING */
/**
* struct wmi_init_cmd_param - INIT command params
* @target_resource_config: pointer to resource config

View File

@@ -1147,7 +1147,14 @@ QDF_STATUS
QDF_STATUS (*send_bcn_offload_control_cmd)(wmi_unified_t wmi_handle,
struct bcn_offload_control *bcn_ctrl_param);
#ifdef OL_ATH_SMART_LOGGING
QDF_STATUS
(*send_smart_logging_enable_cmd)(wmi_unified_t wmi_handle, uint32_t param);
QDF_STATUS
(*send_smart_logging_fatal_cmd)(wmi_unified_t wmi_handle,
struct wmi_debug_fatal_events *param);
#endif /* OL_ATH_SMART_LOGGING */
QDF_STATUS (*extract_wds_addr_event)(wmi_unified_t wmi_handle,
void *evt_buf, uint16_t len, wds_addr_event_t *wds_ev);
@@ -1366,6 +1373,10 @@ QDF_STATUS (*extract_vdev_nac_rssi_stats)(wmi_unified_t wmi_handle, void *evt_bu
QDF_STATUS (*extract_bcn_stats)(wmi_unified_t wmi_handle, void *evt_buf,
uint32_t index, wmi_host_bcn_stats *bcn_stats);
#ifdef OL_ATH_SMART_LOGGING
QDF_STATUS (*extract_smartlog_event)(wmi_unified_t wmi_handle, void *evt_buf,
struct wmi_debug_fatal_events *event);
#endif /* OL_ATH_SMART_LOGGING */
QDF_STATUS (*send_power_dbg_cmd)(wmi_unified_t wmi_handle,
struct wmi_power_dbg_params *param);