qcacmn: Add support to query RCPI info
RCPI is measure of received RF power in the selected channel for a received frame and is measured at the antenna connector and shall be measured over an entire frame. It is a monotonically increasing, logarithmic function of received power level. Wlan firmware computes RCPI. Add host support to query firmware for RCPI information of peer mac address in sta, p2p client, softap and p2p go modes. Change-Id: I27fe45e993bd9b157fe33ca08a56330c1c950d16 CRs-Fixed: 1093187
This commit is contained in:

committed by
snandini

parent
9e89385292
commit
cddf6fe985
@@ -5405,6 +5405,7 @@ typedef enum {
|
||||
wmi_11d_new_country_event_id,
|
||||
wmi_get_arp_stats_req_id,
|
||||
wmi_service_available_event_id,
|
||||
wmi_update_rcpi_event_id,
|
||||
|
||||
wmi_events_max,
|
||||
} wmi_conv_event_id;
|
||||
@@ -7555,6 +7556,48 @@ typedef struct {
|
||||
uint32_t usr_list[GID_OVERLOAD_GROUP_COUNT];
|
||||
} wmi_host_peer_gid_userpos_list_event;
|
||||
|
||||
/**
|
||||
* enum rcpi_measurement_type - for identifying type of rcpi measurement
|
||||
* @RCPI_MEASUREMENT_TYPE_AVG_MGMT: avg rcpi of mgmt frames
|
||||
* @RCPI_MEASUREMENT_TYPE_AVG_DATA: avg rcpi of data frames
|
||||
* @RCPI_MEASUREMENT_TYPE_LAST_MGMT: rcpi of last mgmt frame
|
||||
* @RCPI_MEASUREMENT_TYPE_LAST_DATA: rcpi of last data frame
|
||||
* @RCPI_MEASUREMENT_TYPE_INVALID: invalid rcpi measurement type
|
||||
*/
|
||||
enum rcpi_measurement_type {
|
||||
RCPI_MEASUREMENT_TYPE_AVG_MGMT = 0x1,
|
||||
RCPI_MEASUREMENT_TYPE_AVG_DATA = 0x2,
|
||||
RCPI_MEASUREMENT_TYPE_LAST_MGMT = 0x3,
|
||||
RCPI_MEASUREMENT_TYPE_LAST_DATA = 0x4,
|
||||
RCPI_MEASUREMENT_TYPE_INVALID = 0x5,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct rcpi_req - RCPI req parameter
|
||||
* @vdev_id: virtual device id
|
||||
* @measurement_type: type of rcpi from enum wmi_rcpi_measurement_type
|
||||
* @mac_addr: peer mac addr for which measurement is required
|
||||
*/
|
||||
struct rcpi_req {
|
||||
uint32_t vdev_id;
|
||||
enum rcpi_measurement_type measurement_type;
|
||||
uint8_t mac_addr[IEEE80211_ADDR_LEN];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct rcpi_res - RCPI response parameter
|
||||
* @vdev_id: virtual device id
|
||||
* @measurement_type: type of rcpi from enum wmi_rcpi_measurement_type
|
||||
* @mac_addr: peer mac addr for which measurement is required
|
||||
* @rcpi_value: value of RCPI computed by firmware
|
||||
*/
|
||||
struct rcpi_res {
|
||||
uint32_t vdev_id;
|
||||
enum rcpi_measurement_type measurement_type;
|
||||
uint8_t mac_addr[IEEE80211_ADDR_LEN];
|
||||
int32_t rcpi_value;
|
||||
};
|
||||
|
||||
#define WMI_HOST_BOARD_MCN_STRING_MAX_SIZE 19
|
||||
#define WMI_HOST_BOARD_MCN_STRING_BUF_SIZE \
|
||||
(WMI_HOST_BOARD_MCN_STRING_MAX_SIZE+1) /* null-terminator */
|
||||
|
Reference in New Issue
Block a user