qcacmn: WMI support to obtain NAC RSSI

Added a WMI command to add and del peer from the list
of non associated clients for which the RSSI stats
need to be populated

Also added event handler to extract the rssi stats
from the WMI event

Change-Id: I9880c74798c13a52e1498b81735ad78f86fa41b8
CRs-Fixed: 2148773
This commit is contained in:
Chaithanya Garrepalli
2018-01-18 14:19:41 +05:30
committed by snandini
parent efb43392c4
commit 140a053ade
3 changed files with 57 additions and 0 deletions

View File

@@ -765,6 +765,22 @@ struct vdev_start_params {
bool ldpc_rx_enabled;
};
/**
* struct vdev_scan_nac_rssi_params - NAC_RSSI cmd parameter
* @vdev_id: vdev id
* @bssid_addr: BSSID address
* @client_addr: client address
* @chan_num: channel number
* @action:NAC_RSSI action,
*/
struct vdev_scan_nac_rssi_params {
uint32_t vdev_id;
uint8_t bssid_addr[IEEE80211_ADDR_LEN];
uint8_t client_addr[IEEE80211_ADDR_LEN];
uint32_t chan_num;
uint32_t action; /* WMI_FILTER_NAC_RSSI_ACTION */
};
/**
* struct hidden_ssid_vdev_restart_params -
* vdev restart cmd parameter
@@ -880,6 +896,7 @@ typedef enum {
WMI_HOST_REQUEST_INST_STAT = 0x40,
WMI_HOST_REQUEST_PEER_EXTD_STAT = 0x80,
WMI_HOST_REQUEST_VDEV_EXTD_STAT = 0x100,
WMI_HOST_REQUEST_NAC_RSSI = 0x200,
WMI_HOST_REQUEST_BCN_STAT = 0x800,
} wmi_host_stats_id;
@@ -5423,6 +5440,20 @@ typedef struct {
uint32_t reserved[13];
} wmi_host_vdev_extd_stats;
/**
* struct wmi_host_vdev_nac_rssi_event - VDEV nac rssi stats
* @vdev_id: unique id identifying the VDEV, generated by the caller
* @last_rssi: rssi
* @avg_rssi: averge rssi
* @rssi_seq_num: rssi sequence number
*/
struct wmi_host_vdev_nac_rssi_event {
uint32_t vdev_id;
uint32_t last_rssi;
uint32_t avg_rssi;
uint32_t rssi_seq_num;
};
/**
* struct wmi_host_peer_stats - peer stats
* @peer_macaddr: peer MAC address