|
@@ -109,6 +109,18 @@ RX_MSDU_DETAILS_RX_MSDU_DESC_INFO_DETAILS_RESERVED_0A_OFFSET))
|
|
|
|
|
|
#if defined(QCA_WIFI_KIWI) && defined(WLAN_CFR_ENABLE) && \
|
|
|
defined(WLAN_ENH_CFR_ENABLE)
|
|
|
+
|
|
|
+#define PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS_CHAN_CAPTURE_STATUS_BMASK 0x00000006
|
|
|
+#define PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS_CHAN_CAPTURE_STATUS_LSB 1
|
|
|
+#define PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS_CHAN_CAPTURE_STATUS_MSB 2
|
|
|
+
|
|
|
+#define HAL_GET_RX_LOCATION_INFO_CHAN_CAPTURE_STATUS(rx_tlv) \
|
|
|
+ ((HAL_RX_GET_64((rx_tlv), \
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS, \
|
|
|
+ RTT_CFR_STATUS) & \
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS_CHAN_CAPTURE_STATUS_BMASK) >> \
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS_CHAN_CAPTURE_STATUS_LSB)
|
|
|
+
|
|
|
static inline
|
|
|
void hal_rx_get_bb_info_kiwi(void *rx_tlv,
|
|
|
void *ppdu_info_hdl)
|
|
@@ -132,64 +144,65 @@ void hal_rx_get_rtt_info_kiwi(void *rx_tlv,
|
|
|
struct hal_rx_ppdu_info *ppdu_info = ppdu_info_hdl;
|
|
|
|
|
|
ppdu_info->cfr_info.rx_location_info_valid =
|
|
|
- HAL_RX_GET(rx_tlv, PHYRX_LOCATION,
|
|
|
- RX_LOCATION_INFO_DETAILS_RX_LOCATION_INFO_VALID);
|
|
|
+ HAL_RX_GET_64(rx_tlv, PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RX_LOCATION_INFO_VALID);
|
|
|
|
|
|
ppdu_info->cfr_info.rtt_che_buffer_pointer_low32 =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- RX_LOCATION_INFO,
|
|
|
- RTT_CHE_BUFFER_POINTER_LOW32);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RTT_CHE_BUFFER_POINTER_LOW32);
|
|
|
|
|
|
ppdu_info->cfr_info.rtt_che_buffer_pointer_high8 =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- RX_LOCATION_INFO,
|
|
|
- RTT_CHE_BUFFER_POINTER_HIGH8);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RTT_CHE_BUFFER_POINTER_HIGH8);
|
|
|
|
|
|
- // TODO Beryllium - Changed reserved8 to reserved3 to avoid
|
|
|
- // compilation failure for kiwi
|
|
|
ppdu_info->cfr_info.chan_capture_status =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- RX_LOCATION_INFO,
|
|
|
- RESERVED_3);
|
|
|
+ HAL_GET_RX_LOCATION_INFO_CHAN_CAPTURE_STATUS(rx_tlv);
|
|
|
+
|
|
|
ppdu_info->cfr_info.rx_start_ts =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- RX_LOCATION_INFO,
|
|
|
- RX_START_TS);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RX_START_TS);
|
|
|
|
|
|
ppdu_info->cfr_info.rtt_cfo_measurement = (int16_t)
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- RX_LOCATION_INFO,
|
|
|
- RTT_CFO_MEASUREMENT);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RTT_CFO_MEASUREMENT);
|
|
|
|
|
|
ppdu_info->cfr_info.agc_gain_info0 =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- PHYRX_PKT_END_RX_PKT_END_DETAILS,
|
|
|
- PHY_TIMESTAMP_1_LOWER_32);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ GAIN_CHAIN0);
|
|
|
+
|
|
|
+ ppdu_info->cfr_info.agc_gain_info0 |=
|
|
|
+ (((uint32_t)HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ GAIN_CHAIN1)) << 16);
|
|
|
|
|
|
ppdu_info->cfr_info.agc_gain_info1 =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- PHYRX_PKT_END_RX_PKT_END_DETAILS,
|
|
|
- PHY_TIMESTAMP_1_UPPER_32);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ GAIN_CHAIN2);
|
|
|
+
|
|
|
+ ppdu_info->cfr_info.agc_gain_info1 |=
|
|
|
+ (((uint32_t)HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ GAIN_CHAIN3)) << 16);
|
|
|
|
|
|
- ppdu_info->cfr_info.agc_gain_info2 =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- PHYRX_PKT_END_RX_PKT_END_DETAILS,
|
|
|
- PHY_TIMESTAMP_2_LOWER_32);
|
|
|
+ ppdu_info->cfr_info.agc_gain_info2 = 0;
|
|
|
|
|
|
- ppdu_info->cfr_info.agc_gain_info3 =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- PHYRX_PKT_END_RX_PKT_END_DETAILS,
|
|
|
- PHY_TIMESTAMP_2_UPPER_32);
|
|
|
+ ppdu_info->cfr_info.agc_gain_info3 = 0;
|
|
|
|
|
|
ppdu_info->cfr_info.mcs_rate =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
- RTT_MCS_RATE);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RTT_MCS_RATE);
|
|
|
|
|
|
ppdu_info->cfr_info.gi_type =
|
|
|
- HAL_RX_GET(rx_tlv,
|
|
|
- PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
- RTT_GI_TYPE);
|
|
|
+ HAL_RX_GET_64(rx_tlv,
|
|
|
+ PHYRX_LOCATION_RX_LOCATION_INFO_DETAILS,
|
|
|
+ RTT_GI_TYPE);
|
|
|
}
|
|
|
#endif
|
|
|
#endif
|