mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
Merge "fw-api: CL 31531034 - update fw common interface files"
This commit is contained in:
commit
a26c214ddc
5 changed files with 142 additions and 3 deletions
99
fw/htt.h
99
fw/htt.h
|
|
@ -21907,6 +21907,102 @@ PREPACK struct htt_rx_peer_metadata_v1b {
|
|||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1B_CHIP_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/*
|
||||
* htt_rx_peer_metadata_v2 - HTT RX peer metadata version 2
|
||||
*
|
||||
* |31 21|20 13|12|11 9|8 6| 5 |4 0|
|
||||
* |------------+--------+--+-----+-----+-----+-----|
|
||||
* | reserved |peer |Q | Log |VDEV | ML |Peer |
|
||||
* | |session |D |Link | ID |Peer | ID |
|
||||
* | |ID |R | ID | |Valid| |
|
||||
* |------------+--------+--+-----+-----+-----+-----|
|
||||
* Where:
|
||||
* QDR = queue data refill
|
||||
*/
|
||||
PREPACK struct htt_rx_peer_metadata_v2 {
|
||||
A_UINT32
|
||||
peer_id: 5,
|
||||
ml_peer_valid: 1,
|
||||
vdev_id: 3,
|
||||
logical_link_id: 3,
|
||||
qdata_refill: 1,
|
||||
peer_session_id: 8,
|
||||
reserved: 11;
|
||||
} POSTPACK;
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_ID_S 0
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_ID_M 0x0000001f
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_ID_GET(_var) \
|
||||
(((_var) & HTT_RX_PEER_META_DATA_V2_PEER_ID_M) >> \
|
||||
HTT_RX_PEER_META_DATA_V2_PEER_ID_S)
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V2_PEER_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V2_PEER_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_S 5
|
||||
#define HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_M 0x00000020
|
||||
#define HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_GET(_var) \
|
||||
(((_var) & HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_M) >> \
|
||||
HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_S)
|
||||
#define HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V2_ML_PEER_VALID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_VDEV_ID_S 6
|
||||
#define HTT_RX_PEER_META_DATA_V2_VDEV_ID_M 0x000001c0
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_VDEV_ID_GET(_var) \
|
||||
(((_var) & HTT_RX_PEER_META_DATA_V2_VDEV_ID_M) >> \
|
||||
HTT_RX_PEER_META_DATA_V2_VDEV_ID_S)
|
||||
#define HTT_RX_PEER_META_DATA_V2_VDEV_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V2_VDEV_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V2_VDEV_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_S 9
|
||||
#define HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_M 0x00000e00
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_GET(_var) \
|
||||
(((_var) & HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_M) >> \
|
||||
HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_S)
|
||||
#define HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V2_LOGICAL_LINK_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_S 12
|
||||
#define HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_M 0x00001000
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_GET(_var) \
|
||||
(((_var) & HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_M) >> \
|
||||
HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_S)
|
||||
#define HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V2_QDATA_REFILL, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V2_QDATA_REFILL_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_S 13
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_M 0x001fe000
|
||||
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_GET(_var) \
|
||||
(((_var) & HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_M) >> \
|
||||
HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_S)
|
||||
#define HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V2_PEER_SESSION_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/* generic variables for masks and shifts for various fields */
|
||||
extern A_UINT32 HTT_RX_PEER_META_DATA_PEER_ID_S;
|
||||
extern A_UINT32 HTT_RX_PEER_META_DATA_PEER_ID_M;
|
||||
|
|
@ -21939,6 +22035,9 @@ extern void (*HTT_RX_PEER_META_DATA_HW_LINK_ID_SET) (A_UINT32 *var, A_UINT32 val
|
|||
extern A_UINT32 (*HTT_RX_PEER_META_DATA_QDATA_REFILL_GET) (A_UINT32 var);
|
||||
extern void (*HTT_RX_PEER_META_DATA_QDATA_REFILL_SET) (A_UINT32 *var, A_UINT32 val);
|
||||
|
||||
extern A_UINT32 (*HTT_RX_PEER_META_DATA_PEER_SESSION_ID_GET) (A_UINT32 var);
|
||||
extern void (*HTT_RX_PEER_META_DATA_PEER_SESSION_ID_SET) (A_UINT32 *var, A_UINT32 val);
|
||||
|
||||
|
||||
/*
|
||||
* In some systems, the host SW wants to specify priorities between
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2026 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
|
|
@ -1986,6 +1986,14 @@ typedef enum HTT_PPDU_STATS_RU_SIZE {
|
|||
HTT_PPDU_STATS_RU_996x4,
|
||||
} HTT_PPDU_STATS_RU_SIZE;
|
||||
|
||||
typedef enum HTT_PPDU_STATS_DRU_SIZE {
|
||||
HTT_PPDU_STATS_DRU_26,
|
||||
HTT_PPDU_STATS_DRU_52,
|
||||
HTT_PPDU_STATS_DRU_106,
|
||||
HTT_PPDU_STATS_DRU_242,
|
||||
HTT_PPDU_STATS_DRU_484,
|
||||
} HTT_PPDU_STATS_DRU_SIZE;
|
||||
|
||||
typedef struct {
|
||||
htt_tlv_hdr_t tlv_hdr;
|
||||
|
||||
|
|
@ -2023,6 +2031,7 @@ typedef struct {
|
|||
* Discriminant is field ru_format:
|
||||
* - ru_format = 0: ru_end, ru_start
|
||||
* - ru_format = 1: ru_index, ru_size
|
||||
* - ru_format = 2: dru_index, dru_size, dru_sbw, dru_sbw_idx
|
||||
* - ru_format = other: reserved for future expansion
|
||||
*
|
||||
* ru_start and ru_end are RU 26 indices
|
||||
|
|
@ -2055,10 +2064,15 @@ typedef struct {
|
|||
*
|
||||
* resp_ru_size is an HTT_PPDU_STATS_RU_SIZE, resp_ru_index
|
||||
* is a size specific index for the given ru_size.
|
||||
*
|
||||
* 'is_dru' field indicates if the current RU allocation
|
||||
* is a distributed RU allocation or not.
|
||||
* 'dru_sbw' is the spreading BW size of current dru_size.
|
||||
*/
|
||||
union {
|
||||
A_UINT32 resp_ru_start__ru_end;
|
||||
A_UINT32 resp_ru_size__ru_index;
|
||||
A_UINT32 dru_size__dru_index__dru_sbw_idx__dru_sbw__is_dru;
|
||||
struct {
|
||||
A_UINT32 resp_ru_end: 16,
|
||||
resp_ru_start: 16;
|
||||
|
|
@ -2067,6 +2081,14 @@ typedef struct {
|
|||
A_UINT32 resp_ru_index: 16,
|
||||
resp_ru_size: 16;
|
||||
};
|
||||
struct {
|
||||
A_UINT32 is_dru: 1,
|
||||
dru_sbw: 3,
|
||||
dru_sbw_idx: 2,
|
||||
dru_index: 16,
|
||||
dru_size: 4,
|
||||
reserved5: 6;
|
||||
};
|
||||
};
|
||||
|
||||
/* BIT [ 0 : 0 ] :- resp_type_valid
|
||||
|
|
|
|||
|
|
@ -757,6 +757,7 @@ typedef enum {
|
|||
WMI_SERVICE_SMD_SUPPORT_UL_FORWARD = 491,
|
||||
/* Service caps related to SMD Roaming - end */
|
||||
|
||||
WMI_SERVICE_PEER_METADATA_V2_SUPPORT = 492, /* Support rx peer meta data v2 */
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
||||
|
|
|
|||
|
|
@ -3758,6 +3758,10 @@ typedef struct {
|
|||
#define WMI_TARGET_CAP_TOTAL_ML_LINKS_NUM_SET(target_cap_flags, value) \
|
||||
WMI_SET_BITS(target_cap_flags, 23, 3, value)
|
||||
|
||||
#define WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_EXTENSION_GET(target_cap_flags) \
|
||||
WMI_GET_BITS(target_cap_flags, 26, 3)
|
||||
#define WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_EXTENSION_SET(target_cap_flags, value) \
|
||||
WMI_SET_BITS(target_cap_flags, 26, 3, value)
|
||||
|
||||
/*
|
||||
* wmi_htt_msdu_idx_to_htt_msdu_qtype GET/SET APIs
|
||||
|
|
@ -3976,7 +3980,8 @@ typedef struct {
|
|||
* Bits 19:17 - max number of ML STA BSS supported, range [0-7]
|
||||
* Bits 22:20 - max number of ML SAP BSS supported, range [0-7]
|
||||
* Bits 25:23 - total number of ML links supported, range [0-7]
|
||||
* Bits 31:26 - Reserved
|
||||
* Bits 28:27 - extended rx peer metadata version capabilities
|
||||
* Bits 31:29 - Reserved
|
||||
*/
|
||||
A_UINT32 target_cap_flags;
|
||||
|
||||
|
|
@ -34035,16 +34040,28 @@ typedef struct {
|
|||
A_UINT32 vdev_id;
|
||||
} wmi_vdev_unified_disconnect_cmd_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
WMI_VDEV_UNIFIED_CONNECT_EVENT_SUCCESS,
|
||||
WMI_VDEV_UNIFIED_CONNECT_EVENT_FAILURE,
|
||||
} WMI_VDEV_UNIFIED_CONNECT_EVENT_STATUS;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_unified_connect_event_fixed_param */
|
||||
/** unique id identifying the VDEV, generated by the caller */
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 status; /* WMI_VDEV_UNIFIED_CONNECT_EVENT_STATUS */
|
||||
} wmi_vdev_unified_connect_event_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
WMI_VDEV_UNIFIED_DISCONNECT_EVENT_SUCCESS,
|
||||
WMI_VDEV_UNIFIED_DISCONNECT_EVENT_FAILURE,
|
||||
} WMI_VDEV_UNIFIED_DISCONNECT_EVENT_STATUS;
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_unified_disconnect_event_fixed_param */
|
||||
/** unique id identifying the VDEV, generated by the caller */
|
||||
A_UINT32 vdev_id;
|
||||
A_UINT32 status; /* WMI_VDEV_UNIFIED_DISCONNECT_EVENT_STATUS */
|
||||
} wmi_vdev_unified_disconnect_event_fixed_param;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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_ 1708
|
||||
#define __WMI_REVISION_ 1710
|
||||
|
||||
/** 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