qcacmn: Fix per msdu info for Monitor mode
Add support to include per msdu header info for each msdu in monitor mode. Set HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_RESERVED in htt msg from host. Enable per msdu bit and set it in the dp_htt to be used for filtering. Change-Id: I36217e893c40570c86b758f586c581d88633b557 CRs-fixed: 2101013
This commit is contained in:

committed by
Nandini Suresh

parent
d7d562de5a
commit
308ff00498
@@ -1051,6 +1051,9 @@ int htt_h2t_rx_ring_cfg(void *htt_soc, int pdev_id, void *hal_srng,
|
|||||||
htt_tlv_filter->ppdu_end_user_stats_ext);
|
htt_tlv_filter->ppdu_end_user_stats_ext);
|
||||||
htt_rx_ring_tlv_filter_in_enable_set(tlv_filter, PPDU_END_STATUS_DONE,
|
htt_rx_ring_tlv_filter_in_enable_set(tlv_filter, PPDU_END_STATUS_DONE,
|
||||||
htt_tlv_filter->ppdu_end_status_done);
|
htt_tlv_filter->ppdu_end_status_done);
|
||||||
|
/* RESERVED bit maps to header_per_msdu in htt_tlv_filter*/
|
||||||
|
htt_rx_ring_tlv_filter_in_enable_set(tlv_filter, RESERVED,
|
||||||
|
htt_tlv_filter->header_per_msdu);
|
||||||
|
|
||||||
HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_SET(*msg_word, tlv_filter);
|
HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_SET(*msg_word, tlv_filter);
|
||||||
|
|
||||||
|
@@ -119,6 +119,7 @@ struct htt_rx_ring_tlv_filter {
|
|||||||
ppdu_end_user_stats:1,
|
ppdu_end_user_stats:1,
|
||||||
ppdu_end_user_stats_ext:1,
|
ppdu_end_user_stats_ext:1,
|
||||||
ppdu_end_status_done:1,
|
ppdu_end_status_done:1,
|
||||||
|
header_per_msdu:1,
|
||||||
enable_fp:1,
|
enable_fp:1,
|
||||||
enable_md:1,
|
enable_md:1,
|
||||||
enable_mo:1;
|
enable_mo:1;
|
||||||
|
@@ -3564,6 +3564,7 @@ static int dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle,
|
|||||||
htt_tlv_filter.ppdu_end_user_stats = 0;
|
htt_tlv_filter.ppdu_end_user_stats = 0;
|
||||||
htt_tlv_filter.ppdu_end_user_stats_ext = 0;
|
htt_tlv_filter.ppdu_end_user_stats_ext = 0;
|
||||||
htt_tlv_filter.ppdu_end_status_done = 0;
|
htt_tlv_filter.ppdu_end_status_done = 0;
|
||||||
|
htt_tlv_filter.header_per_msdu = 1;
|
||||||
htt_tlv_filter.enable_fp = 1;
|
htt_tlv_filter.enable_fp = 1;
|
||||||
htt_tlv_filter.enable_md = 0;
|
htt_tlv_filter.enable_md = 0;
|
||||||
htt_tlv_filter.enable_mo = 1;
|
htt_tlv_filter.enable_mo = 1;
|
||||||
@@ -3584,6 +3585,7 @@ static int dp_vdev_set_monitor_mode(struct cdp_vdev *vdev_handle,
|
|||||||
htt_tlv_filter.ppdu_end_user_stats = 1;
|
htt_tlv_filter.ppdu_end_user_stats = 1;
|
||||||
htt_tlv_filter.ppdu_end_user_stats_ext = 1;
|
htt_tlv_filter.ppdu_end_user_stats_ext = 1;
|
||||||
htt_tlv_filter.ppdu_end_status_done = 1;
|
htt_tlv_filter.ppdu_end_status_done = 1;
|
||||||
|
htt_tlv_filter.header_per_msdu = 0;
|
||||||
htt_tlv_filter.enable_fp = 1;
|
htt_tlv_filter.enable_fp = 1;
|
||||||
htt_tlv_filter.enable_md = 0;
|
htt_tlv_filter.enable_md = 0;
|
||||||
htt_tlv_filter.enable_mo = 1;
|
htt_tlv_filter.enable_mo = 1;
|
||||||
|
Reference in New Issue
Block a user