mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
Merge "fw-api: CL 30960339 - update fw common interface files"
This commit is contained in:
commit
932bf4d4b6
4 changed files with 118 additions and 11 deletions
|
|
@ -741,6 +741,8 @@ typedef enum {
|
|||
WMI_SERVICE_DIRECT_REFILL_SUPPORT = 477, /* Indicates FW supports direct refill for RX buffer ring */
|
||||
WMI_SERVICE_NAN_STANDARD_MODE_SUPPORT = 478, /* Indicates FW supports NAN in standard mode (supplicant-based NAN architecture model) */
|
||||
WMI_SERVICE_CONC_2VDEV_DCS_STATS_SUPPORT = 479, /* Indicate FW support for collecting DCS stats for more than 1 vdev (max 2 concurrent vdevs) */
|
||||
WMI_SERVICE_CFR_UNASSOC_RX_CAPTURE_SUPPORT = 480, /* Indicates FW supports RX-based unassociated CFR capture */
|
||||
WMI_SERVICE_CFR_ASSOC_TX_CAPTURE_SUPPORT = 481, /* Indicates FW supports TX-based CFR capture */
|
||||
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
|
|
|||
|
|
@ -1530,6 +1530,7 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_nan_disable_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_nan_disable_cnf_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_nan_disable_ind_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_cfr_capture_filter_resp_event_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
|
|
@ -2460,6 +2461,7 @@ typedef enum {
|
|||
OP(WMI_NAN_NEXT_DW_INFO_EVENTID) \
|
||||
OP(WMI_NAN_DISABLE_CNF_EVENTID) \
|
||||
OP(WMI_NAN_DISABLE_IND_EVENTID) \
|
||||
OP(WMI_CFR_CAPTURE_FILTER_RESP_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -8168,6 +8170,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_FW_READY_IND_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_wlan_mode_resp_event_fixed_param, wmi_wlan_mode_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_MODE_RESP_EVENTID);
|
||||
|
||||
/* CFR capture filter response event */
|
||||
#define WMITLV_TABLE_WMI_CFR_CAPTURE_FILTER_RESP_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_cfr_capture_filter_resp_event_fixed_param, wmi_cfr_capture_filter_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_CFR_CAPTURE_FILTER_RESP_EVENTID);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
118
fw/wmi_unified.h
118
fw/wmi_unified.h
|
|
@ -2663,6 +2663,9 @@ typedef enum {
|
|||
WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_AUDIO),
|
||||
WMI_AUDIO_AGGR_SCHED_METHOD_EVENTID,
|
||||
|
||||
/** WMI events related to CFR capture response event */
|
||||
WMI_CFR_CAPTURE_FILTER_RESP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_CFR_CAPTURE),
|
||||
|
||||
/** Vendor defined WMI events **/
|
||||
WMI_VENDOR_PDEV_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_VENDOR),
|
||||
WMI_VENDOR_VDEV_EVENTID,
|
||||
|
|
@ -47001,7 +47004,12 @@ typedef struct {
|
|||
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)
|
||||
* Bits 28:2: reserved (set to 0x0)
|
||||
* Bit 29: frame sequence control valid flag:
|
||||
* The frame_seq_ctrl word / bitfields in
|
||||
* wmi_peer_cfr_capture_event_fixed_param must be ignored
|
||||
* unless this flag is set.
|
||||
* Bit 30: PS failed flag
|
||||
* Bit 31: Status of the CFR capture of the peer
|
||||
* 1 (True) - Successful; 0 (False) - Not successful
|
||||
*/
|
||||
|
|
@ -47079,8 +47087,41 @@ typedef struct {
|
|||
* Bits 16:31 reserved
|
||||
*/
|
||||
A_UINT32 mcs_gi_info;
|
||||
|
||||
/*
|
||||
* 802.11 Sequence Control field from the transmitted frame.
|
||||
* Added for enhanced CFR correlation.
|
||||
*
|
||||
* Bits 0:3 Fragment number
|
||||
* Bits 4:15 Sequence number
|
||||
* Bits 16:31 Reserved (set to 0)
|
||||
*
|
||||
* Value is 0 if not available.
|
||||
*
|
||||
* NOTE: This field is appended for backward compatibility.
|
||||
* Older hosts will ignore this field as they parse based on
|
||||
* their known structure size.
|
||||
*/
|
||||
A_UINT32 frame_seq_ctrl;
|
||||
} wmi_peer_cfr_capture_event_fixed_param;
|
||||
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX 0x00000003
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX_S 0
|
||||
|
||||
/* bits 28:2 are reserved */
|
||||
|
||||
/* frame_seq_ctrl field is valid */
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_FRAME_SEQ_VALID 0x20000000
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_FRAME_SEQ_VALID_S 29
|
||||
|
||||
/* Failed to capture CFR as peer is in power save mode */
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_PS_FAILED 0x40000000
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_PS_FAILED_S 30
|
||||
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK 0x80000000
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK_S 31
|
||||
|
||||
|
||||
#define WMI_CFR_MCS_GET(mcs_gi_info) \
|
||||
WMI_GET_BITS(mcs_gi_info, 0, 8)
|
||||
|
||||
|
|
@ -47093,6 +47134,57 @@ typedef struct {
|
|||
#define WMI_CFR_GI_TYPE_SET(mcs_gi_info, value) \
|
||||
WMI_SET_BITS(mcs_gi_info, 8, 8, value)
|
||||
|
||||
/* Macros to get/set fragment number from frame_seq_ctrl field */
|
||||
#define WMI_CFR_FRAME_FRAG_NUM_GET(frame_seq_ctrl) \
|
||||
WMI_GET_BITS(frame_seq_ctrl, 0, 4)
|
||||
#define WMI_CFR_FRAME_FRAG_NUM_SET(frame_seq_ctrl, value) \
|
||||
WMI_SET_BITS(frame_seq_ctrl, 0, 4, value)
|
||||
|
||||
/* Macros to get/set sequence number from frame_seq_ctrl field */
|
||||
#define WMI_CFR_FRAME_SEQ_NUM_GET(frame_seq_ctrl) \
|
||||
WMI_GET_BITS(frame_seq_ctrl, 4, 12)
|
||||
#define WMI_CFR_FRAME_SEQ_NUM_SET(frame_seq_ctrl, value) \
|
||||
WMI_SET_BITS(frame_seq_ctrl, 4, 12, value)
|
||||
|
||||
/**
|
||||
* CFR capture filter command response status codes
|
||||
* These values are sent to host in wmi_cfr_capture_filter_resp_event
|
||||
*/
|
||||
typedef enum {
|
||||
/** Configuration successful */
|
||||
WMI_CFR_CAPTURE_FILTER_STATUS_SUCCESS = 0,
|
||||
|
||||
/** Channel not specified for unassoc mode */
|
||||
WMI_CFR_CAPTURE_FILTER_STATUS_NO_CHANNEL = 1,
|
||||
|
||||
/** Invalid MAC ID */
|
||||
WMI_CFR_CAPTURE_FILTER_STATUS_INVALID_MAC_ID = 2,
|
||||
|
||||
/** OCS channel request failed */
|
||||
WMI_CFR_CAPTURE_FILTER_STATUS_OCS_FAILED = 3,
|
||||
|
||||
/** vdev not found */
|
||||
WMI_CFR_CAPTURE_FILTER_STATUS_NO_VDEV = 4,
|
||||
|
||||
/** Invalid param */
|
||||
WMI_CFR_CAPTURE_FILTER_STATUS_INVALID_PARAM = 5,
|
||||
} wmi_cfr_capture_filter_status_t;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;
|
||||
/* Status of the CFR capture filter configuration based on wmi_cfr_capture_filter_status_t */
|
||||
A_UINT32 status; /* wmi_cfr_capture_filter_status_t */
|
||||
A_UINT32 pdev_id;
|
||||
/*
|
||||
* Fields for peer CFR capture support -
|
||||
* These fields are ONLY populated for peer capture responses.
|
||||
* For filter capture responses, these remain 0.
|
||||
*/
|
||||
A_UINT32 vdev_id; /* VDEV ID (0 for filter capture) */
|
||||
wmi_mac_addr mac_addr; /* Peer MAC address (all zeros for filter capture) */
|
||||
A_UINT32 request; /* WMI_PEER_CFR_CAPTURE_ENABLE/DISABLE (0 for filter capture) */
|
||||
} wmi_cfr_capture_filter_resp_event_fixed_param;
|
||||
|
||||
|
||||
#define WMI_UNIFIED_CHAIN_PHASE_MASK 0x0000ffff
|
||||
#define WMI_UNIFIED_CHAIN_PHASE_GET(tlv, chain_idx) \
|
||||
|
|
@ -47170,15 +47262,6 @@ typedef struct {
|
|||
A_UINT32 agc_gain_tbl_index[WMI_MAX_CHAINS/WMI_CFR_AGC_GAIN_CHAINS_PER_U32];
|
||||
} wmi_peer_cfr_capture_event_phase_fixed_param;
|
||||
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK 0x80000000
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_OK_S 31
|
||||
|
||||
/* Failed to capture CFR as peer is in power save mode */
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_PS_FAILED 0x40000000
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_PS_FAILED_S 30
|
||||
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX 0x00000003
|
||||
#define WMI_PEER_CFR_CAPTURE_EVT_STATUS_TX_S 0
|
||||
|
||||
/**
|
||||
* wmi_cold_boot_cal_data config flags
|
||||
|
|
@ -48051,6 +48134,17 @@ typedef struct {
|
|||
*/
|
||||
A_UINT32 capture_count;
|
||||
|
||||
/* unassoc_capture_config:
|
||||
* Bit 0: Enable unassociated capture mode
|
||||
* Bits 31:1 Reserved
|
||||
*/
|
||||
A_UINT32 unassoc_capture_config;
|
||||
|
||||
/* Target channel frequency in MHz */
|
||||
A_UINT32 unassoc_channel_mhz;
|
||||
|
||||
/* Target channel phy_mode */
|
||||
A_UINT32 unassoc_phy_mode; /* WLAN_PHY_MODE */
|
||||
/*
|
||||
* A variable-length TLV array of wmi_cfr_filter_group_config will
|
||||
* follow this fixed_param TLV
|
||||
|
|
@ -48058,6 +48152,10 @@ typedef struct {
|
|||
*/
|
||||
} wmi_cfr_capture_filter_cmd_fixed_param;
|
||||
|
||||
/* CFR Capture macros to get/set the unassociated capture mode enable flag */
|
||||
#define WMI_CFR_UNASSOC_CAPTURE_EN_GET(x) WMI_GET_BITS(x, 0, 1)
|
||||
#define WMI_CFR_UNASSOC_CAPTURE_EN_SET(x, value) WMI_SET_BITS(x, 0, 1, value)
|
||||
|
||||
enum wmi_oem_data_evt_cause {
|
||||
WMI_OEM_DATA_EVT_CAUSE_UNSPECIFIED = 0,
|
||||
WMI_OEM_DATA_EVT_CAUSE_CMD_REQ = 1,
|
||||
|
|
|
|||
|
|
@ -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_ 1674
|
||||
#define __WMI_REVISION_ 1675
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue