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

Commit 06194c53 authored by spuligil's avatar spuligil
Browse files

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

Change-Id: I235cc527b9a6e851eb8adbcc0b75080dfc1b684d
WMI: add PEER_CFG_CAPTURE_EVENT msg def
CRs-Fixed: 2262693
parent 195d4613
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -380,6 +380,7 @@ typedef enum {
    WMI_SERVICE_WPA3_FT_SAE_SUPPORT = 195, /* FW roaming support for WPA3_FT_SAE */
    WMI_SERVICE_WPA3_FT_SUITE_B_SUPPORT = 196, /* FW roaming support for WPA3_FT_SUITE_B */
    WMI_SERVICE_VOW_ENABLE=197, /* FW supports a set of features to optimize VoW performance */
    WMI_SERVICE_CFR_CAPTURE_IND_EVT_TYPE_1 = 198, /* support WMI_PEER_CFR_CAPTURE_EVENT msg */


    /******* ADD NEW SERVICES HERE *******/
+7 −0
Original line number Diff line number Diff line
@@ -965,6 +965,7 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_request_wlm_stats_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_wlm_stats_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_key_material_ext,
    WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1580,6 +1581,7 @@ typedef enum {
    OP(WMI_VDEV_GET_MWS_COEX_IDRX_STATE_EVENTID) \
    OP(WMI_VDEV_GET_MWS_COEX_ANTENNA_SHARING_STATE_EVENTID) \
    OP(WMI_WLM_STATS_EVENTID) \
    OP(WMI_PEER_CFR_CAPTURE_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -5280,6 +5282,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MOTION_DET_BASE_LINE_HOST_EVENTID);
  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_esp_estimate_event_fixed_param, wmi_esp_estimate_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_ESP_ESTIMATE_EVENTID);

/* Peer CFR capture event */
#define WMITLV_TABLE_WMI_PEER_CFR_CAPTURE_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_cfr_capture_event_fixed_param, wmi_peer_cfr_capture_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CFR_CAPTURE_EVENTID);


#ifdef __cplusplus
}
+90 −5
Original line number Diff line number Diff line
@@ -549,8 +549,21 @@ typedef enum {
    WMI_PEER_TID_CONFIGURATIONS_CMDID,
    /** Peer configuration for Channel Frequency Response (CFR) capture
     * of type wmi_peer_cfr_capture_cmd.  The CFR capture is communicated
     * through HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND.
     * of type wmi_peer_cfr_capture_cmd.
     *
     * On targets that do not use the direct DMA framework,
     * completion of the CFR capture is communicated through
     * HTT_T2H_MSG_TYPE_CFR_DUMP_COMPL_IND.
     * Such targets will set WMI_SERVICE_CFR_CAPTURE_IND_MSG_TYPE_1
     * in WMI Service Ready.
     *
     * On targets that use direct DMA, completion of CFR capture is
     * communicated through WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID
     * using module ID WMI_DMA_RING_CONFIG_MODULE_RTT.
     * Such targets will set WMI_SERVICE_CFR_CAPTURE_IND_EVT_TYPE_1
     * in WMI Service Ready and enumerate WMI_DMA_RING_CONFIG_MODULE_RTT
     * in the dma_ring_caps entry of WMI_SERVICE_READY_EXT_EVENTID.
     * Additional MAC metadata is provided in WMI_PEER_CFR_CAPTURE_EVENTID.
     */
    WMI_PEER_CFR_CAPTURE_CMDID,
@@ -1406,6 +1419,8 @@ typedef enum {
    /** report the current tx PN for the peer */
    WMI_PEER_TX_PN_RESPONSE_EVENTID,
    WMI_PEER_CFR_CAPTURE_EVENTID,
    /* beacon/mgmt specific events */
    /** RX management frame. the entire frame is carried along with the event.  */
    WMI_MGMT_RX_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MGMT),
@@ -4202,6 +4217,9 @@ typedef struct {
            ((int8_t) (WMI_F_MS((hdr)->rssi_chain##c,                       \
              WMI_UNIFIED_RSSI_CHAN_##ch)))
#define WMI_UNIFIED_CHAIN_RSSI_GET(tlv, chain_idx, band) \
    ((A_INT8) WMI_F_MS((tlv)->chain_rssi[chain_idx], WMI_UNIFIED_RSSI_CHAN_ ## band))
typedef struct {
    /** Phy error event header */
    wmi_single_phyerr_rx_hdr hdr;
@@ -24309,6 +24327,7 @@ typedef struct {
typedef enum {
    WMI_DMA_RING_CONFIG_MODULE_SPECTRAL,
    WMI_DMA_RING_CONFIG_MODULE_RTT,
} WMI_DMA_RING_SUPPORTED_MODULE;
typedef struct {
@@ -24413,8 +24432,8 @@ typedef struct {
     */
    A_UINT32 paddr_lo;
    /**
     * Bits 15:0:   address of data [47:32]
     * Bits 31:16:  reserved
     * Bits 11:0:   address of data [43:32]
     * Bits 31:12:  host context data [19:0]
     */
    A_UINT32 paddr_hi;
} wmi_dma_buf_release_entry;
@@ -25888,6 +25907,72 @@ typedef struct {
  #define WMI_HECAP_MAC_HTVHTTRIGRX_SET WMI_HECAP_MAC_HTVHTTRIGRX_SET_D2
#endif /* SUPPORT_11AX_D3 */
typedef struct {
    /** TLV tag and len; tag equals
    * WMITLV_TAG_STRUC_wmi_cfr_capture_event_fixed_param */
    A_UINT32 tlv_header;
    /* Method used to capture CFR - of type WMI_PEER_CFR_CAPTURE_METHOD */
    A_UINT32 capture_method;
    /* VDEV identifier */
    A_UINT32 vdev_id;
    /* Peer MAC address. In AP mode, this is the address of the connected peer
     * for which CFR capture is needed. In case of STA mode, this is the address
     * of the AP to which the STA is connected
     */
    wmi_mac_addr mac_addr;
    /* primary 20 MHz channel frequency in mhz */
    A_UINT32 chan_mhz;
    /* BW of measurement - of type WMI_PEER_CFR_CAPTURE_BW */
    A_UINT32 bandwidth;
    /* phy mode WLAN_PHY_MODE of the channel defined in wlan_defs.h*/
    A_UINT32 phy_mode;
    /* Center frequency 1 in MHz*/
    A_UINT32 band_center_freq1;
    /* Center frequency 2 in MHz - valid only for 11acvht 80plus80 mode*/
    A_UINT32 band_center_freq2;
    /* Number of spatial streams */
    A_UINT32 sts_count;
    /* Bits 31:0:   address of data from wmi_dma_buf_release_entry [31:0] */
    A_UINT32 correlation_info_1;
    /* Bits 11:0:   address of data from wmi_dma_buf_release_entry [43:32]
     * Bits 15:12:  reserved (set to 0x0)
     * Bits 31:16:  hardware PPDU ID [15:0]
     */
    A_UINT32 correlation_info_2;
    /* Bits 1:0:    TX status (if any); values defined in enum
    *               WMI_FRAME_TX_STATUS
     * Bits 30:2:   reserved (set to 0x0)
     * Bit  31:     Status of the CFR capture of the peer
     *              1 (True) - Successful; 0 (False) - Not successful
     */
    A_UINT32 status;
    /* Timestamp in microseconds at which the CFR was captured in the hardware.
     * The clock used for this timestamp is private to the target and
     * is not visible to the host i.e., Host can interpret only the
     * relative timestamp deltas from one message to the next,
     * but can't interpret the absolute timestamp from a single message.
     */
    A_UINT32 timestamp_us;
    /*
     * Count of the current CFR capture from FW.
     * This is helpful to identify any drops in FW.
     */
    A_UINT32 counter;
    /* Per chain RSSI of the peer, for up to WMI_MAX_CHAINS.
     * Each chain's entry reports the RSSI for different bands in dBm units.
     * Use WMI_UNIFIED_CHAIN_RSSI_GET to extract the value for a particular
     * band.
     * A band value of 0x80 (-128) is invalid.
     */
    A_UINT32 chain_rssi[WMI_MAX_CHAINS];
} wmi_peer_cfr_capture_event_fixed_param;
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK      0x80000000
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK_S    31
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX      0x00000003
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX_S    0
/* ADD NEW DEFS HERE */
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,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_ 632
#define __WMI_REVISION_ 633

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