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:

committed by
Madan Koyyalamudi

parent
fad8228802
commit
afe5a28707
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
*/
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
*
|
||||
|
Reference in New Issue
Block a user