qcacmn: change to configure and handle undecoded metadata capture
Added change: 1. Set/reset RXDMA MON STATUS ring filter setting and send HTT message to capture undecoded frame 2. Handle undecoded frame to update cdp_rx_indication_ppdu structure from hal ppdu_info rx status and generate WDI event to deliver it to upper layer Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
这个提交包含在:

提交者
Madan Koyyalamudi

父节点
8b712ebbaf
当前提交
e85fbce095
@@ -1185,6 +1185,7 @@ enum cdp_peer_param_type {
|
||||
* @CDP_CONFIG_SPECIAL_VAP: Configure Special vap
|
||||
* @CDP_RESET_SCAN_SPCL_VAP_STATS_ENABLE: Enable scan spcl vap stats reset
|
||||
* @CDP_ISOLATION: set isolation flag
|
||||
* @CDP_CONFIG_UNDECODED_METADATA_CAPTURE_ENABLE: Undecoded metadata capture
|
||||
*/
|
||||
enum cdp_pdev_param_type {
|
||||
CDP_CONFIG_DEBUG_SNIFFER,
|
||||
@@ -1219,6 +1220,7 @@ enum cdp_pdev_param_type {
|
||||
CDP_RESET_SCAN_SPCL_VAP_STATS_ENABLE,
|
||||
CDP_CONFIG_ENHANCED_STATS_ENABLE,
|
||||
CDP_ISOLATION,
|
||||
CDP_CONFIG_UNDECODED_METADATA_CAPTURE_ENABLE,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -1289,6 +1291,7 @@ enum cdp_pdev_param_type {
|
||||
* @cdp_psoc_param_en_nss_cfg: set nss cfg
|
||||
* @cdp_ipa_enabled : set ipa mode
|
||||
* @cdp_psoc_param_vdev_stats_hw_offload: Configure HW vdev stats offload
|
||||
* @cdp_pdev_param_undecoded_metadata_enable: Undecoded metadata capture enable
|
||||
*/
|
||||
typedef union cdp_config_param_t {
|
||||
/* peer params */
|
||||
@@ -1370,6 +1373,7 @@ typedef union cdp_config_param_t {
|
||||
bool cdp_skip_bar_update;
|
||||
bool cdp_ipa_enabled;
|
||||
bool cdp_psoc_param_vdev_stats_hw_offload;
|
||||
bool cdp_pdev_param_undecoded_metadata_enable;
|
||||
bool cdp_sawf_enabled;
|
||||
} cdp_config_param_type;
|
||||
|
||||
@@ -2364,6 +2368,37 @@ struct cdp_rx_stats_ppdu_user {
|
||||
* @nf: noise floor
|
||||
* @per_chain_rssi: rssi per antenna
|
||||
* @punc_bw: puncered bw
|
||||
* @phyrx_abort: rx aborted undecoded frame indication
|
||||
* @phyrx_abort_reason: abort reason defined in phyrx_abort_request_info
|
||||
* @l_sig_length: L SIG A length
|
||||
* @l_sig_a_parity: L SIG A parity
|
||||
* @l_sig_a_pkt_type: L SIG A info pkt type
|
||||
* @l_sig_a_implicit_sounding: L SIG A info captured implicit sounding
|
||||
* @ht_length: num of bytes in PSDU
|
||||
* @ht_smoothing: Indicate ht_smoothing
|
||||
* @ht_not_sounding: Indicate ht not sounding
|
||||
* @ht_aggregation: Indicate ht aggregation
|
||||
* @ht_stbc: Indicate ht stbc
|
||||
* @ht_crc: Indicate ht crc
|
||||
* @vht_crc: Indicate vht crc
|
||||
* @vht_no_txop_ps: Indicate TXOP power save mode
|
||||
* @bss_color_id: Indicate BSS color ID
|
||||
* @beam_change: Indicates whether spatial mapping is changed
|
||||
* @dl_ul_flag: Differentiates between DL and UL transmission
|
||||
* @transmit_mcs: Indicates the data MCS
|
||||
* @ldpc_extra_sym: LDPC extra symbol
|
||||
* @special_reuse: Spatial reuse
|
||||
* @ltf_sym: Indictaes HE NSTS
|
||||
* @txbf: Indicates whether beamforming is applied
|
||||
* @pe_disambiguity: packet extension disambiguity
|
||||
* @pre_fec_pad: packet extension a factor
|
||||
* @dopplar: Doppler support
|
||||
* @txop_duration: Indicates the remaining time in the current TXOP
|
||||
* @sig_b_mcs: MCS of HE-SIG-B
|
||||
* @sig_b_dcm: DCM of HE-SIG-B
|
||||
* @sig_b_sym: Number of symbols of HE-SIG-B
|
||||
* @sig_b_comp: Compression mode of HE-SIG-B
|
||||
* @he_crc: CRC for HE-SIG contents
|
||||
*/
|
||||
struct cdp_rx_indication_ppdu {
|
||||
uint32_t ppdu_id;
|
||||
@@ -2425,6 +2460,40 @@ struct cdp_rx_indication_ppdu {
|
||||
struct cdp_rx_ppdu_cfr_info cfr_info;
|
||||
#endif
|
||||
uint8_t punc_bw;
|
||||
#ifdef QCA_UNDECODED_METADATA_SUPPORT
|
||||
bool phyrx_abort;
|
||||
uint8_t phyrx_abort_reason;
|
||||
uint32_t l_sig_length:12,
|
||||
l_sig_a_parity:1,
|
||||
l_sig_a_pkt_type:4,
|
||||
l_sig_a_implicit_sounding:1,
|
||||
vht_crc:8,
|
||||
group_id:6;
|
||||
uint32_t ht_length:16,
|
||||
ht_smoothing:1,
|
||||
ht_not_sounding:1,
|
||||
ht_aggregation:1,
|
||||
ht_stbc:2,
|
||||
ht_crc:8,
|
||||
vht_no_txop_ps:1;
|
||||
uint32_t bss_color_id:6,
|
||||
beam_change:1,
|
||||
dl_ul_flag:1,
|
||||
transmit_mcs:4,
|
||||
ldpc_extra_sym:1,
|
||||
special_reuse:4,
|
||||
ltf_sym:3,
|
||||
txbf:1,
|
||||
pe_disambiguity:1,
|
||||
pre_fec_pad:4,
|
||||
dopplar:1;
|
||||
uint32_t txop_duration:7,
|
||||
sig_b_mcs:3,
|
||||
sig_b_dcm:1,
|
||||
sig_b_sym:4,
|
||||
sig_b_comp:1,
|
||||
he_crc:4;
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -700,6 +700,9 @@ enum WDI_EVENT {
|
||||
WDI_EVENT_HYBRID_TX,
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
WDI_EVENT_MLO_TSTMP,
|
||||
#endif
|
||||
#ifdef QCA_UNDECODED_METADATA_SUPPORT
|
||||
WDI_EVENT_RX_PPDU_DESC_UNDECODED_METADATA,
|
||||
#endif
|
||||
/* End of new event items */
|
||||
WDI_EVENT_LAST
|
||||
|
在新工单中引用
屏蔽一个用户