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

Commit 1c9c4529 authored by spuligil's avatar spuligil Committed by Madan Koyyalamudi
Browse files

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

Change-Id: I8f9a12e67a3a6d5a7f840656c3baf704df7d14eb
WMI: add VDEV_PN_MGMT_RX_FILTER cmd + PEER_RX_PN_RESPONSE evt msg defs
CRs-Fixed: 2262693
parent 55b47480
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -579,6 +579,7 @@ typedef enum {
    WMI_SERVICE_BIOS_SAR_SUPPORT = 326, /* FW support for SAR parameter stored in BIOS */
    WMI_SERVICE_REO_QREF_SUPPORT = 327, /* FW supports REO QREF */
    WMI_SERVICE_DELETE_ALL_PEER_BITMAP_SUPPORT = 328, /* target supports cmd to delete all specific peer type within a vdev */
    WMI_SERVICE_PN_REPLAY_CHECK_SUPPORT = 329, /* FW support to check RX mgmt frames has invalid PN in packets */

    WMI_MAX_EXT2_SERVICE

+24 −1
Original line number Diff line number Diff line
@@ -1248,6 +1248,10 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_params_info,
    WMITLV_TAG_STRUC_wmi_rssi_dbm_conversion_temp_offset_info,
    WMITLV_TAG_STRUC_wmi_ctrl_path_afc_stats_struct,
    WMITLV_TAG_STRUC_wmi_frame_pn_params,
    WMITLV_TAG_STRUC_wmi_peer_rx_pn_request_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_peer_rx_pn_response_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param,
} WMITLV_TAG_ID;

/*
@@ -1736,6 +1740,8 @@ typedef enum {
    OP(WMI_VDEV_SET_LTF_KEY_SEED_CMDID) \
    OP(WMI_RTT_PASN_AUTH_STATUS_CMD) \
    OP(WMI_RTT_PASN_DEAUTH_CMD) \
    OP(WMI_PEER_RX_PN_REQUEST_CMDID) \
    OP(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -2018,6 +2024,7 @@ typedef enum {
    OP(WMI_RTT_PASN_PEER_CREATE_REQ_EVENTID) \
    OP(WMI_RTT_PASN_PEER_DELETE_EVENTID) \
    OP(WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID) \
    OP(WMI_PEER_RX_PN_RESPONSE_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -2661,6 +2668,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_STATS_CMDID);

WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_PN_REQUEST_CMDID);

/* PN Request Cmd */
#define WMITLV_TABLE_WMI_PEER_RX_PN_REQUEST_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_rx_pn_request_cmd_fixed_param, wmi_peer_rx_pn_request_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)

WMITLV_CREATE_PARAM_STRUC(WMI_PEER_RX_PN_REQUEST_CMDID);

/* Request for memory dump stats Cmd */
#define WMITLV_TABLE_WMI_GET_FW_MEM_DUMP_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_fw_mem_dump_fixed_param, wmi_get_fw_mem_dump_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
@@ -4187,6 +4200,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_DSCP_TID_MAP_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_filter_nrp_config_cmd_fixed_param, wmi_vdev_filter_nrp_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_FILTER_NEIGHBOR_RX_PACKETS_CMDID);

/* Configure filter for PN Rx Pkt indication which pkts need to be forwarded to host */
#define WMITLV_TABLE_WMI_VDEV_PN_MGMT_RX_FILTER_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param, wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID);

/* update a wds (4 address) entry */
#define WMITLV_TABLE_WMI_PEER_UPDATE_WDS_ENTRY_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_update_wds_entry_cmd_fixed_param, wmi_peer_update_wds_entry_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -5211,7 +5229,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rssi_ctl_ext, rssi_ctl_ext, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mgmt_rx_reo_params, wmi_mgmt_rx_reo_params, reo_params, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC,  wmi_mgmt_rx_params_ext,  mgmt_rx_params_ext, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_rx_params_ext, mgmt_rx_params_ext, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);

/* Management Rx FW Consumed Event */
@@ -5511,6 +5530,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_UPDATE_STATS_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tx_pn_response_event_fixed_param, wmi_peer_tx_pn_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TX_PN_RESPONSE_EVENTID);

#define WMITLV_TABLE_WMI_PEER_RX_PN_RESPONSE_EVENTID(id,op,buf,len)\
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_rx_pn_response_event_fixed_param, wmi_peer_rx_pn_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_RX_PN_RESPONSE_EVENTID);

