Merge "fw-api: CL 31531034 - update fw common interface files"

This commit is contained in:
QCTECMDR Service 2026-01-31 13:08:26 -08:00 • committed by Gerrit - the friendly Code Review server
commit a26c214ddc
5 changed files with 142 additions and 3 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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