mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 21:59:12 -04:00
fw-api: CL 31460336 - update fw common interface files
Change-Id: If3ea9c061551fa1ad63e172c83f568bc5b17da64 CRs-Fixed: 3830439
This commit is contained in:
parent
c0315ffd41
commit
0c978c79c2
2 changed files with 275 additions and 0 deletions
1
fw/htt.h
1
fw/htt.h
|
|
@ -911,6 +911,7 @@ typedef enum {
|
|||
HTT_STATS_REG_6G_TAG = 249, /* htt_stats_reg_6g_tlv*/
|
||||
HTT_STATS_REG_6G_CH_PWR_INFO_TAG = 250, /* htt_stats_reg_6g_ch_power_info_tlv*/
|
||||
HTT_STATS_REG_6G_OOBE_TAG = 251, /* htt_stats_reg_6g_oobe_tlv*/
|
||||
HTT_STATS_TX_SELFGEN_RESP_FRAME_STATS_TAG = 252, /* htt_stats_tx_selfgen_resp_frame_stats_tlv */
|
||||
|
||||
HTT_STATS_MAX_TAG,
|
||||
} htt_stats_tlv_tag_t;
|
||||
|
|
|
|||
274
fw/htt_stats.h
274
fw/htt_stats.h
|
|
@ -925,6 +925,14 @@ enum htt_dbg_ext_stats_type {
|
|||
*/
|
||||
HTT_DBG_EXT_STATS_REGULATORY = 83,
|
||||
|
||||
/** HTT_DBG_EXT_STATS_TX_SELFGEN_RESP_FRAME_STATS
|
||||
* PARAMS:
|
||||
* - No Params
|
||||
* RESP MSG:
|
||||
* - htt_stats_tx_selfgen_resp_frame_stats_tlv
|
||||
*/
|
||||
HTT_DBG_EXT_STATS_TX_SELFGEN_RESP_FRAME_STATS = 84,
|
||||
|
||||
|
||||
/* keep this last */
|
||||
HTT_DBG_NUM_EXT_STATS = 256,
|
||||
|
|
@ -16238,5 +16246,271 @@ typedef struct {
|
|||
|
||||
/*======================= End Regulatory stats ==================== } */
|
||||
|
||||
/*
|
||||
* Self response frame types. Aligning with
|
||||
* WHAL_RESP_FRAMES (WHAL_MAX_RESP_FRAMES).
|
||||
*/
|
||||
typedef enum {
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_11L_MBPS = 0,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_5_5L_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_2L_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_1L_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_11S_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_5_5S_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_CCK_2S_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_6_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_9_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_12_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_18_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_24_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_36_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_48_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_OFDM_54_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_CBF_11AC,
|
||||
HTT_RESP_FRAME_TYPE_CBF_11AX,
|
||||
HTT_RESP_FRAME_TYPE_CBF_11BE,
|
||||
HTT_RESP_FRAME_TYPE_CBF_11AX_EXT,
|
||||
HTT_RESP_FRAME_TYPE_ACK_CTS_11AX_EXT_DCM,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11N_MCS0,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11N_MCS1,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11N_MCS3,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11AC_MCS0,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11AC_MCS1,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11AC_MCS3,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11A_6_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11A_12_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11A_24_MBPS,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11AX_MCS0,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11AX_MCS1,
|
||||
HTT_RESP_FRAME_TYPE_RTT_11AX_MCS3,
|
||||
HTT_RESP_FRAME_TYPE_AX_BE_EXT_DEF,
|
||||
HTT_RESP_FRAME_TYPE_11BE_MCS14_MCS15,
|
||||
HTT_RESP_FRAME_TYPE_MAX
|
||||
} HTT_RESP_FRAME_TYPES;
|
||||
|
||||
/*
|
||||
* This structure stores the essential fields from WHAL_RESP_FRAME_PARAMS
|
||||
* that are accessed in the WHAL SELFGEN RESP FRAME STATS.
|
||||
*/
|
||||
typedef struct {
|
||||
union {
|
||||
A_UINT32 type_rate_chainmask;
|
||||
struct {
|
||||
A_UINT32
|
||||
/* pkt_type:
|
||||
* 0 = CCK, 1 = OFDM, 2 = HT,
|
||||
* 3 = VHT, 4 = HE, 5 = EHT,
|
||||
*/
|
||||
pkt_type : 4, /* 0-3 */
|
||||
nss : 3, /* 4-6: Number of spatial streams */
|
||||
rate_mcs : 4, /* 7-10: Rate/MCS value */
|
||||
/* bandwith:
|
||||
* 0 = 20 MHz, 1 = 40 MHz, 2 = 80 MHz, 3 = 160 MHz, 4 = 320 MHz
|
||||
*/
|
||||
bandwidth : 3, /* 11-13 */
|
||||
chain_mask : 8, /* 14-21: Primary chain mask */
|
||||
alt_chain_mask : 8, /* 22-29: Alternate chain mask */
|
||||
reserved : 2; /* 30-31: Reserved for future use */
|
||||
};
|
||||
};
|
||||
|
||||
union {
|
||||
A_UINT32 tx_pwr_alt;
|
||||
struct {
|
||||
A_UINT32
|
||||
tx_pwr : 8, /* 0-7: Primary TX power (dBm) */
|
||||
tx_pwr_1 : 8, /* 8-15: Secondary TX power (dBm) */
|
||||
alt_tx_pwr : 8, /* 16-23: Alternate TX power (dBm) */
|
||||
alt_tx_pwr_1 : 8; /* 24-31: Alternate secondary TX pwr (dBm) */
|
||||
};
|
||||
};
|
||||
/*
|
||||
* NOTE: due to backwards-compatibility constraints,
|
||||
* this struct cannot be expanded.
|
||||
*/
|
||||
} HTT_STATS_WHAL_SELFGEN_RESP_FRAME_ENTRY;
|
||||
|
||||
/* Mask and shift definitions for type_rate_chainmask fields */
|
||||
#define HTT_STATS_WHAL_SELFGEN_PKT_TYPE_M 0x0000000F
|
||||
#define HTT_STATS_WHAL_SELFGEN_PKT_TYPE_S 0
|
||||
#define HTT_STATS_WHAL_SELFGEN_NSS_M 0x00000070
|
||||
#define HTT_STATS_WHAL_SELFGEN_NSS_S 4
|
||||
#define HTT_STATS_WHAL_SELFGEN_RATE_MCS_M 0x00000780
|
||||
#define HTT_STATS_WHAL_SELFGEN_RATE_MCS_S 7
|
||||
#define HTT_STATS_WHAL_SELFGEN_BANDWIDTH_M 0x00003800
|
||||
#define HTT_STATS_WHAL_SELFGEN_BANDWIDTH_S 11
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_M 0x003FC000
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_S 14
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_M 0x3FC00000
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_S 22
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_PKT_TYPE_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_PKT_TYPE_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_PKT_TYPE_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_PKT_TYPE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_PKT_TYPE, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_PKT_TYPE_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_NSS_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_NSS_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_NSS_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_NSS_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_NSS, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_NSS_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_RATE_MCS_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_RATE_MCS_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_RATE_MCS_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_RATE_MCS_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_RATE_MCS, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_RATE_MCS_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_BANDWIDTH_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_BANDWIDTH_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_BANDWIDTH_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_BANDWIDTH_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_BANDWIDTH, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_BANDWIDTH_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_CHAIN_MASK, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_CHAIN_MASK_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_ALT_CHAIN_MASK_S)); \
|
||||
} while (0)
|
||||
|
||||
/* Mask and shift definitions for tx_pwr_alt fields */
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_M 0x000000FF
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_S 0
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_1_M 0x0000FF00
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_1_S 8
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_M 0x00FF0000
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_S 16
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_M 0xFF000000
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_S 24
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_TX_PWR_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_TX_PWR_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_TX_PWR, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_TX_PWR_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_1_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_TX_PWR_1_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_TX_PWR_1_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_TX_PWR_1_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_TX_PWR_1, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_TX_PWR_1_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_GET(_var) \
|
||||
(((_var) & HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1, _val); \
|
||||
((_var) |= ((_val) << HTT_STATS_WHAL_SELFGEN_ALT_TX_PWR_1_S)); \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
* HTT_STATS_WHAL_SELFGEN_CHANNEL_CONTEXT - Channel context information
|
||||
*
|
||||
* This structure stores common channel context information that is
|
||||
* NOT per frame.
|
||||
* It contains channel frequency, flags, and PHY mode information that applies
|
||||
* to all self-generated response frames.
|
||||
*/
|
||||
typedef struct {
|
||||
union {
|
||||
A_UINT32 channel_info;
|
||||
struct {
|
||||
A_UINT32
|
||||
mhz : 16, /* 0-15: Channel frequency in MHz */
|
||||
/* flags:
|
||||
* Channel flags, with a FW-internal definition of flag values.
|
||||
* This fields is intended only for debugging, since the
|
||||
* definitions of the flag values are not provided.
|
||||
*/
|
||||
flags : 16; /* 16-31 */
|
||||
};
|
||||
};
|
||||
A_UINT32 phy_mode; /* PHY mode (WLAN_PHY_MODE: 11a/11g/11ax/11be etc.) */
|
||||
/*
|
||||
* NOTE: due to backwards-compatibility constraints,
|
||||
* this struct cannot be expanded.
|
||||
*/
|
||||
} HTT_STATS_WHAL_SELFGEN_CHANNEL_CONTEXT;
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_M 0x0000FFFF
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_S 0
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_M 0xFFFF0000
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_S 16
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_GET(_var) \
|
||||
(((_var).channel_context.channel_info & \
|
||||
HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ, _val); \
|
||||
((_var).channel_context.channel_info |= \
|
||||
((_val) << HTT_STATS_WHAL_SELFGEN_CHANNEL_MHZ_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_GET(_var) \
|
||||
(((_var).channel_context.channel_info & \
|
||||
HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_M) >> \
|
||||
HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_S)
|
||||
#define HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS, _val); \
|
||||
((_var).channel_context.channel_info |= \
|
||||
((_val) << HTT_STATS_WHAL_SELFGEN_CHANNEL_FLAGS_S)); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Statistics for self-generated response frames Rate, Pkt type, Chainmask.
|
||||
* Has context that was captured when it was programmed.
|
||||
*/
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
/* Common channel context - NOT per frame */
|
||||
HTT_STATS_WHAL_SELFGEN_CHANNEL_CONTEXT channel_context;
|
||||
/* Array indexed by WHAL_RESP_FRAMES enum values */
|
||||
HTT_STATS_WHAL_SELFGEN_RESP_FRAME_ENTRY frame_data[HTT_RESP_FRAME_TYPE_MAX];
|
||||
} htt_stats_tx_selfgen_resp_frame_stats_tlv;
|
||||
|
||||
|
||||
#endif /* __HTT_STATS_H__ */
|
||||
|
|
|
|||
Loading…
Reference in a new issue