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
This commit is contained in:
Jeff Johnson
2023-01-04 16:37:36 -08:00
committed by Madan Koyyalamudi
orang tua fad8228802
melakukan afe5a28707
7 mengubah file dengan 133 tambahan dan 167 penghapusan

Melihat File

@@ -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
* @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
* @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: 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: 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
* @reo2ppe_ring: REO2PPE ring
* @ppe2tcl_ring: PPE2TCL 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
* @mld_peer_hash: peer hash table for ML peers
* @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_handle: PPEDS soc instance handle
* @ppe_vp_tbl_lock: PPEDS VP table lock
* @num_ppe_vp_entries: PPEDS number of VP entries
* @num_ppe_vp_search_idx_entries: PPEDS VP search idx entries
* @irq_name: PPEDS VP irq names
*/
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

Melihat File

@@ -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)

Melihat File

@@ -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

Melihat File

@@ -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)

Melihat File

@@ -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
*/

Melihat File

@@ -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)

Melihat File

@@ -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
*