qcacmn: Fix dp/wifi3.0/monitor documentation

The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/monitor, so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I27e14544ef88193bbfe6ee409fe58c59d6b5bea2
CRs-Fixed: 3373167
This commit is contained in:
Jeff Johnson
2023-01-04 15:16:26 -08:00
committed by Madan Koyyalamudi
parent 73ff25850d
commit f2c2770849
19 changed files with 670 additions and 661 deletions

View File

@@ -63,10 +63,10 @@ dp_mon_populate_ppdu_info_1_0(struct hal_rx_ppdu_info *hal_ppdu_info,
ppdu->punc_bw = 0;
}
/*
/**
* is_ppdu_txrx_capture_enabled() - API to check both pktlog and debug_sniffer
* modes are enabled or not.
* @dp_pdev: dp pdev handle.
* @pdev: dp pdev handle.
*
* Return: bool
*/
@@ -534,7 +534,7 @@ budget_done:
/* MCL specific functions */
#if defined(DP_CON_MON)
/*
/**
* dp_mon_reap_timer_handler()- timer to reap monitor rings
* reqd as we are not getting ppdu end interrupts
* @arg: SoC Handle
@@ -816,8 +816,8 @@ QDF_STATUS dp_mon_htt_srng_setup_1_0(struct dp_soc *soc,
/* MCL specific functions */
#if defined(DP_CON_MON)
/*
* dp_service_mon_rings()- service monitor rings
/**
* dp_service_mon_rings() - service monitor rings
* @soc: soc dp handle
* @quota: number of ring entry that can be serviced
*
@@ -841,8 +841,8 @@ void dp_service_mon_rings(struct dp_soc *soc, uint32_t quota)
}
#endif
/*
* dp_mon_peer_tx_init() Initialize receive TID state in monitor peer
/**
* dp_mon_peer_tx_init() - Initialize receive TID state in monitor peer
* @pdev: Datapath pdev
* @peer: Datapath peer
*
@@ -857,8 +857,8 @@ dp_mon_peer_tx_init(struct dp_pdev *pdev, struct dp_peer *peer)
dp_peer_update_80211_hdr(peer->vdev, peer);
}
/*
* dp_mon_peer_tx_cleanup() Deinitialize receive TID state in monitor peer
/**
* dp_mon_peer_tx_cleanup() - Deinitialize receive TID state in monitor peer
* @vdev: Datapath vdev
* @peer: Datapath peer
*
@@ -940,7 +940,7 @@ static void dp_ppdu_desc_notify_1_0(struct dp_pdev *pdev, qdf_nbuf_t nbuf)
ppdu_desc = (struct cdp_tx_completion_ppdu *)qdf_nbuf_data(nbuf);
/**
/*
* Deliver PPDU stats only for valid (acked) data
* frames if sniffer mode is not enabled.
* If sniffer mode is enabled, PPDU stats
@@ -971,7 +971,7 @@ static void dp_ppdu_desc_notify_1_0(struct dp_pdev *pdev, qdf_nbuf_t nbuf)
#endif
/**
* dp_ppdu_stats_feat_enable_check_1_0 - Check if feature(s) is enabled to
* dp_ppdu_stats_feat_enable_check_1_0() - Check if feature(s) is enabled to
* consume ppdu stats from FW
*
* @pdev: Datapath pdev handle
@@ -990,12 +990,12 @@ static bool dp_ppdu_stats_feat_enable_check_1_0(struct dp_pdev *pdev)
}
/**
* dp_mon_tx_stats_update_1_0 - Update Tx stats from HTT PPDU completion path
* dp_mon_tx_stats_update_1_0() - Update Tx stats from HTT PPDU completion path
*
* @monitor: Monitor peer
* @mon_peer: Monitor peer
* @ppdu: Tx PPDU user completion info
*/
void
static void
dp_mon_tx_stats_update_1_0(struct dp_mon_peer *mon_peer,
struct cdp_tx_completion_ppdu_user *ppdu)
{
@@ -1005,7 +1005,7 @@ dp_mon_tx_stats_update_1_0(struct dp_mon_peer *mon_peer,
#ifndef QCA_SUPPORT_FULL_MON
/**
* dp_rx_mon_process () - Core brain processing for monitor mode
* dp_rx_mon_process() - Core brain processing for monitor mode
*
* This API processes monitor destination ring followed by monitor status ring
* Called from bottom half (tasklet/NET_RX_SOFTIRQ)
@@ -1015,7 +1015,7 @@ dp_mon_tx_stats_update_1_0(struct dp_mon_peer *mon_peer,
* @mac_id: mac_id on which interrupt is received
* @quota: Number of status ring entry that can be serviced in one shot.
*
* @Return: Number of reaped status ring entries
* Return: Number of reaped status ring entries
*/
static inline uint32_t
dp_rx_mon_process(struct dp_soc *soc, struct dp_intr *int_ctx,

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -71,7 +71,7 @@ struct dp_mon_pdev_li {
/**
* dp_mon_get_context_size_li() - get LI specific size for mon pdev/soc
* @arch_ops: arch ops pointer
* @context_type: context type for which the size is needed
*
* Return: size in bytes for the context_type
*/

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -157,10 +157,6 @@ void dp_mon_filter_setup_enhanced_stats_1_0(struct dp_pdev *pdev)
mon_pdev->filter[mode][srng_type] = filter;
}
/**
* dp_mon_filter_reset_enhanced_stats() - Reset the enhanced stats filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_enhanced_stats_1_0(struct dp_pdev *pdev)
{
struct dp_mon_filter filter = {0};
@@ -180,11 +176,6 @@ void dp_mon_filter_reset_enhanced_stats_1_0(struct dp_pdev *pdev)
#endif /* QCA_ENHANCED_STATS_SUPPORT */
#ifdef QCA_UNDECODED_METADATA_SUPPORT
/**
* mon_filter_setup_undecoded_metadata_capture() - Setup undecoded frame
* capture phyrx aborted frame filter setup
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_undecoded_metadata_capture_1_0(struct dp_pdev *pdev)
{
struct dp_mon_filter filter = {0};
@@ -224,11 +215,6 @@ void dp_mon_filter_setup_undecoded_metadata_capture_1_0(struct dp_pdev *pdev)
mon_pdev->filter[mode][srng_type] = filter;
}
/**
* mon_filter_reset_undecoded_metadata_capture() - Reset undecoded frame
* capture phyrx aborted frame filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_undecoded_metadata_capture_1_0(struct dp_pdev *pdev)
{
struct dp_mon_filter filter = {0};
@@ -373,10 +359,6 @@ void dp_mon_filter_reset_mcopy_mode_1_0(struct dp_pdev *pdev)
#endif
#if defined(ATH_SUPPORT_NAC_RSSI) || defined(ATH_SUPPORT_NAC)
/**
* dp_mon_filter_setup_smart_monitor() - Setup the smart monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_smart_monitor_1_0(struct dp_pdev *pdev)
{
struct dp_mon_filter filter = {0};
@@ -680,14 +662,6 @@ static void dp_mon_set_reset_mon_filter(struct dp_mon_filter *filter, bool val)
}
}
/**
* dp_mon_set_reset_mon_mac_filter_1_0() - Set/Reset monitor buffer and status
* filter
* @pdev: DP pdev handle
* @val: Set or reset the filter
*
* Return: void
*/
void dp_mon_set_reset_mon_mac_filter_1_0(struct dp_pdev *pdev, bool val)
{
struct dp_mon_filter filter = {0};
@@ -919,7 +893,7 @@ void dp_mon_filter_reset_rx_pktlog_cbf_1_0(struct dp_pdev *pdev)
* This function is used as WAR till WIN cleans up the monitor mode
* function for targets where monitor mode is not enabled.
*
* Returns: true
* Return: true
*/
static inline bool dp_mon_should_reset_buf_ring_filter(struct dp_pdev *pdev)
{

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -19,13 +19,13 @@
#ifdef QCA_ENHANCED_STATS_SUPPORT
/**
* dp_mon_filter_setup_enhanced_stats() - Setup the enhanced stats filter
* dp_mon_filter_setup_enhanced_stats_1_0() - Setup the enhanced stats filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_enhanced_stats_1_0(struct dp_pdev *pdev);
/***
* dp_mon_filter_reset_enhanced_stats() - Reset the enhanced stats filter
/**
* dp_mon_filter_reset_enhanced_stats_1_0() - Reset the enhanced stats filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_enhanced_stats_1_0(struct dp_pdev *pdev);
@@ -40,15 +40,15 @@ static inline void dp_mon_filter_reset_enhanced_stats_1_0(struct dp_pdev *pdev)
#endif
#ifdef QCA_UNDECODED_METADATA_SUPPORT
/*
* dp_mon_filter_setup_undecoded_metadata_capture() - Setup the filter
/**
* dp_mon_filter_setup_undecoded_metadata_capture_1_0() - Setup the filter
* for undecoded metadata capture
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_undecoded_metadata_capture_1_0(struct dp_pdev *pdev);
/*
* dp_mon_filter_reset_undecoded_metadata_capture() - Reset the filter
/**
* dp_mon_filter_reset_undecoded_metadata_capture_1_0() - Reset the filter
* for undecoded metadata capture
* @pdev: DP pdev handle
*/
@@ -67,13 +67,13 @@ dp_mon_filter_reset_undecoded_metadata_capture_1_0(struct dp_pdev *pdev)
#ifdef QCA_MCOPY_SUPPORT
/**
* dp_mon_filter_setup_mcopy_mode() - Setup the m_copy mode filter
* dp_mon_filter_setup_mcopy_mode_1_0() - Setup the m_copy mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_mcopy_mode_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_mcopy_mode() - Reset the m_copy mode filter
* dp_mon_filter_reset_mcopy_mode_1_0() - Reset the m_copy mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_mcopy_mode_1_0(struct dp_pdev *pdev);
@@ -89,13 +89,13 @@ static inline void dp_mon_filter_reset_mcopy_mode_1_0(struct dp_pdev *pdev)
#if defined(ATH_SUPPORT_NAC_RSSI) || defined(ATH_SUPPORT_NAC)
/**
* dp_mon_filter_setup_smart_monitor() - Setup the smart monitor mode filter
* dp_mon_filter_setup_smart_monitor_1_0() - Setup the smart monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_smart_monitor_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_smart_monitor() - Reset the smart monitor mode filter
* dp_mon_filter_reset_smart_monitor_1_0() - Reset the smart monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_smart_monitor_1_0(struct dp_pdev *pdev);
@@ -118,13 +118,13 @@ void dp_mon_set_reset_mon_mac_filter_1_0(struct dp_pdev *pdev, bool val);
#ifdef WLAN_RX_PKT_CAPTURE_ENH
/**
* dp_mon_filter_setup_rx_enh_capture() - Setup the Rx capture mode filters
* dp_mon_filter_setup_rx_enh_capture_1_0() - Setup the Rx capture mode filters
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_enh_capture_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_rx_enh_capture() - Reset the Rx capture mode filters
* dp_mon_filter_reset_rx_enh_capture_1_0() - Reset the Rx capture mode filters
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_enh_capture_1_0(struct dp_pdev *pdev);
@@ -139,52 +139,55 @@ static inline void dp_mon_filter_reset_rx_enh_capture_1_0(struct dp_pdev *pdev)
#endif
/**
* dp_mon_filter_setup_mon_mode() - Setup the Rx monitor mode filter
* dp_mon_filter_setup_mon_mode_1_0() - Setup the Rx monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_mon_mode_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_mon_mode() - Reset the Rx monitor mode filter
* dp_mon_filter_reset_mon_mode_1_0() - Reset the Rx monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_mon_mode_1_0(struct dp_pdev *pdev);
#ifdef WDI_EVENT_ENABLE
/**
* dp_mon_filter_setup_rx_pkt_log_full() - Setup the Rx pktlog full mode filter
* dp_mon_filter_setup_rx_pkt_log_full_1_0() - Setup the Rx pktlog full mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_pkt_log_full_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_rx_pkt_log_full_1_0() - Reset the Rx pktlog full mode filter
* dp_mon_filter_reset_rx_pkt_log_full_1_0() - Reset the Rx pktlog full mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_pkt_log_full_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_setup_rx_pkt_log_lite() - Setup the Rx pktlog lite mode filter
* in the radio object.
* dp_mon_filter_setup_rx_pkt_log_lite_1_0() - Setup the Rx pktlog lite mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_pkt_log_lite_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_rx_pkt_log_lite() - Reset the Rx pktlog lite mode filter
* dp_mon_filter_reset_rx_pkt_log_lite_1_0() - Reset the Rx pktlog lite mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_pkt_log_lite_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_setup_rx_pkt_log_cbf() - Setup the Rx pktlog cbf mode filter
* in the radio object.
* dp_mon_filter_setup_rx_pkt_log_cbf_1_0() - Setup the Rx pktlog cbf mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_pkt_log_cbf_1_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_rx_pktlog_cbf() - Reset the Rx pktlog cbf mode filter
* dp_mon_filter_reset_rx_pktlog_cbf_1_0() - Reset the Rx pktlog cbf mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_pktlog_cbf_1_0(struct dp_pdev *pdev);
@@ -220,7 +223,7 @@ QDF_STATUS dp_mon_filter_update_1_0(struct dp_pdev *pdev);
/**
* dp_mon_mac_filter_set() - Setup rx monitor mac filter feature
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void dp_mon_mac_filter_set(uint32_t *msg_word,
struct htt_rx_ring_tlv_filter *tlv_filter);

View File

@@ -56,7 +56,7 @@ void dp_rx_pdev_mon_desc_pool_free(struct dp_pdev *pdev);
* Called from the bottom half (tasklet/NET_RX_SOFTIRQ)
* @soc: core txrx main context
* @int_ctx: interrupt context
* @hal_ring: opaque pointer to the HAL Rx Ring, which will be serviced
* @mac_id: mac id
* @quota: No. of units (packets) that can be serviced in one shot.
*
* This function implements the core of Rx functionality. This is
@@ -122,9 +122,9 @@ dp_mon_dest_srng_drop_for_mac(struct dp_pdev *pdev, uint32_t mac_id);
/**
* dp_rxdma_err_process() - RxDMA error processing functionality
* @int_ctx: interrupt context
* @soc: core txrx main context
* @mac_id: mac id which is one of 3 mac_ids
* @hal_ring: opaque pointer to the HAL Rx Ring, which will be serviced
* @mac_id: mac id
* @quota: No. of units (packets) that can be serviced in one shot.
*
* Return: num of buffers processed
@@ -147,6 +147,8 @@ void dp_mon_buf_delayed_replenish(struct dp_pdev *pdev);
*
* @dp_pdev: core txrx pdev context
* @buf_addr_info: void pointer to monitor link descriptor buf addr info
* @mac_id: mac id which is one of 3 mac_ids
*
* Return: QDF_STATUS
*/
QDF_STATUS
@@ -249,6 +251,9 @@ void dp_rx_mon_frag_adjust_frag_len(uint32_t *total_len, uint32_t *frag_len,
/**
* DP_RX_MON_GET_NBUF_FROM_DESC() - Get nbuf from desc
* @rx_desc: RX descriptor
*
* Return: nbuf address
*/
#define DP_RX_MON_GET_NBUF_FROM_DESC(rx_desc) \
NULL
@@ -290,6 +295,9 @@ dp_rx_mon_add_msdu_to_list_failure_handler(void *rx_tlv_hdr,
/**
* dp_rx_mon_get_paddr_from_desc() - Get paddr from desc
* @rx_desc: RX descriptor
*
* Return: Physical address of the buffer
*/
static inline
qdf_dma_addr_t dp_rx_mon_get_paddr_from_desc(struct dp_rx_desc *rx_desc)
@@ -299,6 +307,9 @@ qdf_dma_addr_t dp_rx_mon_get_paddr_from_desc(struct dp_rx_desc *rx_desc)
/**
* DP_RX_MON_IS_BUFFER_ADDR_NULL() - Is Buffer received from hw is NULL
* @rx_desc: RX descriptor
*
* Return: true if the buffer is NULL, otherwise false
*/
#define DP_RX_MON_IS_BUFFER_ADDR_NULL(rx_desc) \
(!(rx_desc->rx_buf_start))
@@ -377,19 +388,20 @@ QDF_STATUS dp_rx_mon_alloc_parent_buffer(qdf_nbuf_t *head_msdu)
/**
* dp_rx_mon_parse_desc_buffer() - Parse desc buffer based.
* @dp_soc: struct dp_soc*
* @msdu_info: struct hal_rx_msdu_desc_info*
* @is_frag_p: is_frag *
* @total_frag_len_p: Remaining frag len to be updated
* @frag_len_p: frag len
* @l2_hdr_offset_p: l2 hdr offset
* @rx_desc_tlv: rx_desc_tlv
* @first_rx_desc_tlv:
* @is_frag_non_raw_p: Non raw frag
* @data: NBUF Data
*
* Below code will parse desc buffer, handle continuation frame,
* adjust frag length and update l2_hdr_padding
*
* @soc : struct dp_soc*
* @msdu_info : struct hal_rx_msdu_desc_info*
* @is_frag_p : is_frag *
* @total_frag_len_p : Remaining frag len to be updated
* @frag_len_p : frag len
* @l2_hdr_offset_p : l2 hdr offset
* @rx_desc_tlv : rx_desc_tlv
* @is_frag_non_raw_p : Non raw frag
* @data : NBUF Data
*/
static inline void
dp_rx_mon_parse_desc_buffer(struct dp_soc *dp_soc,
@@ -511,6 +523,8 @@ dp_rx_mon_parse_desc_buffer(struct dp_soc *dp_soc,
/**
* dp_rx_mon_buffer_set_pktlen() - set pktlen for buffer
* @msdu: MSDU
* @size: MSDU size
*/
static inline void dp_rx_mon_buffer_set_pktlen(qdf_nbuf_t msdu, uint32_t size)
{
@@ -878,8 +892,8 @@ uint8_t *dp_rx_mon_get_buffer_data(struct dp_rx_desc *rx_desc)
/**
* dp_rx_cookie_2_mon_link_desc() - Retrieve Link descriptor based on target
* @pdev: core physical device context
* @hal_buf_info: structure holding the buffer info
* mac_id: mac number
* @buf_info: structure holding the buffer info
* @mac_id: mac number
*
* Return: link descriptor address
*/
@@ -899,7 +913,8 @@ void *dp_rx_cookie_2_mon_link_desc(struct dp_pdev *pdev,
* dp_rx_monitor_link_desc_return() - Return Link descriptor based on target
* @pdev: core physical device context
* @p_last_buf_addr_info: MPDU Link descriptor
* mac_id: mac number
* @mac_id: mac number
* @bm_action:
*
* Return: QDF_STATUS
*/

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-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 above
@@ -47,7 +47,7 @@ QDF_STATUS dp_rx_mon_status_buffers_replenish(struct dp_soc *dp_soc,
uint8_t owner);
/**
* dp_rx_mon_handle_status_buf_done () - Handle status buf DMA not done
* dp_rx_mon_handle_status_buf_done() - Handle status buf DMA not done
*
* @pdev: DP pdev handle
* @mon_status_srng: Monitor status SRNG

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -130,7 +130,9 @@ struct dp_mon_desc_pool {
qdf_frag_cache_t pf_cache;
};
/**
/*
* NB: intentionally not using kernel-doc comment because the kernel-doc
* script does not handle the TAILQ_HEAD macro
* struct dp_mon_pdev_be - BE specific monitor pdev object
* @mon_pdev: monitor pdev structure
* @filter_be: filters sent to fw
@@ -217,7 +219,7 @@ struct dp_mon_soc_be {
/**
* dp_mon_desc_pool_init() - Monitor descriptor pool init
* @mon_desc_pool: mon desc pool
* @pool_size
* @pool_size: Pool size
*
* Return: non-zero for failure, zero for success
*/
@@ -225,7 +227,7 @@ QDF_STATUS
dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool,
uint32_t pool_size);
/*
/**
* dp_mon_desc_pool_deinit()- monitor descriptor pool deinit
* @mon_desc_pool: mon desc pool
*
@@ -234,7 +236,7 @@ dp_mon_desc_pool_init(struct dp_mon_desc_pool *mon_desc_pool,
*/
void dp_mon_desc_pool_deinit(struct dp_mon_desc_pool *mon_desc_pool);
/*
/**
* dp_mon_desc_pool_free()- monitor descriptor pool free
* @mon_desc_pool: mon desc pool
*
@@ -245,19 +247,19 @@ void dp_mon_desc_pool_free(struct dp_mon_desc_pool *mon_desc_pool);
/**
* dp_mon_desc_pool_alloc() - Monitor descriptor pool alloc
* @mon_desc_pool: mon desc pool
* @pool_size: Pool size
* @mon_desc_pool: mon desc pool
*
* Return: non-zero for failure, zero for success
*/
QDF_STATUS dp_mon_desc_pool_alloc(uint32_t pool_size,
struct dp_mon_desc_pool *mon_desc_pool);
/*
/**
* dp_mon_pool_frag_unmap_and_free() - free the mon desc frag called during
* de-initialization of wifi module.
*
* @soc: DP soc handle
* @dp_soc: DP soc handle
* @mon_desc_pool: monitor descriptor pool pointer
*
* Return: None
@@ -265,10 +267,10 @@ QDF_STATUS dp_mon_desc_pool_alloc(uint32_t pool_size,
void dp_mon_pool_frag_unmap_and_free(struct dp_soc *dp_soc,
struct dp_mon_desc_pool *mon_desc_pool);
/*
/**
* dp_mon_buffers_replenish() - replenish monitor ring with nbufs
*
* @soc: core txrx main context
* @dp_soc: core txrx main context
* @dp_mon_srng: dp monitor circular ring
* @mon_desc_pool: Pointer to free mon descriptor pool
* @num_req_buffers: number of buffer to be replenished
@@ -276,7 +278,7 @@ void dp_mon_pool_frag_unmap_and_free(struct dp_soc *dp_soc,
* or NULL during dp rx initialization or out of buffer
* interrupt.
* @tail: tail of descs list
* @relenish_cnt_ref: pointer to update replenish_cnt
* @replenish_cnt_ref: pointer to update replenish_cnt
*
* Return: return success or failure
*/
@@ -291,7 +293,7 @@ QDF_STATUS dp_mon_buffers_replenish(struct dp_soc *dp_soc,
/**
* dp_mon_filter_show_tx_filter_be() - Show the set filters
* @mode: The filter modes
* @tlv_filter: tlv filter
* @filter: tlv filter
*/
void dp_mon_filter_show_tx_filter_be(enum dp_mon_filter_mode mode,
struct dp_mon_filter_be *filter);
@@ -299,7 +301,7 @@ void dp_mon_filter_show_tx_filter_be(enum dp_mon_filter_mode mode,
/**
* dp_mon_filter_show_rx_filter_be() - Show the set filters
* @mode: The filter modes
* @tlv_filter: tlv filter
* @filter: tlv filter
*/
void dp_mon_filter_show_rx_filter_be(enum dp_mon_filter_mode mode,
struct dp_mon_filter_be *filter);
@@ -332,7 +334,7 @@ enum cdp_punctured_modes
dp_mon_get_puncture_type(uint16_t puncture_pattern, uint8_t bw);
#endif
/*
/**
* dp_mon_desc_get() - get monitor sw descriptor
*
* @cookie: cookie
@@ -346,7 +348,7 @@ struct dp_mon_desc *dp_mon_desc_get(uint64_t *cookie)
}
/**
* dp_rx_add_to_free_desc_list() - Adds to a local free descriptor list
* __dp_mon_add_to_free_desc_list() - Adds to a local free descriptor list
*
* @head: pointer to the head of local free list
* @tail: pointer to the tail of local free list
@@ -376,7 +378,7 @@ void __dp_mon_add_to_free_desc_list(union dp_mon_desc_list_elem_t **head,
#define dp_mon_add_to_free_desc_list(head, tail, new) \
__dp_mon_add_to_free_desc_list(head, tail, new, __func__)
/*
/**
* dp_mon_add_desc_list_to_free_list() - append unused desc_list back to
* freelist.
*
@@ -393,7 +395,7 @@ dp_mon_add_desc_list_to_free_list(struct dp_soc *soc,
struct dp_mon_desc_pool *mon_desc_pool);
/**
* dp_rx_mon_add_frag_to_skb () - Add page frag to skb
* dp_rx_mon_add_frag_to_skb() - Add page frag to skb
*
* @ppdu_info: PPDU status info
* @nbuf: SKB to which frag need to be added
@@ -423,7 +425,8 @@ dp_rx_mon_add_frag_to_skb(struct hal_rx_ppdu_info *ppdu_info,
#if defined(WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG) ||\
defined(WLAN_SUPPORT_RX_FLOW_TAG)
/** dp_mon_rx_update_rx_err_protocol_tag_stats() - Update mon protocols's
/**
* dp_mon_rx_update_rx_protocol_tag_stats() - Update mon protocols's
* statistics from given protocol
* type
* @pdev: pdev handle
@@ -438,7 +441,7 @@ void dp_mon_rx_update_rx_protocol_tag_stats(struct dp_pdev *pdev,
#if !defined(DISABLE_MON_CONFIG) && defined(QCA_MONITOR_2_0_SUPPORT)
/**
* dp_mon_get_context_size_be() - get BE specific size for mon pdev/soc
* @arch_ops: arch ops pointer
* @context_type: context type for which the size is needed
*
* Return: size in bytes for the context_type
*/
@@ -471,7 +474,7 @@ struct dp_mon_soc_be *dp_get_be_mon_soc_from_dp_mon_soc(struct dp_mon_soc *soc)
/**
* dp_get_be_mon_pdev_from_dp_mon_pdev() - get dp_mon_pdev_be from dp_mon_pdev
* @pdev: dp_mon_pdev pointer
* @mon_pdev: dp_mon_pdev pointer
*
* Return: dp_mon_pdev_be pointer
*/

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -43,7 +43,7 @@ struct dp_mon_pdev_be;
/**
* dp_rx_mon_enable_set() - Setup rx monitor feature
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void
dp_rx_mon_enable_set(uint32_t *msg_word,
@@ -52,7 +52,7 @@ dp_rx_mon_enable_set(uint32_t *msg_word,
/**
* dp_rx_mon_hdr_length_set() - Setup rx monitor hdr tlv length
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void
dp_rx_mon_hdr_length_set(uint32_t *msg_word,
@@ -61,7 +61,7 @@ dp_rx_mon_hdr_length_set(uint32_t *msg_word,
/**
* dp_rx_mon_packet_length_set() - Setup rx monitor per packet type length
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void
dp_rx_mon_packet_length_set(uint32_t *msg_word,
@@ -70,7 +70,7 @@ dp_rx_mon_packet_length_set(uint32_t *msg_word,
/**
* dp_rx_mon_word_mask_subscribe() - Setup rx monitor word mask subscription
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void
dp_rx_mon_word_mask_subscribe(uint32_t *msg_word,
@@ -79,7 +79,7 @@ dp_rx_mon_word_mask_subscribe(uint32_t *msg_word,
/**
* dp_rx_mon_enable_mpdu_logging() - Setup rx monitor per packet mpdu logging
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void
dp_rx_mon_enable_mpdu_logging(uint32_t *msg_word,
@@ -88,7 +88,7 @@ dp_rx_mon_enable_mpdu_logging(uint32_t *msg_word,
/**
* dp_rx_mon_enable_fpmo() - Setup rx monitor fpmo mode type/subtype filters
* @msg_word: msg word
* @htt_tlv_filter: rx ring filter configuration
* @tlv_filter: rx ring filter configuration
*/
void
dp_rx_mon_enable_fpmo(uint32_t *msg_word,
@@ -96,13 +96,13 @@ dp_rx_mon_enable_fpmo(uint32_t *msg_word,
#ifdef QCA_ENHANCED_STATS_SUPPORT
/**
* dp_mon_filter_setup_enhanced_stats() - Setup the enhanced stats filter
* dp_mon_filter_setup_enhanced_stats_2_0() - Setup the enhanced stats filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_enhanced_stats_2_0(struct dp_pdev *pdev);
/***
* dp_mon_filter_reset_enhanced_stats() - Reset the enhanced stats filter
/**
* dp_mon_filter_reset_enhanced_stats_2_0() - Reset the enhanced stats filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_enhanced_stats_2_0(struct dp_pdev *pdev);
@@ -119,15 +119,15 @@ dp_mon_filter_reset_enhanced_stats_2_0(struct dp_pdev *pdev)
#endif
#ifdef QCA_UNDECODED_METADATA_SUPPORT
/*
* dp_mon_filter_setup_undecoded_metadata_capture() - Setup the filter
/**
* dp_mon_filter_setup_undecoded_metadata_capture_2_0() - Setup the filter
* for undecoded metadata capture
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_undecoded_metadata_capture_2_0(struct dp_pdev *pdev);
/*
* dp_mon_filter_reset_undecoded_metadata_capture() - Reset the filter
/**
* dp_mon_filter_reset_undecoded_metadata_capture_2_0() - Reset the filter
* for undecoded metadata capture
* @pdev: DP pdev handle
*/
@@ -145,32 +145,33 @@ dp_mon_filter_reset_undecoded_metadata_capture_2_0(struct dp_pdev *pdev)
#endif
/**
* dp_mon_filter_setup_rx_mon_mode() - Setup the Rx monitor mode filter
* dp_mon_filter_setup_rx_mon_mode_2_0() - Setup the Rx monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_mon_mode_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_mon_mode() - Reset the Rx monitor mode filter
* dp_mon_filter_reset_rx_mon_mode_2_0() - Reset the Rx monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_mon_mode_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_setup_tx_mon_mode() - Setup the Tx monitor mode filter
* dp_mon_filter_setup_tx_mon_mode_2_0() - Setup the Tx monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_tx_mon_mode_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_tx_mon_mode() - Reset the Tx monitor mode filter
* dp_mon_filter_reset_tx_mon_mode_2_0() - Reset the Tx monitor mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_tx_mon_mode_2_0(struct dp_pdev *pdev);
#ifdef WDI_EVENT_ENABLE
/**
* dp_mon_filter_setup_rx_pkt_log_full() - Setup the Rx pktlog full mode filter
* dp_mon_filter_setup_rx_pkt_log_full_2_0() - Setup the Rx pktlog full mode
* filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_pkt_log_full_2_0(struct dp_pdev *pdev);
@@ -182,27 +183,28 @@ void dp_mon_filter_setup_rx_pkt_log_full_2_0(struct dp_pdev *pdev);
void dp_mon_filter_reset_rx_pkt_log_full_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_setup_rx_pkt_log_lite() - Setup the Rx pktlog lite mode filter
* in the radio object.
* dp_mon_filter_setup_rx_pkt_log_lite_2_0() - Setup the Rx pktlog lite mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_pkt_log_lite_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_rx_pkt_log_lite() - Reset the Rx pktlog lite mode filter
* dp_mon_filter_reset_rx_pkt_log_lite_2_0() - Reset the Rx pktlog lite mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_pkt_log_lite_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_setup_rx_pkt_log_cbf() - Setup the Rx pktlog cbf mode filter
* in the radio object.
* dp_mon_filter_setup_rx_pkt_log_cbf_2_0() - Setup the Rx pktlog cbf mode
* filter in the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_setup_rx_pkt_log_cbf_2_0(struct dp_pdev *pdev);
/**
* dp_mon_filter_reset_rx_pktlog_cbf() - Reset the Rx pktlog cbf mode filter
* dp_mon_filter_reset_rx_pktlog_cbf_2_0() - Reset the Rx pktlog cbf mode filter
* @pdev: DP pdev handle
*/
void dp_mon_filter_reset_rx_pktlog_cbf_2_0(struct dp_pdev *pdev);

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -138,7 +138,7 @@ __dp_rx_mon_free_ppdu_info(struct dp_mon_pdev *mon_pdev,
}
/**
* dp_rx_mon_nbuf_add_rx_frag () - Add frag to SKB
* dp_rx_mon_nbuf_add_rx_frag() - Add frag to SKB
*
* @nbuf: SKB to which frag is going to be added
* @frag: frag to be added to SKB
@@ -174,7 +174,7 @@ dp_rx_mon_nbuf_add_rx_frag(qdf_nbuf_t nbuf, qdf_frag_t *frag,
* @mon_pdev: monitor pdev
* @nbuf: SKB to be freed
*
* @Return: void
* Return: void
*/
void
dp_mon_free_parent_nbuf(struct dp_mon_pdev *mon_pdev,
@@ -385,7 +385,7 @@ static void dp_rx_mon_free_mpdu_queue(struct dp_mon_pdev *mon_pdev,
}
/**
* dp_rx_mon_free_ppdu_info () - Free PPDU info
* dp_rx_mon_free_ppdu_info() - Free PPDU info
* @pdev: DP pdev
* @ppdu_info: PPDU info
*
@@ -441,7 +441,7 @@ void dp_rx_mon_drain_wq(struct dp_pdev *pdev)
*
* @mon_pdev: monitor pdev
* @mpdu: MPDU nbuf
* @status: monitor status
* @rx_status: monitor status
*
* Return: QDF_STATUS
*/
@@ -471,7 +471,7 @@ dp_rx_mon_deliver_mpdu(struct dp_mon_pdev *mon_pdev,
}
/**
* dp_rx_mon_process_ppdu_info () - Process PPDU info
* dp_rx_mon_process_ppdu_info() - Process PPDU info
* @pdev: DP pdev
* @ppdu_info: PPDU info
*
@@ -565,7 +565,7 @@ dp_rx_mon_process_ppdu_info(struct dp_pdev *pdev,
}
/**
* dp_rx_mon_process_ppdu ()- Deferred monitor processing
* dp_rx_mon_process_ppdu()- Deferred monitor processing
* This workqueue API handles:
* a. Full monitor
* b. Lite monitor
@@ -610,9 +610,9 @@ void dp_rx_mon_process_ppdu(void *context)
}
/**
* dp_rx_mon_add_ppdu_info_to_wq () - Add PPDU info to workqueue
* dp_rx_mon_add_ppdu_info_to_wq() - Add PPDU info to workqueue
*
* @mon_pdev: monitor pdev
* @pdev: monitor pdev
* @ppdu_info: ppdu info to be added to workqueue
*
* Return: SUCCESS or FAILIRE
@@ -1042,7 +1042,7 @@ dp_rx_mon_flush_packet_tlv(struct dp_pdev *pdev, void *buf, uint16_t end_offset,
}
/**
* dp_rx_mon_flush_status_buf_queue () - Flush status buffer queue
* dp_rx_mon_flush_status_buf_queue() - Flush status buffer queue
*
* @pdev: DP pdev handle
*
@@ -1108,7 +1108,7 @@ dp_rx_mon_flush_status_buf_queue(struct dp_pdev *pdev)
}
/**
* dp_rx_mon_handle_flush_n_trucated_ppdu () - Handle flush and truncated ppdu
* dp_rx_mon_handle_flush_n_trucated_ppdu() - Handle flush and truncated ppdu
*
* @soc: DP soc handle
* @pdev: pdev handle
@@ -1497,7 +1497,7 @@ uint8_t dp_rx_mon_process_tlv_status(struct dp_pdev *pdev,
}
/**
* dp_rx_mon_process_status_tlv () - Handle mon status process TLV
* dp_rx_mon_process_status_tlv() - Handle mon status process TLV
*
* @pdev: DP pdev handle
*
@@ -1618,6 +1618,8 @@ dp_rx_mon_process_status_tlv(struct dp_pdev *pdev)
return ppdu_info;
}
#ifdef WLAN_FEATURE_11BE_MLO
#define DP_PEER_ID_MASK 0x3FFF
/**
* dp_rx_mon_update_peer_id() - Update sw_peer_id with link peer_id
*
@@ -1626,8 +1628,6 @@ dp_rx_mon_process_status_tlv(struct dp_pdev *pdev)
*
* Return: none
*/
#ifdef WLAN_FEATURE_11BE_MLO
#define DP_PEER_ID_MASK 0x3FFF
static inline
void dp_rx_mon_update_peer_id(struct dp_pdev *pdev,
struct hal_rx_ppdu_info *ppdu_info)

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -104,9 +104,9 @@ QDF_STATUS
dp_rx_mon_buf_desc_pool_alloc(struct dp_soc *soc);
/**
* dp_rx_mon_stats_update_2_0 () - update rx stats
* dp_rx_mon_stats_update_2_0() - update rx stats
*
* @peer: monitor peer handle
* @mon_peer: monitor peer handle
* @ppdu: Rx PPDU status metadata object
* @ppdu_user: Rx PPDU user status metadata object
*
@@ -117,7 +117,7 @@ void dp_rx_mon_stats_update_2_0(struct dp_mon_peer *mon_peer,
struct cdp_rx_stats_ppdu_user *ppdu_user);
/**
* dp_rx_mon_populate_ppdu_usr_info_2_0 () - Populate ppdu user info
* dp_rx_mon_populate_ppdu_usr_info_2_0() - Populate ppdu user info
*
* @rx_user_status: Rx user status
* @ppdu_user: ppdu user metadata
@@ -129,7 +129,7 @@ dp_rx_mon_populate_ppdu_usr_info_2_0(struct mon_rx_user_status *rx_user_status,
struct cdp_rx_stats_ppdu_user *ppdu_user);
/**
* dp_rx_mon_populate_ppdu_info_2_0 () -- Populate ppdu info
* dp_rx_mon_populate_ppdu_info_2_0() -- Populate ppdu info
*
* @hal_ppdu_info: HAL PPDU info
* @ppdu: Rx PPDU status metadata object
@@ -140,7 +140,7 @@ void
dp_rx_mon_populate_ppdu_info_2_0(struct hal_rx_ppdu_info *hal_ppdu_info,
struct cdp_rx_indication_ppdu *ppdu);
/*
/**
* dp_rx_process_pktlog_be() - process pktlog
* @soc: dp soc handle
* @pdev: dp pdev handle
@@ -148,7 +148,7 @@ dp_rx_mon_populate_ppdu_info_2_0(struct hal_rx_ppdu_info *hal_ppdu_info,
* @status_frag: frag pointer which needs to be added to nbuf
* @end_offset: Offset in frag to be added to nbuf_frags
*
* Return: SUCCESS or Failure
* Return: QDF_STATUS_SUCCESS or Failure
*/
QDF_STATUS dp_rx_process_pktlog_be(struct dp_soc *soc, struct dp_pdev *pdev,
struct hal_rx_ppdu_info *ppdu_info,
@@ -156,7 +156,7 @@ QDF_STATUS dp_rx_process_pktlog_be(struct dp_soc *soc, struct dp_pdev *pdev,
#if !defined(DISABLE_MON_CONFIG)
/*
* dp_rx_mon_process_2_0 () - Process Rx monitor interrupt
* dp_rx_mon_process_2_0() - Process Rx monitor interrupt
*
* @soc: DP soc handle
* @int_ctx: Interrupt context
@@ -168,7 +168,7 @@ dp_rx_mon_process_2_0(struct dp_soc *soc, struct dp_intr *int_ctx,
uint32_t mac_id, uint32_t quota);
/**
* dp_rx_mon_process_ppdu () - RxMON Workqueue processing API
* dp_rx_mon_process_ppdu() - RxMON Workqueue processing API
*
* @context: workqueue context
*/
@@ -215,7 +215,7 @@ void dp_rx_mon_drain_wq(struct dp_pdev *pdev);
* @mon_pdev: monitor pdev
* @nbuf: SKB to be freed
*
* @Return: void
* Return: void
*/
void
dp_mon_free_parent_nbuf(struct dp_mon_pdev *mon_pdev,
@@ -234,7 +234,7 @@ void dp_rx_mon_shift_pf_tag_in_headroom(qdf_nbuf_t nbuf, struct dp_soc *soc)
}
#endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */
/**
* dp_mon_rx_print_advanced_stats_2_0 () - print advanced monitor statistics
* dp_mon_rx_print_advanced_stats_2_0() - print advanced monitor statistics
*
* @soc: DP soc handle
* @pdev: DP pdev handle

View File

@@ -942,7 +942,7 @@ dp_tx_mon_send_to_stack(struct dp_pdev *pdev, qdf_nbuf_t mpdu,
* dp_tx_mon_send_per_usr_mpdu() - API to send per usr mpdu to stack
* @pdev: pdev Handle
* @ppdu_info: pointer to dp_tx_ppdu_info
* @user_id: current user index
* @user_idx: current user index
*
* Return: void
*/
@@ -1146,7 +1146,7 @@ dp_tx_mon_update_radiotap(struct dp_pdev *pdev,
*
* Return: none
*/
void dp_tx_mon_ppdu_process(void *context)
static void dp_tx_mon_ppdu_process(void *context)
{
struct dp_pdev *pdev = (struct dp_pdev *)context;
struct dp_mon_pdev *mon_pdev;
@@ -1200,12 +1200,6 @@ void dp_tx_mon_ppdu_process(void *context)
}
}
/**
* dp_tx_ppdu_stats_attach_2_0 - Initialize Tx PPDU stats and enhanced capture
* @pdev: DP PDEV
*
* Return: none
*/
void dp_tx_ppdu_stats_attach_2_0(struct dp_pdev *pdev)
{
struct dp_mon_pdev *mon_pdev;
@@ -1241,12 +1235,6 @@ void dp_tx_ppdu_stats_attach_2_0(struct dp_pdev *pdev)
qdf_alloc_unbound_workqueue("tx_mon_ppdu_work_queue");
}
/**
* dp_tx_ppdu_stats_detach_be - Cleanup Tx PPDU stats and enhanced capture
* @pdev: DP PDEV
*
* Return: none
*/
void dp_tx_ppdu_stats_detach_2_0(struct dp_pdev *pdev)
{
struct dp_mon_pdev *mon_pdev;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -24,9 +24,9 @@
struct dp_mon_desc;
/**
* dp_tx_mon_desc_list - structure to store double linked liskt
* @tx_ppdu_info_dlist_elem: support adding to double linked list
* @tx_ppdu_info_slist_elem: support adding to single linked list
* struct dp_tx_mon_desc_list - structure to store descriptor linked list
* @desc_list: descriptor list
* @tail: descriptor list tail
* @tx_mon_reap_cnt: tx monitor reap count
*/
struct dp_tx_mon_desc_list {
@@ -35,9 +35,10 @@ struct dp_tx_mon_desc_list {
uint32_t tx_mon_reap_cnt;
};
/*
/**
* dp_tx_mon_buffers_alloc() - allocate tx monitor buffers
* @soc: DP soc handle
* @size: buffer size
*
* Return: QDF_STATUS_SUCCESS: Success
* QDF_STATUS_E_FAILURE: Error
@@ -45,7 +46,7 @@ struct dp_tx_mon_desc_list {
QDF_STATUS
dp_tx_mon_buffers_alloc(struct dp_soc *soc, uint32_t size);
/*
/**
* dp_tx_mon_buffers_free() - free tx monitor buffers
* @soc: dp soc handle
*
@@ -53,16 +54,16 @@ dp_tx_mon_buffers_alloc(struct dp_soc *soc, uint32_t size);
void
dp_tx_mon_buffers_free(struct dp_soc *soc);
/*
* dp_tx_mon_desc_pool_deinit() - deinit tx monitor descriptor pool
/**
* dp_tx_mon_buf_desc_pool_deinit() - deinit tx monitor descriptor pool
* @soc: dp soc handle
*
*/
void
dp_tx_mon_buf_desc_pool_deinit(struct dp_soc *soc);
/*
* dp_tx_mon_desc_pool_deinit() - deinit tx monitor descriptor pool
/**
* dp_tx_mon_buf_desc_pool_init() - init tx monitor descriptor pool
* @soc: dp soc handle
*
* Return: QDF_STATUS_SUCCESS: Success
@@ -71,14 +72,14 @@ dp_tx_mon_buf_desc_pool_deinit(struct dp_soc *soc);
QDF_STATUS
dp_tx_mon_buf_desc_pool_init(struct dp_soc *soc);
/*
/**
* dp_tx_mon_buf_desc_pool_free() - free tx monitor descriptor pool
* @soc: dp soc handle
*
*/
void dp_tx_mon_buf_desc_pool_free(struct dp_soc *soc);
/*
/**
* dp_tx_mon_buf_desc_pool_alloc() - allocate tx monitor descriptor pool
* @soc: DP soc handle
*
@@ -91,9 +92,9 @@ dp_tx_mon_buf_desc_pool_alloc(struct dp_soc *soc);
/**
* dp_tx_mon_update_end_reason() - API to update end reason
*
* @mon_pdev - DP_MON_PDEV handle
* @ppdu_id - ppdu_id
* @end_reason - monitor destination descriptor end reason
* @mon_pdev: DP_MON_PDEV handle
* @ppdu_id: ppdu_id
* @end_reason: monitor destination descriptor end reason
*
* Return: void
*/
@@ -130,15 +131,15 @@ dp_tx_mon_status_free_packet_buf(struct dp_pdev *pdev,
QDF_STATUS
dp_tx_process_pktlog_be(struct dp_soc *soc, struct dp_pdev *pdev,
void *status_frag, uint32_t end_offset);
/*
/**
* dp_tx_mon_process_status_tlv() - API to processed TLV
* invoked from interrupt handler
*
* @soc - DP_SOC handle
* @pdev - DP_PDEV handle
* @mon_ring_desc - descriptor status info
* @addr - status buffer frag address
* @end_offset - end offset of buffer that has valid buffer
* @soc: DP_SOC handle
* @pdev: DP_PDEV handle
* @mon_ring_desc: descriptor status info
* @status_frag: status buffer frag address
* @end_offset: end offset of buffer that has valid buffer
* @mon_desc_list_ref: tx monitor descriptor list reference
*
* Return: QDF_STATUS
@@ -151,7 +152,7 @@ dp_tx_mon_process_status_tlv(struct dp_soc *soc,
uint32_t end_offset,
struct dp_tx_mon_desc_list *mon_desc_list_ref);
/*
/**
* dp_tx_mon_process_2_0() - tx monitor interrupt process
* @soc: dp soc handle
* @int_ctx: interrupt context
@@ -163,7 +164,7 @@ uint32_t
dp_tx_mon_process_2_0(struct dp_soc *soc, struct dp_intr *int_ctx,
uint32_t mac_id, uint32_t quota);
/*
/**
* dp_tx_mon_print_ring_stat_2_0() - Print monitor ring stats
* @pdev: dp pdev handle
*
@@ -202,7 +203,11 @@ dp_tx_mon_print_ring_stat_2_0(struct dp_pdev *pdev);
#define RESPONSE_WINDOW 1
/**
* bf_type - tx monitor supported Beamformed type
* enum bf_type - tx monitor supported Beamformed type
* @NO_BF:
* @LEGACY_BF:
* @SU_BF:
* @MU_BF:
*/
enum bf_type {
NO_BF = 0,
@@ -212,7 +217,9 @@ enum bf_type {
};
/**
* dot11b_preamble_type - tx monitor supported 11b preamble type
* enum dot11b_preamble_type - tx monitor supported 11b preamble type
* @SHORT_PREAMBLE:
* @LONG_PREAMBLE:
*/
enum dot11b_preamble_type {
SHORT_PREAMBLE = 0,
@@ -220,7 +227,13 @@ enum dot11b_preamble_type {
};
/**
* bw_type - tx monitor supported bandwidth type
* enum bw_type - tx monitor supported bandwidth type
* @TXMON_BW_20_MHZ:
* @TXMON_BW_40_MHZ:
* @TXMON_BW_80_MHZ:
* @TXMON_BW_160_MHZ:
* @TXMON_BW_240_MHZ:
* @TXMON_BW_320_MHZ:
*/
enum bw_type {
TXMON_BW_20_MHZ = 0,
@@ -232,7 +245,13 @@ enum bw_type {
};
/**
* ppdu_start_reason - tx monitor supported PPDU start reason type
* enum ppdu_start_reason - tx monitor supported PPDU start reason type
* @TXMON_FES_PROTECTION_FRAME:
* @TXMON_FES_AFTER_PROTECTION:
* @TXMON_FES_ONLY:
* @TXMON_RESPONSE_FRAME:
* @TXMON_TRIG_RESPONSE_FRAME:
* @TXMON_DYNAMIC_PROTECTION_FES_ONLY:
*/
enum ppdu_start_reason {
TXMON_FES_PROTECTION_FRAME,
@@ -244,7 +263,11 @@ enum ppdu_start_reason {
};
/**
* guard_interval - tx monitor supported Guard interval type
* enum guard_interval - tx monitor supported Guard interval type
* @TXMON_GI_0_8_US:
* @TXMON_GI_0_4_US:
* @TXMON_GI_1_6_US:
* @TXMON_GI_3_2_US:
*/
enum guard_interval {
TXMON_GI_0_8_US = 0,
@@ -254,7 +277,19 @@ enum guard_interval {
};
/**
* RU_size_start - tx monitor supported RU size start type
* enum RU_size_start - tx monitor supported RU size start type
* @TXMON_RU_26:
* @TXMON_RU_52:
* @TXMON_RU_106:
* @TXMON_RU_242:
* @TXMON_RU_484:
* @TXMON_RU_996:
* @TXMON_RU_1992:
* @TXMON_RU_FULLBW_240:
* @TXMON_RU_FULLBW_320:
* @TXMON_RU_MULTI_LARGE:
* @TXMON_RU_78:
* @TXMON_RU_132:
*/
enum RU_size_start {
TXMON_RU_26 = 0,
@@ -272,7 +307,33 @@ enum RU_size_start {
};
/**
* response_type_expected - expected response type
* enum response_type_expected - expected response type
* @TXMON_RESP_NO_RESP:
* @TXMON_RESP_ACK:
* @TXMON_RESP_BA_64_BITMAP:
* @TXMON_RESP_BA_256:
* @TXMON_RESP_ACTIONNOACK:
* @TXMON_RESP_ACK_BA:
* @TXMON_RESP_CTS:
* @TXMON_RESP_ACK_DATA:
* @TXMON_RESP_NDP_ACK:
* @TXMON_RESP_NDP_MODIFIED_ACK:
* @TXMON_RESP_NDP_BA:
* @TXMON_RESP_NDP_CTS:
* @TXMON_RESP_NDP_ACK_OR_NDP_MODIFIED_ACK:
* @TXMON_RESP_UL_MU_BA:
* @TXMON_RESP_UL_MU_BA_AND_DATA:
* @TXMON_RESP_UL_MU_CBF:
* @TXMON_RESP_UL_MU_FRAMES:
* @TXMON_RESP_ANY_RESP_TO_DEVICE:
* @TXMON_RESP_ANY_RESP_ACCEPTED:
* @TXMON_RESP_FRAMELESS_PHYRX_RESP_ACCEPTED:
* @TXMON_RESP_RANGING_NDP_AND_LMR:
* @TXMON_RESP_BA_512:
* @TXMON_RESP_BA_1024:
* @TXMON_RESP_UL_MU_RANGING_CTS2S:
* @TXMON_RESP_UL_MU_RANGING_NDP:
* @TXMON_RESP_UL_MU_RANGING_LMR:
*/
enum response_type_expected {
TXMON_RESP_NO_RESP = 0,
@@ -304,7 +365,11 @@ enum response_type_expected {
};
/**
* resposne_to_respone - tx monitor supported response to response type
* enum resposne_to_respone - tx monitor supported response to response type
* @TXMON_RESP_TO_RESP_NONE:
* @TXMON_RESP_TO_RESP_SU_BA:
* @TXMON_RESP_TO_RESP_MU_BA:
* @TXMON_RESP_TO_RESP_CMD:
*/
enum resposne_to_respone {
TXMON_RESP_TO_RESP_NONE = 0,
@@ -314,7 +379,14 @@ enum resposne_to_respone {
};
/**
* medium_protection_type - tx monitor supported protection type
* enum medium_protection_type - tx monitor supported protection type
* @TXMON_MEDIUM_NO_PROTECTION:
* @TXMON_MEDIUM_RTS_LEGACY:
* @TXMON_MEDIUM_RTS_11AC_STATIC_BW:
* @TXMON_MEDIUM_RTS_11AC_DYNAMIC_BW:
* @TXMON_MEDIUM_CTS2SELF:
* @TXMON_MEDIUM_QOS_NULL_NO_ACK_3ADDR:
* @TXMON_MEDIUM_QOS_NULL_NO_ACK_4ADDR:
*/
enum medium_protection_type {
TXMON_MEDIUM_NO_PROTECTION,
@@ -327,7 +399,11 @@ enum medium_protection_type {
};
/**
* ndp_frame - tx monitor supported ndp frame type
* enum ndp_frame - tx monitor supported ndp frame type
* @TXMON_NO_NDP_TRANSMISSION:
* @TXMON_BEAMFORMING_NDP:
* @TXMON_HE_RANGING_NDP:
* @TXMON_HE_FEEDBACK_NDP:
*/
enum ndp_frame {
TXMON_NO_NDP_TRANSMISSION,
@@ -337,7 +413,9 @@ enum ndp_frame {
};
/**
* tx_ppdu_info_type - tx monitor supported ppdu type
* enum tx_ppdu_info_type - tx monitor supported ppdu type
* @TX_PROT_PPDU_INFO:
* @TX_DATA_PPDU_INFO:
*/
enum tx_ppdu_info_type {
TX_PROT_PPDU_INFO,
@@ -345,10 +423,11 @@ enum tx_ppdu_info_type {
};
/**
* dp_tx_ppdu_info - structure to store tx ppdu info
* struct dp_tx_ppdu_info - structure to store tx ppdu info
* @ppdu_id: current ppdu info ppdu id
* @frametype: ppdu info frame type
* @frame_type: ppdu info frame type
* @cur_usr_idx: current user index of ppdu info
* @ulist: union of linked lists
* @tx_ppdu_info_dlist_elem: support adding to double linked list
* @tx_ppdu_info_slist_elem: support adding to single linked list
* @hal_txmon: hal tx monitor info for that ppdu
@@ -370,7 +449,8 @@ struct dp_tx_ppdu_info {
};
/**
* dp_tx_monitor_drop_stats - structure to store tx monitor drop statistic
* struct dp_tx_monitor_drop_stats - structure to store tx monitor drop
* statistics
* @ppdu_drop_cnt: ppdu drop counter
* @mpdu_drop_cnt: mpdu drop counter
* @tlv_drop_cnt: tlv drop counter
@@ -412,7 +492,7 @@ struct dp_tx_monitor_drop_stats {
};
/**
* dp_tx_monitor_mode - tx monitor supported mode
* enum dp_tx_monitor_mode - tx monitor supported mode
* @TX_MON_BE_DISABLE: tx monitor disable
* @TX_MON_BE_FULL_CAPTURE: tx monitor mode to capture full packet
* @TX_MON_BE_PEER_FILTER: tx monitor mode to capture peer filter
@@ -424,7 +504,7 @@ enum dp_tx_monitor_mode {
};
/**
* dp_tx_monitor_framework_mode - tx monitor framework mode
* enum dp_tx_monitor_framework_mode - tx monitor framework mode
* @TX_MON_BE_FRM_WRK_DISABLE: tx monitor frame work disable
* @TX_MON_BE_FRM_WRK_FULL_CAPTURE: tx monitor frame work full capture
* @TX_MON_BE_FRM_WRK_128B_CAPTURE: tx monitor frame work 128B capture
@@ -462,7 +542,7 @@ enum dp_tx_monitor_framework_mode {
#ifndef WLAN_TX_PKT_CAPTURE_ENH_BE
/**
* dp_pdev_tx_monitor_be - info to store tx capture information in pdev
* struct dp_pdev_tx_monitor_be - info to store tx capture information in pdev
* @be_ppdu_id: current ppdu id
* @mode: tx monitor core framework current mode
* @stats: tx monitor drop stats for that mac
@@ -475,7 +555,7 @@ struct dp_pdev_tx_monitor_be {
};
/**
* dp_peer_tx_capture_be: Tx monitor peer structure
* struct dp_peer_tx_capture_be - Tx monitor peer structure
*
* This is a dummy structure
*/
@@ -493,8 +573,10 @@ struct dp_txmon_frag_vec {
uint32_t end_offset;
};
/**
* dp_pdev_tx_monitor_be - info to store tx capture information in pdev
/*
* NB: intentionally not using kernel-doc comment because the kernel-doc
* script does not handle the STAILQ_HEAD macro
* struct dp_pdev_tx_monitor_be - info to store tx capture information in pdev
* @be_ppdu_id: current ppdu id
* @be_end_reason_bitmap: current end reason bitmap
* @mode: tx monitor current mode
@@ -556,7 +638,7 @@ struct dp_pdev_tx_monitor_be {
};
/**
* dp_peer_tx_capture_be: Tx monitor peer structure
* struct dp_peer_tx_capture_be - Tx monitor peer structure
*
* need to be added here
*/
@@ -564,19 +646,19 @@ struct dp_peer_tx_capture_be {
};
#endif /* WLAN_TX_PKT_CAPTURE_ENH_BE */
/*
/**
* dp_tx_mon_ppdu_info_free() - API to free dp_tx_ppdu_info
* @tx_ppdu_info - pointer to tx_ppdu_info
* @tx_ppdu_info: pointer to tx_ppdu_info
*
* Return: void
*/
void dp_tx_mon_ppdu_info_free(struct dp_tx_ppdu_info *tx_ppdu_info);
/*
/**
* dp_tx_mon_free_usr_mpduq() - API to free user mpduq
* @tx_ppdu_info - pointer to tx_ppdu_info
* @usr_idx - user index
* @tx_cap_be - pointer to tx capture be
* @tx_ppdu_info: pointer to tx_ppdu_info
* @usr_idx: user index
* @tx_mon_be: pointer to tx monitor be
*
* Return: void
*/
@@ -584,22 +666,22 @@ void dp_tx_mon_free_usr_mpduq(struct dp_tx_ppdu_info *tx_ppdu_info,
uint8_t usr_idx,
struct dp_pdev_tx_monitor_be *tx_mon_be);
/*
/**
* dp_tx_mon_free_ppdu_info() - API to free dp_tx_ppdu_info
* @tx_ppdu_info - pointer to tx_ppdu_info
* @tx_cap_be - pointer to tx capture be
* @tx_ppdu_info: pointer to tx_ppdu_info
* @tx_mon_be: pointer to tx monitor be
*
* Return: void
*/
void dp_tx_mon_free_ppdu_info(struct dp_tx_ppdu_info *tx_ppdu_info,
struct dp_pdev_tx_monitor_be *tx_mon_be);
/*
/**
* dp_tx_mon_get_ppdu_info() - API to allocate dp_tx_ppdu_info
* @pdev - pdev handle
* @type - type of ppdu_info data or protection
* @num_user - number user in a ppdu_info
* @ppdu_id - ppdu_id number
* @pdev: pdev handle
* @type: type of ppdu_info data or protection
* @num_user: number user in a ppdu_info
* @ppdu_id: ppdu_id number
*
* Return: pointer to dp_tx_ppdu_info
*/
@@ -625,7 +707,7 @@ void dp_tx_ppdu_stats_attach_2_0(struct dp_pdev *pdev);
*/
void dp_tx_ppdu_stats_detach_2_0(struct dp_pdev *pdev);
/*
/**
* dp_print_pdev_tx_monitor_stats_2_0: print tx capture stats
* @pdev: DP PDEV handle
*
@@ -633,19 +715,19 @@ void dp_tx_ppdu_stats_detach_2_0(struct dp_pdev *pdev);
*/
void dp_print_pdev_tx_monitor_stats_2_0(struct dp_pdev *pdev);
/*
/**
* dp_config_enh_tx_monitor_2_0()- API to enable/disable enhanced tx capture
* @pdev_handle: DP_PDEV handle
* @pdev: DP_PDEV handle
* @val: user provided value
*
* Return: QDF_STATUS
*/
QDF_STATUS dp_config_enh_tx_monitor_2_0(struct dp_pdev *pdev, uint8_t val);
/*
/**
* dp_peer_set_tx_capture_enabled_2_0() - add tx monitor peer filter
* @pdev: Datapath PDEV handle
* @peer: Datapath PEER handle
* @pdev_handle: Datapath PDEV handle
* @peer_handle: Datapath PEER handle
* @is_tx_pkt_cap_enable: flag for tx capture enable/disable
* @peer_mac: peer mac address
*
@@ -658,9 +740,9 @@ QDF_STATUS dp_peer_set_tx_capture_enabled_2_0(struct dp_pdev *pdev_handle,
#endif /* WLAN_TX_PKT_CAPTURE_ENH_BE */
#if (defined(WIFI_MONITOR_SUPPORT) && !defined(WLAN_TX_PKT_CAPTURE_ENH_BE))
/*
/**
* dp_config_enh_tx_core_monitor_2_0()- API to validate core framework
* @pdev_handle: DP_PDEV handle
* @pdev: DP_PDEV handle
* @val: user provided value
*
* Return: QDF_STATUS

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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 above
@@ -28,15 +28,6 @@
#define MAX_PPDU_INFO_LIST_DEPTH 64
/**
* dp_tx_mon_status_free_packet_buf() - API to free packet buffer
* @pdev: pdev Handle
* @status_frag: status frag
* @end_offset: status fragment end offset
* @mon_desc_list_ref: tx monitor descriptor list reference
*
* Return: void
*/
void
dp_tx_mon_status_free_packet_buf(struct dp_pdev *pdev,
qdf_frag_t status_frag, uint32_t end_offset,
@@ -156,6 +147,7 @@ dp_tx_mon_status_queue_free(struct dp_pdev *pdev,
/**
* dp_tx_mon_enqueue_mpdu_nbuf() - API to enqueue nbuf from per user mpdu queue
* @pdev: pdev Handle
* @tx_ppdu_info: pointer to tx ppdu info structure
* @user_id: user index
* @mpdu_nbuf: nbuf to be enqueue
@@ -1010,6 +1002,7 @@ dp_tx_mon_alloc_mpdu(struct dp_pdev *pdev, struct dp_tx_ppdu_info *tx_ppdu_info)
* dp_tx_mon_generate_data_frm() - API to generate data frame
* @pdev: pdev Handle
* @tx_ppdu_info: pointer to tx ppdu info structure
* @take_ref:
*
* Return: void
*/
@@ -1446,9 +1439,9 @@ dp_tx_process_pktlog_be(struct dp_soc *soc, struct dp_pdev *pdev,
return QDF_STATUS_SUCCESS;
}
/*
/**
* dp_tx_mon_process_tlv_2_0() - API to parse PPDU worth information
* @pdev_handle: DP_PDEV handle
* @pdev: DP_PDEV handle
* @mon_desc_list_ref: tx monitor descriptor list reference
*
* Return: status
@@ -1662,15 +1655,6 @@ dp_tx_mon_process_tlv_2_0(struct dp_pdev *pdev,
return QDF_STATUS_SUCCESS;
}
/**
* dp_tx_mon_update_end_reason() - API to update end reason
*
* @mon_pdev - DP_MON_PDEV handle
* @ppdu_id - ppdu_id
* @end_reason - monitor destination descriptor end reason
*
* Return: void
*/
void dp_tx_mon_update_end_reason(struct dp_mon_pdev *mon_pdev,
int ppdu_id, int end_reason)
{
@@ -1686,19 +1670,6 @@ void dp_tx_mon_update_end_reason(struct dp_mon_pdev *mon_pdev,
tx_mon_be->be_end_reason_bitmap |= (1 << end_reason);
}
/*
* dp_tx_mon_process_status_tlv() - API to processed TLV
* invoked from interrupt handler
*
* @soc - DP_SOC handle
* @pdev - DP_PDEV handle
* @mon_ring_desc - descriptor status info
* @addr - status buffer frag address
* @end_offset - end offset of buffer that has valid buffer
* @mon_desc_list_ref: tx monitor descriptor list reference
*
* Return: QDF_STATUS
*/
QDF_STATUS
dp_tx_mon_process_status_tlv(struct dp_soc *soc,
struct dp_pdev *pdev,
@@ -1812,19 +1783,6 @@ free_status_buffer:
#else
/**
* dp_tx_mon_process_status_tlv() - API to processed TLV
* invoked from interrupt handler
*
* @soc - DP_SOC handle
* @pdev - DP_PDEV handle
* @mon_ring_desc - descriptor status info
* @addr - status buffer frag address
* @end_offset - end offset of buffer that has valid buffer
* @mon_desc_list_ref: tx monitor descriptor list reference
*
* Return: QDF_STATUS
*/
QDF_STATUS
dp_tx_mon_process_status_tlv(struct dp_soc *soc,
struct dp_pdev *pdev,
@@ -1859,15 +1817,6 @@ dp_tx_mon_process_status_tlv(struct dp_soc *soc,
return QDF_STATUS_E_INVAL;
}
/**
* dp_tx_mon_update_end_reason() - API to update end reason
*
* @mon_pdev - DP_MON_PDEV handle
* @ppdu_id - ppdu_id
* @end_reason - monitor destination descriptor end reason
*
* Return: void
*/
void dp_tx_mon_update_end_reason(struct dp_mon_pdev *mon_pdev,
int ppdu_id, int end_reason)
{

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016-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 above
@@ -449,8 +449,9 @@ dp_scan_spcl_vap_stats_detach(struct dp_mon_vdev *mon_vdev)
/**
* dp_vdev_set_monitor_mode() - Set DP VDEV to monitor mode
* @vdev_handle: Datapath VDEV handle
* @smart_monitor: Flag to denote if its smart monitor mode
* @dp_soc: DP soc context
* @vdev_id: vdev ID
* @special_monitor: Flag to denote if its smart monitor mode
*
* Return: 0 on success, not 0 on failure
*/
@@ -1477,12 +1478,12 @@ QDF_STATUS dp_peer_stats_notify(struct dp_pdev *dp_pdev, struct dp_peer *peer)
#ifdef FEATURE_NAC_RSSI
/**
* dp_rx_nac_filter(): Function to perform filtering of non-associated
* dp_rx_nac_filter() - Function to perform filtering of non-associated
* clients
* @pdev: DP pdev handle
* @rx_pkt_hdr: Rx packet Header
*
* return: dp_vdev*
* Return: dp_vdev*
*/
static
struct dp_vdev *dp_rx_nac_filter(struct dp_pdev *pdev,
@@ -1546,10 +1547,10 @@ QDF_STATUS dp_filter_neighbour_peer(struct dp_pdev *pdev,
#endif
#if defined(ATH_SUPPORT_NAC_RSSI) || defined(ATH_SUPPORT_NAC)
/*
/**
* dp_update_filter_neighbour_peers() - set neighbour peers(nac clients)
* address for smart mesh filtering
* @txrx_soc: cdp soc handle
* @soc_hdl: cdp soc handle
* @vdev_id: id of virtual device object
* @cmd: Add/Del command
* @macaddr: nac client mac address
@@ -1653,7 +1654,7 @@ fail0:
}
#endif /* ATH_SUPPORT_NAC_RSSI || ATH_SUPPORT_NAC */
/*
/**
* dp_update_mon_mac_filter() - Set/reset monitor mac filter
* @soc_hdl: cdp soc handle
* @vdev_id: id of virtual device object
@@ -1703,7 +1704,7 @@ static QDF_STATUS dp_update_mon_mac_filter(struct cdp_soc_t *soc_hdl,
#ifdef ATH_SUPPORT_NAC_RSSI
/**
* dp_vdev_get_neighbour_rssi(): Store RSSI for configured NAC
* dp_vdev_get_neighbour_rssi() - Store RSSI for configured NAC
* @soc_hdl: DP soc handle
* @vdev_id: id of DP vdev handle
* @mac_addr: neighbour mac
@@ -1805,14 +1806,6 @@ dp_enable_mon_reap_timer(struct cdp_soc_t *soc_hdl,
#if defined(DP_CON_MON)
#ifndef REMOVE_PKT_LOG
/**
* dp_pkt_log_init() - API to initialize packet log
* @soc_hdl: Datapath soc handle
* @pdev_id: id of data path pdev handle
* @scn: HIF context
*
* Return: none
*/
void dp_pkt_log_init(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, void *scn)
{
struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
@@ -1911,7 +1904,7 @@ void dp_neighbour_peers_detach(struct dp_pdev *pdev)
}
#ifdef QCA_ENHANCED_STATS_SUPPORT
/*
/**
* dp_mon_tx_enable_enhanced_stats() - Enable enhanced Tx stats
* @pdev: Datapath pdev handle
*
@@ -1927,9 +1920,9 @@ static void dp_mon_tx_enable_enhanced_stats(struct dp_pdev *pdev)
mon_ops->mon_tx_enable_enhanced_stats(pdev);
}
/*
/**
* dp_enable_enhanced_stats()- API to enable enhanced statistcs
* @soc_handle: DP_SOC handle
* @soc: DP_SOC handle
* @pdev_id: id of DP_PDEV handle
*
* Return: QDF_STATUS
@@ -1974,7 +1967,7 @@ dp_enable_enhanced_stats(struct cdp_soc_t *soc, uint8_t pdev_id)
return QDF_STATUS_SUCCESS;
}
/*
/**
* dp_mon_tx_disable_enhanced_stats() - Disable enhanced Tx stats
* @pdev: Datapath pdev handle
*
@@ -1990,12 +1983,13 @@ static void dp_mon_tx_disable_enhanced_stats(struct dp_pdev *pdev)
mon_ops->mon_tx_disable_enhanced_stats(pdev);
}
/*
/**
* dp_disable_enhanced_stats()- API to disable enhanced statistcs
*
* @param soc - the soc handle
* @param pdev_id - pdev_id of pdev
* @return - QDF_STATUS
* @soc: the soc handle
* @pdev_id: pdev_id of pdev
*
* Return: QDF_STATUS
*/
static QDF_STATUS
dp_disable_enhanced_stats(struct cdp_soc_t *soc, uint8_t pdev_id)
@@ -2110,7 +2104,7 @@ dp_enable_peer_based_pktlog(struct cdp_soc_t *soc, uint8_t pdev_id,
}
/**
* dp_peer_update_pkt_capture_params: Set Rx & Tx Capture flags for a peer
* dp_peer_update_pkt_capture_params() - Set Rx & Tx Capture flags for a peer
* @soc: DP_SOC handle
* @pdev_id: id of DP_PDEV handle
* @is_rx_pkt_cap_enable: enable/disable Rx packet capture in monitor mode
@@ -2273,8 +2267,9 @@ QDF_STATUS dp_rx_populate_cbf_hdr(struct dp_soc *soc,
#ifdef ATH_SUPPORT_EXT_STAT
#ifdef WLAN_TELEMETRY_STATS_SUPPORT
/* dp_pdev_clear_link_airtime_stats- clear pdev airtime stats for current index
* @peer : Datapath peer
/**
* dp_pdev_clear_link_airtime_stats() - clear pdev airtime stats for given peer
* @pdev: DP PDEV handle
*/
static inline
void dp_pdev_clear_link_airtime_stats(struct dp_pdev *pdev)
@@ -2285,8 +2280,9 @@ void dp_pdev_clear_link_airtime_stats(struct dp_pdev *pdev)
pdev->stats.telemetry_stats.link_airtime[ac] = 0;
}
/* dp_peer_update_telemetry_stats- update peer telemetry stats
* @peer : Datapath peer
/**
* dp_peer_update_telemetry_stats() - update peer telemetry stats
* @peer: Datapath peer
*/
static inline
void dp_peer_update_telemetry_stats(struct dp_peer *peer)
@@ -2331,10 +2327,11 @@ void dp_peer_update_telemetry_stats(struct dp_peer *peer)
{ }
#endif
/*dp_peer_cal_clients_stats_update - update peer stats on cal client timer
* @soc : Datapath SOC
* @peer : Datapath peer
* @arg : argument to iter function
/**
* dp_peer_cal_clients_stats_update() - update peer stats on cal client timer
* @soc: Datapath SOC
* @peer: Datapath peer
* @arg: argument to iter function
*/
#ifdef IPA_OFFLOAD
static void
@@ -2397,7 +2394,8 @@ dp_peer_cal_clients_stats_update(struct dp_soc *soc,
}
#endif
/*dp_iterate_update_peer_list - update peer stats on cal client timer
/**
* dp_iterate_update_peer_list() - update peer stats on cal client timer
* @pdev_hdl: pdev handle
*/
static void dp_iterate_update_peer_list(struct cdp_pdev *pdev_hdl)
@@ -2442,16 +2440,16 @@ void dp_set_atf_stats_enable(struct dp_pdev *pdev, bool value)
#endif
#ifdef QCA_ENHANCED_STATS_SUPPORT
/*
* dp_process_ppdu_stats_tx_mgmtctrl_payload_tlv: Process
/**
* dp_process_ppdu_stats_tx_mgmtctrl_payload_tlv() - Process
* htt_ppdu_stats_tx_mgmtctrl_payload_tlv
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the htt_ppdu_stats_tx_mgmtctrl_payload_tlv
* @length: tlv_length
* @ppdu_id: PPDU Id
*
* return:QDF_STATUS_SUCCESS if nbuf has to be freed in caller
* Return: QDF_STATUS_SUCCESS if nbuf has to be freed in caller
*/
QDF_STATUS
static QDF_STATUS
dp_process_ppdu_stats_tx_mgmtctrl_payload_tlv(struct dp_pdev *pdev,
qdf_nbuf_t tag_buf,
uint32_t ppdu_id)
@@ -2515,14 +2513,6 @@ dp_process_ppdu_stats_tx_mgmtctrl_payload_tlv(struct dp_pdev *pdev,
return QDF_STATUS_E_ALREADY;
}
/*
* dp_htt_get_ppdu_sniffer_ampdu_tlv_bitmap() - Get ppdu stats tlv
* bitmap for sniffer mode
* @bitmap: received bitmap
*
* Return: expected bitmap value, returns zero if doesn't match with
* either 64-bit Tx window or 256-bit window tlv bitmap
*/
int
dp_htt_get_ppdu_sniffer_ampdu_tlv_bitmap(uint32_t bitmap)
{
@@ -2534,7 +2524,7 @@ dp_htt_get_ppdu_sniffer_ampdu_tlv_bitmap(uint32_t bitmap)
return 0;
}
/*
/**
* dp_peer_copy_delay_stats() - copy ppdu stats to peer delayed stats.
* @peer: Datapath peer handle
* @ppdu: User PPDU Descriptor
@@ -2598,7 +2588,7 @@ dp_peer_copy_delay_stats(struct dp_peer *peer,
ppdu->debug_copied = true;
}
/*
/**
* dp_peer_copy_stats_to_bar() - copy delayed stats to ppdu stats.
* @peer: Datapath peer handle
* @ppdu: PPDU Descriptor
@@ -2647,7 +2637,7 @@ dp_peer_copy_stats_to_bar(struct dp_peer *peer,
ppdu->debug_copied = true;
}
/*
/**
* dp_tx_rate_stats_update() - Update rate per-peer statistics
* @peer: Datapath peer handle
* @ppdu: PPDU Descriptor
@@ -2755,7 +2745,7 @@ void dp_send_stats_event(struct dp_pdev *pdev, struct dp_peer *peer,
#endif
#ifdef WLAN_FEATURE_11BE
/*
/**
* dp_get_ru_index_frm_ru_tones() - get ru index
* @ru_tones: ru tones
*
@@ -2822,7 +2812,7 @@ static inline enum cdp_ru_index dp_get_ru_index_frm_ru_tones(uint16_t ru_tones)
return ru_index;
}
/*
/**
* dp_mon_get_ru_width_from_ru_size() - get ru_width from ru_size enum
* @ru_size: HTT ru_size enum
*
@@ -2951,7 +2941,7 @@ static uint32_t dp_mon_get_ru_width_from_ru_size(uint16_t ru_size)
#endif
#ifdef WLAN_TELEMETRY_STATS_SUPPORT
/*
/**
* dp_pdev_telemetry_stats_update() - Update pdev telemetry stats
* @pdev: Datapath pdev handle
* @ppdu: PPDU Descriptor
@@ -2988,7 +2978,7 @@ dp_pdev_telemetry_stats_update(
{ }
#endif
/*
/**
* dp_tx_stats_update() - Update per-peer statistics
* @pdev: Datapath pdev handle
* @peer: Datapath peer handle
@@ -3168,14 +3158,14 @@ dp_tx_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
dp_send_stats_event(pdev, peer, ppdu->peer_id);
}
/*
* dp_get_ppdu_info_user_index: Find and allocate a per-user descriptor for a PPDU,
* if a new peer id arrives in a PPDU
* pdev: DP pdev handle
* @peer_id : peer unique identifier
/**
* dp_get_ppdu_info_user_index() - Find and allocate a per-user
* descriptor for a PPDU, if a new peer id arrives in a PPDU
* @pdev: DP pdev handle
* @peer_id: peer unique identifier
* @ppdu_info: per ppdu tlv structure
*
* return:user index to be populated
* Return: user index to be populated
*/
static uint8_t dp_get_ppdu_info_user_index(struct dp_pdev *pdev,
uint16_t peer_id,
@@ -3208,13 +3198,13 @@ static uint8_t dp_get_ppdu_info_user_index(struct dp_pdev *pdev,
return ppdu_info->last_user - 1;
}
/*
* dp_process_ppdu_stats_common_tlv: Process htt_ppdu_stats_common_tlv
* pdev: DP pdev handle
/**
* dp_process_ppdu_stats_common_tlv() - Process htt_ppdu_stats_common_tlv
* @pdev: DP pdev handle
* @tag_buf: buffer containing the tlv htt_ppdu_stats_common_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void
dp_process_ppdu_stats_common_tlv(struct dp_pdev *pdev,
@@ -3339,12 +3329,13 @@ dp_process_ppdu_stats_common_tlv(struct dp_pdev *pdev,
HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_GET(*tag_buf);
}
/*
* dp_process_ppdu_stats_user_common_tlv: Process ppdu_stats_user_common
/**
* dp_process_ppdu_stats_user_common_tlv() - Process ppdu_stats_user_common
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the tlv htt_ppdu_stats_user_common_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_user_common_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3456,7 +3447,7 @@ static void dp_process_ppdu_stats_user_common_tlv(
* @tag_buf: T2H message buffer carrying the user rate TLV
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void
dp_process_ppdu_stats_user_rate_tlv(struct dp_pdev *pdev,
@@ -3560,14 +3551,14 @@ dp_process_ppdu_stats_user_rate_tlv(struct dp_pdev *pdev,
HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_GET(*tag_buf);
}
/*
* dp_process_ppdu_stats_enq_mpdu_bitmap_64_tlv: Process
/**
* dp_process_ppdu_stats_enq_mpdu_bitmap_64_tlv() - Process
* htt_ppdu_stats_enq_mpdu_bitmap_64_tlv
* pdev: DP PDEV handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the tlv htt_ppdu_stats_enq_mpdu_bitmap_64_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_enq_mpdu_bitmap_64_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3606,14 +3597,14 @@ static void dp_process_ppdu_stats_enq_mpdu_bitmap_64_tlv(
size);
}
/*
* dp_process_ppdu_stats_enq_mpdu_bitmap_256_tlv: Process
/**
* dp_process_ppdu_stats_enq_mpdu_bitmap_256_tlv() - Process
* htt_ppdu_stats_enq_mpdu_bitmap_256_tlv
* soc: DP SOC handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the tlv htt_ppdu_stats_enq_mpdu_bitmap_256_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_enq_mpdu_bitmap_256_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3652,14 +3643,14 @@ static void dp_process_ppdu_stats_enq_mpdu_bitmap_256_tlv(
size);
}
/*
* dp_process_ppdu_stats_user_cmpltn_common_tlv: Process
/**
* dp_process_ppdu_stats_user_cmpltn_common_tlv() - Process
* htt_ppdu_stats_user_cmpltn_common_tlv
* soc: DP SOC handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the tlv htt_ppdu_stats_user_cmpltn_common_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_user_cmpltn_common_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3781,14 +3772,14 @@ static void dp_process_ppdu_stats_user_cmpltn_common_tlv(
HTT_PPDU_STATS_USER_CMPLTN_COMMON_TLV_CURRENT_RATE_PER_GET(*tag_buf);
}
/*
* dp_process_ppdu_stats_user_compltn_ba_bitmap_64_tlv: Process
/**
* dp_process_ppdu_stats_user_compltn_ba_bitmap_64_tlv() - Process
* htt_ppdu_stats_user_compltn_ba_bitmap_64_tlv
* pdev: DP PDEV handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the htt_ppdu_stats_user_compltn_ba_bitmap_64_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_user_compltn_ba_bitmap_64_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3821,14 +3812,14 @@ static void dp_process_ppdu_stats_user_compltn_ba_bitmap_64_tlv(
ppdu_user_desc->ba_size = CDP_BA_64_BIT_MAP_SIZE_DWORDS * 32;
}
/*
* dp_process_ppdu_stats_user_compltn_ba_bitmap_256_tlv: Process
/**
* dp_process_ppdu_stats_user_compltn_ba_bitmap_256_tlv() - Process
* htt_ppdu_stats_user_compltn_ba_bitmap_256_tlv
* pdev: DP PDEV handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the htt_ppdu_stats_user_compltn_ba_bitmap_256_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_user_compltn_ba_bitmap_256_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3861,14 +3852,14 @@ static void dp_process_ppdu_stats_user_compltn_ba_bitmap_256_tlv(
ppdu_user_desc->ba_size = CDP_BA_256_BIT_MAP_SIZE_DWORDS * 32;
}
/*
* dp_process_ppdu_stats_user_compltn_ack_ba_status_tlv: Process
/**
* dp_process_ppdu_stats_user_compltn_ack_ba_status_tlv() - Process
* htt_ppdu_stats_user_compltn_ack_ba_status_tlv
* pdev: DP PDE handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the htt_ppdu_stats_user_compltn_ack_ba_status_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_user_compltn_ack_ba_status_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3928,14 +3919,14 @@ static void dp_process_ppdu_stats_user_compltn_ack_ba_status_tlv(
}
}
/*
* dp_process_ppdu_stats_user_common_array_tlv: Process
/**
* dp_process_ppdu_stats_user_common_array_tlv() - Process
* htt_ppdu_stats_user_common_array_tlv
* pdev: DP PDEV handle
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the htt_ppdu_stats_user_compltn_ack_ba_status_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void dp_process_ppdu_stats_user_common_array_tlv(
struct dp_pdev *pdev, uint32_t *tag_buf,
@@ -3982,14 +3973,14 @@ static void dp_process_ppdu_stats_user_common_array_tlv(
HTT_PPDU_STATS_ARRAY_ITEM_TLV_TX_FAILED_MSDUS_GET(*tag_buf);
}
/*
* dp_process_ppdu_stats_flush_tlv: Process
/**
* dp_process_ppdu_stats_user_compltn_flush_tlv() - Process
* htt_ppdu_stats_flush_tlv
* @pdev: DP PDEV handle
* @tag_buf: buffer containing the htt_ppdu_stats_flush_tlv
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void
dp_process_ppdu_stats_user_compltn_flush_tlv(struct dp_pdev *pdev,
@@ -4050,12 +4041,12 @@ add_ppdu_to_sched_list:
}
/**
* dp_process_ppdu_stats_sch_cmd_status_tlv: Process schedule command status tlv
* dp_process_ppdu_stats_sch_cmd_status_tlv() - Process schedule command status tlv
* Here we are not going to process the buffer.
* @pdev: DP PDEV handle
* @ppdu_info: per ppdu tlv structure
*
* return:void
* Return: void
*/
static void
dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
@@ -4104,7 +4095,7 @@ dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
peer = dp_peer_get_ref_by_id
(pdev->soc, ppdu_desc->user[i].peer_id,
DP_MOD_ID_TX_PPDU_STATS);
/**
/*
* This check is to make sure peer is not deleted
* after processing the TLVs.
*/
@@ -4121,7 +4112,7 @@ dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
delay_ppdu = &mon_peer->delayed_ba_ppdu_stats;
start_tsf = ppdu_desc->ppdu_start_timestamp;
end_tsf = ppdu_desc->ppdu_end_timestamp;
/**
/*
* save delayed ba user info
*/
if (ppdu_desc->user[i].delayed_ba) {
@@ -4167,7 +4158,7 @@ dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
(pdev->soc,
ppdu_desc->user[i].peer_id,
DP_MOD_ID_TX_PPDU_STATS);
/**
/*
* This check is to make sure peer is not deleted
* after processing the TLVs.
*/
@@ -4214,17 +4205,16 @@ dp_process_ppdu_stats_sch_cmd_status_tlv(struct dp_pdev *pdev,
}
/**
* dp_validate_fix_ppdu_tlv(): Function to validate the length of PPDU
*
* If the TLV length sent as part of PPDU TLV is less that expected size i.e
* size of corresponding data structure, pad the remaining bytes with zeros
* and continue processing the TLVs
*
* dp_validate_fix_ppdu_tlv() - Function to validate the length of PPDU
* @pdev: DP pdev handle
* @tag_buf: TLV buffer
* @tlv_expected_size: Expected size of Tag
* @tlv_len: TLV length received from FW
*
* If the TLV length sent as part of PPDU TLV is less that expected size i.e
* size of corresponding data structure, pad the remaining bytes with zeros
* and continue processing the TLVs
*
* Return: Pointer to updated TLV
*/
static inline uint32_t *dp_validate_fix_ppdu_tlv(struct dp_pdev *pdev,
@@ -4247,13 +4237,13 @@ static inline uint32_t *dp_validate_fix_ppdu_tlv(struct dp_pdev *pdev,
}
/**
* dp_process_ppdu_tag(): Function to process the PPDU TLVs
* dp_process_ppdu_tag() - Function to process the PPDU TLVs
* @pdev: DP pdev handle
* @tag_buf: TLV buffer
* @tlv_len: length of tlv
* @ppdu_info: per ppdu tlv structure
*
* return: void
* Return: void
*/
static void dp_process_ppdu_tag(struct dp_pdev *pdev,
uint32_t *tag_buf,
@@ -4405,7 +4395,7 @@ dp_ppdu_desc_user_phy_tx_time_update(struct dp_pdev *pdev,
if (!nss_ru_width_sum)
nss_ru_width_sum = 1;
/**
/*
* For SU-MIMO PPDU phy Tx time is same for the single user.
* For MU-MIMO phy Tx time is calculated per user as below
* user phy tx time =
@@ -4473,13 +4463,6 @@ dp_tx_ctrl_stats_update(struct dp_pdev *pdev, struct dp_peer *peer,
}
#endif /* WLAN_SUPPORT_CTRL_FRAME_STATS */
/**
* dp_ppdu_desc_user_stats_update(): Function to update TX user stats
* @pdev: DP pdev handle
* @ppdu_info: per PPDU TLV descriptor
*
* return: void
*/
void
dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
struct ppdu_info *ppdu_info)
@@ -4524,7 +4507,7 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
peer = dp_peer_get_ref_by_id(pdev->soc,
ppdu_desc->user[i].peer_id,
DP_MOD_ID_TX_PPDU_STATS);
/**
/*
* This check is to make sure peer is not deleted
* after processing the TLVs.
*/
@@ -4559,7 +4542,7 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
continue;
}
/**
/*
* Update tx stats for data frames having Qos as well as
* non-Qos data tid
*/
@@ -4582,7 +4565,7 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
}
#if !defined(WLAN_TX_PKT_CAPTURE_ENH) || defined(QCA_MONITOR_2_0_SUPPORT)
/*
/**
* dp_tx_ppdu_desc_notify() - Notify to upper layer about PPDU via WDI
*
* @pdev: Datapath pdev handle
@@ -4682,9 +4665,8 @@ void dp_ppdu_desc_deliver(struct dp_pdev *pdev,
}
#endif
/*
/**
* dp_tx_ppdu_desc_deliver() - Deliver PPDU desc to upper layer
*
* @pdev: Datapath pdev handle
* @ppdu_info: per PPDU TLV descriptor
*
@@ -4708,7 +4690,7 @@ static void dp_tx_ppdu_desc_deliver(struct dp_pdev *pdev,
}
/**
* dp_get_ppdu_desc(): Function to allocate new PPDU status
* dp_get_ppdu_desc() - Function to allocate new PPDU status
* desc for new ppdu id
* @pdev: DP pdev handle
* @ppdu_id: PPDU unique identifier
@@ -4716,7 +4698,7 @@ static void dp_tx_ppdu_desc_deliver(struct dp_pdev *pdev,
* @tsf_l32: timestamp received along with ppdu stats indication header
* @max_users: Maximum user for that particular ppdu
*
* return: ppdu_info per ppdu tlv structure
* Return: ppdu_info per ppdu tlv structure
*/
static
struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id,
@@ -4810,7 +4792,7 @@ struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id,
if (ppdu_info) {
if (ppdu_info->tlv_bitmap & (1 << tlv_type)) {
/**
/*
* if we get tlv_type that is already been processed
* for ppdu, that means we got a new ppdu with same
* ppdu id. Hence Flush the older ppdu
@@ -4825,7 +4807,7 @@ struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id,
ppdu_desc = (struct cdp_tx_completion_ppdu *)
qdf_nbuf_data(ppdu_info->nbuf);
/**
/*
* apart from ACK BA STATUS TLV rest all comes in order
* so if tlv type not ACK BA STATUS TLV we can deliver
* ppdu_info
@@ -4844,7 +4826,7 @@ struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id,
}
}
/**
/*
* Flush the head ppdu descriptor if ppdu desc list reaches max
* threshold
*/
@@ -4891,7 +4873,7 @@ struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id,
ppdu_info->ppdu_desc->max_users = max_users;
ppdu_info->tsf_l32 = tsf_l32;
/**
/*
* No lock is needed because all PPDU TLVs are processed in
* same context and this list is updated in same context
*/
@@ -4902,11 +4884,11 @@ struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id,
}
/**
* dp_htt_process_tlv(): Function to process each PPDU TLVs
* dp_htt_process_tlv() - Function to process each PPDU TLVs
* @pdev: DP pdev handle
* @htt_t2h_msg: HTT target to host message
*
* return: ppdu_info per ppdu tlv structure
* Return: ppdu_info per ppdu tlv structure
*/
static struct ppdu_info *dp_htt_process_tlv(struct dp_pdev *pdev,
qdf_nbuf_t htt_t2h_msg)
@@ -4945,7 +4927,7 @@ static struct ppdu_info *dp_htt_process_tlv(struct dp_pdev *pdev,
tlv_length += HTT_TLV_HDR_LEN;
/**
/*
* Not allocating separate ppdu descriptor for MGMT Payload
* TLV as this is sent as separate WDI indication and it
* doesn't contain any ppdu information
@@ -4984,7 +4966,7 @@ static struct ppdu_info *dp_htt_process_tlv(struct dp_pdev *pdev,
dp_process_ppdu_tag(pdev, msg_word, tlv_length, ppdu_info);
/**
/*
* Increment pdev level tlv count to monitor
* missing TLVs
*/
@@ -5050,7 +5032,7 @@ static struct ppdu_info *dp_htt_process_tlv(struct dp_pdev *pdev,
return NULL;
}
/**
/*
* Once all the TLVs for a given PPDU has been processed,
* return PPDU status to be delivered to higher layer.
* tlv_bitmap_expected can't be available for different frame type.
@@ -5100,7 +5082,7 @@ static bool dp_tx_ppdu_stats_feat_enable_check(struct dp_pdev *pdev)
* @pdev_id: pdev id
* @htt_t2h_msg: HTT message nbuf
*
* return:void
* Return: void
*/
static bool dp_txrx_ppdu_stats_handler(struct dp_soc *soc,
uint8_t pdev_id, qdf_nbuf_t htt_t2h_msg)
@@ -5156,14 +5138,6 @@ static bool dp_txrx_ppdu_stats_handler(struct dp_soc *soc,
#if defined(WDI_EVENT_ENABLE) &&\
(defined(QCA_ENHANCED_STATS_SUPPORT) || !defined(REMOVE_PKT_LOG))
/*
* dp_ppdu_stats_ind_handler() - PPDU stats msg handler
* @htt_soc: HTT SOC handle
* @msg_word: Pointer to payload
* @htt_t2h_msg: HTT msg nbuf
*
* Return: True if buffer should be freed by caller.
*/
bool
dp_ppdu_stats_ind_handler(struct htt_soc *soc,
uint32_t *msg_word,
@@ -6156,9 +6130,13 @@ void dp_mon_ppdu_stats_handler_deregister(struct dp_mon_soc *mon_soc)
#endif
#ifdef QCA_RSSI_DB2DBM
/*
/**
* dp_mon_compute_min_nf() - calculate the min nf value in the
* active chains 20MHZ subbands.
* active chains 20 MHz subbands.
* @conv_params: cdp_rssi_dbm_conv_param_dp structure value
* @min_nf: location to store min NF value
* @chain_idx: active chain index in nfHwdbm array
*
* computation: Need to calculate nfInDbm[][] to A_MIN(nfHwDbm[][])
* considering row index as active chains and column
* index as 20MHZ subbands per chain.
@@ -6166,9 +6144,6 @@ void dp_mon_ppdu_stats_handler_deregister(struct dp_mon_soc *mon_soc)
* BandWidth = 40MHZ (40MHZ includes two 20MHZ subbands so need to
* consider 0,1 index calculate min_nf value)
*
*@conv_params: cdp_rssi_dbm_conv_param_dp structure value
*@chain_idx: active chain index in nfHwdbm array
*
* Return: QDF_STATUS_SUCCESS if value set successfully
* QDF_STATUS_E_INVAL false if error
*/
@@ -6218,11 +6193,11 @@ dp_mon_compute_min_nf(struct cdp_rssi_dbm_conv_param_dp *conv_params,
return QDF_STATUS_SUCCESS;
}
/*
* dp_mon_pdev_params_rssi_dbm_conv() --> to set rssi in dbm conversion
/**
* dp_mon_pdev_params_rssi_dbm_conv() - to set rssi in dbm conversion
* params into monitor pdev.
*@cdp_soc: dp soc handle.
*@params: cdp_rssi_db2dbm_param_dp structure value.
* @cdp_soc: dp soc handle.
* @params: cdp_rssi_db2dbm_param_dp structure value.
*
* Return: QDF_STATUS_SUCCESS if value set successfully
* QDF_STATUS_E_INVAL false if error

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020-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
@@ -23,7 +23,7 @@
#include <dp_mon_filter.h>
#include <dp_mon.h>
/**
/*
* dp_mon_filter_mode_type_to_str
* Monitor Filter mode to string
*/
@@ -135,13 +135,7 @@ dp_mon_set_fp_phy_err_filter(struct htt_rx_ring_tlv_filter *tlv_filter,
{
}
#endif
/**
* dp_mon_filter_h2t_setup() - Setup the filter for the Target setup
* @soc: DP soc handle
* @pdev: DP pdev handle
* @srng_type: The srng type for which filter will be set
* @tlv_filter: tlv filter
*/
void dp_mon_filter_h2t_setup(struct dp_soc *soc, struct dp_pdev *pdev,
enum dp_mon_filter_srng_type srng_type,
struct dp_mon_filter *filter)
@@ -733,11 +727,6 @@ void dp_mon_filter_set_cbf_cmn(struct dp_pdev *pdev,
filter->tlv_filter.enable_mo = 0;
}
/**
* dp_mon_filter_dealloc() - Deallocate the filter objects to be stored in
* the radio object.
* @pdev: DP pdev handle
*/
void dp_mon_filter_dealloc(struct dp_mon_pdev *mon_pdev)
{
enum dp_mon_filter_mode mode;
@@ -774,11 +763,6 @@ void dp_mon_filter_dealloc(struct dp_mon_pdev *mon_pdev)
mon_pdev->filter = NULL;
}
/**
* dp_mon_filter_alloc() - Allocate the filter objects to be stored in
* the radio object.
* @mon_pdev: Monitor pdev handle
*/
struct dp_mon_filter **dp_mon_filter_alloc(struct dp_mon_pdev *mon_pdev)
{
struct dp_mon_filter **mon_filter = NULL;

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2020-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
@@ -20,7 +20,7 @@
#ifndef _DP_MON_FILTER_H_
#define _DP_MON_FILTER_H_
/**
/*
* Accessor Macros to access the software
* defined HTT filter htt_rx_ring_tlv_filter.
*/
@@ -96,7 +96,9 @@ struct dp_mon_filter {
struct htt_rx_ring_tlv_filter tlv_filter;
};
/**
/*
* NB: intentionally not using kernel-doc comment because the kernel-doc
* script does not handle the complex conditional compilation
* enum dp_mon_filter_mode - Different modes for SRNG filters
* @DP_MON_FILTER_ENHACHED_STATS_MODE: PPDU enhanced stats mode
* @DP_MON_FILTER_SMART_MONITOR_MODE: Smart monitor mode
@@ -107,7 +109,9 @@ struct dp_mon_filter {
* @DP_MON_FILTER_PKT_LOG_LITE_MODE: Packet log lite mode
* @DP_MON_FILTER_PKT_LOG_CBF_MODE: Packet log cbf mode
* @DP_MON_FILTER_PKT_LOG_HYBRID_MODE: Packet log hybrid mode
* @DP_MON_FILTER_RX_UNDECODED_METADATA_CAPTURE_MODE: Undecoded frame capture
* @DP_MON_FILTER_UNDECODED_METADATA_CAPTURE_MODE: Undecoded frame capture
* @DP_MON_FILTER_LITE_MON_MODE:
* @DP_MON_FILTER_MAX_MODE: max filter mode
*/
enum dp_mon_filter_mode {
#ifdef QCA_ENHANCED_STATS_SUPPORT
@@ -163,8 +167,8 @@ enum dp_mon_filter_srng_type {
/**
* enum dp_mon_filter_action - Action for storing the filters
* into the radio structure.
* @DP_MON_FILTER_CLEAR - Clears the filter for a mode
* @DP_MON_FILTER_SET - Set the filtes for a mode
* @DP_MON_FILTER_CLEAR: Clears the filter for a mode
* @DP_MON_FILTER_SET: Set the filtes for a mode
*/
enum dp_mon_filter_action {
DP_MON_FILTER_CLEAR,
@@ -396,9 +400,9 @@ struct dp_mon_filter **dp_mon_filter_alloc(struct dp_mon_pdev *mon_pdev);
/**
* dp_mon_filter_show_filter() - Show the set filters
* @pdev: DP pdev handle
* @mon_pdev: DP pdev handle
* @mode: The filter modes
* @tlv_filter: tlv filter
* @filter: tlv filter
*/
void dp_mon_filter_show_filter(struct dp_mon_pdev *mon_pdev,
enum dp_mon_filter_mode mode,
@@ -430,7 +434,7 @@ dp_mon_filter_reset_mon_srng(struct dp_soc *soc, struct dp_pdev *pdev,
/**
* dp_mon_filter_set_mon_cmn() - Setp the common mon filters
* @pdev: DP pdev handle
* @mon_pdev: DP pdev handle
* @filter: DP mon filter
*
* Return: QDF_STATUS
@@ -440,7 +444,7 @@ void dp_mon_filter_set_mon_cmn(struct dp_mon_pdev *mon_pdev,
/**
* dp_mon_filter_set_status_cmn() - Setp the common status filters
* @pdev: DP pdev handle
* @mon_pdev: DP pdev handle
* @filter: Dp mon filters
*
* Return: QDF_STATUS
@@ -488,7 +492,7 @@ QDF_STATUS dp_tx_mon_filter_update(struct dp_pdev *pdev);
/**
* dp_mon_filter_dealloc() - Deallocate the filter objects to be stored in
* the radio object.
* @pdev: DP pdev handle
* @mon_pdev: DP pdev handle
*/
void dp_mon_filter_dealloc(struct dp_mon_pdev *mon_pdev);
@@ -499,8 +503,8 @@ void dp_mon_filter_dealloc(struct dp_mon_pdev *mon_pdev);
*/
struct dp_mon_filter **dp_mon_filter_alloc(struct dp_mon_pdev *mon_pdev);
/*
* dp_mon_filter_h2t_setup () - Setup filter
/**
* dp_mon_filter_h2t_setup() - Setup filter
* @soc: Dp soc handle
* @pdev: pdev handle
* @srng_type: srng type
@@ -511,7 +515,7 @@ void dp_mon_filter_h2t_setup(struct dp_soc *soc, struct dp_pdev *pdev,
struct dp_mon_filter *filter);
/**
* dp_mon_ht2_rx_ring_cfg () - Configure filter to HW
* dp_mon_ht2_rx_ring_cfg() - Configure filter to HW
* @soc: Dp soc handle
* @pdev: Dp pdev handle
* @srng_type: SRNG type

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 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
@@ -250,6 +250,7 @@ dp_rx_populate_cfr_non_assoc_sta(struct dp_pdev *pdev,
/**
* dp_bb_captured_chan_status() - Get the bb_captured_channel status
* @pdev: pdev ctx
* @ppdu_info: structure for rx ppdu ring
*
* Return: Success/ Failure
@@ -284,7 +285,7 @@ dp_bb_captured_chan_status(struct dp_pdev *pdev,
* index in the rssi_chain[chain][bw] array
*
* @chain: BB chain index
* @pdev: pdev structure
* @mon_pdev: pdev structure
*
* Return: return RF chain index
*
@@ -662,10 +663,10 @@ end:
}
/**
* dp_rx_stats_update() - Update per-peer statistics
* @soc: Datapath SOC handle
* dp_rx_rate_stats_update() - Update per-peer rate statistics
* @peer: Datapath peer handle
* @ppdu: PPDU Descriptor
* @user: user index
*
* Return: None
*/

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2016-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
@@ -69,11 +69,11 @@
/**
* enum dp_mon_reap_status - monitor status ring ppdu status
*
* @DP_MON_STATUS_NO_DMA - DMA not done for status ring entry
* @DP_MON_STATUS_MATCH - status and dest ppdu id matches
* @DP_MON_STATUS_LAG - status ppdu id is lagging
* @DP_MON_STATUS_LEAD - status ppdu id is leading
* @DP_MON_STATUS_REPLENISH - status ring entry is NULL
* @DP_MON_STATUS_NO_DMA: DMA not done for status ring entry
* @DP_MON_STATUS_MATCH: status and dest ppdu id matches
* @DP_MON_STATUS_LAG: status ppdu id is lagging
* @DP_MON_STATUS_LEAD: status ppdu id is leading
* @DP_MON_STATUS_REPLENISH: status ring entry is NULL
*/
enum dp_mon_reap_status {
DP_MON_STATUS_NO_DMA,
@@ -83,7 +83,7 @@ enum dp_mon_reap_status {
DP_MON_STATUS_REPLENISH
};
/*
/**
* dp_rx_mon_status_process() - Process monitor status ring and
* TLV in status ring.
*
@@ -91,20 +91,20 @@ enum dp_mon_reap_status {
* @int_ctx: interrupt context
* @mac_id: mac_id which is one of 3 mac_ids
* @quota: No. of ring entry that can be serviced in one shot.
*
* Return: uint32_t: No. of ring entry that is processed.
*/
uint32_t
dp_rx_mon_status_process(struct dp_soc *soc, struct dp_intr *int_ctx,
uint32_t mac_id, uint32_t quota);
/*
/**
* dp_rx_populate_cbf_hdr - Send CBF frame with htt header
* @soc: Datapath soc handle
* @mac_id: Datapath mac id
* @event: WDI event
* @mpdu: mpdu buffer
* @msdu_timesstamp: time stamp
* @data: mpdu buffer
* @msdu_timestamp: time stamp
*
* Return: QDF_STATUS
*/
@@ -113,7 +113,7 @@ QDF_STATUS dp_rx_populate_cbf_hdr(struct dp_soc *soc,
qdf_nbuf_t data, uint32_t msdu_timestamp);
/**
* dp_rx_mon_handle_status_buf_done () - Handle DMA not done case for
* dp_rx_mon_handle_status_buf_done() - Handle DMA not done case for
* monitor status ring
*
* @pdev: DP pdev handle
@@ -150,7 +150,7 @@ void dp_full_mon_attach(struct dp_pdev *pdev);
void dp_full_mon_detach(struct dp_pdev *pdev);
/**
* dp_rx_mon_process ()- API to process monitor destination ring for
* dp_rx_mon_process()- API to process monitor destination ring for
* full monitor mode
*
* @soc: dp soc handle
@@ -216,7 +216,8 @@ uint32_t dp_mon_process(struct dp_soc *soc, struct dp_intr *int_ctx,
QDF_STATUS dp_rx_mon_deliver(struct dp_soc *soc, uint32_t mac_id,
qdf_nbuf_t head_msdu, qdf_nbuf_t tail_msdu);
/*
/**
* dp_rx_mon_deliver_non_std() - deliver frames for non standard path
* @soc: core txrx main context
* @mac_id: MAC ID
@@ -229,7 +230,7 @@ QDF_STATUS dp_rx_mon_deliver(struct dp_soc *soc, uint32_t mac_id,
QDF_STATUS dp_rx_mon_deliver_non_std(struct dp_soc *soc, uint32_t mac_id);
#ifndef REMOVE_MON_DBG_STATS
/*
/**
* dp_rx_mon_update_dbg_ppdu_stats() - Update status ring TLV count
* @ppdu_info: HAL RX PPDU info retrieved from status ring TLV
* @rx_mon_stats: monitor mode status/destination ring PPDU and MPDU count
@@ -268,7 +269,7 @@ dp_rx_mon_update_dbg_ppdu_stats(struct hal_rx_ppdu_info *ppdu_info,
}
}
/*
/**
* dp_rx_mon_init_dbg_ppdu_stats() - initialization for monitor mode stats
* @ppdu_info: HAL RX PPDU info retrieved from status ring TLV
* @rx_mon_stats: monitor mode status/destination ring PPDU and MPDU count
@@ -305,7 +306,7 @@ dp_rx_populate_rx_rssi_chain(struct hal_rx_ppdu_info *ppdu_info,
struct cdp_rx_indication_ppdu *cdp_rx_ppdu,
struct dp_pdev *pdev);
/*
/**
* dp_rx_populate_su_evm_details() - Populate su evm info
* @ppdu_info: ppdu info structure from ppdu ring
* @cdp_rx_ppdu: rx ppdu indication structure
@@ -442,6 +443,7 @@ dp_rx_mcopy_handle_last_mpdu(struct dp_soc *soc, struct dp_pdev *pdev,
/**
* dp_rx_mcopy_process_ppdu_info() - update mcopy ppdu info
* @pdev: pdev structure
* @ppdu_info: structure for rx ppdu ring
* @tlv_status: processed TLV status
*
@@ -502,7 +504,8 @@ int
dp_rx_handle_smart_mesh_mode(struct dp_soc *soc, struct dp_pdev *pdev,
struct hal_rx_ppdu_info *ppdu_info,
qdf_nbuf_t nbuf);
/*
/**
* dp_rx_nbuf_prepare() - prepare RX nbuf
* @soc: core txrx main context
* @pdev: core txrx pdev context
@@ -517,7 +520,7 @@ dp_rx_nbuf_prepare(struct dp_soc *soc, struct dp_pdev *pdev);
#if defined(WLAN_CFR_ENABLE) && defined(WLAN_ENH_CFR_ENABLE)
/*
/**
* dp_rx_mon_handle_cfr_mu_info() - Gather macaddr and ast_index of peer(s) in
* the PPDU received, this will be used for correlation of CFR data captured
* for an UL-MU-PPDU
@@ -532,7 +535,7 @@ dp_rx_mon_handle_cfr_mu_info(struct dp_pdev *pdev,
struct hal_rx_ppdu_info *ppdu_info,
struct cdp_rx_indication_ppdu *cdp_rx_ppdu);
/*
/**
* dp_rx_mon_populate_cfr_ppdu_info() - Populate cdp ppdu info from hal ppdu
* info
* @pdev: pdev ctx
@@ -555,7 +558,7 @@ dp_rx_mon_populate_cfr_ppdu_info(struct dp_pdev *pdev,
bool
dp_cfr_rcc_mode_status(struct dp_pdev *pdev);
/*
/**
* dp_rx_mon_populate_cfr_info() - Populate cdp ppdu info from hal cfr info
* @pdev: pdev ctx
* @ppdu_info: ppdu info structure from ppdu ring
@@ -579,7 +582,7 @@ void
dp_update_cfr_dbg_stats(struct dp_pdev *pdev,
struct hal_rx_ppdu_info *ppdu_info);
/*
/**
* dp_rx_handle_cfr() - Gather cfr info from hal ppdu info
* @soc: core txrx main context
* @pdev: pdev ctx
@@ -653,7 +656,7 @@ dp_cfr_rcc_mode_status(struct dp_pdev *pdev)
}
#endif /* WLAN_CFR_ENABLE && WLAN_ENH_CFR_ENABLE */
/*
/**
* dp_rx_mon_deliver(): function to deliver packets to stack
* @soc: DP soc
* @mac_id: MAC ID
@@ -668,15 +671,15 @@ QDF_STATUS dp_rx_mon_deliver(struct dp_soc *soc,
qdf_nbuf_t tail_msdu);
/**
* dp_rx_mon_deliver_non_std()
* @soc: core txrx main context
* @mac_id: MAC ID
*
* This function delivers the radio tap and dummy MSDU
* into user layer application for preamble only PPDU.
*
* Return: QDF_STATUS
*/
* dp_rx_mon_deliver_non_std()
* @soc: core txrx main context
* @mac_id: MAC ID
*
* This function delivers the radio tap and dummy MSDU
* into user layer application for preamble only PPDU.
*
* Return: QDF_STATUS
*/
QDF_STATUS dp_rx_mon_deliver_non_std(struct dp_soc *soc,
uint32_t mac_id);
@@ -730,7 +733,7 @@ qdf_frag_t dp_rx_mon_get_nbuf_80211_hdr(qdf_nbuf_t nbuf)
}
#endif
/*
/**
* dp_rx_mon_process_dest_pktlog(): function to log packet contents to
* pktlog buffer and send to pktlog module
* @soc: DP soc