/* For vdev based ht/vht info upload*/
#define WMITLV_TABLE_WMI_UPDATE_VDEV_RATE_STATS_EVENTID(id,op,buf,len)\
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_rate_stats_event_fixed_param, wmi_vdev_rate_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+56 −2
Original line number Diff line number Diff line
@@ -96,6 +96,8 @@ extern "C" {
/* The maximum value of access category */
#define WLAN_MAX_AC  4
#define WMI_MAX_PN_LEN 8
/*
 * These don't necessarily belong here; but as the MS/SM macros require
 * ar6000_internal.h to be included, it may not be defined as yet.
@@ -587,6 +589,8 @@ typedef enum {
    /** Set LTF key seed which will be further used to derive LTF keys */
    WMI_VDEV_SET_LTF_KEY_SEED_CMDID,
    WMI_VDEV_PN_MGMT_RX_FILTER_CMDID,
    /* peer specific commands */
    /** create a peer */
@@ -697,6 +701,8 @@ typedef enum {
    /** Enable/Disable Intra Bss for the peer */
    WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID,
    WMI_PEER_RX_PN_REQUEST_CMDID,
    /* beacon/management specific commands */
@@ -1751,6 +1757,9 @@ typedef enum {
     */
    WMI_PEER_CREATE_CONF_EVENTID,
    WMI_PEER_RX_PN_RESPONSE_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),
@@ -5683,6 +5692,11 @@ typedef struct {
    A_UINT32 filter_high;
} wmi_mgmt_rx_reo_filter_configuration_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag (WMITLV_TAG_STRUC_wmi_frame_pn_params) and len */
    A_UINT8 cur_pn[WMI_MAX_PN_LEN];
    A_UINT8 prev_pn[WMI_MAX_PN_LEN];
} wmi_frame_pn_params;
typedef enum {
    PKT_CAPTURE_MODE_DISABLE = 0,
@@ -9937,6 +9951,17 @@ typedef struct {
    A_UINT32 key_ix;
} wmi_peer_tx_pn_request_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_rx_pn_request_cmd_fixed_param */
    /** unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /** peer MAC address */
    wmi_mac_addr peer_macaddr;
    A_UINT32 key_type; /* use standard cipher types - see WMI_CIPHER_ defs */
    /** key index **/
    A_UINT32 key_ix;
} wmi_peer_rx_pn_request_cmd_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_pn_response_event_fixed_param */
    /** unique id identifying the VDEV, generated by the caller */
@@ -9955,6 +9980,23 @@ typedef struct {
    A_UINT32 key_ix;
} wmi_peer_tx_pn_response_event_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_rx_pn_response_event_fixed_param */
    /** unique id identifying the VDEV, generated by the caller */
    A_UINT32 vdev_id;
    /** peer MAC address */
    wmi_mac_addr peer_macaddr;
    A_UINT32 key_type; /* use standard cipher types - see WMI_CIPHER_ defs */
    A_UINT32 key_idx;
    /** Packet Number
    * The PN is provided in little endian order, with bits 7:0 of the PN
    * residing in pn[0].
    * The key_type indirectly specifies the packet number length, and thus
    * how many bytes within pn[] are filled with valid data.
    */
    A_UINT8 pn[WMI_MAX_PN_LEN];
} wmi_peer_rx_pn_response_event_fixed_param;
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stats_event_fixed_param */
    wmi_stats_id stats_id;
@@ -19030,6 +19072,7 @@ typedef struct {
#define WMI_RXERR_MIC               0x10    /* Michael MIC decrypt error */
#define WMI_RXERR_KEY_CACHE_MISS    0x20    /* No/incorrect key matter in h/w */
#define WMI_RX_OFFLOAD_MON_MODE     0x40    /* Offload dropped mgmt pkt's for only in capture mode*/
#define WMI_RXERR_PN                0x80    /* Invalid PN number on frame */
typedef enum {
    PKT_PWR_SAVE_PAID_MATCH =           0x00000001,
@@ -19742,8 +19785,6 @@ typedef struct {
#define WMI_MAX_KEY_LEN             32
#define IGTK_PN_SIZE                6
#define WMI_MAX_PN_LEN 8
typedef struct {
    /**
     * WMITLV_TAG_STRUC_wmi_roam_ml_key_material_param will exist when link is not created by fw.
@@ -30952,6 +30993,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
        WMI_RETURN_STRING(WMI_VDEV_SET_LTF_KEY_SEED_CMDID);
        WMI_RETURN_STRING(WMI_RTT_PASN_AUTH_STATUS_CMD);
        WMI_RETURN_STRING(WMI_RTT_PASN_DEAUTH_CMD);
        WMI_RETURN_STRING(WMI_VDEV_PN_MGMT_RX_FILTER_CMDID);
        WMI_RETURN_STRING(WMI_PEER_RX_PN_REQUEST_CMDID);
    }
    return (A_UINT8 *) "Invalid WMI cmd";
@@ -37772,6 +37815,17 @@ typedef struct {
     */
} wmi_vdev_multiple_peer_group_cmd_fixed_param;
/* WMI_VDEV_PN_MGMT_RX_FILTER_CMDID */
typedef struct {
    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param */
    A_UINT32 vdev_id;
    /* RX Filter - MGMT/Action frame type is specified in each bit as per 802.11 spec
     * PN check will be done for all MGMT frames irrespective of RX Filter.
     * Rx filter is only used to decide whether PN failed frames should be forwarded to host
     * Example for forwarding beacon and de-auth pkt alone to host then bit 8(Beacon) and 12(De-auth) must be set */
    A_UINT32 pn_rx_filter;
} wmi_vdev_pn_mgmt_rx_filter_cmd_fixed_param; /* Filter for Neighbor Rx Packets */
#define WMI_RTT_PASN_PEER_CREATE_SECURITY_MODE_GET(flag)          WMI_GET_BITS(flag, 0, 2)
#define WMI_RTT_PASN_PEER_CREATE_SECURITY_MODE_SET(flag,val)      WMI_SET_BITS(flag, 0, 2, val)
#define WMI_RTT_PASN_PEER_CREATE_FORCE_SELF_MAC_USE_GET(flag)     WMI_GET_BITS(flag, 2, 1)
+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_ 1124
#define __WMI_REVISION_ 1125

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