Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 565084e5 authored by spuligil's avatar spuligil Committed by Madan Koyyalamudi
Browse files

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
parent 7c08e6a9
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1242,6 +1242,7 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_rtt_pasn_deauth_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_tx_send_params_ext,
    WMITLV_TAG_STRUC_wmi_mgmt_rx_params_ext,
    WMITLV_TAG_STRUC_wmi_partner_link_stats,
} WMITLV_TAG_ID;

/*
@@ -5836,10 +5837,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DIAG_DATA_CONTAINER_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_estimated_linkspeed_event_fixed_param, wmi_peer_estimated_linkspeed_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ESTIMATED_LINKSPEED_EVENTID);

/* NAN Response/Indication Event */
#define WMITLV_TABLE_WMI_STATS_EXT_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_stats_ext_event_fixed_param, wmi_stats_ext_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_partner_link_stats, partner_link_stats, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, partner_link_data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_STATS_EXT_EVENTID);

#define WMITLV_TABLE_WMI_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID(id,op,buf,len) \
+50 −1
Original line number Diff line number Diff line
@@ -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 */
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@
#define __WMI_VER_MINOR_    0
/** WMI revision number has to be incremented when there is a
 *  change that may or may not break compatibility. */
#define __WMI_REVISION_ 1116
#define __WMI_REVISION_ 1117

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work