Merge "qcacmn: Add support for peer create response event"
此提交包含在:

提交者
Gerrit - the friendly Code Review server

當前提交
eb9b6ee897
@@ -32,6 +32,7 @@
|
||||
#include "wlan_mgmt_txrx_utils_api.h"
|
||||
#include <wlan_dfs_public_struct.h>
|
||||
#include <wlan_crypto_global_def.h>
|
||||
#include "wlan_thermal_public_struct.h"
|
||||
#ifdef WLAN_POWER_MANAGEMENT_OFFLOAD
|
||||
#include "wmi_unified_pmo_api.h"
|
||||
#endif
|
||||
@@ -2947,13 +2948,14 @@ wmi_extract_chan_stats(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
* @wmi_handle: wmi handle
|
||||
* @evt_buf: Pointer to event buffer
|
||||
* @temp: Pointer to hold extracted temperature
|
||||
* @level: Pointer to hold extracted level
|
||||
* @level: Pointer to hold extracted level in host enum
|
||||
* @pdev_id: Pointer to hold extracted pdev_id
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
|
||||
*/
|
||||
QDF_STATUS wmi_extract_thermal_stats(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
uint32_t *temp, uint32_t *level,
|
||||
uint32_t *temp,
|
||||
enum thermal_throttle_level *level,
|
||||
uint32_t *pdev_id);
|
||||
|
||||
/**
|
||||
|
@@ -7246,6 +7246,31 @@ struct wmi_host_pdev_qvit_event {
|
||||
uint32_t pdev_id;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum wmi_peer_create_status - Peer Create response status
|
||||
* @WMI_PEER_CREATE_SUCCESS: Peer creation successful at fw
|
||||
* @WMI_PEER_EXISTS: Peer with same mac exists at fw
|
||||
* @WMI_PEER_CREATE_FAILED: Peer creation failed at fw
|
||||
*/
|
||||
enum wmi_peer_create_status {
|
||||
WMI_PEER_CREATE_SUCCESS = 0,
|
||||
WMI_PEER_EXISTS = 1,
|
||||
WMI_PEER_CREATE_FAILED = 2,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wmi_host_peer_create_response_event - Peer Create response event param
|
||||
* @vdev_id: vdev id
|
||||
* @mac_address: Peer Mac Address
|
||||
* @status: Peer create status
|
||||
*
|
||||
*/
|
||||
struct wmi_host_peer_create_response_event {
|
||||
uint32_t vdev_id;
|
||||
struct qdf_mac_addr mac_address;
|
||||
uint32_t status;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wmi_host_peer_delete_response_event - Peer Delete response event param
|
||||
* @vdev_id: vdev id
|
||||
|
@@ -1814,7 +1814,7 @@ QDF_STATUS (*extract_mib_stats)(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
#endif
|
||||
|
||||
QDF_STATUS (*extract_thermal_stats)(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
uint32_t *temp, uint32_t *level, uint32_t *pdev_id);
|
||||
uint32_t *temp, enum thermal_throttle_level *level, uint32_t *pdev_id);
|
||||
|
||||
QDF_STATUS (*extract_thermal_level_stats)(wmi_unified_t wmi_handle,
|
||||
void *evt_buf, uint8_t idx, uint32_t *levelcount,
|
||||
@@ -1990,6 +1990,11 @@ QDF_STATUS (*extract_pdev_qvit_event)(wmi_unified_t wmi_hdl,
|
||||
uint16_t (*wmi_set_htc_tx_tag)(wmi_unified_t wmi_handle,
|
||||
wmi_buf_t buf, uint32_t cmd_id);
|
||||
|
||||
QDF_STATUS (*extract_peer_create_response_event)(
|
||||
wmi_unified_t wmi_handle,
|
||||
void *evt_buf,
|
||||
struct wmi_host_peer_create_response_event *param);
|
||||
|
||||
QDF_STATUS (*extract_peer_delete_response_event)(
|
||||
wmi_unified_t wmi_handle,
|
||||
void *evt_buf,
|
||||
|
@@ -2227,7 +2227,8 @@ wmi_extract_chan_stats(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
}
|
||||
|
||||
QDF_STATUS wmi_extract_thermal_stats(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
uint32_t *temp, uint32_t *level,
|
||||
uint32_t *temp,
|
||||
enum thermal_throttle_level *level,
|
||||
uint32_t *pdev_id)
|
||||
{
|
||||
if (wmi_handle->ops->extract_thermal_stats)
|
||||
|
@@ -11375,19 +11375,40 @@ static QDF_STATUS extract_scan_radio_cap_service_ready_ext2_tlv(
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* wmi_tgt_thermal_level_to_host() - Convert target thermal level to host enum
|
||||
* @level: target thermal level from WMI_THERM_THROT_STATS_EVENTID event
|
||||
*
|
||||
* Return: host thermal throt level
|
||||
*/
|
||||
static enum thermal_throttle_level
|
||||
wmi_tgt_thermal_level_to_host(uint32_t level)
|
||||
{
|
||||
switch (level) {
|
||||
case WMI_THERMAL_FULLPERF:
|
||||
return THERMAL_FULLPERF;
|
||||
case WMI_THERMAL_MITIGATION:
|
||||
return THERMAL_MITIGATION;
|
||||
case WMI_THERMAL_SHUTOFF:
|
||||
return THERMAL_SHUTOFF;
|
||||
default:
|
||||
return THERMAL_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* extract_thermal_stats_tlv() - extract thermal stats from event
|
||||
* @wmi_handle: wmi handle
|
||||
* @param evt_buf: Pointer to event buffer
|
||||
* @param temp: Pointer to hold extracted temperature
|
||||
* @param level: Pointer to hold extracted level
|
||||
* @param level: Pointer to hold extracted level in host enum
|
||||
*
|
||||
* Return: 0 for success or error code
|
||||
*/
|
||||
static QDF_STATUS
|
||||
extract_thermal_stats_tlv(wmi_unified_t wmi_handle,
|
||||
void *evt_buf, uint32_t *temp,
|
||||
uint32_t *level, uint32_t *pdev_id)
|
||||
enum thermal_throttle_level *level, uint32_t *pdev_id)
|
||||
{
|
||||
WMI_THERM_THROT_STATS_EVENTID_param_tlvs *param_buf;
|
||||
wmi_therm_throt_stats_event_fixed_param *tt_stats_event;
|
||||
@@ -11398,12 +11419,13 @@ extract_thermal_stats_tlv(wmi_unified_t wmi_handle,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
||||
tt_stats_event = param_buf->fixed_param;
|
||||
|
||||
wmi_debug("thermal temperature %d level %d",
|
||||
tt_stats_event->temp, tt_stats_event->level);
|
||||
*pdev_id = wmi_handle->ops->convert_pdev_id_target_to_host(
|
||||
wmi_handle,
|
||||
tt_stats_event->pdev_id);
|
||||
*temp = tt_stats_event->temp;
|
||||
*level = tt_stats_event->level;
|
||||
*level = wmi_tgt_thermal_level_to_host(tt_stats_event->level);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
@@ -14386,6 +14408,8 @@ static void populate_tlv_events_id(uint32_t *event_ids)
|
||||
event_ids[wmi_peer_estimated_linkspeed_event_id] =
|
||||
WMI_PEER_ESTIMATED_LINKSPEED_EVENTID;
|
||||
event_ids[wmi_peer_state_event_id] = WMI_PEER_STATE_EVENTID;
|
||||
event_ids[wmi_peer_create_conf_event_id] =
|
||||
WMI_PEER_CREATE_CONF_EVENTID;
|
||||
event_ids[wmi_peer_delete_response_event_id] =
|
||||
WMI_PEER_DELETE_RESP_EVENTID;
|
||||
event_ids[wmi_peer_delete_all_response_event_id] =
|
||||
|
新增問題並參考
封鎖使用者