mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
fw-api: CL 31390056 - update fw common interface files
Change-Id: I2c589f3e4a99cf930bdc090b9dfdfe0fabbaa112 CRs-Fixed: 3830439
This commit is contained in:
parent
53e6c70140
commit
f2ba7465e6
3 changed files with 177 additions and 1 deletions
|
|
@ -1563,6 +1563,10 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_pdev_uhr_cu_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_cfr_capture_fix_agc_gain_config,
|
||||
WMITLV_TAG_STRUC_wmi_cfr_capture_fix_agc_gain_info,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_power_stats_info,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_tx_rate_info,
|
||||
} WMITLV_TAG_ID;
|
||||
/*
|
||||
* IMPORTANT: Please add _ALL_ WMI Commands Here.
|
||||
|
|
@ -2153,6 +2157,7 @@ typedef enum {
|
|||
OP(WMI_IPA_RING_STATS_REQ_CMDID) \
|
||||
OP(WMI_VDEV_UHR_CU_CMDID) \
|
||||
OP(WMI_PDEV_UHR_CU_CMDID) \
|
||||
OP(WMI_PDEV_POWER_DATAPATH_STATS_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2504,6 +2509,7 @@ typedef enum {
|
|||
OP(WMI_VDEV_UNIFIED_DISCONNECT_EVENTID) \
|
||||
OP(WMI_IPA_RING_STATS_CONF_EVENTID) \
|
||||
OP(WMI_PDEV_UHR_CU_EVENTID) \
|
||||
OP(WMI_PDEV_POWER_DATAPATH_STATS_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -5020,6 +5026,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MNT_FILTER_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param, wmi_pdev_get_chip_power_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID);
|
||||
|
||||
/*
|
||||
* WMI command for setting the pdev power stats enable/disable
|
||||
* and getting the pdev power stats
|
||||
*/
|
||||
#define WMITLV_TABLE_WMI_PDEV_POWER_DATAPATH_STATS_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_cmd_fixed_param, wmi_pdev_power_datapath_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_POWER_DATAPATH_STATS_CMDID);
|
||||
|
||||
/* WLAN GET mws conflict */
|
||||
#define WMITLV_TABLE_WMI_VDEV_GET_MWS_COEX_INFO_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_mws_coex_info_cmd_fixed_param, wmi_vdev_get_mws_coex_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
|
|
@ -7540,6 +7554,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, debug_registers, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_STATS_EVENTID);
|
||||
|
||||
/* WMI event to provide pdev power stats */
|
||||
#define WMITLV_TABLE_WMI_PDEV_POWER_DATAPATH_STATS_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_event_fixed_param, wmi_pdev_power_datapath_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_power_stats_info, power_stats, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_tx_rate_info, tx_rate_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_POWER_DATAPATH_STATS_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_VDEV_BCN_RECEPTION_STATS_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_bcn_recv_stats_event_fixed_param, wmi_vdev_bcn_recv_stats_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_BCN_RECEPTION_STATS_EVENTID);
|
||||
|
|
|
|||
155
fw/wmi_unified.h
155
fw/wmi_unified.h
|
|
@ -623,6 +623,8 @@ typedef enum {
|
|||
* that are applicable for critical update.
|
||||
*/
|
||||
WMI_PDEV_UHR_CU_CMDID,
|
||||
/** WMI cmd used to enable/disable and get power and data path stats */
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_CMDID,
|
||||
|
||||
/* VDEV (virtual device) specific commands */
|
||||
/** vdev create */
|
||||
|
|
@ -2023,6 +2025,11 @@ typedef enum {
|
|||
/* WMI event for the UHR critical Update */
|
||||
WMI_PDEV_UHR_CU_EVENTID, /* 53 */
|
||||
|
||||
/**
|
||||
* WMI Event to send power and data path stats info to Host
|
||||
*/
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_EVENTID, /* 54 */
|
||||
|
||||
|
||||
|
||||
/***
|
||||
|
|
@ -37266,6 +37273,39 @@ typedef struct {
|
|||
A_UINT32 pdev_id;
|
||||
} wmi_pdev_get_chip_power_stats_cmd_fixed_param;
|
||||
|
||||
|
||||
typedef enum {
|
||||
/* Enable the stats by default*/
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_OP_DISABLE = 0,
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_OP_ENBLE = 1,
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_OP_RETRIEVE = 2,
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_OP_MAX,
|
||||
} WMI_PDEV_POWER_DATAPATH_STATS_OPERATION;
|
||||
|
||||
typedef enum {
|
||||
WMI_PDEV_POWER_STATS_TYPE = 0x00000001,
|
||||
WMI_PDEV_DATAPATH_STATS_TYPE = 0x00000002,
|
||||
WMI_PDEV_POWER_DATAPATH_STATS_ALL = 0x00000003,
|
||||
WMI_PDEV_STATS_TYPE_MAX,
|
||||
} WMI_PDEV_POWER_DATAPATH_STATS_TYPE;
|
||||
|
||||
/* WMI command to enable/disable or get the power/datapath stats */
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_cmd_fixed_param */
|
||||
|
||||
/** pdev_id for identifying the MAC
|
||||
* See macros starting with WMI_PDEV_ID_ for values.
|
||||
*/
|
||||
A_UINT32 core_index;
|
||||
|
||||
/** Operation type - distinguishes between enable/disable/retrieve */
|
||||
A_UINT32 operation; /* wmi_pdev_power_datapath_stats_operation */
|
||||
|
||||
/** Stats type bitmap - specifies which stats to enable/disable/retrieve */
|
||||
A_UINT32 stats_type_bitmap; /* wmi_pdev_power_datapath_stats_type */
|
||||
} wmi_pdev_power_datapath_stats_cmd_fixed_param;
|
||||
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_bcn_recv_stats_cmd_fixed_param */
|
||||
/** VDEV identifier */
|
||||
|
|
@ -37426,6 +37466,120 @@ typedef struct {
|
|||
*/
|
||||
} wmi_pdev_chip_power_stats_event_fixed_param;
|
||||
|
||||
|
||||
typedef enum {
|
||||
WMI_PDEV_RATE_CCK_1M,
|
||||
WMI_PDEV_RATE_CCK_2M,
|
||||
WMI_PDEV_RATE_CCK_5M, /* CCK 5.5Mbps */
|
||||
WMI_PDEV_RATE_CCK_11M,
|
||||
WMI_PDEV_RATE_OFDM_6M,
|
||||
WMI_PDEV_RATE_OFDM_9M,
|
||||
WMI_PDEV_RATE_OFDM_12M,
|
||||
WMI_PDEV_RATE_OFDM_18M,
|
||||
WMI_PDEV_RATE_OFDM_24M,
|
||||
WMI_PDEV_RATE_OFDM_36M,
|
||||
WMI_PDEV_RATE_OFDM_48M,
|
||||
WMI_PDEV_RATE_OFDM_54M,
|
||||
WMI_PDEV_RATE_MCS0, /* includes HT MCS 0 (1ss)/8 (2ss)/16 (3ss)/24 (4ss), VHT/HE MCS 0 */
|
||||
WMI_PDEV_RATE_MCS1, /* includes HT MCS 1 (1ss)/9 (2ss)/17 (3ss)/25 (4ss), VHT/HE MCS 1 */
|
||||
WMI_PDEV_RATE_MCS2, /* includes HT MCS 2 (1ss)/10 (2ss)/18 (3ss)/26 (4ss), VHT/HE MCS 2 */
|
||||
WMI_PDEV_RATE_MCS3, /* includes HT MCS 3 (1ss)/11 (2ss)/19 (3ss)/27 (4ss), VHT/HE MCS 3 */
|
||||
WMI_PDEV_RATE_MCS4, /* includes HT MCS 4 (1ss)/12 (2ss)/20 (3ss)/28 (4ss), VHT/HE MCS 4 */
|
||||
WMI_PDEV_RATE_MCS5, /* includes HT MCS 5 (1ss)/13 (2ss)/21 (3ss)/29 (4ss), VHT/HE MCS 5 */
|
||||
WMI_PDEV_RATE_MCS6, /* includes HT MCS 6 (1ss)/14 (2ss)/22 (3ss)/30 (4ss), VHT/HE MCS 6 */
|
||||
WMI_PDEV_RATE_MCS7, /* includes HT MCS 7 (1ss)/15 (2ss)/23 (3ss)/31 (4ss), VHT/HE MCS 7 */
|
||||
WMI_PDEV_RATE_MCS8, /* includes VHT/HE MCS 8 */
|
||||
WMI_PDEV_RATE_MCS9, /* includes VHT/HE MCS 9 */
|
||||
WMI_PDEV_RATE_MCS10, /* includes VHT/HE MCS 10 */
|
||||
WMI_PDEV_RATE_MCS11, /* includes VHT/HE MCS 11 */
|
||||
WMI_PDEV_RATE_MCS12, /* includes BE MCS 12 */
|
||||
WMI_PDEV_RATE_MCS13, /* includes BE MCS 13 */
|
||||
WMI_PDEV_RATE_RATE_IDX_MAX,
|
||||
} WMI_PDEV_RATE_IDX;
|
||||
|
||||
#define WMI_MAX_SLEEP_LEVELS 5
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header;/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_tx_rate_info */
|
||||
|
||||
/** Common element - core_index (PDEV ID) */
|
||||
A_UINT32 core_index;
|
||||
|
||||
/* An index representing a specific transmit data rate */
|
||||
A_UINT32 rate_index;
|
||||
|
||||
/*
|
||||
* The operating band of the transmit rate.
|
||||
* 0: 2.4 GHz, 1: 5 GHz, 2: 6 GHz
|
||||
*/
|
||||
A_UINT32 band;
|
||||
|
||||
/*
|
||||
* The bandwidth of the transmit rate.
|
||||
* 0: 20 MHz, 1: 40 MHz, 2: 80 MHz, 3: 160 MHz, 4: 320 MHz
|
||||
*/
|
||||
A_UINT32 bw;
|
||||
|
||||
/*
|
||||
* The number of spatial streams (NSS) used for this transmit rate.
|
||||
* 0: NSS1, 1: NSS2, 2: NSS3, 3: NSS4, 4: NSS5
|
||||
*/
|
||||
A_UINT32 nss;
|
||||
|
||||
/*
|
||||
* The number of times a transmit occurred with this specific
|
||||
* combination of rate index, band, bandwidth, and NSS
|
||||
*/
|
||||
A_UINT32 count;
|
||||
A_UINT32 tx_retry_count; /* accumulated over time */
|
||||
} wmi_pdev_tx_rate_info;
|
||||
|
||||
/* Power stats in event payload*/
|
||||
typedef struct {
|
||||
/** Power Statistics */
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_power_stats_info */
|
||||
|
||||
/** Common element - core_index (PDEV ID) */
|
||||
A_UINT32 core_index;
|
||||
|
||||
A_UINT32 radio_on_time; /* Time radio was on (ms) */
|
||||
A_UINT32 radio_off_time; /* Time radio was off (ms) */
|
||||
A_UINT32 wlan_pwr_on_time; /* WLAN power on time (ms) */
|
||||
/* tx_time:
|
||||
* ms duration the radio is in a continuous transmit state
|
||||
* encompassing all packet types (management, data, action frames)
|
||||
*/
|
||||
A_UINT32 tx_time;
|
||||
/* rx_time:
|
||||
* ms duration the radio is in a continuous receiving data state
|
||||
* Including all Rx packets instead of only collecting for my BSS data
|
||||
*/
|
||||
A_UINT32 rx_time;
|
||||
|
||||
/* Number of sleep levels being sent to the host */
|
||||
A_UINT32 sleep_levels_num;
|
||||
A_UINT32 sleep_time_per_levels[WMI_MAX_SLEEP_LEVELS]; /* ms */
|
||||
} wmi_pdev_power_stats_info;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_event_fixed_param */
|
||||
|
||||
/** Status of the operation */
|
||||
A_UINT32 status; /* 0 = success, non-zero = error */
|
||||
|
||||
/** Stats type bitmap indicating which stats are included */
|
||||
A_UINT32 stats_type_bitmap;
|
||||
|
||||
/*
|
||||
* Following this structure are the TLVs:
|
||||
* wmi_pdev_power_stats_info[num_cores];
|
||||
* wmi_pdev_tx_rate_info[num_tx_rate_info]
|
||||
* where num_cores and num_tx_rate_info are determined from the TLV array
|
||||
* (i.e. array size / array element size)
|
||||
*/
|
||||
} wmi_pdev_power_datapath_stats_event_fixed_param;
|
||||
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param */
|
||||
A_UINT32 vdev_id;
|
||||
|
|
@ -40932,6 +41086,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_ROAM_SMD_START_STATUS_CMDID);
|
||||
WMI_RETURN_STRING(WMI_VDEV_REPURPOSE_RESP_CMDID);
|
||||
WMI_RETURN_STRING(WMI_IPA_RING_STATS_REQ_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PDEV_POWER_DATAPATH_STATS_CMDID);
|
||||
}
|
||||
|
||||
return (A_UINT8 *) "Invalid WMI cmd";
|
||||
|
|
|
|||
|
|
@ -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_ 1698
|
||||
#define __WMI_REVISION_ 1699
|
||||
|
||||
/** 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