fw-api: CL 17220375 - update fw common interface files

Change-Id: Idc9ce211b8050b443ab85543c20c4a1fe9514b23
WMI: add partner link data to STATS_EXT_EVENT msg, add vdev_id for MLO cases
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2022-02-13 06:01:09 -08:00
committed by Madan Koyyalamudi
父節點 7c08e6a932
當前提交 565084e521
共有 3 個文件被更改,包括 55 次插入4 次删除

查看文件

@@ -9497,6 +9497,22 @@ typedef struct {
*/
} wmi_channel_stats;
/* this structure used for pass vdev id in stats events */
typedef struct {
union {
struct {
A_UINT32 id : 31, /* the vdev ID */
validate: 1; /* validate bit, the vdev ID is only valid if this bit set as 1 */
};
A_UINT32 vdev_id;
};
} wmi_vdev_id_info;
#define WMI_VDEV_ID_INFO_GET_VDEV_ID(vdev_id_info) WMI_GET_BITS(vdev_id_info, 0, 31)
#define WMI_VDEV_ID_INFO_SET_VDEV_ID(vdev_id_info, value) WMI_SET_BITS(vdev_id_info, 0, 31, value)
#define WMI_VDEV_ID_INFO_GET_VALIDATE(vdev_id_info) WMI_GET_BITS(vdev_id_info, 31, 1)
#define WMI_VDEV_ID_INFO_SET_VALIDATE(vdev_id_info, value) WMI_SET_BITS(vdev_id_info, 31, 1, value)
/*
* Each step represents 0.5 dB. The starting value is 0 dBm.
* Thus the TPC levels cover 0 dBm to 31.5 dBm inclusive in 0.5 dB steps.
@@ -9557,6 +9573,8 @@ typedef struct {
A_UINT32 power_level_offset;
/* radio id for this tx time per power level statistics (if multiple radio supported) */
A_UINT32 radio_id;
/** Indicates the vdev id of the stats for MLO stats query */
wmi_vdev_id_info vdev_id_info;
/*
* This TLV will be followed by a TLV containing a variable-length array of
* A_UINT32 with tx time per power level data
@@ -9573,7 +9591,7 @@ typedef struct {
/** Radio statistics (once started) do not stop or get reset unless wifi_clear_link_stats is invoked */
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stats_event_fixed_param */
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_radio_link_stats_event_fixed_param */
/** unique id identifying the request, given in the request stats command */
A_UINT32 request_id;
/** Number of radios*/
@@ -9592,6 +9610,8 @@ typedef struct {
* event having additional channels for the same radio.
*/
A_UINT32 more_channels;
/** Indicates the vdev id of the stats for MLO stats query */
wmi_vdev_id_info vdev_id_info;
/*
* This TLV is followed by another TLV of array of bytes
* size of(struct wmi_radio_link_stats);
@@ -9670,6 +9690,8 @@ typedef struct {
A_UINT32 peer_event_number;
/** Indicates if there are more peers which will be sent as seperate peer_stats event */
A_UINT32 more_data;
/** Indicates the vdev id of the stats for MLO stats query */
wmi_vdev_id_info vdev_id_info;
/**
* This TLV is followed by another TLV
@@ -9948,6 +9970,8 @@ typedef struct {
A_UINT32 last_event;
/** number of extended MIB stats event structures (wmi_mib_extd_stats) */
A_UINT32 num_mib_extd_stats;
/** Indicates the vdev id of the stats for MLO stats query */
wmi_vdev_id_info vdev_id_info;
/* This TLV is followed by another TLV of array of bytes
* A_UINT8 data[];
@@ -10409,6 +10433,8 @@ typedef struct {
A_UINT32 rx_mcs_array_len;
/** Array size of stats_period[] which contains several stats periods. */
A_UINT32 stats_period_array_len;
/** Indicates the vdev id for MLO case */
wmi_vdev_id_info vdev_id_info;
/**
* This TLV is followed by TLVs below:
@@ -23502,6 +23528,15 @@ typedef struct {
*/
} wmi_req_stats_ext_cmd_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_partner_link_stats */
A_UINT32 tlv_header;
A_UINT32 vdev_id;
A_UINT32 data_length; /* length of the stats for this vdev */
A_UINT32 offset; /* offset of the stats from partner_link_data for this vdev */
} wmi_partner_link_stats;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stats1_event_fix_param */
A_UINT32 vdev_id; /** vdev ID */
@@ -23511,6 +23546,18 @@ typedef struct {
* Following this structure is the TLV:
* A_UINT8 data[]; <-- length in byte given by field data_len.
*/
/* This structure is used to send information of partner links.
* Following this structure is the TLV:
* wmi_partner_link_stats partner_link_stats[];
*/
/* This structure is used to send REQ binary blobs of stats of partner
* links from firmware to application/service where Host drv is pass
* through.
* Following this structure is the TLV partner_link_stats:
* A_UINT8 partner_link_stats_data[]; <-- length and offset in byte
* units given by TLV
* wmi_partner_link_stats.
*/
} wmi_stats_ext_event_fixed_param;
typedef struct {
@@ -27795,6 +27842,8 @@ typedef struct {
A_UINT32 peer_ps_valid;
/* This field indicates the time since target boot-up in MilliSeconds. */
A_UINT32 peer_ps_timestamp;
/* Indicates the vdev id for MLO case */
wmi_vdev_id_info vdev_id_info;
} wmi_peer_sta_ps_statechange_event_fixed_param;
/* WMI_PDEV_FIPS_EVENTID */