|
@@ -9355,7 +9355,7 @@ PREPACK struct htt_h2t_sawf_def_queues_map_req {
|
|
|
* dword0 - b'7:0 - msg_type: This will be set to
|
|
|
* 0x1d (HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ)
|
|
|
* b'15:8 - service class ID
|
|
|
- * dword1 - b'31:16 - peer ID
|
|
|
+ * b'31:16 - peer ID
|
|
|
* A HTT_H2T_SAWF_DEF_QUEUES_UNMAP_PEER_ID_WILDCARD
|
|
|
* value for peer ID indicates that the target should
|
|
|
* apply the UNMAP_REQ to all peers.
|
|
@@ -9371,27 +9371,26 @@ PREPACK struct htt_h2t_sawf_def_queues_unmap_req {
|
|
|
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_M 0x0000FF00
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S 8
|
|
|
-#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_GET(_var) \
|
|
|
- (((_var) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_M) >> \
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_GET(word0) \
|
|
|
+ (((word0) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_M) >> \
|
|
|
HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S)
|
|
|
-#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_SET(_var, _val) \
|
|
|
+#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_SET(word0, _val) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID, _val); \
|
|
|
- ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S)); \
|
|
|
+ ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_SVC_CLASS_ID_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_M 0xFFFF0000
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S 16
|
|
|
-#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_GET(_var) \
|
|
|
- (((_var) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_M) >> \
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_GET(word0) \
|
|
|
+ (((word0) & HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_M) >> \
|
|
|
HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S)
|
|
|
-#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_SET(_var, _val) \
|
|
|
+#define HTT_RX_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_SET(word0, _val) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID, _val); \
|
|
|
- ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S)); \
|
|
|
+ ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ_PEER_ID_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
-
|
|
|
/*
|
|
|
* MSG_TYPE => HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ
|
|
|
*
|
|
@@ -9403,45 +9402,74 @@ PREPACK struct htt_h2t_sawf_def_queues_unmap_req {
|
|
|
* to report what service class (if any) the default MSDU queues for
|
|
|
* each of the specified TIDs are linked to.
|
|
|
*
|
|
|
- * |31 16|15 8|7 0|
|
|
|
+ * |31 16|15 8|7 1| 0|
|
|
|
* |------------------------------+--------------+--------------|
|
|
|
* | peer ID | TID mask | msg type |
|
|
|
* |------------------------------------------------------------|
|
|
|
+ * | reserved |ETO|
|
|
|
+ * |------------------------------------------------------------|
|
|
|
* Header fields:
|
|
|
* dword0 - b'7:0 - msg_type: This will be set to
|
|
|
* 0x1e (HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ)
|
|
|
* b'15:8 - TID mask
|
|
|
- * dword1 - b'31:16 - peer ID
|
|
|
+ * b'31:16 - peer ID
|
|
|
+ * dword1 - b'0 - "Existing Tids Only" flag
|
|
|
+ * If this flag is set, the DEF_QUEUES_MAP_REPORT_CONF
|
|
|
+ * message generated by this REQ will only show the
|
|
|
+ * mapping for TIDs that actually exist in the target's
|
|
|
+ * peer object.
|
|
|
+ * Any TIDs that are covered by a MAP_REQ but which
|
|
|
+ * do not actually exist will be shown as being
|
|
|
+ * unmapped (i.e. svc class ID 0xff).
|
|
|
+ * If this flag is cleared, the MAP_REPORT_CONF message
|
|
|
+ * will consider not only the mapping of TIDs currently
|
|
|
+ * existing in the peer, but also the mapping that will
|
|
|
+ * be applied for any TID objects created within this
|
|
|
+ * peer in the future.
|
|
|
+ * b'31:1 - reserved for future use
|
|
|
*/
|
|
|
|
|
|
PREPACK struct htt_h2t_sawf_def_queues_map_report_req {
|
|
|
A_UINT32 msg_type :8,
|
|
|
tid_mask :8,
|
|
|
peer_id :16;
|
|
|
+ A_UINT32 existing_tids_only:1,
|
|
|
+ reserved :31;
|
|
|
} POSTPACK;
|
|
|
|
|
|
-#define HTT_SAWF_DEF_QUEUES_MAP_REPORT_REQ_BYTES 4
|
|
|
+#define HTT_SAWF_DEF_QUEUES_MAP_REPORT_REQ_BYTES 8
|
|
|
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_M 0x0000FF00
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S 8
|
|
|
-#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_GET(_var) \
|
|
|
- (((_var) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_M) >> \
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_GET(word0) \
|
|
|
+ (((word0) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_M) >> \
|
|
|
HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S)
|
|
|
-#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_SET(_var, _val) \
|
|
|
+#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_SET(word0, _val) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK, _val); \
|
|
|
- ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S));\
|
|
|
+ ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_TID_MASK_S));\
|
|
|
} while (0)
|
|
|
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_M 0xFFFF0000
|
|
|
#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S 16
|
|
|
-#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_GET(_var) \
|
|
|
- (((_var) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_M) >> \
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_GET(word0) \
|
|
|
+ (((word0) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_M) >> \
|
|
|
HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S)
|
|
|
-#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_SET(_var, _val) \
|
|
|
+#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_SET(word0, _val) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID, _val); \
|
|
|
- ((_var) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S)); \
|
|
|
+ ((word0) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_PEER_ID_S)); \
|
|
|
+ } while (0)
|
|
|
+
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_M 0x00000001
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_S 0
|
|
|
+#define HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_GET(word1) \
|
|
|
+ (((word1) & HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_M) >> \
|
|
|
+ HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_S)
|
|
|
+#define HTT_RX_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_SET(word1, _val) \
|
|
|
+ do { \
|
|
|
+ HTT_CHECK_SET_VAL(HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY, _val); \
|
|
|
+ ((word1) |= ((_val) << HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ_EXISTING_TIDS_ONLY_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
|