qcacmn: Fix umac/cfr documentation
The kernel-doc script has identified multiple documentation issues in umac/cfr, so fix them. Change-Id: Ie459075a92719e4708021cb965fdbab1f682df24 CRs-Fixed: 3372808
This commit is contained in:

committato da
Madan Koyyalamudi

parent
da575d47b2
commit
183cd295b8
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -26,9 +26,15 @@
|
||||
#define MAX_CAPTURE_COUNT_VAL 0xFFFF
|
||||
|
||||
/**
|
||||
* cfr_cwm_width : Capture bandwidth
|
||||
* 0 : 20MHz, 1 : 40MHz, 2 : 80MHz, 3 : 160MHz, 4 : 80+80MHz
|
||||
* 5 : 320MHz
|
||||
* enum cfr_cwm_width - Capture bandwidth
|
||||
* @CFR_CWM_WIDTH20: 20 MHz
|
||||
* @CFR_CWM_WIDTH40: 40 MHz
|
||||
* @CFR_CWM_WIDTH80: 80 MHz
|
||||
* @CFR_CWM_WIDTH160: 160 MHz
|
||||
* @CFR_CWM_WIDTH80_80: 80+80 MHz
|
||||
* @CFR_CWM_WIDTH320: 320 MHz
|
||||
* @CFR_CWM_WIDTH_MAX:
|
||||
* @CFR_CWM_WIDTHINVALID:
|
||||
*/
|
||||
enum cfr_cwm_width {
|
||||
CFR_CWM_WIDTH20,
|
||||
@@ -43,11 +49,14 @@ enum cfr_cwm_width {
|
||||
};
|
||||
|
||||
/**
|
||||
* cfr_capture_method : Tx based CFR capture method
|
||||
* enum cfr_capture_method - Tx based CFR capture method
|
||||
* @CFR_CAPTURE_METHOD_QOS_NULL : Send QOS Null frame and capture CFR on ACK
|
||||
* @CFR_CAPTURE_METHOD_QOS_NULL_WITH_PHASE: Send QoS Null frame with phase
|
||||
* @CFR_CAPTURE_METHOD_PROBE_RESPONSE : Capture is enabled on probe response
|
||||
* If node is not found, trigger unassociated capture.
|
||||
* @CFR_CAPTURE_METHOD_LAST_VALID:
|
||||
* @CFR_CAPTURE_METHOD_AUTO:
|
||||
* @CFR_CAPTURE_METHOD_MAX:
|
||||
*/
|
||||
enum cfr_capture_method {
|
||||
CFR_CAPTURE_METHOD_QOS_NULL = 0,
|
||||
@@ -59,7 +68,7 @@ enum cfr_capture_method {
|
||||
};
|
||||
|
||||
/**
|
||||
* cfr_wlanconfig_param : CFR params used to store user provided inputs
|
||||
* struct cfr_wlanconfig_param - CFR params used to store user provided inputs
|
||||
* @bandwidth : CFR capture bandwidth
|
||||
* @periodicity : CFR capture periodicity in milli seconds
|
||||
* @capture_method : CFR capture method
|
||||
@@ -67,7 +76,7 @@ enum cfr_capture_method {
|
||||
* @ta : Tx address
|
||||
* @ra : Rx Address
|
||||
* @ta_mask: Tx address mask
|
||||
* @ra_mask; Rx address mask
|
||||
* @ra_mask: Rx address mask
|
||||
* *** Controls for different capture modes in RCC ***
|
||||
* @en_directed_ftm: Enable capture for directed RTT FTM Packet
|
||||
* @en_directed_ndpa_ndp: Enable NDPA filter followed by directed NDP capture
|
||||
@@ -85,44 +94,54 @@ enum cfr_capture_method {
|
||||
* @en_ta_ra_filter_in_as_fp: Filter in frames as FP/MO in m_ta_ra_filter mode
|
||||
* 0: as MO
|
||||
* 1: as FP
|
||||
* @rsvd0: reserved bits
|
||||
*
|
||||
* **** Fixed parameters ****
|
||||
* @cap_dur: Capture duration
|
||||
* @rsvd1: reserved bits
|
||||
* @cap_intvl: Capture interval
|
||||
* FW may limit the interval and duration during which HW may attempt
|
||||
* to capture by programming the user provided values.
|
||||
* These values(cap_dur, cap_intvl) range from 1 us to roughly 16.8 in 1 us
|
||||
* units. Max value is 0xFFFFFF, i.e., 16.777215 s
|
||||
* @rsvd2: reserved bits
|
||||
* @bw: Bandwidth: 20, 40, 80, 160, 240, 320MHz
|
||||
* @nss: 8 bits are allotted for NSS mask. Specifies which numbers of
|
||||
* spatial streams (MIMO factor) are permitted
|
||||
* @grp_id: Group id could of any value between 0 and 15
|
||||
* @expected_mgmt_subtype/ expected_ctrl_subtype / expected_data_subtype:
|
||||
* @rsvd3: reserved bits
|
||||
* @expected_mgmt_subtype:
|
||||
* @expected_ctrl_subtype:
|
||||
* @expected_data_subtype:
|
||||
* corresponds to mgmt/ ctrl/ data, all are bitmasks, in which each bit
|
||||
* represents the corresponding type/ subtype value as per IEEE80211.
|
||||
* @rsvd5: reserved bits
|
||||
*
|
||||
* @en_cfg and reset_cfg: This bitmap of 16 bits, indicates 16 groups.
|
||||
* @en_cfg:
|
||||
* @reset_cfg: This bitmap of 16 bits, indicates 16 groups.
|
||||
* Valid entry should be in between 0 to 0xFFFF.
|
||||
* Turning on a bit in en_cfg will enable MAC TA_RA filter
|
||||
* for corresponding group; whereas turning on a bit in reset_cfg
|
||||
* will reset all 9 params in the corresponding group to default values.
|
||||
*
|
||||
* @ul_mu_user_mask_lower, ul_mu_user_mask_upper :
|
||||
* Since Cypress supports max bandwidth of 80Mhz, maximum number
|
||||
* @ul_mu_user_mask_lower:
|
||||
* @ul_mu_user_mask_upper:
|
||||
* Since Cypress supports max bandwidth of 80 MHz, maximum number
|
||||
* of users in a UL MU-MIMO transmission would be 37.
|
||||
* mask_lower_32: Bits from 31 to 0 indicate user indices for 32 users.
|
||||
* mask_upper_32: Bits from 0 to 4 indicate user indices from 33 to 37.
|
||||
*
|
||||
* @ freeze_tlv_delay_cnt_en, freeze_tlv_delay_cnt_thr :
|
||||
* freeze_tlv_delay_cnt_thr will decide the threshold for MAC to drop the
|
||||
* freeze TLV. freeze_tlv_delay_cnt_thr will only be applicable if
|
||||
* freeze_tlv_delay_cnt_en is enabled.
|
||||
* @freeze_tlv_delay_cnt_en: set to enable @freeze_tlv_delay_cnt_thr
|
||||
* @freeze_tlv_delay_cnt_thr: the threshold for MAC to drop the
|
||||
* freeze TLV. only be applicable if @freeze_tlv_delay_cnt_en is enabled.
|
||||
* @rsvd6: reserved bits
|
||||
*
|
||||
* @cap_count: After capture_count+1 number of captures, MAC stops RCC and
|
||||
* waits for capture_interval duration before enabling again
|
||||
*
|
||||
* @cap_intval_mode_sel: 0 indicates capture_duration mode, 1 indicates the
|
||||
* capture_count mode.
|
||||
* @rsvd7: reserved bits
|
||||
*/
|
||||
struct cfr_wlanconfig_param {
|
||||
enum cfr_cwm_width bandwidth;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -181,6 +181,9 @@ void tgt_cfr_stop_lut_age_timer(struct wlan_objmgr_pdev *pdev);
|
||||
* tgt_cfr_default_ta_ra_cfg() - API to configure default values in TA_RA mode
|
||||
* entries
|
||||
* @pdev: pointer to pdev_object
|
||||
* @rcc_param:
|
||||
* @allvalid:
|
||||
* @reset_cfg:
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
@@ -196,7 +199,7 @@ void tgt_cfr_dump_lut_enh(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* tgt_cfr_rx_tlv_process() - Process PPDU status TLVs
|
||||
* @pdev_obj: pointer to pdev_object
|
||||
* @pdev: pointer to pdev_object
|
||||
* @nbuf: pointer to cdp_rx_indication_ppdu
|
||||
*/
|
||||
void tgt_cfr_rx_tlv_process(struct wlan_objmgr_pdev *pdev, void *nbuf);
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -62,7 +62,7 @@ int ucfg_cfr_stop_capture(struct wlan_objmgr_pdev *pdev,
|
||||
* unassociated clients
|
||||
* @pdev: pointer to pdev object
|
||||
* @unassoc_mac: mac address of un-associated client
|
||||
* @cfr_params: config params to cfr capture
|
||||
* @params: config params to cfr capture
|
||||
*
|
||||
* Return: status of start capture.
|
||||
*/
|
||||
@@ -108,7 +108,7 @@ int ucfg_cfr_get_timer(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* ucfg_cfr_stop_indication() - User space API to write cfr stop string
|
||||
* @vdev - pointer to vdev object
|
||||
* @vdev: pointer to vdev object
|
||||
*
|
||||
* Write stop string and indicate to up layer.
|
||||
*
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -248,9 +248,9 @@ struct csi_cfr_header {
|
||||
|
||||
/**
|
||||
* struct cfr_capture_params - structure to store cfr config param
|
||||
* bandwidth: bandwidth of capture
|
||||
* period: period of capture
|
||||
* method: enum of method being followed to capture cfr data. 0-QoS null data
|
||||
* @bandwidth: bandwidth of capture
|
||||
* @period: period of capture
|
||||
* @method: enum of method being followed to capture cfr data. 0-QoS null data
|
||||
*/
|
||||
struct cfr_capture_params {
|
||||
u_int8_t bandwidth;
|
||||
@@ -260,12 +260,13 @@ struct cfr_capture_params {
|
||||
|
||||
/**
|
||||
* struct psoc_cfr - private psoc object for cfr
|
||||
* psoc_obj: pointer to psoc object
|
||||
* is_cfr_capable: flag to determine if cfr is enabled or not
|
||||
* is_cap_interval_mode_sel_support: flag to determine if target supports both
|
||||
* capture_count and capture_duration modes
|
||||
* with a nob provided to configure
|
||||
* is_mo_marking_support: flag to determine if MO marking is supported or not
|
||||
* @psoc_obj: pointer to psoc object
|
||||
* @is_cfr_capable: flag to determine if cfr is enabled or not
|
||||
* @is_cap_interval_mode_sel_support: flag to determine if target supports both
|
||||
* capture_count and capture_duration modes
|
||||
* with a nob provided to configure
|
||||
* @is_mo_marking_support: flag to determine if MO marking is supported or not
|
||||
* @is_aoa_for_rcc_support:
|
||||
*/
|
||||
struct psoc_cfr {
|
||||
struct wlan_objmgr_psoc *psoc_obj;
|
||||
@@ -279,10 +280,10 @@ struct psoc_cfr {
|
||||
|
||||
/**
|
||||
* struct cfr_wmi_host_mem_chunk - wmi mem chunk related
|
||||
* vaddr: pointer to virtual address
|
||||
* paddr: physical address
|
||||
* len: len of the mem chunk allocated
|
||||
* req_id: reqid related to the mem chunk
|
||||
* @vaddr: pointer to virtual address
|
||||
* @paddr: physical address
|
||||
* @len: len of the mem chunk allocated
|
||||
* @req_id: reqid related to the mem chunk
|
||||
*/
|
||||
struct cfr_wmi_host_mem_chunk {
|
||||
uint32_t *vaddr;
|
||||
@@ -324,24 +325,24 @@ struct whal_cfir_dma_hdr {
|
||||
/**
|
||||
* struct look_up_table - Placeholder for 2 asynchronous events (DBR and
|
||||
* TXRX event)
|
||||
* dbr_recv: Indicates whether WMI for DBR completion is received or not
|
||||
* tx_recv: Indicates whether WMI for TX completion (or) WDI event for RX
|
||||
* @dbr_recv: Indicates whether WMI for DBR completion is received or not
|
||||
* @tx_recv: Indicates whether WMI for TX completion (or) WDI event for RX
|
||||
* status is received or not
|
||||
* data: pointer to CFR data that ucode DMAs to host memory
|
||||
* data_len: length of CFR data DMAed by ucode
|
||||
* dbr_ppdu_id: PPDU id retrieved from DBR completion WMI event
|
||||
* tx_ppdu_id: PPDU id retrieved from WMI TX completion event (or) PPDU status
|
||||
* @data: pointer to CFR data that ucode DMAs to host memory
|
||||
* @data_len: length of CFR data DMAed by ucode
|
||||
* @dbr_ppdu_id: PPDU id retrieved from DBR completion WMI event
|
||||
* @tx_ppdu_id: PPDU id retrieved from WMI TX completion event (or) PPDU status
|
||||
* TLV
|
||||
* dbr_address: Physical address of the CFR data dump retrieved from DBR
|
||||
* @dbr_address: Physical address of the CFR data dump retrieved from DBR
|
||||
* completion WMI event
|
||||
* tx_address1: Physical address of the CFR data from TX/RX event
|
||||
* tx_address2: Physical address of the CFR data from TX/RX event
|
||||
* csi_cfr_header: CFR header constructed by host
|
||||
* whal_cfir_enhanced_hdr: CFR header constructed by ucode
|
||||
* tx_tstamp: Timestamp when TX/RX event was received
|
||||
* dbr_tstamp: Timestamp when DBR completion event was received
|
||||
* header_length: Length of header DMAed by ucode in words
|
||||
* payload_length: Length of CFR payload
|
||||
* @tx_address1: Physical address of the CFR data from TX/RX event
|
||||
* @tx_address2: Physical address of the CFR data from TX/RX event
|
||||
* @header: CFR header constructed by host
|
||||
* @dma_hdr: CFR header constructed by ucode
|
||||
* @txrx_tstamp: Timestamp when TX/RX event was received
|
||||
* @dbr_tstamp: Timestamp when DBR completion event was received
|
||||
* @header_length: Length of header DMAed by ucode in words
|
||||
* @payload_length: Length of CFR payload
|
||||
*/
|
||||
struct look_up_table {
|
||||
bool dbr_recv;
|
||||
@@ -371,34 +372,36 @@ struct unassoc_pool_entry {
|
||||
/**
|
||||
* struct ta_ra_cfr_cfg - structure to store configuration of 16 groups in
|
||||
* M_TA_RA mode
|
||||
* filter_group_id: Filter group number for which the below filters needs to be
|
||||
* @filter_group_id: Filter group number for which the below filters needs to be
|
||||
* applied
|
||||
* bw: CFR capture will be done for packets matching the bandwidths specified
|
||||
* @bw: CFR capture will be done for packets matching the bandwidths specified
|
||||
* within this bitmask
|
||||
* nss: CFR capture will be done for packets matching the Nss specified within
|
||||
* @nss: CFR capture will be done for packets matching the Nss specified within
|
||||
* this bitmask
|
||||
* valid_ta: Ta_addr is valid if set
|
||||
* valid_ta_mask: Ta_addr_mask is valid if set
|
||||
* valid_ra: Ra_addr is valid if set
|
||||
* valid_ra_mask: Ra_addr_mask is valid if set
|
||||
* valid_bw_mask: Bandwidth is valid if set
|
||||
* valid_nss_mask: NSS is valid if set
|
||||
* valid_mgmt_subtype: Mgmt_subtype is valid if set
|
||||
* valid_ctrl_subtype: Ctrl_subtype is valid if set
|
||||
* valid_data_subtype: Data_subtype is valid if set
|
||||
* mgmt_subtype_filter: Managments Packets matching the subtype filter
|
||||
* @rsvd0: reserved bits
|
||||
* @valid_ta: Ta_addr is valid if set
|
||||
* @valid_ta_mask: Ta_addr_mask is valid if set
|
||||
* @valid_ra: Ra_addr is valid if set
|
||||
* @valid_ra_mask: Ra_addr_mask is valid if set
|
||||
* @valid_bw_mask: Bandwidth is valid if set
|
||||
* @valid_nss_mask: NSS is valid if set
|
||||
* @valid_mgmt_subtype: Mgmt_subtype is valid if set
|
||||
* @valid_ctrl_subtype: Ctrl_subtype is valid if set
|
||||
* @valid_data_subtype: Data_subtype is valid if set
|
||||
* @rsvd1: reserved bits
|
||||
* @mgmt_subtype_filter: Managments Packets matching the subtype filter
|
||||
* categories will be filtered in by MAC for CFR capture.
|
||||
* ctrl_subtype_filter: Control Packets matching the subtype filter
|
||||
* @ctrl_subtype_filter: Control Packets matching the subtype filter
|
||||
* categories will be filtered in by MAC for CFR capture.
|
||||
* data_subtype_filter: Data Packets matching the subtype filter
|
||||
* @data_subtype_filter: Data Packets matching the subtype filter
|
||||
* categories will be filtered in by MAC for CFR capture.
|
||||
* tx_addr: Packets whose transmitter address matches (tx_addr & tx_addr_mask)
|
||||
* @tx_addr: Packets whose transmitter address matches (tx_addr & tx_addr_mask)
|
||||
* will be filtered in by MAC
|
||||
* tx_addr_mask: Packets whose transmitter address matches (tx_addr &
|
||||
* @tx_addr_mask: Packets whose transmitter address matches (tx_addr &
|
||||
* tx_addr_mask) will be filtered in by MAC
|
||||
* rx_addr: Packets whose receiver address matches (rx_addr & rx_addr_mask)
|
||||
* @rx_addr: Packets whose receiver address matches (rx_addr & rx_addr_mask)
|
||||
* will be filtered in by MAC
|
||||
* rx_addr_mask: Packets whose receiver address matches (rx_addr &
|
||||
* @rx_addr_mask: Packets whose receiver address matches (rx_addr &
|
||||
* rx_addr_mask) will be filtered in by MAC
|
||||
*/
|
||||
struct ta_ra_cfr_cfg {
|
||||
@@ -428,38 +431,41 @@ struct ta_ra_cfr_cfg {
|
||||
|
||||
/**
|
||||
* struct cfr_rcc_param - structure to store cfr config param
|
||||
* pdev_id: pdev_id for identifying the MAC
|
||||
* vdev_id: vdev_id of current rcc configures
|
||||
* srng_id: srng id of current rcc configures
|
||||
* capture_duration: Capture Duration field for which CFR capture has to happen,
|
||||
* in microsecond units
|
||||
* capture_interval: Capture interval field which is time in between
|
||||
* @pdev_id: pdev_id for identifying the MAC
|
||||
* @vdev_id: vdev_id of current rcc configures
|
||||
* @srng_id: srng id of current rcc configures
|
||||
* @capture_duration: Capture Duration field for which CFR capture has to
|
||||
* happen, in microsecond units
|
||||
* @capture_interval: Capture interval field which is time in between
|
||||
* consecutive CFR capture, in microsecond units
|
||||
* ul_mu_user_mask_lower: Bitfields indicates which of the users in the current
|
||||
* @ul_mu_user_mask_lower: Bitfields indicates which of the users in the current
|
||||
* UL MU transmission are enabled for CFR capture.
|
||||
* ul_mu_user_mask_upper: This is continuation of the above lower mask.
|
||||
* freeze_tlv_delay_cnt_en: Enable Freeze TLV delay counter in MAC
|
||||
* freeze_tlv_delay_cnt_thr: Indicates the number of consecutive Rx packets to
|
||||
* @ul_mu_user_mask_upper: This is continuation of the above lower mask.
|
||||
* @freeze_tlv_delay_cnt_en: Enable Freeze TLV delay counter in MAC
|
||||
* @freeze_tlv_delay_cnt_thr: Indicates the number of consecutive Rx packets to
|
||||
* be skipped before CFR capture is enabled again.
|
||||
* filter_group_bitmap: Bitfields set indicates which of the CFR group config is
|
||||
* enabled
|
||||
* m_directed_ftm: Filter Directed FTM ACK frames for CFR capture
|
||||
* m_all_ftm_ack: Filter All FTM ACK frames for CFR capture
|
||||
* m_ndpa_ndp_directed: Filter NDPA NDP Directed Frames for CFR capture
|
||||
* m_ndpa_ndp_all: Filter all NDPA NDP for CFR capture
|
||||
* m_ta_ra_filter: Filter Frames based on TA/RA/Subtype as provided in CFR Group
|
||||
* config
|
||||
* m_all_packet: Filter in All packets for CFR Capture
|
||||
* en_ta_ra_filter_in_as_fp: Filter in frames as FP/MO in m_ta_ra_filter mode
|
||||
* num_grp_tlvs: Indicates the number of groups in M_TA_RA mode, that have
|
||||
* @rsvd0: reserved bits
|
||||
* @filter_group_bitmap: Bitfields set indicates which of the CFR group config
|
||||
* is enabled
|
||||
* @m_directed_ftm: Filter Directed FTM ACK frames for CFR capture
|
||||
* @m_all_ftm_ack: Filter All FTM ACK frames for CFR capture
|
||||
* @m_ndpa_ndp_directed: Filter NDPA NDP Directed Frames for CFR capture
|
||||
* @m_ndpa_ndp_all: Filter all NDPA NDP for CFR capture
|
||||
* @m_ta_ra_filter: Filter Frames based on TA/RA/Subtype as provided in CFR
|
||||
* Group config
|
||||
* @m_all_packet: Filter in All packets for CFR Capture
|
||||
* @en_ta_ra_filter_in_as_fp: Filter in frames as FP/MO in m_ta_ra_filter mode
|
||||
* @rsvd1: reserved bits
|
||||
* @num_grp_tlvs: Indicates the number of groups in M_TA_RA mode, that have
|
||||
* changes in the current commit session, use to construct WMI group TLV(s)
|
||||
* curr: Placeholder for M_TA_RA group config in current commit session
|
||||
* modified_in_curr_session: Bitmap indicating number of groups in M_TA_RA mode
|
||||
* @curr: Placeholder for M_TA_RA group config in current commit session
|
||||
* @modified_in_curr_session: Bitmap indicating number of groups in M_TA_RA mode
|
||||
* that have changed in current commit session.
|
||||
* capture_count: After capture_count+1 number of captures, MAC stops RCC and
|
||||
* @capture_count: After capture_count+1 number of captures, MAC stops RCC and
|
||||
* waits for capture_interval duration before enabling again
|
||||
* capture_intval_mode_sel: 0 indicates capture_duration mode, 1 indicates the
|
||||
* @capture_intval_mode_sel: 0 indicates capture_duration mode, 1 indicates the
|
||||
* capture_count mode.
|
||||
* @rsvd2: reserved bits
|
||||
*/
|
||||
struct cfr_rcc_param {
|
||||
uint8_t pdev_id;
|
||||
@@ -493,9 +499,9 @@ struct cfr_rcc_param {
|
||||
|
||||
/**
|
||||
* struct nl_event_cb - nl event cb for cfr data
|
||||
* vdev_id: vdev id
|
||||
* pid: PID to which data is sent via unicast nl event
|
||||
* cfr_nl_cb: callback to send nl event
|
||||
* @vdev_id: vdev id
|
||||
* @pid: PID to which data is sent via unicast nl event
|
||||
* @cfr_nl_cb: callback to send nl event
|
||||
*/
|
||||
struct nl_event_cb {
|
||||
uint8_t vdev_id;
|
||||
@@ -506,63 +512,65 @@ struct nl_event_cb {
|
||||
|
||||
/**
|
||||
* struct pdev_cfr - private pdev object for cfr
|
||||
* pdev_obj: pointer to pdev object
|
||||
* is_cfr_capable: flag to determine if cfr is enabled or not
|
||||
* cfr_timer_enable: flag to enable/disable timer
|
||||
* chip_type: chip type which is defined in enum cfrradiotype
|
||||
* cfr_mem_chunk: Region of memory used for storing cfr data
|
||||
* cfr_max_sta_count: Maximum stations supported in one-shot capture mode
|
||||
* num_subbufs: No. of sub-buffers used in relayfs
|
||||
* subbuf_size: Size of sub-buffer used in relayfs
|
||||
* chan_ptr: Channel in relayfs
|
||||
* dir_ptr: Parent directory of relayfs file
|
||||
* lut: lookup table used to store asynchronous DBR and TX/RX events for
|
||||
* @pdev_obj: pointer to pdev object
|
||||
* @is_cfr_capable: flag to determine if cfr is enabled or not
|
||||
* @cfr_timer_enable: flag to enable/disable timer
|
||||
* @chip_type: chip type which is defined in enum cfrradiotype
|
||||
* @cfr_mem_chunk: Region of memory used for storing cfr data
|
||||
* @cfr_max_sta_count: Maximum stations supported in one-shot capture mode
|
||||
* @cfr_current_sta_count:
|
||||
* @num_subbufs: No. of sub-buffers used in relayfs
|
||||
* @subbuf_size: Size of sub-buffer used in relayfs
|
||||
* @chan_ptr: Channel in relayfs
|
||||
* @dir_ptr: Parent directory of relayfs file
|
||||
* @lut: lookup table used to store asynchronous DBR and TX/RX events for
|
||||
* correlation
|
||||
* lut_num: Number of lut
|
||||
* dbr_buf_size: Size of DBR completion buffer
|
||||
* dbr_num_bufs: No. of DBR completions
|
||||
* tx_evt_cnt: No. of TX completion events till CFR stop was issued
|
||||
* total_tx_evt_cnt: No. of Tx completion events since wifi was up
|
||||
* dbr_evt_cnt: No. of WMI DBR completion events
|
||||
* release_cnt: No. of CFR data buffers relayed to userspace
|
||||
* tx_peer_status_cfr_fail: No. of tx events without tx status set to
|
||||
* @lut_num: Number of lut
|
||||
* @dbr_buf_size: Size of DBR completion buffer
|
||||
* @dbr_num_bufs: No. of DBR completions
|
||||
* @max_mu_users: Max number of MU users
|
||||
* @tx_evt_cnt: No. of TX completion events till CFR stop was issued
|
||||
* @total_tx_evt_cnt: No. of Tx completion events since wifi was up
|
||||
* @dbr_evt_cnt: No. of WMI DBR completion events
|
||||
* @release_cnt: No. of CFR data buffers relayed to userspace
|
||||
* @tx_peer_status_cfr_fail: No. of tx events without tx status set to
|
||||
* PEER_CFR_CAPTURE_EVT_STATUS_MASK indicating CFR capture failure on a peer.
|
||||
* tx_evt_status_cfr_fail: No. of tx events without tx status set to
|
||||
* @tx_evt_status_cfr_fail: No. of tx events without tx status set to
|
||||
* CFR_TX_EVT_STATUS_MASK indicating CFR capture status failure.
|
||||
* tx_dbr_cookie_lookup_fail: No. of dbr cookie lookup failures during tx event
|
||||
* @tx_dbr_cookie_lookup_fail: No. of dbr cookie lookup failures during tx event
|
||||
* process.
|
||||
* rcc_param: Structure to store CFR config for the current commit session
|
||||
* global: Structure to store accumulated CFR config
|
||||
* rx_tlv_evt_cnt: Number of CFR WDI events from datapath
|
||||
* lut_age_timer: Timer to flush pending TXRX/DBR events in lookup table
|
||||
* lut_timer_init: flag to determine if lut_age_timer is initialized or not
|
||||
* is_cfr_rcc_capable: Flag to determine if RCC is enabled or not.
|
||||
* flush_dbr_cnt: No. of un-correlated DBR completions flushed when a newer PPDU
|
||||
* is correlated successfully with newer DBR completion
|
||||
* invalid_dma_length_cnt: No. of buffers for which CFR DMA header length (or)
|
||||
* @rcc_param: Structure to store CFR config for the current commit session
|
||||
* @global: Structure to store accumulated CFR config
|
||||
* @rx_tlv_evt_cnt: Number of CFR WDI events from datapath
|
||||
* @lut_age_timer: Timer to flush pending TXRX/DBR events in lookup table
|
||||
* @lut_timer_init: flag to determine if lut_age_timer is initialized or not
|
||||
* @is_cfr_rcc_capable: Flag to determine if RCC is enabled or not.
|
||||
* @flush_dbr_cnt: No. of un-correlated DBR completions flushed when a newer
|
||||
* PPDU is correlated successfully with newer DBR completion
|
||||
* @invalid_dma_length_cnt: No. of buffers for which CFR DMA header length (or)
|
||||
* data length was invalid
|
||||
* flush_timeout_dbr_cnt: No. of DBR completion flushed out in ageout logic
|
||||
* clear_txrx_event: No. of PPDU status TLVs over-written in LUT
|
||||
* last_success_tstamp: DBR timestamp which indicates that both DBR and TX/RX
|
||||
* @flush_timeout_dbr_cnt: No. of DBR completion flushed out in ageout logic
|
||||
* @clear_txrx_event: No. of PPDU status TLVs over-written in LUT
|
||||
* @last_success_tstamp: DBR timestamp which indicates that both DBR and TX/RX
|
||||
* events have been received successfully.
|
||||
* cfr_dma_aborts: No. of CFR DMA aborts in ucode
|
||||
* is_cap_interval_mode_sel_support: flag to determine if target supports both
|
||||
* is_mo_marking_support: flag to determine if MO marking is supported or not
|
||||
* is_aoa_for_rcc_support: flag to determine if AoA is available for RCC or not
|
||||
* @cfr_dma_aborts: No. of CFR DMA aborts in ucode
|
||||
* @is_cap_interval_mode_sel_support: flag to determine if target supports both
|
||||
* @is_mo_marking_support: flag to determine if MO marking is supported or not
|
||||
* @is_aoa_for_rcc_support: flag to determine if AoA is available for RCC or not
|
||||
* capture_count and capture_duration modes with a nob provided to configure.
|
||||
* unassoc_pool: Pool of un-associated clients used when capture method is
|
||||
* @unassoc_pool: Pool of un-associated clients used when capture method is
|
||||
* CFR_CAPTURE_METHOD_PROBE_RESPONSE
|
||||
* nl_cb: call back to register for nl event for cfr data
|
||||
* lut_lock: Lock to protect access to cfr lookup table
|
||||
* is_prevent_suspend: CFR wake lock acquired or not
|
||||
* wake_lock: wake lock for cfr
|
||||
* runtime_lock: runtime lock for cfr
|
||||
* freq: current operating freq for which AoA Phase delta values reported by FW
|
||||
* max_aoa_chains: Indicate the max number of chains to which target supports
|
||||
* @nl_cb: call back to register for nl event for cfr data
|
||||
* @lut_lock: Lock to protect access to cfr lookup table
|
||||
* @is_prevent_suspend: CFR wake lock acquired or not
|
||||
* @wake_lock: wake lock for cfr
|
||||
* @runtime_lock: runtime lock for cfr
|
||||
* @freq: current operating freq for which AoA Phase delta values reported by FW
|
||||
* @max_aoa_chains: Indicate the max number of chains to which target supports
|
||||
* AoA data.
|
||||
* phase_delta: per chain phase delta associated with 62 gain values reported by
|
||||
* FW via WMI_PDEV_AOA_PHASEDELTA_EVENTID.
|
||||
* ibf_cal_val: Per chain IBF cal value from FW.
|
||||
* @phase_delta: per chain phase delta associated with 62 gain values reported
|
||||
* by FW via WMI_PDEV_AOA_PHASEDELTA_EVENTID.
|
||||
* @ibf_cal_val: Per chain IBF cal value from FW.
|
||||
*/
|
||||
/*
|
||||
* To be extended if we get more capbality info
|
||||
@@ -627,20 +635,21 @@ struct pdev_cfr {
|
||||
|
||||
/**
|
||||
* enum cfr_capt_status - CFR capture status
|
||||
* @PEER_CFR_CAPTURE_DISABLE: Capture not in progress
|
||||
* @PEER_CFR_CAPTURE_ENABLE: Capture in progress
|
||||
*/
|
||||
enum cfr_capt_status {
|
||||
/* Capture not in progress */
|
||||
PEER_CFR_CAPTURE_DISABLE,
|
||||
/* Capture in progress */
|
||||
PEER_CFR_CAPTURE_ENABLE,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct peer_cfr - private peer object for cfr
|
||||
* peer_obj: pointer to peer_obj
|
||||
* request: Type of request (start/stop)
|
||||
* bandwidth: bandwitdth of capture for this peer
|
||||
* capture_method: enum determining type of cfr data capture.
|
||||
* @peer_obj: pointer to peer_obj
|
||||
* @request: Type of request (start/stop)
|
||||
* @bandwidth: bandwitdth of capture for this peer
|
||||
* @period: period of capture for this peer
|
||||
* @capture_method: enum determining type of cfr data capture.
|
||||
* 0-Qos null data
|
||||
*/
|
||||
struct peer_cfr {
|
||||
@@ -707,7 +716,7 @@ uint8_t count_set_bits(unsigned long value);
|
||||
|
||||
/**
|
||||
* wlan_cfr_is_feature_disabled() - Check if cfr feature is disabled
|
||||
* @pdev - the physical device object.
|
||||
* @pdev: the physical device object.
|
||||
*
|
||||
* Return : true if cfr is disabled, else false.
|
||||
*/
|
||||
@@ -717,7 +726,7 @@ bool wlan_cfr_is_feature_disabled(struct wlan_objmgr_pdev *pdev);
|
||||
/**
|
||||
* wlan_cfr_rx_tlv_process() - Process PPDU status TLVs and store info in
|
||||
* lookup table
|
||||
* @pdev_obj: PDEV object
|
||||
* @pdev: PDEV object
|
||||
* @nbuf: ppdu info
|
||||
*
|
||||
* Return: none
|
||||
|
Fai riferimento in un nuovo problema
Block a user