mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
fw-api: CL 9561127 - update fw common interface files
Change-Id: Ieda49ad3249b9daae5b4bbffdd2d6ba73b6665c0 HTT: add definition of PPDU ID bitfields CRs-Fixed: 2262693
This commit is contained in:
parent
f4a527c161
commit
87439dcbfd
1 changed files with 115 additions and 1 deletions
116
fw/htt.h
116
fw/htt.h
|
|
@ -199,9 +199,10 @@
|
|||
* 3.75 Add fp_ndp and mo_ndp flags in HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG.
|
||||
* 3.76 Add HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG msg.
|
||||
* 3.77 Add HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE msg.
|
||||
* 3.78 Add htt_ppdu_id def.
|
||||
*/
|
||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||
#define HTT_CURRENT_VERSION_MINOR 77
|
||||
#define HTT_CURRENT_VERSION_MINOR 78
|
||||
|
||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||
|
||||
|
|
@ -14001,4 +14002,117 @@ PREPACK struct htt_chan_caldata_msg {
|
|||
((_var) |= ((_val) << HTT_CHAN_CALDATA_MSG_FREQ2_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/**
|
||||
* @brief - HTT PPDU ID format
|
||||
*
|
||||
* @details
|
||||
* The following field definitions describe the format of the PPDU ID.
|
||||
* The PPDU ID is truncated to 24 bits for TLVs from TQM.
|
||||
*
|
||||
* |31 30|29 24| 23| 22|21 19|18 17|16 12|11 0|
|
||||
* +---------------------------------------------------------------------------
|
||||
* |rsvd |seq_cmd_type|tqm_cmd| rsvd |seq_idx|mac_id| hwq_ id | sch id |
|
||||
* +---------------------------------------------------------------------------
|
||||
*
|
||||
* sch id :Schedule command id
|
||||
* Bits [11 : 0] : monotonically increasing counter to track the
|
||||
* PPDU posted to a specific transmit queue.
|
||||
*
|
||||
* hwq_id: Hardware Queue ID.
|
||||
* Bits [16 : 12] : Indicates the queue id in the hardware transmit queue.
|
||||
*
|
||||
* mac_id: MAC ID
|
||||
* Bits [18 : 17] : LMAC ID obtained from the whal_mac_struct
|
||||
*
|
||||
* seq_idx: Sequence index.
|
||||
* Bits [21 : 19] : Sequence index indicates all the PPDU belonging to
|
||||
* a particular TXOP.
|
||||
*
|
||||
* tqm_cmd: HWSCH/TQM flag.
|
||||
* Bit [23] : Always set to 0.
|
||||
*
|
||||
* seq_cmd_type: Sequence command type.
|
||||
* Bit [29 : 24] : Indicates the frame type for the current sequence.
|
||||
* Refer to enum HTT_STATS_FTYPE for values.
|
||||
*/
|
||||
PREPACK struct htt_ppdu_id {
|
||||
A_UINT32
|
||||
sch_id: 12,
|
||||
hwq_id: 5,
|
||||
mac_id: 2,
|
||||
seq_idx: 3,
|
||||
reserved1: 1,
|
||||
tqm_cmd: 1,
|
||||
seq_cmd_type: 6,
|
||||
reserved2: 2;
|
||||
} POSTPACK;
|
||||
|
||||
#define HTT_PPDU_ID_SCH_ID_S 0
|
||||
#define HTT_PPDU_ID_SCH_ID_M 0x00000fff
|
||||
#define HTT_PPDU_ID_SCH_ID_GET(_var) \
|
||||
(((_var) & HTT_PPDU_ID_SCH_ID_M) >> HTT_PPDU_ID_SCH_ID_S)
|
||||
|
||||
#define HTT_PPDU_ID_SCH_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_ID_SCH_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_ID_SCH_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_ID_HWQ_ID_S 12
|
||||
#define HTT_PPDU_ID_HWQ_ID_M 0x0001f000
|
||||
#define HTT_PPDU_ID_HWQ_ID_GET(_var) \
|
||||
(((_var) & HTT_PPDU_ID_HWQ_ID_M) >> HTT_PPDU_ID_HWQ_ID_S)
|
||||
|
||||
#define HTT_PPDU_ID_HWQ_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_ID_HWQ_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_ID_HWQ_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_ID_MAC_ID_S 17
|
||||
#define HTT_PPDU_ID_MAC_ID_M 0x00060000
|
||||
#define HTT_PPDU_ID_MAC_ID_GET(_var) \
|
||||
(((_var) & HTT_PPDU_ID_MAC_ID_M) >> HTT_PPDU_ID_MAC_ID_S)
|
||||
|
||||
#define HTT_PPDU_ID_MAC_ID_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_ID_MAC_ID, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_ID_MAC_ID_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_ID_SEQ_IDX_S 19
|
||||
#define HTT_PPDU_ID_SEQ_IDX_M 0x00380000
|
||||
#define HTT_PPDU_ID_SEQ_IDX_GET(_var) \
|
||||
(((_var) & HTT_PPDU_ID_SEQ_IDX_M) >> HTT_PPDU_ID_SEQ_IDX_S)
|
||||
|
||||
#define HTT_PPDU_ID_SEQ_IDX_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_ID_SEQ_IDX, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_ID_SEQ_IDX_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_ID_TQM_CMD_S 23
|
||||
#define HTT_PPDU_ID_TQM_CMD_M 0x00800000
|
||||
#define HTT_PPDU_ID_TQM_CMD_GET(_var) \
|
||||
(((_var) & HTT_PPDU_ID_TQM_CMD_M) >> HTT_PPDU_ID_TQM_CMD_S)
|
||||
|
||||
#define HTT_PPDU_ID_TQM_CMD_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_ID_TQM_CMD, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_ID_TQM_CMD_S)); \
|
||||
} while (0)
|
||||
|
||||
#define HTT_PPDU_ID_SEQ_CMD_TYPE_S 24
|
||||
#define HTT_PPDU_ID_SEQ_CMD_TYPE_M 0x3f000000
|
||||
#define HTT_PPDU_ID_SEQ_CMD_TYPE_GET(_var) \
|
||||
(((_var) & HTT_PPDU_ID_SEQ_CMD_TYPE_M) >> HTT_PPDU_ID_SEQ_CMD_TYPE_S)
|
||||
|
||||
#define HTT_PPDU_ID_SEQ_CMD_TYPE_SET(_var, _val) \
|
||||
do { \
|
||||
HTT_CHECK_SET_VAL(HTT_PPDU_ID_SEQ_CMD_TYPE, _val); \
|
||||
((_var) |= ((_val) << HTT_PPDU_ID_SEQ_CMD_TYPE_S)); \
|
||||
} while (0)
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue