Browse Source

qcacmn: Fix dp/wifi3.0/be documentation

The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/be, 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: I15c8570aa1832ed053fa38f536fa36b2ca0aa56b
CRs-Fixed: 3373157
Jeff Johnson 2 years ago
parent
commit
afe5a28707

+ 50 - 47
dp/wifi3.0/be/dp_be.h

@@ -154,12 +154,10 @@ enum CMEM_MEM_CLIENTS {
 
 /**
  * struct dp_spt_page_desc - secondary page table page descriptors
- * @next: pointer to next linked SPT page Desc
  * @page_v_addr: page virtual address
  * @page_p_addr: page physical address
  * @ppt_index: entry index in primary page table where this page physical
-		address stored
- * @avail_entry_index: index for available entry that store TX/RX Desc VA
+ *		address stored
  */
 struct dp_spt_page_desc {
 	uint8_t *page_v_addr;
@@ -257,7 +255,7 @@ struct dp_ppe_vp_profile {
  * @desc_pages: multiple page allocation information for actual descriptors
  * @elem_count: Number of descriptors in the pool
  * @num_free: Number of free descriptors
- * @lock- Lock for descriptor allocation/free from/to the pool
+ * @lock: Lock for descriptor allocation/free from/to the pool
  */
 struct dp_ppeds_tx_desc_pool_s {
 	uint16_t elem_size;
@@ -280,38 +278,41 @@ struct dp_ppeds_napi {
 	struct net_device ndev;
 };
 
-/**
+/*
+ * NB: intentionally not using kernel-doc comment because the kernel-doc
+ *     script does not handle the TAILQ_HEAD macro
  * struct dp_soc_be - Extended DP soc for BE targets
  * @soc: dp soc structure
  * @num_bank_profiles: num TX bank profiles
+ * @tx_bank_lock: lock for @bank_profiles
  * @bank_profiles: bank profiles for various TX banks
+ * @page_desc_base:
  * @cc_cmem_base: cmem offset reserved for CC
  * @tx_cc_ctx: Cookie conversion context for tx desc pools
  * @rx_cc_ctx: Cookie conversion context for rx desc pools
- * @monitor_soc_be: BE specific monitor object
- * @mlo_enabled: Flag to indicate MLO is enabled or not
- * @mlo_chip_id: MLO chip_id
- * @ml_ctxt: pointer to global ml_context
- * @delta_tqm: delta_tqm
- * @mlo_tstamp_offset: mlo timestamp offset
- * @mld_peer_hash: peer hash table for ML peers
- *           Associated peer with this MAC address)
- * @mld_peer_hash_lock: lock to protect mld_peer_hash
- * @ppe_ds_int_mode_enabled: PPE DS interrupt mode enabled
+ * @ppeds_int_mode_enabled: PPE DS interrupt mode enabled
+ * @ppeds_stopped:
  * @reo2ppe_ring: REO2PPE ring
  * @ppe2tcl_ring: PPE2TCL ring
+ * @ppeds_wbm_release_ring:
  * @ppe_vp_tbl: PPE VP table
  * @ppe_vp_search_idx_tbl: PPE VP search idx table
- * @ppe_vp_tbl_lock: PPE VP table lock
- * @num_ppe_vp_entries : Number of PPE VP entries
- * @ipa_bank_id: TCL bank id used by IPA
  * @ppeds_tx_cc_ctx: Cookie conversion context for ppeds tx desc pool
  * @ppeds_tx_desc: PPEDS tx desc pool
+ * @ppeds_napi_ctxt:
  * @ppeds_handle: PPEDS soc instance handle
- * @ppe_vp_tbl_lock: PPEDS VP table lock
- * @num_ppe_vp_entries: PPEDS number of VP entries
+ * @ppe_vp_tbl_lock: PPE VP table lock
+ * @num_ppe_vp_entries: Number of PPE VP entries
  * @num_ppe_vp_search_idx_entries: PPEDS VP search idx entries
  * @irq_name: PPEDS VP irq names
+ * @mlo_enabled: Flag to indicate MLO is enabled or not
+ * @mlo_chip_id: MLO chip_id
+ * @ml_ctxt: pointer to global ml_context
+ * @delta_tqm: delta_tqm
+ * @mlo_tstamp_offset: mlo timestamp offset
+ * @mld_peer_hash_lock: lock to protect mld_peer_hash
+ * @mld_peer_hash: peer hash table for ML peers
+ * @ipa_bank_id: TCL bank id used by IPA
  */
 struct dp_soc_be {
 	struct dp_soc soc;
@@ -389,6 +390,9 @@ struct dp_pdev_be {
  * @vdev: dp vdev structure
  * @bank_id: bank_id to be used for TX
  * @vdev_id_check_en: flag if HW vdev_id check is enabled for vdev
+ * @partner_vdev_list: partner list used for Intra-BSS
+ * @seq_num: DP MLO seq number
+ * @mcast_primary: MLO Mcast primary vdev
  * @ppe_vp_enabled: flag to check if PPE VP is enabled for vdev
  * @ppe_vp_profile: PPE VP profile
  */
@@ -397,13 +401,10 @@ struct dp_vdev_be {
 	int8_t bank_id;
 	uint8_t vdev_id_check_en;
 #ifdef WLAN_MLO_MULTI_CHIP
-	/* partner list used for Intra-BSS */
 	uint8_t partner_vdev_list[WLAN_MAX_MLO_CHIPS][WLAN_MAX_MLO_LINKS_PER_SOC];
 #ifdef WLAN_FEATURE_11BE_MLO
 #ifdef WLAN_MCAST_MLO
-	/* DP MLO seq number */
 	uint16_t seq_num;
-	/* MLO Mcast primary vdev */
 	bool mcast_primary;
 #endif
 #endif
@@ -416,7 +417,8 @@ struct dp_vdev_be {
 
 /**
  * struct dp_peer_be - Extended DP peer for BE targets
- * @dp_peer: dp peer structure
+ * @peer: dp peer structure
+ * @priority_valid:
  */
 struct dp_peer_be {
 	struct dp_peer peer;
@@ -442,7 +444,7 @@ void dp_initialize_arch_ops_be(struct dp_arch_ops *arch_ops);
 
 /**
  * dp_get_context_size_be() - get BE specific size for peer/vdev/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
  */
@@ -462,9 +464,8 @@ static inline struct dp_soc_be *dp_get_be_soc_from_dp_soc(struct dp_soc *soc)
 #ifdef WLAN_MLO_MULTI_CHIP
 typedef struct dp_mlo_ctxt *dp_mld_peer_hash_obj_t;
 
-/*
+/**
  * dp_mlo_get_peer_hash_obj() - return the container struct of MLO hash table
- *
  * @soc: soc handle
  *
  * return: MLD peer hash object
@@ -506,12 +507,13 @@ typedef void dp_ptnr_vdev_iter_func(struct dp_vdev_be *be_vdev,
 				    void *arg);
 typedef void dp_ptnr_soc_iter_func(struct dp_soc *ptnr_soc,
 				   void *arg);
-/*
- * dp_mcast_mlo_iter_ptnr_vdev - API to iterate through ptnr vdev list
+
+/**
+ * dp_mcast_mlo_iter_ptnr_vdev() - API to iterate through ptnr vdev list
  * @be_soc: dp_soc_be pointer
  * @be_vdev: dp_vdev_be pointer
- * @func        : function to be called for each peer
- * @arg         : argument need to be passed to func
+ * @func: function to be called for each peer
+ * @arg: argument need to be passed to func
  * @mod_id: module id
  *
  * Return: None
@@ -521,19 +523,19 @@ void dp_mcast_mlo_iter_ptnr_vdev(struct dp_soc_be *be_soc,
 				 dp_ptnr_vdev_iter_func func,
 				 void *arg,
 				 enum dp_mod_id mod_id);
-/*
- * dp_mcast_mlo_iter_ptnr_soc - API to iterate through ptnr soc list
+/**
+ * dp_mcast_mlo_iter_ptnr_soc() - API to iterate through ptnr soc list
  * @be_soc: dp_soc_be pointer
- * @func        : function to be called for each peer
- * @arg         : argument need to be passed to func
+ * @func: function to be called for each peer
+ * @arg: argument need to be passed to func
  *
  * Return: None
  */
 void dp_mcast_mlo_iter_ptnr_soc(struct dp_soc_be *be_soc,
 				dp_ptnr_soc_iter_func func,
 				void *arg);
-/*
- * dp_mlo_get_mcast_primary_vdev- get ref to mcast primary vdev
+/**
+ * dp_mlo_get_mcast_primary_vdev() - get ref to mcast primary vdev
  * @be_soc: dp_soc_be pointer
  * @be_vdev: dp_vdev_be pointer
  * @mod_id: module id
@@ -561,24 +563,23 @@ static inline void  dp_clr_mlo_ptnr_list(struct dp_soc *soc,
 }
 #endif
 
-/*
+/**
  * dp_mlo_peer_find_hash_attach_be() - API to initialize ML peer hash table
- *
  * @mld_hash_obj: Peer has object
  * @hash_elems: number of entries in hash table
  *
- * return: QDF_STATUS_SUCCESS when attach is success else QDF_STATUS_FAILURE
+ * Return: QDF_STATUS_SUCCESS when attach is success else QDF_STATUS_FAILURE
  */
 QDF_STATUS
 dp_mlo_peer_find_hash_attach_be(dp_mld_peer_hash_obj_t mld_hash_obj,
 				int hash_elems);
 
-/*
+/**
  * dp_mlo_peer_find_hash_detach_be() - API to de-initialize ML peer hash table
  *
  * @mld_hash_obj: Peer has object
  *
- * return: void
+ * Return: void
  */
 void dp_mlo_peer_find_hash_detach_be(dp_mld_peer_hash_obj_t mld_hash_obj);
 
@@ -639,6 +640,7 @@ dp_hw_cookie_conversion_init(struct dp_soc_be *be_soc,
 QDF_STATUS
 dp_hw_cookie_conversion_deinit(struct dp_soc_be *be_soc,
 			       struct dp_hw_cookie_conversion_t *cc_ctx);
+
 /**
  * dp_cc_spt_page_desc_alloc() - allocate SPT DDR page descriptor from pool
  * @be_soc: beryllium soc handler
@@ -652,6 +654,7 @@ uint16_t dp_cc_spt_page_desc_alloc(struct dp_soc_be *be_soc,
 				   struct dp_spt_page_desc **list_head,
 				   struct dp_spt_page_desc **list_tail,
 				   uint16_t num_desc);
+
 /**
  * dp_cc_spt_page_desc_free() - free SPT DDR page descriptor to pool
  * @be_soc: beryllium soc handler
@@ -666,7 +669,7 @@ void dp_cc_spt_page_desc_free(struct dp_soc_be *be_soc,
 
 /**
  * dp_cc_desc_id_generate() - generate SW cookie ID according to
-				DDR page 4K aligned or not
+ *				DDR page 4K aligned or not
  * @ppt_index: offset index in primary page table
  * @spt_index: offset index in sceondary DDR page
  *
@@ -690,8 +693,8 @@ static inline uint32_t dp_cc_desc_id_generate(uint32_t ppt_index,
 }
 
 /**
- * dp_cc_desc_va_find() - find TX/RX Descs virtual address by ID
- * @be_soc: be soc handle
+ * dp_cc_desc_find() - find TX/RX Descs virtual address by ID
+ * @soc: be soc handle
  * @desc_id: TX/RX Dess ID
  *
  * Return: TX/RX Desc virtual address
@@ -759,7 +762,7 @@ static inline int dp_srng_check_ring_near_full(struct dp_soc *soc,
  *			consumer srng and return the level of the srng
  *			near full state.
  * @soc: Datapath SoC Handle [To be validated by the caller]
- * @hal_ring_hdl: SRNG handle
+ * @dp_srng: SRNG handle
  *
  * Return: near-full level
  */
@@ -783,7 +786,7 @@ dp_srng_get_near_full_level(struct dp_soc *soc, struct dp_srng *dp_srng)
 #define DP_SRNG_PER_LOOP_NF_REAP_MULTIPLIER	2
 
 /**
- * dp_srng_test_and_update_nf_params() - Test the near full level and update
+ * _dp_srng_test_and_update_nf_params() - Test the near full level and update
  *			the reap_limit and flags to reflect the state.
  * @soc: Datapath soc handle
  * @srng: Datapath handle for the srng

+ 2 - 34
dp/wifi3.0/be/dp_be_rx.c

@@ -81,7 +81,7 @@ dp_rx_wds_learn(struct dp_soc *soc,
  * path on receiving 1st 4-address frame from backhaul.
  * @soc: DP soc
  * @ta_txrx_peer: WDS repeater txrx peer
- * @rx_tlv_hdr  : start address of rx tlvs
+ * @rx_tlv_hdr: start address of rx tlvs
  * @nbuf: RX packet buffer
  *
  * Return: void
@@ -161,19 +161,6 @@ dp_rx_set_msdu_lmac_id(qdf_nbuf_t nbuf, uint32_t peer_mdata)
 }
 #endif
 
-/**
- * dp_rx_process_be() - Brain of the Rx processing functionality
- *		     Called from the bottom half (tasklet/NET_RX_SOFTIRQ)
- * @int_ctx: per interrupt context
- * @hal_ring_hdl: opaque pointer to the HAL Rx Ring, which will be serviced
- * @reo_ring_num: ring number (0, 1, 2 or 3) of the reo ring.
- * @quota: No. of units (packets) that can be serviced in one shot.
- *
- * This function implements the core of Rx functionality. This is
- * expected to handle only non-error frames.
- *
- * Return: uint32_t: No. of elements processed
- */
 uint32_t dp_rx_process_be(struct dp_intr *int_ctx,
 			  hal_ring_handle_t hal_ring_hdl, uint8_t reo_ring_num,
 			  uint32_t quota)
@@ -1653,15 +1640,7 @@ bool dp_rx_intrabss_mlo_mcbc_fwd(struct dp_soc *soc, struct dp_vdev *vdev,
 	return false;
 }
 #endif
-/**
- * dp_rx_intrabss_mcast_handler_be() - handler for mcast packets
- * @soc: core txrx main context
- * @ta_txrx_peer: source txrx_peer entry
- * @nbuf_copy: nbuf that has to be intrabss forwarded
- * @tid_stats: tid_stats structure
- *
- * Return: true if it is forwarded else false
- */
+
 bool
 dp_rx_intrabss_mcast_handler_be(struct dp_soc *soc,
 				struct dp_txrx_peer *ta_txrx_peer,
@@ -1701,17 +1680,6 @@ dp_rx_intrabss_mcast_handler_be(struct dp_soc *soc,
 	return false;
 }
 
-/*
- * dp_rx_intrabss_fwd_be() - API for intrabss fwd. For EAPOL
- *  pkt with DA not equal to vdev mac addr, fwd is not allowed.
- * @soc: core txrx main context
- * @ta_peer: source peer entry
- * @rx_tlv_hdr: start address of rx tlvs
- * @nbuf: nbuf that has to be intrabss forwarded
- * @msdu_metadata: msdu metadata
- *
- * Return: true if it is forwarded else false
- */
 bool dp_rx_intrabss_fwd_be(struct dp_soc *soc, struct dp_txrx_peer *ta_peer,
 			   uint8_t *rx_tlv_hdr, qdf_nbuf_t nbuf,
 			   struct hal_rx_msdu_metadata msdu_metadata)

+ 26 - 14
dp/wifi3.0/be/dp_be_rx.h

@@ -39,11 +39,11 @@ struct dp_be_intrabss_params {
 
 #ifndef QCA_HOST_MODE_WIFI_DISABLED
 
-/*
+/**
  * dp_rx_intrabss_fwd_be() - API for intrabss fwd. For EAPOL
  *  pkt with DA not equal to vdev mac addr, fwd is not allowed.
  * @soc: core txrx main context
- * @ta_txrx_peer: source peer entry
+ * @ta_peer: source peer entry
  * @rx_tlv_hdr: start address of rx tlvs
  * @nbuf: nbuf that has to be intrabss forwarded
  * @msdu_metadata: msdu metadata
@@ -51,10 +51,8 @@ struct dp_be_intrabss_params {
  * Return: true if it is forwarded else false
  */
 
-bool dp_rx_intrabss_fwd_be(struct dp_soc *soc,
-			   struct dp_txrx_peer *ta_txrx_peer,
-			   uint8_t *rx_tlv_hdr,
-			   qdf_nbuf_t nbuf,
+bool dp_rx_intrabss_fwd_be(struct dp_soc *soc, struct dp_txrx_peer *ta_peer,
+			   uint8_t *rx_tlv_hdr, qdf_nbuf_t nbuf,
 			   struct hal_rx_msdu_metadata msdu_metadata);
 #endif
 
@@ -77,6 +75,19 @@ void dp_rx_word_mask_subscribe_be(struct dp_soc *soc,
 				  uint32_t *msg_word,
 				  void *rx_filter);
 
+/**
+ * dp_rx_process_be() - Brain of the Rx processing functionality
+ *		     Called from the bottom half (tasklet/NET_RX_SOFTIRQ)
+ * @int_ctx: per interrupt context
+ * @hal_ring_hdl: opaque pointer to the HAL Rx Ring, which will be serviced
+ * @reo_ring_num: ring number (0, 1, 2 or 3) of the reo ring.
+ * @quota: No. of units (packets) that can be serviced in one shot.
+ *
+ * This function implements the core of Rx functionality. This is
+ * expected to handle only non-error frames.
+ *
+ * Return: uint32_t: No. of elements processed
+ */
 uint32_t dp_rx_process_be(struct dp_intr *int_ctx,
 			  hal_ring_handle_t hal_ring_hdl, uint8_t reo_ring_num,
 			  uint32_t quota);
@@ -146,7 +157,7 @@ struct dp_rx_desc *dp_rx_desc_cookie_2_va_be(struct dp_soc *soc,
 		defined(DP_HW_COOKIE_CONVERT_EXCEPTION)
 /**
  * dp_rx_desc_sw_cc_check() - check if RX desc VA is got correctly,
-			      if not, do SW cookie conversion.
+ *			      if not, do SW cookie conversion.
  * @soc:Handle to DP Soc structure
  * @rx_buf_cookie: RX desc cookie ID
  * @r_rx_desc: double pointer for RX desc
@@ -279,8 +290,8 @@ bool dp_rx_mlo_igmp_handler(struct dp_soc *soc,
 			    qdf_nbuf_t nbuf);
 
 /**
- * dp_peer_rx_reorder_queue_setup() - Send reo queue setup wmi cmd to FW
-				      per peer type
+ * dp_peer_rx_reorder_queue_setup_be() - Send reo queue setup wmi cmd to FW
+ *					 per peer type
  * @soc: DP Soc handle
  * @peer: dp peer to operate on
  * @tid: TID
@@ -434,9 +445,8 @@ void dp_rx_prefetch_nbuf_data_be(qdf_nbuf_t nbuf, qdf_nbuf_t next)
 
 #ifdef QCA_DP_RX_HW_SW_NBUF_DESC_PREFETCH
 /**
- * dp_rx_cookie_2_va_rxdma_buf_prefetch() - function to prefetch the SW desc
- * @soc: Handle to DP Soc structure
- * @cookie: cookie used to lookup virtual address
+ * dp_rx_va_prefetch() - function to prefetch the SW desc
+ * @last_prefetched_hw_desc: HW desc
  *
  * Return: prefetched Rx descriptor virtual address
  */
@@ -451,8 +461,10 @@ void *dp_rx_va_prefetch(void *last_prefetched_hw_desc)
 }
 
 /**
- * dp_rx_prefetch_hw_sw_nbuf_desc() - function to prefetch HW and SW desc
- * @soc: Handle to HAL Soc structure
+ * dp_rx_prefetch_hw_sw_nbuf_32_byte_desc() - function to prefetch HW and SW
+ *                                            descriptors
+ * @soc: DP soc context
+ * @hal_soc: Handle to HAL Soc structure
  * @num_entries: valid number of HW descriptors
  * @hal_ring_hdl: Destination ring pointer
  * @last_prefetched_hw_desc: pointer to the last prefetched HW descriptor

+ 11 - 32
dp/wifi3.0/be/dp_be_tx.c

@@ -414,12 +414,12 @@ release_tx_desc:
 
 #ifdef QCA_OL_TX_MULTIQ_SUPPORT
 #ifdef DP_TX_IMPLICIT_RBM_MAPPING
-/*
- * dp_tx_get_rbm_id()- Get the RBM ID for data transmission completion.
- * @dp_soc - DP soc structure pointer
- * @ring_id - Transmit Queue/ring_id to be used when XPS is enabled
+/**
+ * dp_tx_get_rbm_id_be() - Get the RBM ID for data transmission completion.
+ * @soc: DP soc structure pointer
+ * @ring_id: Transmit Queue/ring_id to be used when XPS is enabled
  *
- * Return - RBM ID corresponding to TCL ring_id
+ * Return: RBM ID corresponding to TCL ring_id
  */
 static inline uint8_t dp_tx_get_rbm_id_be(struct dp_soc *soc,
 					  uint8_t ring_id)
@@ -448,18 +448,18 @@ static inline uint8_t dp_tx_get_rbm_id_be(struct dp_soc *soc,
 
 #ifdef QCA_SUPPORT_TX_MIN_RATES_FOR_SPECIAL_FRAMES
 
-/*
+/**
  * dp_tx_set_min_rates_for_critical_frames()- sets min-rates for critical pkts
- * @dp_soc - DP soc structure pointer
- * @hal_tx_desc - HAL descriptor where fields are set
- * nbuf - skb to be considered for min rates
+ * @soc: DP soc structure pointer
+ * @hal_tx_desc: HAL descriptor where fields are set
+ * @nbuf: skb to be considered for min rates
  *
  * The function relies on upper layers to set QDF_NBUF_CB_TX_EXTRA_IS_CRITICAL
  * and uses it to determine if the frame is critical. For a critical frame,
  * flow override bits are set to classify the frame into HW's high priority
  * queue. The HW will pick pre-configured min rates for such packets.
  *
- * Return - None
+ * Return: None
  */
 static void
 dp_tx_set_min_rates_for_critical_frames(struct dp_soc *soc,
@@ -955,14 +955,13 @@ QDF_STATUS dp_sawf_tx_enqueue_fail_peer_stats(struct dp_soc *soc,
 
 #ifdef WLAN_SUPPORT_PPEDS
 
-/*
+/**
  * dp_ppeds_stats() - Accounting fw2wbm_tx_drop drops in Tx path
  * @soc: Handle to DP Soc structure
  * @peer_id: Peer ID in the descriptor
  *
  * Return: NONE
  */
-
 static inline
 void dp_ppeds_stats(struct dp_soc *soc, uint16_t peer_id)
 {
@@ -982,13 +981,6 @@ void dp_ppeds_stats(struct dp_soc *soc, uint16_t peer_id)
 	}
 }
 
-/**
- * dp_ppeds_tx_comp_handler()- Handle tx completions for ppe2tcl ring
- * @soc: Handle to DP Soc structure
- * @quota: Max number of tx completions to process
- *
- * Return: Number of tx completions processed
- */
 int dp_ppeds_tx_comp_handler(struct dp_soc_be *be_soc, uint32_t quota)
 {
 	uint32_t num_avail_for_reap = 0;
@@ -1686,19 +1678,6 @@ void dp_tx_nbuf_unmap_be(struct dp_soc *soc,
 {
 }
 
-/**
- * dp_tx_fast_send_be() - Transmit a frame on a given VAP
- * @soc: DP soc handle
- * @vdev_id: id of DP vdev handle
- * @nbuf: skb
- *
- * Entry point for Core Tx layer (DP_TX) invoked from
- * hard_start_xmit in OSIF/HDD or from dp_rx_process for intravap forwarding
- * cases
- *
- * Return: NULL on success,
- *         nbuf when it fails to send
- */
 #ifdef QCA_DP_TX_NBUF_LIST_FREE
 qdf_nbuf_t dp_tx_fast_send_be(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
 			      qdf_nbuf_t nbuf)

+ 17 - 16
dp/wifi3.0/be/dp_be_tx.h

@@ -82,7 +82,7 @@ static inline uint16_t dp_tx_comp_get_peer_id_be(struct dp_soc *soc,
  * @vdev: DP vdev handle
  * @tx_desc: Tx Descriptor Handle
  * @fw_metadata: Metadata to send to Target Firmware along with frame
- * @tx_exc_metadata: Handle that holds exception path meta data
+ * @metadata: Handle that holds exception path meta data
  * @msdu_info: msdu_info containing information about TX buffer
  *
  *  Gets the next free TCL HW DMA descriptor and sets up required parameters
@@ -99,18 +99,19 @@ QDF_STATUS dp_tx_hw_enqueue_be(struct dp_soc *soc, struct dp_vdev *vdev,
 
 #ifdef QCA_DP_TX_NBUF_LIST_FREE
 /**
- * dp_tx_hw_enqueue_be() - This is a fast send API to directly enqueue to HW
- * @soc: DP Soc Handle
- * @vdev_id: DP vdev ID
- * @nbuf: network buffer to be transmitted
+ * dp_tx_fast_send_be() - Transmit a frame on a given VAP
+ * @soc_hdl: DP soc handle
+ * @vdev_id: id of DP vdev handle
+ * @nbuf: skb
  *
- *  Gets the next free TCL HW DMA descriptor and sets up required parameters
- *  from software Tx descriptor
+ * Entry point for Core Tx layer (DP_TX) invoked from
+ * hard_start_xmit in OSIF/HDD or from dp_rx_process for intravap forwarding
+ * cases
  *
- * Return: NULL for success
- *         nbuf for failure
+ * Return: NULL on success,
+ *         nbuf when it fails to send
  */
-qdf_nbuf_t dp_tx_fast_send_be(struct cdp_soc_t *soc, uint8_t vdev_id,
+qdf_nbuf_t dp_tx_fast_send_be(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
 			      qdf_nbuf_t nbuf);
 #else
 static inline qdf_nbuf_t dp_tx_fast_send_be(struct cdp_soc_t *soc, uint8_t vdev_id,
@@ -136,7 +137,7 @@ void dp_tx_comp_get_params_from_hal_desc_be(struct dp_soc *soc,
  * dp_tx_process_htt_completion_be() - Tx HTT Completion Indication Handler
  * @soc: Handle to DP soc structure
  * @tx_desc: software descriptor head pointer
- * @status : Tx completion status from HTT descriptor
+ * @status: Tx completion status from HTT descriptor
  * @ring_id: ring number
  *
  * This function will process HTT Tx indication messages from Target
@@ -177,6 +178,7 @@ int dp_tx_get_bank_profile(struct dp_soc_be *soc,
 /**
  * dp_tx_put_bank_profile() - release TX bank profile for vdev
  * @soc: DP soc handle
+ * @be_vdev: pointer to be_vdev structure
  *
  * Return: None
  */
@@ -184,7 +186,7 @@ void dp_tx_put_bank_profile(struct dp_soc_be *soc, struct dp_vdev_be *be_vdev);
 
 /**
  * dp_tx_update_bank_profile() - release existing and allocate new bank profile
- * @soc: DP soc handle
+ * @be_soc: DP soc handle
  * @be_vdev: pointer to be_vdev structure
  *
  * The function releases the existing bank profile allocated to the vdev and
@@ -221,7 +223,7 @@ void dp_tx_desc_pool_deinit_be(struct dp_soc *soc,
 #ifdef WLAN_SUPPORT_PPEDS
 /**
  * dp_ppeds_tx_comp_handler()- Handle tx completions for ppe2tcl ring
- * @soc: Handle to DP Soc structure
+ * @be_soc: Handle to DP Soc structure
  * @quota: Max number of tx completions to process
  *
  * Return: Number of tx completions processed
@@ -269,10 +271,9 @@ bool dp_tx_mlo_is_mcast_primary_be(struct dp_soc *soc,
 /**
  * dp_tx_mlo_mcast_send_be() - Tx send handler for mlo mcast enhance
  * @soc: DP soc handle
- * @vdev_id: id of DP vdev handle
+ * @vdev: DP vdev handle
  * @nbuf: skb
  * @tx_exc_metadata: Handle that holds exception path meta data
- * @pkt_drop_st: if packet drop will set for 1
  *
  * Return: NULL for success
  *         nbuf for failure
@@ -287,7 +288,7 @@ qdf_nbuf_t dp_tx_mlo_mcast_send_be(struct dp_soc *soc, struct dp_vdev *vdev,
  * dp_tx_mlo_mcast_pkt_send() - handler to send MLO Mcast packets
  * @be_vdev: Handle to DP be_vdev structure
  * @ptnr_vdev: DP ptnr_vdev handle
- * @nbuf: nbuf to be enqueued
+ * @arg: nbuf to be enqueued
  *
  * Return: None
  */

+ 5 - 16
dp/wifi3.0/be/mlo/dp_mlo.c

@@ -80,18 +80,17 @@ static void dp_mlo_ctxt_detach_wifi3(struct cdp_mlo_ctxt *cdp_ml_ctxt)
 	qdf_mem_free(mlo_ctxt);
 }
 
-/*
- * dp_mlo_set_soc_by_chip_id() – Add DP soc to ML context soc list
- *
+/**
+ * dp_mlo_set_soc_by_chip_id() - Add DP soc to ML context soc list
  * @ml_ctxt: DP ML context handle
  * @soc: DP soc handle
  * @chip_id: MLO chip id
  *
  * Return: void
  */
-void dp_mlo_set_soc_by_chip_id(struct dp_mlo_ctxt *ml_ctxt,
-			       struct dp_soc *soc,
-			       uint8_t chip_id)
+static void dp_mlo_set_soc_by_chip_id(struct dp_mlo_ctxt *ml_ctxt,
+				      struct dp_soc *soc,
+				      uint8_t chip_id)
 {
 	qdf_spin_lock_bh(&ml_ctxt->ml_soc_list_lock);
 	ml_ctxt->ml_soc_list[chip_id] = soc;
@@ -107,16 +106,6 @@ void dp_mlo_set_soc_by_chip_id(struct dp_mlo_ctxt *ml_ctxt,
 	qdf_spin_unlock_bh(&ml_ctxt->ml_soc_list_lock);
 }
 
-/*
- * dp_mlo_get_soc_ref_by_chip_id() – Get DP soc from DP ML context.
- * This API will increment a reference count for DP soc. Caller has
- * to take care for decrementing refcount.
- *
- * @ml_ctxt: DP ML context handle
- * @chip_id: MLO chip id
- *
- * Return: dp_soc
- */
 struct dp_soc*
 dp_mlo_get_soc_ref_by_chip_id(struct dp_mlo_ctxt *ml_ctxt,
 			      uint8_t chip_id)

+ 20 - 6
dp/wifi3.0/be/mlo/dp_mlo.h

@@ -29,7 +29,9 @@
 #define DP_MLO_MAX_DEST_CHIP_ID 3
 
 /*
- * dp_mlo_ctxt
+ * NB: intentionally not using kernel-doc comment because the kernel-doc
+ *     script does not handle the TAILQ_HEAD macro
+ * struct dp_mlo_ctxt - datapath MLO context
  *
  * @ctrl_ctxt: opaque handle of cp mlo mgr
  * @ml_soc_list: list of socs which are mlo enabled. This also maintains
@@ -39,6 +41,8 @@
  * @mld_peer_hash: peer hash table for ML peers
  *           Associated peer with this MAC address)
  * @mld_peer_hash_lock: lock to protect mld_peer_hash
+ * @toeplitz_hash_ipv4:
+ * @toeplitz_hash_ipv6:
  * @link_to_pdev_map: link to pdev mapping
  * @rx_fst: pointer to rx_fst handle
  * @rx_fst_ref_cnt: ref count of rx_fst
@@ -77,9 +81,8 @@ struct cdp_mlo_ctxt *dp_mlo_ctx_to_cdp(struct dp_mlo_ctxt *mlo_ctxt)
 }
 
 /**
- * cdp_mlo_ctx_to_dp() - typecast cdp_soc_t to
- * dp soc handle
- * @psoc: CDP psoc handle
+ * cdp_mlo_ctx_to_dp() - typecast CDP MLO context to DP MLO context
+ * @mlo_ctxt: CDP MLO context
  *
  * Return: struct dp_soc pointer
  */
@@ -108,6 +111,17 @@ void dp_soc_mlo_fill_params(struct dp_soc *soc,
  */
 void dp_pdev_mlo_fill_params(struct dp_pdev *pdev,
 			     struct cdp_pdev_attach_params *params);
+
+/**
+ * dp_mlo_get_soc_ref_by_chip_id() - Get DP soc from DP ML context.
+ * @ml_ctxt: DP ML context handle
+ * @chip_id: MLO chip id
+ *
+ * This API will increment a reference count for DP soc. Caller has
+ * to take care for decrementing refcount.
+ *
+ * Return: dp_soc
+ */
 struct dp_soc*
 dp_mlo_get_soc_ref_by_chip_id(struct dp_mlo_ctxt *ml_ctxt, uint8_t chip_id);
 
@@ -152,7 +166,7 @@ struct dp_rx_fst *dp_mlo_get_rx_fst(struct dp_soc *soc);
 void dp_mlo_set_rx_fst(struct dp_soc *soc, struct dp_rx_fst *fst);
 
 /**
- * dp_mlo_update_link_to_pdev_map : map link-id to pdev mapping
+ * dp_mlo_update_link_to_pdev_map() - map link-id to pdev mapping
  * @soc: DP SOC
  * @pdev: DP PDEV
  *
@@ -161,7 +175,7 @@ void dp_mlo_set_rx_fst(struct dp_soc *soc, struct dp_rx_fst *fst);
 void dp_mlo_update_link_to_pdev_map(struct dp_soc *soc, struct dp_pdev *pdev);
 
 /**
- * dp_mlo_update_link_to_pdev_unmap : unmap link-id to pdev mapping
+ * dp_mlo_update_link_to_pdev_unmap() - unmap link-id to pdev mapping
  * @soc: DP SOC
  * @pdev: DP PDEV
  *