* descriptor.
*/
+#ifndef CONFIG_ATH10K_SNOC
struct rx_frag_info {
u8 ring0_more_count;
u8 ring1_more_count;
u8 ring2_more_count;
u8 ring3_more_count;
} __packed;
+#else
+struct rx_frag_info {
+ u8 ring0_more_count;
+ u8 ring1_more_count;
+ u8 ring2_more_count;
+ u8 ring3_more_count;
+ u8 ring4_more_count;
+ u8 ring5_more_count;
+ u8 ring6_more_count;
+ u8 ring7_more_count;
+} __packed;
+#endif
/*
* ring0_more_count
__le32 info2; /* %RX_MSDU_START_INFO2_ */
} __packed;
+#ifdef CONFIG_ATH10K_SNOC
+struct rx_msdu_start_wcn3990 {
+ __le32 info3;
+} __packed;
+#else
+struct rx_msdu_start_wcn3990 {
+} __packed;
+#endif
+
struct rx_msdu_start {
struct rx_msdu_start_common common;
union {
struct rx_msdu_start_qca99x0 qca99x0;
} __packed;
+ union {
+ struct rx_msdu_start_wcn3990 wcn3990;
+ } __packed;
} __packed;
/*
__le32 info2;
} __packed;
+struct rx_msdu_end_wcn3990 {
+ __le32 rule_indication_0;
+ __le32 rule_indication_1;
+ __le32 rule_indication_2;
+ __le32 rule_indication_3;
+} __packed;
+
struct rx_msdu_end {
struct rx_msdu_end_common common;
union {
struct rx_msdu_end_qca99x0 qca99x0;
+ struct rx_msdu_end_wcn3990 wcn3990;
} __packed;
} __packed;
struct rx_pkt_end {
__le32 info0; /* %RX_PKT_END_INFO0_ */
+#ifndef CONFIG_ATH10K_SNOC
__le32 phy_timestamp_1;
__le32 phy_timestamp_2;
+#else
+ __le64 phy_timestamp_1;
+ __le64 phy_timestamp_2;
+#endif
} __packed;
#define RX_LOCATION_INFO0_RTT_FAC_LEGACY_MASK 0x00003fff
struct rx_location_info {
__le32 rx_location_info0; /* %RX_LOCATION_INFO0_ */
__le32 rx_location_info1; /* %RX_LOCATION_INFO1_ */
+#ifdef CONFIG_ATH10K_SNOC
+ __le32 rx_location_info2; /* %RX_LOCATION_INFO2_ */
+#endif
} __packed;
enum rx_phy_ppdu_end_info0 {
__le16 info1; /* %RX_PPDU_END_INFO1_ */
} __packed;
+struct rx_timing_offset {
+ __le32 timing_offset;
+ __le32 reserved;
+};
+
+struct rx_ppdu_end_wcn3990 {
+ __le32 reserved_info_0;
+ __le32 reserved_info_1;
+ __le32 rx_antenna_info;
+ __le32 rx_coex_info;
+ __le32 rx_mpdu_cnt_info;
+ __le32 rx_bb_length;
+ __le64 phy_timestamp_tx;
+ struct rx_pkt_end rx_pkt_end;
+ struct rx_phy_ppdu_end rx_phy_ppdu_end;
+ struct rx_timing_offset rx_timing_offset;
+ struct rx_location_info rx_location_info;
+} __packed;
+
struct rx_ppdu_end {
struct rx_ppdu_end_common common;
union {
struct rx_ppdu_end_qca6174 qca6174;
struct rx_ppdu_end_qca99x0 qca99x0;
struct rx_ppdu_end_qca9984 qca9984;
+ struct rx_ppdu_end_wcn3990 wcn3990;
} __packed;
} __packed;