summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-04-24 12:01:26 -0700
committerspuligil <spuligil@codeaurora.org>2019-04-24 12:01:26 -0700
commitd96e9153e101c5b4f0a4b6555349753cf7f88ef2 (patch)
treed1de5d847ae95eb3784de90ce38f4db916a87bb6
parentccf5b8b01d61ad04563e561ad39f5266a79a300a (diff)
fw-api: CL 6990100 - update fw common interface files
HTT: move sa_ant_matrix from htt_rx_ind_hl_rx_desc_t to htt_rx_ppdu_desc_t This change is backwards-incompatible, but is needed because the recent change it reverts had a fundamental problem of attempting to extend a non-TLV struct. Change-Id: Ib9898de1e9c889423d06b4e37eb9b69eea656b3b CRs-Fixed: 2262693
-rw-r--r--fw/htt.h39
1 files changed, 24 insertions, 15 deletions
diff --git a/fw/htt.h b/fw/htt.h
index 3779453095e7..295776d15a1e 100644
--- a/fw/htt.h
+++ b/fw/htt.h
@@ -176,7 +176,7 @@
* 3.59 Add HTT_RXDMA_HOST_BUF_RING2 def
* 3.60 Add HTT_T2H_MSG_TYPE_PEER_STATS_IND def
* 3.61 Add rx offset fields to HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG msg
- * 3.62 Add antenna mask to reserved space in htt_rx_ind_hl_rx_desc_t
+ * 3.62 Add antenna mask to reserved space in htt_rx_ppdu_desc_t
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 62
@@ -6173,9 +6173,17 @@ PREPACK struct htt_rx_ppdu_desc_t
preamble_type: 8;
#define HTT_RX_IND_PPDU_OFFSET_WORD_VHT_SIG_A2 8
+ #define HTT_RX_IND_PPDU_OFFSET_WORD_SA_ANT_MATRIX 8
A_UINT32 /* word 8 */
vht_sig_a2: 24,
- reserved0: 8;
+ /* sa_ant_matrix
+ * For cases where a single rx chain has options to be connected to
+ * different rx antennas, show which rx antennas were in use during
+ * receipt of a given PPDU.
+ * This sa_ant_matrix provides a bitmask of the antennas used while
+ * receiving this frame.
+ */
+ sa_ant_matrix: 8;
} POSTPACK;
#define HTT_RX_PPDU_DESC_BYTES (sizeof(struct htt_rx_ppdu_desc_t))
@@ -6667,6 +6675,8 @@ A_COMPILE_TIME_ASSERT(HTT_RX_IND_hdr_size_quantum,
#define HTT_RX_IND_PREAMBLE_TYPE_S 24
#define HTT_RX_IND_SERVICE_M 0xff000000
#define HTT_RX_IND_SERVICE_S 24
+#define HTT_RX_IND_SA_ANT_MATRIX_M 0xff000000
+#define HTT_RX_IND_SA_ANT_MATRIX_S 24
/* rx MSDU descriptor fields */
#define HTT_RX_IND_FW_RX_DESC_BYTES_M 0xffff
@@ -6911,6 +6921,14 @@ A_COMPILE_TIME_ASSERT(HTT_RX_IND_hdr_size_quantum,
(((word) & HTT_RX_IND_SERVICE_M) >> \
HTT_RX_IND_SERVICE_S)
+#define HTT_RX_IND_SA_ANT_MATRIX_SET(word, value) \
+ do { \
+ HTT_CHECK_SET_VAL(HTT_RX_IND_SA_ANT_MATRIX, value); \
+ (word) |= (value) << HTT_RX_IND_SA_ANT_MATRIX_S; \
+ } while (0)
+#define HTT_RX_IND_SA_ANT_MATRIX_GET(word) \
+ (((word) & HTT_RX_IND_SA_ANT_MATRIX_M) >> \
+ HTT_RX_IND_SA_ANT_MATRIX_S)
#define HTT_RX_IND_MPDU_COUNT_SET(word, value) \
do { \
@@ -6951,7 +6969,9 @@ PREPACK struct hl_htt_rx_ind_base {
/*
* HTT_RX_IND_HL_RX_DESC_BASE_OFFSET
* Currently, we use a resv field in hl_htt_rx_ind_base to store some
- * HL host needed info. The field is just after the msdu fw rx desc.
+ * HL host needed info; refer to fw_rx_desc_base in wal_rx_desc.h.
+ * The field is just after the MSDU FW rx desc, and 1 byte ahead of
+ * htt_rx_ind_hl_rx_desc_t.
*/
#define HTT_RX_IND_HL_RX_DESC_BASE_OFFSET (HTT_RX_IND_FW_RX_DESC_BYTE_OFFSET + 1)
struct htt_rx_ind_hl_rx_desc_t {
@@ -6968,14 +6988,7 @@ struct htt_rx_ind_hl_rx_desc_t {
udp: 1,
reserved: 1;
} flags;
- /* sa_ant_matrix
- * For cases where a single rx chain has options to be connected to
- * different rx antennas, show which rx antennas were in use during
- * receipt of a given PPDU.
- * This sa_ant_matrix provides a bitmask of the antennas used while
- * receiving this frame.
- */
- A_UINT8 sa_ant_matrix;
+ /* NOTE: no reserved space - don't append any new fields here */
};
#define HTT_RX_IND_HL_RX_DESC_VER_OFFSET \
@@ -6991,10 +7004,6 @@ struct htt_rx_ind_hl_rx_desc_t {
(HTT_RX_IND_HL_RX_DESC_BASE_OFFSET \
+ offsetof(struct htt_rx_ind_hl_rx_desc_t, flags))
-#define HTT_RX_IND_HL_SA_ANT_MATRIX_OFFSET \
- (HTT_RX_IND_HL_RX_DESC_BASE_OFFSET \
- + offsetof(struct htt_rx_ind_hl_rx_desc_t, sa_ant_matrix))
-
#define HTT_RX_IND_HL_FLAG_FIRST_MSDU (0x01 << 0)
#define HTT_RX_IND_HL_FLAG_LAST_MSDU (0x01 << 1)
#define HTT_RX_IND_HL_FLAG_C3_FAILED (0x01 << 2) /* L3 checksum failed */