|
@@ -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 */
|