浏览代码

qcacmn: Add radiotap dissector for TB-PPDU

So far, only HE_TRIG packet type parsing is supported for TB-PPDU
(OFDMA UL)frames, which is not enough for plugfest tests. Add all
radiotap dissecting from  HE Data 1 to HE Data 6

CRs-Fixed: 2316408
Change-Id: I49d91d4981291827b20f325d459fd1e60f3cc271
chenguo 6 年之前
父节点
当前提交
35695ddc8e
共有 1 个文件被更改,包括 36 次插入0 次删除
  1. 36 0
      hal/wifi3.0/hal_generic_api.h

+ 36 - 0
hal/wifi3.0/hal_generic_api.h

@@ -212,6 +212,42 @@ hal_rx_handle_other_tlvs(uint32_t tlv_tag, void *rx_tlv,
 			 ppdu_info->rx_status.he_data1 =
 				QDF_MON_STATUS_HE_SU_FORMAT_TYPE;
 		}
+
+		/* data1 */
+		ppdu_info->rx_status.he_data1 |=
+			QDF_MON_STATUS_HE_BSS_COLOR_KNOWN |
+			QDF_MON_STATUS_HE_DL_UL_KNOWN |
+			QDF_MON_STATUS_HE_DATA_BW_RU_KNOWN;
+
+		/* data2 */
+		ppdu_info->rx_status.he_data2 |=
+			QDF_MON_STATUS_TXOP_KNOWN;
+
+		/*data3*/
+		value = HAL_RX_GET(he_sig_a_mu_ul_info,
+				   HE_SIG_A_MU_UL_INFO_0, BSS_COLOR_ID);
+		ppdu_info->rx_status.he_data3 = value;
+		/* 1 for UL and 0 for DL */
+		value = 1;
+		value = value << QDF_MON_STATUS_DL_UL_SHIFT;
+		ppdu_info->rx_status.he_data3 |= value;
+
+		/*data4*/
+		value = HAL_RX_GET(he_sig_a_mu_ul_info, HE_SIG_A_MU_UL_INFO_0,
+				   SPATIAL_REUSE);
+		ppdu_info->rx_status.he_data4 = value;
+
+		/*data5*/
+		value = HAL_RX_GET(he_sig_a_mu_ul_info,
+				   HE_SIG_A_MU_UL_INFO_0, TRANSMIT_BW);
+		ppdu_info->rx_status.he_data5 = value;
+		ppdu_info->rx_status.bw = value;
+
+		/*data6*/
+		value = HAL_RX_GET(he_sig_a_mu_ul_info, HE_SIG_A_MU_UL_INFO_1,
+				   TXOP_DURATION);
+		value = value << QDF_MON_STATUS_TXOP_SHIFT;
+		ppdu_info->rx_status.he_data6 |= value;
 		return true;
 	}
 	default: