diff --git a/dp/inc/cdp_txrx_bus.h b/dp/inc/cdp_txrx_bus.h index 99ad08adba..d1792153d9 100644 --- a/dp/inc/cdp_txrx_bus.h +++ b/dp/inc/cdp_txrx_bus.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017, 2019-2020 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_bus.h - * @brief Define the host data path bus related functions + * DOC: cdp_txrx_bus.h + * Define the host data path bus related functions */ #ifndef _CDP_TXRX_BUS_H_ #define _CDP_TXRX_BUS_H_ @@ -70,7 +71,7 @@ static inline QDF_STATUS cdp_bus_resume(ol_txrx_soc_handle soc, } /** - * cdp_process_wow_ack() - Process wow ack response + * cdp_process_wow_ack_rsp() - Process wow ack response * @soc: data path soc handle * @pdev_id: id of dp pdev handle * diff --git a/dp/inc/cdp_txrx_cfg.h b/dp/inc/cdp_txrx_cfg.h index acb1bc54c1..eac027110a 100644 --- a/dp/inc/cdp_txrx_cfg.h +++ b/dp/inc/cdp_txrx_cfg.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2019,2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_cfg.h - * @brief Define the host data path configuration API functions + * DOC: cdp_txrx_cfg.h + * Define the host data path configuration API functions */ #ifndef _CDP_TXRX_CFG_H_ #define _CDP_TXRX_CFG_H_ @@ -27,9 +28,9 @@ /** * cdp_cfg_set_rx_fwd_disabled() - enable/disable rx forwarding - * @soc - data path soc handle - * @pdev - data path device instance - * @disable_rx_fwd - enable or disable rx forwarding + * @soc: data path soc handle + * @cfg_pdev: data path device instance + * @disable_rx_fwd: enable or disable rx forwarding * * enable/disable rx forwarding * @@ -55,9 +56,9 @@ cdp_cfg_set_rx_fwd_disabled(ol_txrx_soc_handle soc, struct cdp_cfg *cfg_pdev, /** * cdp_cfg_set_packet_log_enabled() - enable/disable packet log - * @soc - data path soc handle - * @pdev - data path device instance - * @val - enable or disable packet log + * @soc: data path soc handle + * @cfg_pdev: data path device instance + * @val: enable or disable packet log * * packet log enable or disable * @@ -83,9 +84,9 @@ cdp_cfg_set_packet_log_enabled(ol_txrx_soc_handle soc, /** * cdp_cfg_attach() - attach config module - * @soc - data path soc handle - * @osdev - os instance - * @cfg_param - configuration parameter should be propagated + * @soc: data path soc handle + * @osdev: os instance + * @cfg_param: configuration parameter should be propagated * * Allocate configuration module instance, and propagate configuration values * @@ -110,9 +111,9 @@ static inline struct cdp_cfg /** * cdp_cfg_vdev_rx_set_intrabss_fwd() - enable/disable intra bass forwarding - * @soc - data path soc handle - * @vdev_id - virtual interface id - * @val - enable or disable intra bss forwarding + * @soc: data path soc handle + * @vdev_id: virtual interface id + * @val: enable or disable intra bss forwarding * * ap isolate, do not forward intra bss traffic * @@ -137,8 +138,8 @@ cdp_cfg_vdev_rx_set_intrabss_fwd(ol_txrx_soc_handle soc, /** * cdp_cfg_is_rx_fwd_disabled() - get vdev rx forward - * @soc - data path soc handle - * @vdev - virtual interface instance + * @soc: data path soc handle + * @vdev: virtual interface instance * * Return rx forward feature enable status * @@ -164,8 +165,8 @@ cdp_cfg_is_rx_fwd_disabled(ol_txrx_soc_handle soc, struct cdp_vdev *vdev) /** * cdp_cfg_tx_set_is_mgmt_over_wmi_enabled() - mgmt tx over wmi enable/disable - * @soc - data path soc handle - * @value - feature enable or disable + * @soc: data path soc handle + * @value: feature enable or disable * * Enable or disable management packet TX over WMI feature * @@ -190,8 +191,8 @@ cdp_cfg_tx_set_is_mgmt_over_wmi_enabled(ol_txrx_soc_handle soc, /** * cdp_cfg_is_high_latency() - query data path is in high or low latency - * @soc - data path soc handle - * @pdev - data path device instance + * @soc: data path soc handle + * @cfg_pdev: data path device instance * * query data path is in high or low latency * @@ -216,9 +217,9 @@ cdp_cfg_is_high_latency(ol_txrx_soc_handle soc, struct cdp_cfg *cfg_pdev) /** * cdp_cfg_set_flow_control_parameters() - set flow control params - * @soc - data path soc handle - * @cfg - dp config module instance - * @param - parameters should set + * @soc: data path soc handle + * @cfg_pdev: dp config module instance + * @param: parameters should set * * set flow control params * @@ -245,9 +246,9 @@ cdp_cfg_set_flow_control_parameters(ol_txrx_soc_handle soc, /** * cdp_cfg_set_flow_steering - Set Rx flow steering config based on CFG ini * config. - * - * @pdev - handle to the physical device - * @val - 0 - disable, 1 - enable + * @soc: data path soc handle + * @cfg_pdev: handle to the physical device + * @val: 0 - disable, 1 - enable * * Return: None */ @@ -274,9 +275,9 @@ static inline void cdp_cfg_get_max_peer_id(ol_txrx_soc_handle soc, /** * cdp_cfg_set_ptp_rx_opt_enabled() - enable/disable ptp rx timestamping - * @soc - data path soc handle - * @pdev - data path device instance - * @val - enable or disable packet log + * @soc: data path soc handle + * @cfg_pdev: data path device instance + * @val: enable or disable packet log * * ptp rx timestamping enable or disable * @@ -301,8 +302,8 @@ cdp_cfg_set_ptp_rx_opt_enabled(ol_txrx_soc_handle soc, /** * cdp_cfg_set_new_htt_msg_format() - set htt h2t msg feature - * @soc - datapath soc handle - * @val - enable or disable new htt h2t msg feature + * @soc: datapath soc handle + * @val: enable or disable new htt h2t msg feature * * Enable whether htt h2t message length includes htc header length * @@ -326,8 +327,8 @@ cdp_cfg_set_new_htt_msg_format(ol_txrx_soc_handle soc, /** * cdp_cfg_set_peer_unmap_conf_support() - set peer unmap conf feature - * @soc - datapath soc handle - * @val - enable or disable peer unmap conf feature + * @soc: datapath soc handle + * @val: enable or disable peer unmap conf feature * * Set if peer unmap confirmation feature is supported by both FW and in INI * @@ -351,7 +352,7 @@ cdp_cfg_set_peer_unmap_conf_support(ol_txrx_soc_handle soc, bool val) /** * cdp_cfg_get_peer_unmap_conf_support() - check peer unmap conf feature - * @soc - datapath soc handle + * @soc: datapath soc handle * * Check if peer unmap confirmation feature is enabled * diff --git a/dp/inc/cdp_txrx_cmn.h b/dp/inc/cdp_txrx_cmn.h index 10cc831a10..0a5c700440 100644 --- a/dp/inc/cdp_txrx_cmn.h +++ b/dp/inc/cdp_txrx_cmn.h @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_cmn.h - * @brief Define the host data path converged API functions + * DOC: cdp_txrx_cmn.h + * Define the host data path converged API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_CMN_H_ @@ -131,13 +131,13 @@ enum verbose_debug_module { } while (0); }) /** - * @enum vdev_host_stats_id: + * enum vdev_host_stats_id - * host stats update from CDP have to set one of the following stats ID * * @DP_VDEV_STATS_PKT_CNT_ONLY: update Tx packet count only * @DP_VDEV_STATS_TX_ME: update Tx ingress stats */ -enum { +enum vdev_host_stats_id { DP_VDEV_STATS_PKT_CNT_ONLY, DP_VDEV_STATS_TX_ME, }; @@ -155,8 +155,10 @@ enum rx_tlv_bw { RX_TLV_BW_CNT, }; -/* - * typedef ipa_uc_op_cb_type - Register OP handler function +/** + * typedef ipa_uc_op_cb_type() - Register OP handler function + * @op_msg: message + * @osif_ctxt: OSIF context */ typedef void (*ipa_uc_op_cb_type)(uint8_t *op_msg, void *osif_ctxt); @@ -271,7 +273,7 @@ cdp_vdev_attach(ol_txrx_soc_handle soc, uint8_t pdev_id, * * Create per vdev flow pool. * - * return none + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_flow_pool_map(ol_txrx_soc_handle soc, uint8_t pdev_id, uint8_t vdev_id) @@ -298,7 +300,7 @@ static inline QDF_STATUS cdp_flow_pool_map(ol_txrx_soc_handle soc, * * Delete flow pool * - * return none + * Return: none */ static inline void cdp_flow_pool_unmap(ol_txrx_soc_handle soc, uint8_t pdev_id, uint8_t vdev_id) @@ -512,8 +514,8 @@ static inline QDF_STATUS cdp_peer_setup peer_mac, setup_info); } -/* - * cdp_cp_peer_del_response - Call the peer delete response handler +/** + * cdp_cp_peer_del_response() - Call the peer delete response handler * @soc: Datapath SOC handle * @vdev_id: id of virtual device object * @peer_mac_addr: Mac address of the peer @@ -545,11 +547,11 @@ static inline QDF_STATUS cdp_cp_peer_del_response * of first ast entry found in the * table with given mac address * - * @soc - data path soc handle - * @ast_mac_addr - AST entry mac address - * @ast_entry_info - ast entry information + * @soc: data path soc handle + * @ast_mac_addr: AST entry mac address + * @ast_entry_info: ast entry information * - * return - true if ast entry found with ast_mac_addr + * return: true if ast entry found with ast_mac_addr * false if ast entry not found */ static inline bool cdp_peer_get_ast_info_by_soc @@ -576,12 +578,12 @@ static inline bool cdp_peer_get_ast_info_by_soc * and return ast entry information * if mac address and pdev_id matches * - * @soc - data path soc handle - * @ast_mac_addr - AST entry mac address - * @pdev_id - pdev_id - * @ast_entry_info - ast entry information + * @soc: data path soc handle + * @ast_mac_addr: AST entry mac address + * @pdev_id: pdev_id + * @ast_entry_info: ast entry information * - * return - true if ast entry found with ast_mac_addr + * return: true if ast entry found with ast_mac_addr * false if ast entry not found */ static inline bool cdp_peer_get_ast_info_by_pdev @@ -610,12 +612,12 @@ static inline bool cdp_peer_get_ast_info_by_pdev * cdp_peer_ast_delete_by_soc() - delete the ast entry from soc AST hash table * with given mac address * - * @soc - data path soc handle - * @ast_mac_addr - AST entry mac address - * @callback - callback function to called on ast delete response from FW - * @cookie - argument to be passed to callback + * @soc: data path soc handle + * @ast_mac_addr: AST entry mac address + * @callback: callback function to called on ast delete response from FW + * @cookie: argument to be passed to callback * - * return - QDF_STATUS_SUCCESS if ast entry found with ast_mac_addr and delete + * return: QDF_STATUS_SUCCESS if ast entry found with ast_mac_addr and delete * is sent * QDF_STATUS_E_INVAL false if ast entry not found */ @@ -645,13 +647,13 @@ static inline QDF_STATUS cdp_peer_ast_delete_by_soc * cdp_peer_ast_delete_by_pdev() - delete the ast entry from soc AST hash table * if mac address and pdev_id matches * - * @soc - data path soc handle - * @ast_mac_addr - AST entry mac address - * @pdev_id - pdev id - * @callback - callback function to called on ast delete response from FW - * @cookie - argument to be passed to callback + * @soc: data path soc handle + * @ast_mac_addr: AST entry mac address + * @pdev_id: pdev id + * @callback: callback function to called on ast delete response from FW + * @cookie: argument to be passed to callback * - * return - QDF_STATUS_SUCCESS if ast entry found with ast_mac_addr and delete + * return: QDF_STATUS_SUCCESS if ast entry found with ast_mac_addr and delete * is sent * QDF_STATUS_E_INVAL false if ast entry not found */ @@ -834,11 +836,11 @@ cdp_update_roaming_peer_in_vdev(ol_txrx_soc_handle soc, uint8_t vdev_id, } #endif /** - * cdp_peer_detach_sync() - peer detach sync callback + * cdp_peer_delete_sync() - peer delete sync callback * @soc: datapath soc handle * @vdev_id: virtual device/interface id * @peer_mac: peer mac address - * @peer_unmap_sync: peer unmap sync cb. + * @delete_cb: peer delete sync cb. * @bitmap: bitmap indicating special handling of request. * * Return: None @@ -1015,7 +1017,7 @@ cdp_mgmt_tx_cb_set(ol_txrx_soc_handle soc, uint8_t pdev_id, * cdp_peer_unmap_sync_cb_set() - set peer unmap sync callback * @soc: datapath soc handle * @pdev_id: physical device instance id - * @peer_unmap_sync: peer unmap sync callback + * @unmap_resp_cb: peer unmap sync callback * * Return: None */ @@ -1041,11 +1043,11 @@ cdp_peer_unmap_sync_cb_set(ol_txrx_soc_handle soc, unmap_resp_cb); } -/* +/** * cdp_data_tx_cb_set(): set the callback for non standard tx - * @soc - datapath soc handle - * @vdev_id - virtual device/interface id - * @callback - callback function + * @soc: datapath soc handle + * @vdev_id: virtual device/interface id + * @callback: callback function * @ctxt: callback context * */ @@ -1070,7 +1072,7 @@ cdp_data_tx_cb_set(ol_txrx_soc_handle soc, uint8_t vdev_id, /****************************************************************************** * Statistics and Debugging Interface (C Interface) *****************************************************************************/ -/** +/* * External Device physical address types * * Currently, both MAC and IPA uController use the same size addresses @@ -1175,9 +1177,9 @@ static inline void cdp_print_level_set(ol_txrx_soc_handle soc, unsigned level) soc->ops->cmn_drv_ops->txrx_print_level_set(level); } -/* - * cdp_get_vdev_mac_addr() – Detach txrx peer - * @soc_hdl: Datapath soc handle +/** + * cdp_get_vdev_mac_addr() - Detach txrx peer + * @soc: Datapath soc handle * @vdev_id: virtual device/interface id * * Return: MAC address on success, NULL on failure. @@ -1254,7 +1256,7 @@ cdp_get_ctrl_pdev_from_vdev(ol_txrx_soc_handle soc, uint8_t vdev_id) vdev_id); } -/* +/** * cdp_get_mon_vdev_from_pdev() - Get vdev handle of monitor mode * @soc: datapath soc handle * @pdev_id: physical device instance id @@ -1329,14 +1331,11 @@ cdp_soc_init(ol_txrx_soc_handle soc, u_int16_t devid, } /** - * cdp_soc_init() - Initialize txrx SOC + * cdp_pdev_init() - Initialize txrx pdev * @soc: ol_txrx_soc_handle handle - * @devid: Device ID - * @hif_handle: Opaque HIF handle - * @psoc: Opaque Objmgr handle * @htc_handle: Opaque HTC handle * @qdf_dev: QDF device - * @dp_ol_if_ops: Offload Operations + * @pdev_id: pdev id * * Return: DP SOC handle on success, NULL on failure */ @@ -1682,6 +1681,7 @@ int cdp_ath_get_total_per(ol_txrx_soc_handle soc, uint8_t pdev_id) /** * cdp_set_pdev_dscp_tid_map(): function to change tid values in DSCP-tid map + * @soc: soc handle * @pdev_id: id of pdev handle * @map_id: id of the tid map * @tos: index value in map that needs to be changed @@ -1708,6 +1708,7 @@ static inline void cdp_set_pdev_dscp_tid_map(ol_txrx_soc_handle soc, /** * cdp_flush_cache_rx_queue() - flush cache rx queue frame + * @soc: soc handle * * Return: None */ @@ -1830,6 +1831,7 @@ static inline void cdp_txrx_umac_reset_deinit(ol_txrx_soc_handle soc) * cdp_display_stats(): function to map to dump stats * @soc: soc handle * @value: statistics option + * @level: verbosity level */ static inline QDF_STATUS cdp_display_stats(ol_txrx_soc_handle soc, uint16_t value, @@ -1850,13 +1852,13 @@ cdp_display_stats(ol_txrx_soc_handle soc, uint16_t value, /** - * cdp_set_pn_check(): function to set pn check - * @soc: soc handle - * @vdev_id: id of virtual device - * @peer_mac: mac address of peer - * @sec_type: security type - * @rx_pn: receive pn - */ + * cdp_set_pn_check(): function to set pn check + * @soc: soc handle + * @vdev_id: id of virtual device + * @peer_mac: mac address of peer + * @sec_type: security type + * @rx_pn: receive pn + */ static inline int cdp_set_pn_check(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, enum cdp_sec_type sec_type, uint32_t *rx_pn) @@ -1882,7 +1884,7 @@ static inline int cdp_set_pn_check(ol_txrx_soc_handle soc, * @vdev_id: id of virtual device * @peer_mac: mac address of peer * @sec_type: security type - * #is_unicast: ucast or mcast + * @is_unicast: ucast or mcast */ static inline int cdp_set_key_sec_type(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -2050,7 +2052,7 @@ cdp_vdev_set_dp_ext_txrx_handle(ol_txrx_soc_handle soc, uint8_t vdev_id, size); } -/* +/** * cdp_soc_get_dp_txrx_handle() - get extended dp handle from soc * @soc: opaque soc handle * @@ -2075,7 +2077,7 @@ cdp_soc_get_dp_txrx_handle(ol_txrx_soc_handle soc) /** * cdp_soc_set_dp_txrx_handle() - set advanced dp handle in soc * @soc: opaque soc handle - * @dp_hdl: opaque pointer for dp_txrx_handle + * @dp_handle: opaque pointer for dp_txrx_handle * * Return: void */ @@ -2101,6 +2103,7 @@ cdp_soc_set_dp_txrx_handle(ol_txrx_soc_handle soc, void *dp_handle) * @soc: opaque soc handle * @pdev_id: id of data path pdev handle * @lmac_id: lmac id + * * Return: QDF_STATUS */ static inline QDF_STATUS @@ -2175,7 +2178,7 @@ cdp_txrx_set_pdev_status_down(ol_txrx_soc_handle soc, /** * cdp_set_tx_pause() - Pause or resume tx path - * @soc_hdl: Datapath soc handle + * @soc: Datapath soc handle * @flag: set or clear is_tx_pause * * Return: None. @@ -2256,7 +2259,6 @@ QDF_STATUS cdp_set_pdev_pcp_tid_map(ol_txrx_soc_handle soc, /** * cdp_get_peer_mac_from_peer_id() - get peer mac addr from peer id * @soc: opaque soc handle - * @pdev_id: id of data path pdev handle * @peer_id: data path peer id * @peer_mac: peer_mac * @@ -2276,7 +2278,7 @@ QDF_STATUS cdp_get_peer_mac_from_peer_id(ol_txrx_soc_handle soc, /** * cdp_vdev_tx_lock() - acquire lock * @soc: opaque soc handle - * @vdev: data path vdev handle + * @vdev_id: id of data path vdev handle * * Return: void */ @@ -2361,10 +2363,11 @@ uint32_t cdp_fw_supported_enh_stats_version(ol_txrx_soc_handle soc, } /** - * cdp_get_pdev_id_frm_pdev() - return pdev_id from pdev + * cdp_if_mgmt_drain() - Drain management frames * @soc: opaque soc handle * @vdev_id: id of vdev device * @force: number of frame in SW queue + * * Return: void */ static inline @@ -2375,13 +2378,13 @@ void cdp_if_mgmt_drain(ol_txrx_soc_handle soc, soc->ops->cmn_drv_ops->txrx_if_mgmt_drain(soc, vdev_id, force); } -/* cdp_peer_map_attach() - CDP API to allocate PEER map memory +/** + * cdp_peer_map_attach() - CDP API to allocate PEER map memory * @soc: opaque soc handle * @max_peers: number of peers created in FW * @max_ast_index: max number of AST index supported in FW * @peer_map_unmap_v: Indicates HTT peer map/unmap versions enabled in FW * - * * Return: QDF_STATUS */ static inline QDF_STATUS @@ -2398,7 +2401,8 @@ cdp_peer_map_attach(ol_txrx_soc_handle soc, uint32_t max_peers, return QDF_STATUS_SUCCESS; } -/* cdp_soc_set_param() - CDP API to set soc parameters +/** + * cdp_soc_set_param() - CDP API to set soc parameters * @soc: opaque soc handle * @param: parameter type * @value: parameter value @@ -2418,12 +2422,13 @@ cdp_soc_set_param(ol_txrx_soc_handle soc, enum cdp_soc_param_t param, return QDF_STATUS_SUCCESS; } -/* cdp_txrx_classify_and_update() - To classify the packet and update stats +/** + * cdp_txrx_classify_and_update() - To classify the packet and update stats * @soc: opaque soc handle - * @vdev: opaque dp vdev handle + * @vdev_id: vdev id * @skb: data * @dir: rx or tx packet - * @nbuf_classify: packet classification object + * @nbuf_class: packet classification object * * Return: 1 on success else return 0 */ @@ -2451,7 +2456,7 @@ cdp_txrx_classify_and_update(ol_txrx_soc_handle soc, /** * cdp_get_dp_capabilities() - get DP capabilities * @soc: opaque soc handle - * @dp_cap: enum of DP capabilities + * @dp_caps: enum of DP capabilities * * Return: bool */ @@ -2469,12 +2474,12 @@ cdp_get_dp_capabilities(struct cdp_soc_t *soc, enum cdp_capabilities dp_caps) #ifdef RECEIVE_OFFLOAD /** * cdp_register_rx_offld_flush_cb() - register LRO/GRO flush cb function pointer - * @soc - data path soc handle - * @pdev - device instance pointer + * @soc: data path soc handle + * @rx_ol_flush_cb: Flush callback function * * register rx offload flush callback function pointer * - * return none + * Return: none */ static inline void cdp_register_rx_offld_flush_cb(ol_txrx_soc_handle soc, void (rx_ol_flush_cb)(void *)) @@ -2492,11 +2497,11 @@ static inline void cdp_register_rx_offld_flush_cb(ol_txrx_soc_handle soc, /** * cdp_deregister_rx_offld_flush_cb() - deregister Rx offld flush cb function - * @soc - data path soc handle + * @soc: data path soc handle * * deregister rx offload flush callback function pointer * - * return none + * Return: none */ static inline void cdp_deregister_rx_offld_flush_cb(ol_txrx_soc_handle soc) { @@ -2512,13 +2517,13 @@ static inline void cdp_deregister_rx_offld_flush_cb(ol_txrx_soc_handle soc) #endif /* RECEIVE_OFFLOAD */ /** - * @cdp_set_ba_timeout() - set ba aging timeout per AC + * cdp_set_ba_timeout() - set ba aging timeout per AC * - * @soc - pointer to the soc - * @value - timeout value in millisec - * @ac - Access category + * @soc: pointer to the soc + * @value: timeout value in millisec + * @ac: Access category * - * @return - void + * Return: void */ static inline void cdp_set_ba_timeout(ol_txrx_soc_handle soc, uint8_t ac, uint32_t value) @@ -2537,13 +2542,13 @@ static inline void cdp_set_ba_timeout(ol_txrx_soc_handle soc, } /** - * @cdp_get_ba_timeout() - return ba aging timeout per AC + * cdp_get_ba_timeout() - return ba aging timeout per AC * - * @soc - pointer to the soc - * @ac - access category - * @value - timeout value in millisec + * @soc: pointer to the soc + * @ac: access category + * @value: timeout value in millisec * - * @return - void + * Return: void */ static inline void cdp_get_ba_timeout(ol_txrx_soc_handle soc, uint8_t ac, uint32_t *value) @@ -2567,7 +2572,7 @@ static inline void cdp_get_ba_timeout(ol_txrx_soc_handle soc, * @soc: pointer to the soc * @cfg: cfg enum * - * Return - cfg value + * Return: cfg value */ static inline uint32_t cdp_cfg_get(ol_txrx_soc_handle soc, enum cdp_dp_cfg cfg) { @@ -2656,7 +2661,7 @@ cdp_peer_flush_rate_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, * cdp_peer_get_peerstats_ctx() - get peer stats context * @soc: opaque soc handle * @vdev_id: id of vdev handle - * @mac: peer mac address + * @mac_addr: peer mac address */ static inline void *cdp_peer_get_peerstats_ctx(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -2702,7 +2707,7 @@ cdp_flush_rate_stats_request(struct cdp_soc_t *soc, uint8_t pdev_id) /** * cdp_set_vdev_pcp_tid_map() - set vdev pcp-tid-map * @soc: opaque soc handle - * @vdev: id of data path vdev handle + * @vdev_id: id of data path vdev handle * @pcp: pcp value * @tid: tid value * @@ -2790,11 +2795,11 @@ cdp_vdev_get_peer_mac_list(ol_txrx_soc_handle soc, (soc, vdev_id, newmac, mac_cnt, limit); } -/* +/** * cdp_soc_config_full_mon_mode () - Configure Full monitor mode * - *@soc: dp soc handle - *@val: value to be configured val should be 0 or 1 + * @soc: dp soc handle + * @val: value to be configured val should be 0 or 1 * * This API is used to enable/disable support for Full monitor mode feature * @@ -2941,9 +2946,10 @@ cdp_set_pkt_capture_mode(ol_txrx_soc_handle soc, bool val) #endif /** - * cdp_rx_get_pending() - Get number of pending frames of RX threads + * cdp_get_tx_inqueue() - Get number of Tx frames that are queued * @soc: opaque soc handle - * Return: number of pending frames + * + * Return: number of queued frames */ static inline uint32_t cdp_get_tx_inqueue(ol_txrx_soc_handle soc) @@ -2994,7 +3000,7 @@ void cdp_set_rtpm_tput_policy_requirement(ol_txrx_soc_handle soc, /** * cdp_enable_mon_reap_timer() - enable/disable reap timer * @soc: Datapath soc handle - * @pdev_id: id of objmgr pdev + * @source: monitor reap source * @enable: enable/disable reap timer of monitor status ring * * Return: true if timer start/stop is performed, false otherwise. @@ -3022,6 +3028,7 @@ cdp_enable_mon_reap_timer(ol_txrx_soc_handle soc, /** * cdp_get_tsf_time() - get tsf time * @soc: Datapath soc handle + * @tsf_id: * @mac_id: mac_id * @tsf: pointer to update tsf value * @tsf_sync_soc_time: pointer to update tsf sync time diff --git a/dp/inc/cdp_txrx_cmn_reg.h b/dp/inc/cdp_txrx_cmn_reg.h index 8d56c2c958..df9de5fd51 100644 --- a/dp/inc/cdp_txrx_cmn_reg.h +++ b/dp/inc/cdp_txrx_cmn_reg.h @@ -57,6 +57,10 @@ ol_txrx_soc_handle ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_if_ops); #endif +#if defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \ + defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574) || \ + defined(QCA_WIFI_QCA5332) + /** * dp_soc_attach_wifi3() - Attach txrx SOC * @ctrl_psoc: Opaque SOC handle from Ctrl plane @@ -64,6 +68,9 @@ ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_if_ops); * * Return: DP SOC handle on success, NULL on failure */ +struct cdp_soc_t * +dp_soc_attach_wifi3(struct cdp_ctrl_objmgr_psoc *ctrl_psoc, + struct cdp_soc_attach_params *params); /** * dp_soc_init_wifi3() - Initialize txrx SOC @@ -77,12 +84,6 @@ ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_if_ops); * * Return: DP SOC handle on success, NULL on failure */ -#if defined(QCA_WIFI_QCA8074) || defined(QCA_WIFI_QCA6018) || \ - defined(QCA_WIFI_QCA5018) || defined(QCA_WIFI_QCA9574) || \ - defined(QCA_WIFI_QCA5332) -struct cdp_soc_t * -dp_soc_attach_wifi3(struct cdp_ctrl_objmgr_psoc *ctrl_psoc, - struct cdp_soc_attach_params *params); void *dp_soc_init_wifi3(struct cdp_soc_t *soc, struct cdp_ctrl_objmgr_psoc *ctrl_psoc, struct hif_opaque_softc *hif_handle, diff --git a/dp/inc/cdp_txrx_ctrl.h b/dp/inc/cdp_txrx_ctrl.h index 687314c85b..32c5ee3e3c 100644 --- a/dp/inc/cdp_txrx_ctrl.h +++ b/dp/inc/cdp_txrx_ctrl.h @@ -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 @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_ctrl.h - * @brief Define the host data path control API functions + * DOC: cdp_txrx_ctrl.h + * Define the host data path control API functions * called by the host control SW and the OS interface module */ @@ -67,16 +67,16 @@ cdp_mempools_attach(ol_txrx_soc_handle soc) #if defined(ATH_SUPPORT_NAC) || defined(ATH_SUPPORT_NAC_RSSI) /** - * @brief update the neighbour peer addresses - * @details + * cdp_update_filter_neighbour_peers() - update the neighbour peer addresses + * @soc: the pointer to soc object + * @vdev_id: id of the pointer to vdev + * @cmd: add/del entry into peer table + * @macaddr: the address of neighbour peer + * * This defines interface function to update neighbour peers addresses * which needs to be filtered * - * @param soc - the pointer to soc object - * @param vdev_id - id of the pointer to vdev - * @param cmd - add/del entry into peer table - * @param macaddr - the address of neighbour peer - * @return - int + * Return: int */ static inline int cdp_update_filter_neighbour_peers(ol_txrx_soc_handle soc, @@ -98,15 +98,15 @@ cdp_update_filter_neighbour_peers(ol_txrx_soc_handle soc, #endif /* ATH_SUPPORT_NAC || ATH_SUPPORT_NAC_RSSI*/ /** - * @brief update the monitor buffer and status filter - * @details - * This defines interface function to set/reset monitor filter - * in case of special vap (scan radio) + * cdp_update_mon_mac_filter() - update the monitor buffer and status filter + * @soc: the pointer to soc object + * @vdev_id: id of the pointer to vdev + * @cmd: add/del entry into peer table * - * @param soc - the pointer to soc object - * @param vdev_id - id of the pointer to vdev - * @param cmd - add/del entry into peer table - * @return - QDF_STATUS + * This defines interface function to set/reset monitor filter + * in case of special vap (scan radio) + * + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_update_mon_mac_filter(ol_txrx_soc_handle soc, @@ -128,17 +128,18 @@ cdp_update_mon_mac_filter(ol_txrx_soc_handle soc, #ifdef WLAN_SUPPORT_MSCS /** - * @brief record the MSCS data and send it to the Data path - * @details - * This defines interface function to record the MSCS procedure - * based data parameters so that the data path layer can access it + * cdp_record_vdev_mscs_params() - record the MSCS data and send it to the + * Data path + * @soc: the pointer to soc object + * @vdev_id: id of the pointer to vdev + * @macaddr: the address of neighbour peer + * @mscs_params: Structure having MSCS params obtained from handshake + * @active: Flag to set MSCS active/inactive * - * @param soc - the pointer to soc object - * @param vdev_id - id of the pointer to vdev - * @param macaddr - the address of neighbour peer - * @param mscs_params - Structure having MSCS params - * obtained from handshake - * @return - QDF_STATUS + * This defines interface function to record the MSCS procedure + * based data parameters so that the data path layer can access it + * + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_record_vdev_mscs_params(ol_txrx_soc_handle soc, uint8_t @@ -160,14 +161,14 @@ cdp_record_vdev_mscs_params(ol_txrx_soc_handle soc, uint8_t #endif /** - * @brief set the Reo Destination ring for the pdev - * @details - * This will be used to configure the Reo Destination ring for this pdev. + * cdp_set_pdev_reo_dest() - set the Reo Destination ring for the pdev + * @soc: pointer to the soc + * @pdev_id: id of the data physical device object + * @val: the Reo destination ring index (1 to 4) * - * @param soc - pointer to the soc - * @param pdev_id - id of the data physical device object - * @param val - the Reo destination ring index (1 to 4) - * @return - QDF_STATUS + * This will be used to configure the Reo Destination ring for this pdev. + * + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_set_pdev_reo_dest(ol_txrx_soc_handle soc, @@ -188,11 +189,11 @@ cdp_set_pdev_reo_dest(ol_txrx_soc_handle soc, } /** - * @brief get the Reo Destination ring for the pdev + * cdp_get_pdev_reo_dest() - get the Reo Destination ring for the pdev + * @soc: pointer to the soc + * @pdev_id: id of physical device object * - * @param soc - pointer to the soc - * @param pdev_id - id of physical device object - * @return - the Reo destination ring index (1 to 4), 0 if not supported. + * Return: the Reo destination ring index (1 to 4), 0 if not supported. */ static inline enum cdp_host_reo_dest_ring cdp_get_pdev_reo_dest(ol_txrx_soc_handle soc, uint8_t pdev_id) @@ -211,19 +212,19 @@ cdp_get_pdev_reo_dest(ol_txrx_soc_handle soc, uint8_t pdev_id) } /* Is this similar to ol_txrx_peer_state_update() in MCL */ + /** - * @brief Update the authorize peer object at association time - * @details - * For the host-based implementation of rate-control, it - * updates the peer/node-related parameters within rate-control - * context of the peer at association. + * cdp_peer_authorize() - Update the authorize peer object at association time + * @soc: pointer to the soc + * @vdev_id: id of the pointer to vdev + * @peer_mac: mac address of the node's object + * @authorize: either to authorize or unauthorize peer * - * @param soc - pointer to the soc - * @param vdev_id - id of the pointer to vdev - * @param peer_mac - mac address of the node's object - * @authorize - either to authorize or unauthorize peer + * For the host-based implementation of rate-control, it + * updates the peer/node-related parameters within rate-control + * context of the peer at association. * - * @return QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_peer_authorize(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, @@ -244,11 +245,10 @@ cdp_peer_authorize(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, } /** - * cdp_peer_get_authorize Get per authorize status - * - * @soc - pointer to the soc - * @vdev_id - id of the pointer to vdev - * @peer_mac - mac address of the node's object + * cdp_peer_get_authorize() - Get per authorize status + * @soc: pointer to the soc + * @vdev_id: id of the pointer to vdev + * @peer_mac: mac address of the node's object * * Return: true is peer is authorized, false otherwise */ @@ -402,10 +402,9 @@ void cdp_vdev_reset_vdev_stats_id(ol_txrx_soc_handle soc, #ifdef VDEV_PEER_PROTOCOL_COUNT /** * cdp_set_vdev_peer_protocol_count() - set per-peer protocol count tracking - * - * @soc - pointer to the soc - * @vdev - the data virtual device object - * @enable - enable per-peer protocol count + * @soc: pointer to the soc + * @vdev_id: the data virtual device object + * @enable: enable per-peer protocol count * * Set per-peer protocol count feature enable * @@ -431,14 +430,13 @@ void cdp_set_vdev_peer_protocol_count(ol_txrx_soc_handle soc, int8_t vdev_id, /** * cdp_set_vdev_peer_protocol_drop_mask() - set per-peer protocol drop mask - * - * @soc - pointer to the soc - * @vdev - the data virtual device object - * @drop_mask - drop_mask + * @soc: pointer to the soc + * @vdev_id: ID of the data virtual device object + * @drop_mask: drop_mask * * Set per-peer protocol drop_mask * - * Return - void + * Return: void */ static inline void cdp_set_vdev_peer_protocol_drop_mask(ol_txrx_soc_handle soc, @@ -461,9 +459,8 @@ void cdp_set_vdev_peer_protocol_drop_mask(ol_txrx_soc_handle soc, /** * cdp_is_vdev_peer_protocol_count_enabled() - whether peer-protocol tracking * enabled - * - * @soc - pointer to the soc - * @vdev - the data virtual device object + * @soc: pointer to the soc + * @vdev_id: ID of the data virtual device object * * Get whether peer protocol count feature enabled or not * @@ -489,9 +486,8 @@ int cdp_is_vdev_peer_protocol_count_enabled(ol_txrx_soc_handle soc, /** * cdp_get_peer_protocol_drop_mask() - get per-peer protocol count drop-mask - * - * @soc - pointer to the soc - * @vdev - the data virtual device object + * @soc: pointer to the soc + * @vdev_id: ID of the data virtual device object * * Get peer-protocol-count drop-mask * @@ -672,7 +668,7 @@ static inline QDF_STATUS cdp_txrx_get_pdev_param(ol_txrx_soc_handle soc, /** * cdp_txrx_peer_protocol_cnt() - set peer protocol count * @soc: opaque soc handle - * @vdev: opaque vdev handle + * @vdev_id: vdev id * @nbuf: data packet * @is_egress: whether egress or ingress * @is_rx: whether tx or rx @@ -706,7 +702,6 @@ cdp_txrx_peer_protocol_cnt(ol_txrx_soc_handle soc, /** * cdp_enable_peer_based_pktlog()- Set flag in peer structure - * * @soc: pointer to the soc * @pdev_id: id of the data physical device object * @enable: enable or disable peer based filter based pktlog @@ -740,7 +735,6 @@ cdp_enable_peer_based_pktlog(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_calculate_delay_stats()- get rx delay stats - * * @soc: pointer to the soc * @vdev_id: id of vdev handle * @nbuf: nbuf which is passed @@ -767,20 +761,20 @@ cdp_calculate_delay_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, } /** - * @brief Subscribe to a specified WDI event. - * @details - * This function adds the provided wdi_event_subscribe object to a list of - * subscribers for the specified WDI event. - * When the event in question happens, each subscriber for the event will - * have their callback function invoked. - * The order in which callback functions from multiple subscribers are - * invoked is unspecified. + * cdp_wdi_event_sub() - Subscribe to a specified WDI event. + * @soc: pointer to the soc + * @pdev_id: id of the data physical device object + * @event_cb_sub: the callback and context for the event subscriber + * @event: which event's notifications are being subscribed to * - * @param soc - pointer to the soc - * @param pdev_id - id of the data physical device object - * @param event_cb_sub - the callback and context for the event subscriber - * @param event - which event's notifications are being subscribed to - * @return - int + * This function adds the provided wdi_event_subscribe object to a list of + * subscribers for the specified WDI event. + * When the event in question happens, each subscriber for the event will + * have their callback function invoked. + * The order in which callback functions from multiple subscribers are + * invoked is unspecified. + * + * Return: int */ static inline int cdp_wdi_event_sub(ol_txrx_soc_handle soc, uint8_t pdev_id, @@ -802,18 +796,18 @@ cdp_wdi_event_sub(ol_txrx_soc_handle soc, uint8_t pdev_id, } /** - * @brief Unsubscribe from a specified WDI event. - * @details - * This function removes the provided event subscription object from the - * list of subscribers for its event. - * This function shall only be called if there was a successful prior call - * to event_sub() on the same wdi_event_subscribe object. + * cdp_wdi_event_unsub() - Unsubscribe from a specified WDI event. + * @soc: pointer to the soc + * @pdev_id: id of the data physical device object + * @event_cb_sub: the callback and context for the event subscriber + * @event: which event's notifications are being subscribed to * - * @param soc - pointer to the soc - * @param pdev_id - id of the data physical device object - * @param event_cb_sub - the callback and context for the event subscriber - * @param event - which event's notifications are being subscribed to - * @return - int + * This function removes the provided event subscription object from the + * list of subscribers for its event. + * This function shall only be called if there was a successful prior call + * to cdp_wdi_event_sub() on the same wdi_event_subscribe object. + * + * Return: int */ static inline int cdp_wdi_event_unsub(ol_txrx_soc_handle soc, @@ -836,17 +830,17 @@ cdp_wdi_event_unsub(ol_txrx_soc_handle soc, } /** - * @brief Get security type from the from peer. - * @details + * cdp_get_sec_type() - Get security type from the from peer. + * @soc: pointer to the soc + * @vdev_id: id of vdev handle + * @peer_mac: peer mac address + * @sec_idx: mcast or ucast frame type. + * * This function gets the Security information from the peer handler. * The security information is got from the rx descriptor and filled in * to the peer handler. * - * @param soc - pointer to the soc - * @param vdev_id - id of vdev handle - * @param peer mac - peer mac address - * @param sec_idx - mcast or ucast frame type. - * @return - int + * Return: int */ static inline int cdp_get_sec_type(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, @@ -867,11 +861,12 @@ cdp_get_sec_type(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, } /** - * cdp_set_mgmt_tx_power(): function to set tx power for mgmt frames - * @param soc - pointer to the soc + * cdp_set_mgmt_tx_power() - function to set tx power for mgmt frames + * @soc: pointer to the soc * @vdev_id : id of vdev handle - * @subtype_index: subtype + * @subtype: subtype * @tx_power: Tx power + * * Return: QDF_STATUS */ static inline QDF_STATUS @@ -994,7 +989,6 @@ void cdp_set_cfr_rcc(ol_txrx_soc_handle soc, uint8_t pdev_id, bool enable) /** * cdp_get_cfr_dbg_stats() - Get debug statistics for CFR - * * @soc: SOC TXRX handle * @pdev_id: ID of the physical device object * @buf: CFR RCC debug statistics buffer @@ -1020,7 +1014,6 @@ cdp_get_cfr_dbg_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_cfr_clr_dbg_stats() - Clear debug statistics for CFR - * * @soc: SOC TXRX handle * @pdev_id: ID of the physical device object */ @@ -1108,10 +1101,11 @@ cdp_update_pdev_rx_protocol_tag(ol_txrx_soc_handle soc, #ifdef WLAN_SUPPORT_RX_TAG_STATISTICS /** * cdp_dump_pdev_rx_protocol_tag_stats() - wrapper function to dump the protocol - tag statistics for given or all protocols + * tag statistics for given or all protocols * @soc: SOC TXRX handle * @pdev_id: id of CDP pdev pointer * @protocol_type: Protocol type for which the tag should be update + * * Return: Returns QDF_STATUS_SUCCESS/FAILURE */ static inline QDF_STATUS @@ -1138,7 +1132,7 @@ cdp_dump_pdev_rx_protocol_tag_stats(ol_txrx_soc_handle soc, #ifdef ATH_SUPPORT_NAC_RSSI /** - * cdp_vdev_config_for_nac_rssi(): To invoke dp callback for nac rssi config + * cdp_vdev_config_for_nac_rssi() - To invoke dp callback for nac rssi config * @soc: soc pointer * @vdev_id: id of vdev * @nac_cmd: specifies nac_rss config action add, del, list @@ -1167,8 +1161,8 @@ static inline QDF_STATUS cdp_vdev_config_for_nac_rssi(ol_txrx_soc_handle soc, nac_cmd, bssid, client_macaddr, chan_num); } -/* - * cdp_vdev_get_neighbour_rssi(): To invoke dp callback to get rssi value of nac +/** + * cdp_vdev_get_neighbour_rssi() - invoke dp callback to get rssi value of nac * @soc: soc pointer * @vdev_id: id of vdev * @macaddr: Non-Associated client MAC @@ -1257,9 +1251,9 @@ cdp_dump_rx_flow_tag_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_txrx_peer_flush_frags() - flush frags for peer - * - * @soc - pointer to the soc - * @vdev - the data virtual device object + * @soc: pointer to the soc + * @vdev_id: vdev id + * @peer_mac: peer MAC address * * Get peer-protocol-count drop-mask * @@ -1370,8 +1364,8 @@ static inline QDF_STATUS cdp_get_uplink_delay(ol_txrx_soc_handle soc, * cdp_txrx_set_pdev_phyrx_error_mask() - set phyrx error mask * @soc: opaque soc handle * @pdev_id: id of data path pdev handle - * @mask1: mask to configure 0 to 31 phy error - * @mask2: mask to configure 32 to 63 phy error + * @mask: mask to configure 0 to 31 phy error + * @mask_cont: mask to configure 32 to 63 phy error * * Return: status: 0 - Success, non-zero: Failure */ diff --git a/dp/inc/cdp_txrx_flow_ctrl_legacy.h b/dp/inc/cdp_txrx_flow_ctrl_legacy.h index 9e64907d3a..b8945fc8ee 100644 --- a/dp/inc/cdp_txrx_flow_ctrl_legacy.h +++ b/dp/inc/cdp_txrx_flow_ctrl_legacy.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2016-2019,2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -18,9 +18,8 @@ */ /** - * @file cdp_txrx_flow_ctrl_legacy.h - * @brief Define the host data path legacy flow control API - * functions + * DOC: cdp_txrx_flow_ctrl_legacy.h + * Define the host data path legacy flow control API functions */ #ifndef _CDP_TXRX_FC_LEG_H_ #define _CDP_TXRX_FC_LEG_H_ @@ -37,7 +36,7 @@ * * Register flow control callback. * - * Returns: 0 for success + * Return: 0 for success */ static inline int cdp_hl_fc_register(ol_txrx_soc_handle soc, uint8_t pdev_id, @@ -104,15 +103,15 @@ static inline int cdp_hl_fc_set_os_queue_status(ol_txrx_soc_handle soc, #ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL /** * cdp_fc_register() - Register flow control callback function pointer - * @soc - data path soc handle - * @vdev_id - virtual interface id to register flow control - * @flowControl - callback function pointer - * @osif_fc_ctx - client context pointer + * @soc: data path soc handle + * @vdev_id: virtual interface id to register flow control + * @flowcontrol: callback function pointer + * @osif_fc_ctx: client context pointer * @flow_control_is_pause: is vdev paused by flow control * * Register flow control callback function pointer and client context pointer * - * return 0 success + * Return: 0 success */ static inline int cdp_fc_register(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -144,12 +143,12 @@ cdp_fc_register(ol_txrx_soc_handle soc, uint8_t vdev_id, #endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */ /** * cdp_fc_deregister() - remove flow control instance - * @soc - data path soc handle - * @vdev_id - virtual interface id to register flow control + * @soc: data path soc handle + * @vdev_id: virtual interface id to register flow control * * remove flow control instance * - * return 0 success + * Return: 0 success */ static inline int cdp_fc_deregister(ol_txrx_soc_handle soc, uint8_t vdev_id) @@ -178,7 +177,7 @@ cdp_fc_deregister(ol_txrx_soc_handle soc, uint8_t vdev_id) * * get data path resource count * - * return true enough data path resource available + * Return: true enough data path resource available * false resource is not available */ static inline bool @@ -204,13 +203,13 @@ cdp_fc_get_tx_resource(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_fc_ll_set_tx_pause_q_depth() - set pause queue depth - * @soc - data path soc handle - * @vdev_id - virtual interface id to register flow control - * @pause_q_depth - pending tx queue delth + * @soc: data path soc handle + * @vdev_id: virtual interface id to register flow control + * @pause_q_depth: pending tx queue delth * * set pause queue depth * - * return 0 success + * Return: 0 success */ static inline int cdp_fc_ll_set_tx_pause_q_depth(ol_txrx_soc_handle soc, @@ -238,7 +237,7 @@ cdp_fc_ll_set_tx_pause_q_depth(ol_txrx_soc_handle soc, * * flush tx queue * - * return None + * Return: None */ static inline void cdp_fc_vdev_flush(ol_txrx_soc_handle soc, uint8_t vdev_id) @@ -265,7 +264,7 @@ cdp_fc_vdev_flush(ol_txrx_soc_handle soc, uint8_t vdev_id) * * pause tx scheduler on vdev * - * return None + * Return: None */ static inline void cdp_fc_vdev_pause(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -293,7 +292,7 @@ cdp_fc_vdev_pause(ol_txrx_soc_handle soc, uint8_t vdev_id, * * resume tx scheduler on vdev * - * return None + * Return: None */ static inline void cdp_fc_vdev_unpause(ol_txrx_soc_handle soc, uint8_t vdev_id, diff --git a/dp/inc/cdp_txrx_flow_ctrl_v2.h b/dp/inc/cdp_txrx_flow_ctrl_v2.h index 5900fa6890..21bbc71bf4 100644 --- a/dp/inc/cdp_txrx_flow_ctrl_v2.h +++ b/dp/inc/cdp_txrx_flow_ctrl_v2.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2019,2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,9 +18,8 @@ */ /** - * @file cdp_txrx_flow_ctrl_v2.h - * @brief Define the host data path flow control version 2 API - * functions + * DOC: cdp_txrx_flow_ctrl_v2.h + * Define the host data path flow control version 2 API functions */ #ifndef _CDP_TXRX_FC_V2_H_ #define _CDP_TXRX_FC_V2_H_ @@ -28,8 +28,8 @@ /** * cdp_register_pause_cb() - Register flow control callback function pointer - * @soc - data path soc handle - * @pause_cb - Pause callback intend to register + * @soc: data path soc handle + * @pause_cb: Pause callback intend to register * * Register flow control callback function pointer and client context pointer * @@ -55,8 +55,8 @@ cdp_register_pause_cb(ol_txrx_soc_handle soc, /** * cdp_set_desc_global_pool_size() - set global device pool size - * @soc - data path soc handle - * @num_msdu_desc - descriptor pool size + * @soc: data path soc handle + * @num_msdu_desc: descriptor pool size * * set global device pool size * @@ -82,7 +82,7 @@ cdp_set_desc_global_pool_size(ol_txrx_soc_handle soc, /** * cdp_dump_flow_pool_info() - dump flow pool information - * @soc - data path soc handle + * @soc: data path soc handle * * dump flow pool information * diff --git a/dp/inc/cdp_txrx_handle.h b/dp/inc/cdp_txrx_handle.h index a3e448eb3e..dbc93e380a 100644 --- a/dp/inc/cdp_txrx_handle.h +++ b/dp/inc/cdp_txrx_handle.h @@ -1,6 +1,7 @@ /* * Copyright (c) 2017-2020 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -18,10 +19,10 @@ */ /** - * @file cdp_txrx_handle.h - * @brief Holds the forward structure declarations for handles - * passed from the upper layers - */ + * DOC: cdp_txrx_handle.h + * Holds the forward structure declarations for handles + * passed from the upper layers + */ #ifndef CDP_TXRX_HANDLE_H #define CDP_TXRX_HANDLE_H @@ -33,32 +34,32 @@ struct cdp_peer; struct cdp_raw_ast; struct cdp_soc; -/** +/* * cdp_ctrl_objmgr_psoc - opaque handle for UMAC psoc object */ struct cdp_ctrl_objmgr_psoc; -/** +/* * cdp_ctrl_objmgr_pdev - opaque handle for UMAC pdev object */ struct cdp_ctrl_objmgr_pdev; -/** +/* * cdp_ctrl_objmgr_vdev - opaque handle for UMAC vdev object */ struct cdp_ctrl_objmgr_vdev; -/** +/* * cdp_ctrl_objmgr_peer - opaque handle for UMAC peer object */ struct cdp_ctrl_objmgr_peer; -/** +/* * cdp_cal_client - opaque handle for cal client object */ struct cdp_cal_client; -/** +/* * cdp_ext_vdev - opaque handle for extended vdev data path handle */ struct cdp_ext_vdev; diff --git a/dp/inc/cdp_txrx_hist_struct.h b/dp/inc/cdp_txrx_hist_struct.h index 16a955b41b..1dd156a0a6 100644 --- a/dp/inc/cdp_txrx_hist_struct.h +++ b/dp/inc/cdp_txrx_hist_struct.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2020 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 @@ -18,14 +18,14 @@ */ /** - * @file cdp_txrx_hist_struct.h - * @brief Define the host data path histogram data types + * DOC: cdp_txrx_hist_struct.h + * Define the host data path histogram data types */ #ifndef _CDP_TXRX_HIST_STRUCT_H_ #define _CDP_TXRX_HIST_STRUCT_H_ -/* - * cdp_hist_bucket_index : Histogram Bucket +/** + * enum cdp_hist_bucket_index - Histogram Bucket * @CDP_HIST_BUCKET_0: Bucket Index 0 * @CDP_HIST_BUCKET_1: Bucket Index 1 * @CDP_HIST_BUCKET_2: Bucket Index 2 @@ -39,6 +39,7 @@ * @CDP_HIST_BUCKET_10: Bucket Index 10 * @CDP_HIST_BUCKET_11: Bucket Index 11 * @CDP_HIST_BUCKET_12: Bucket Index 12 + * @CDP_HIST_BUCKET_MAX: Max enumeration */ enum cdp_hist_bucket_index { CDP_HIST_BUCKET_0, @@ -57,14 +58,15 @@ enum cdp_hist_bucket_index { CDP_HIST_BUCKET_MAX, }; -/* - * cdp_hist_types: Histogram Types +/** + * enum cdp_hist_types - Histogram Types * @CDP_HIST_TYPE_SW_ENQEUE_DELAY: From stack to HW enqueue delay * @CDP_HIST_TYPE_HW_COMP_DELAY: From HW enqueue to completion delay * @CDP_HIST_TYPE_REAP_STACK: Rx HW reap to stack deliver delay * @CDP_HIST_TYPE_HW_TX_COMP_DELAY: Tx completion delay based on the timestamp * provided by HW * @CDP_HIST_TYPE_DELAY_PERCENTILE: Tx completion delay based on the perctile + * @CDP_HIST_TYPE_MAX: Max enumeration */ enum cdp_hist_types { CDP_HIST_TYPE_SW_ENQEUE_DELAY, @@ -75,8 +77,8 @@ enum cdp_hist_types { CDP_HIST_TYPE_MAX, }; -/* - * cdp_hist_bucket: Histogram Bucket +/** + * struct cdp_hist_bucket - Histogram Bucket * @hist_type: Histogram type * @freq: Frequency */ @@ -85,8 +87,8 @@ struct cdp_hist_bucket { uint64_t freq[CDP_HIST_BUCKET_MAX]; }; -/* - * cdp_hist_stats : Histogram of a stats type +/** + * struct cdp_hist_stats - Histogram of a stats type * @hist: Frequency distribution * @max: Max frequency * @min: Minimum frequency diff --git a/dp/inc/cdp_txrx_host_stats.h b/dp/inc/cdp_txrx_host_stats.h index a50f1f7bfc..960cffe6af 100644 --- a/dp/inc/cdp_txrx_host_stats.h +++ b/dp/inc/cdp_txrx_host_stats.h @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_host_stats.h - * @brief Define the host data path stats API functions + * DOC: cdp_txrx_host_stats.h + * Define the host data path stats API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_HOST_STATS_H_ @@ -28,12 +28,12 @@ #include #include /** - * cdp_host_stats_get: cdp call to get host stats + * cdp_host_stats_get() - cdp call to get host stats * @soc: SOC handle * @vdev_id: vdev id of vdev * @req: Requirement type * - * return: 0 for Success, Failure returns error message + * Return: 0 for Success, Failure returns error message */ static inline int cdp_host_stats_get(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -53,14 +53,14 @@ static inline int cdp_host_stats_get(ol_txrx_soc_handle soc, } /** - * cdp_host_stats_get_ratekbps: cdp call to get rate in kbps + * cdp_host_stats_get_ratekbps() - cdp call to get rate in kbps * @soc: SOC handle * @preamb: Preamble * @mcs: Modulation and Coding scheme index * @htflag: Flag to identify HT or VHT * @gintval: Guard Interval value * - * return: 0 for Failure, Returns rate on Success + * Return: 0 for Failure, Returns rate on Success */ static inline int cdp_host_stats_get_ratekbps(ol_txrx_soc_handle soc, int preamb, int mcs, @@ -82,11 +82,11 @@ static inline int cdp_host_stats_get_ratekbps(ol_txrx_soc_handle soc, } /** - * cdp_host_stats_clr: cdp call to clear host stats + * cdp_host_stats_clr() - cdp call to clear host stats * @soc: soc handle * @vdev_id: vdev handle id * - * return: QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_host_stats_clr(ol_txrx_soc_handle soc, uint8_t vdev_id) @@ -138,11 +138,11 @@ static inline int cdp_stats_publish } /** - * @brief Enable enhanced stats functionality. + * cdp_enable_enhanced_stats() - Enable enhanced stats functionality. + * @soc: the soc object + * @pdev_id: id of the physical device object * - * @param soc - the soc object - * @param pdev_id - id of the physical device object - * @return - QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_enable_enhanced_stats(ol_txrx_soc_handle soc, uint8_t pdev_id) @@ -162,11 +162,11 @@ cdp_enable_enhanced_stats(ol_txrx_soc_handle soc, uint8_t pdev_id) } /** - * @brief Disable enhanced stats functionality. + * cdp_disable_enhanced_stats() - Disable enhanced stats functionality. + * @soc: the soc object + * @pdev_id: id of the physical device object * - * @param soc - the soc object - * @param pdev_id - id of the physical device object - * @return - QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_disable_enhanced_stats(ol_txrx_soc_handle soc, uint8_t pdev_id) @@ -298,12 +298,11 @@ cdp_host_me_stats(ol_txrx_soc_handle soc, uint8_t vdev_id) } /** - * cdp_per_peer_stats(): function to print per peer REO Queue stats + * cdp_per_peer_stats() - function to print per peer REO Queue stats * @soc: soc handle - * @pdev: physical device * @addr: peer address * - * return: status + * Return: status */ static inline QDF_STATUS cdp_per_peer_stats(ol_txrx_soc_handle soc, uint8_t *addr) @@ -397,13 +396,14 @@ static inline QDF_STATUS cdp_get_dp_htt_stats(ol_txrx_soc_handle soc, } /** - * @brief Update pdev host stats received from firmware + * cdp_update_pdev_host_stats() - Update pdev host stats received from firmware * (wmi_host_pdev_stats and wmi_host_pdev_ext_stats) into dp + * @soc: soc handle + * @pdev_id: id of the physical device object + * @data: pdev stats + * @stats_id: statistics to be updated * - * @param soc - soc handle - * @param pdev_id - id of the physical device object - * @param data - pdev stats - * @return - QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_update_pdev_host_stats(ol_txrx_soc_handle soc, @@ -427,8 +427,7 @@ cdp_update_pdev_host_stats(ol_txrx_soc_handle soc, } /** - * @brief Update vdev host stats - * + * cdp_update_vdev_host_stats() - Update vdev host stats * @soc: soc handle * @vdev_id: id of the virtual device object * @data: pdev stats @@ -458,14 +457,14 @@ cdp_update_vdev_host_stats(ol_txrx_soc_handle soc, } /** - * @brief Call to get specified peer stats + * cdp_txrx_get_peer_stats_param() - Call to get specified peer stats + * @soc: soc handle + * @vdev_id: vdev_id of vdev object + * @peer_mac: mac address of the peer + * @type: enum of required stats + * @buf: buffer to hold the value * - * @param soc - soc handle - * @param vdev_id - vdev_id of vdev object - * @param peer_mac - mac address of the peer - * @param type - enum of required stats - * @param buf - buffer to hold the value - * @return - QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_txrx_get_peer_stats_param(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -491,11 +490,11 @@ cdp_txrx_get_peer_stats_param(ol_txrx_soc_handle soc, uint8_t vdev_id, } /** - * @brief Call to get soc stats + * cdp_host_get_soc_stats() - Call to get soc stats + * @soc: soc handle + * @soc_stats: buffer for cdp soc stats * - * @param soc - soc handle - * @soc_stats - buffer for cdp soc stats - * @return - QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_host_get_soc_stats(ol_txrx_soc_handle soc, struct cdp_soc_stats *soc_stats) @@ -514,12 +513,13 @@ cdp_host_get_soc_stats(ol_txrx_soc_handle soc, struct cdp_soc_stats *soc_stats) } /** - * @brief Call to get peer stats + * cdp_host_get_peer_stats() - Call to get peer stats + * @soc: soc handle + * @vdev_id: vdev_id of vdev object + * @peer_mac: mac address of the peer + * @peer_stats: destination buffer * - * @param soc - soc handle - * @param vdev_id - vdev_id of vdev object - * @param peer_mac - mac address of the peer - * @return - struct cdp_peer_stats + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_host_get_peer_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -542,12 +542,12 @@ cdp_host_get_peer_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, } /** - * @brief Call to reset ald stats + * cdp_host_reset_peer_ald_stats() - Call to reset ald stats + * @soc: soc handle + * @vdev_id: vdev_id of vdev object + * @peer_mac: mac address of the peer * - * @param soc - soc handle - * @param vdev_id - vdev_id of vdev object - * @param peer_mac - mac address of the peer - * @return - void + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_host_reset_peer_ald_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -569,12 +569,12 @@ cdp_host_reset_peer_ald_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, } /** - * @brief Call to reset peer stats + * cdp_host_reset_peer_stats() - Call to reset peer stats + * @soc: soc handle + * @vdev_id: vdev_id of vdev object + * @peer_mac: mac address of the peer * - * @param soc - soc handle - * @param vdev_id - vdev_id of vdev object - * @param peer_mac - mac address of the peer - * @return - QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_host_reset_peer_stats(ol_txrx_soc_handle soc, @@ -596,12 +596,13 @@ cdp_host_reset_peer_stats(ol_txrx_soc_handle soc, } /** - * @brief Call to get vdev stats + * cdp_host_get_vdev_stats() - Call to get vdev stats + * @soc: dp soc object + * @vdev_id: id of dp vdev object + * @buf: buffer + * @is_aggregate: * - * @param soc - dp soc object - * @param vdev_id - id of dp vdev object - * @param buf - buffer - * @return - int + * Return: int */ static inline int cdp_host_get_vdev_stats(ol_txrx_soc_handle soc, @@ -625,13 +626,14 @@ cdp_host_get_vdev_stats(ol_txrx_soc_handle soc, } /** - * @brief Call to update vdev stats received from firmware - * (wmi_host_vdev_stats and wmi_host_vdev_extd_stats) into dp + * cdp_update_host_vdev_stats() - Call to update vdev stats received from + * firmware (wmi_host_vdev_stats and wmi_host_vdev_extd_stats) into dp + * @soc: soc handle + * @data: stats data to be updated + * @size: size of stats data + * @stats_id: stats id * - * @param data - stats data to be updated - * @param size - size of stats data - * @param stats_id - stats id - * @return - int + * Return: int */ static inline int cdp_update_host_vdev_stats(ol_txrx_soc_handle soc, @@ -657,12 +659,12 @@ cdp_update_host_vdev_stats(ol_txrx_soc_handle soc, } /** - * @brief Call to get vdev extd stats + * cdp_get_vdev_extd_stats() - Call to get vdev extd stats + * @soc: soc handle + * @vdev_id: id of dp vdev object + * @buf: buffer * - * @param soc - soc handle - * @param vdev_id - id of dp vdev object - * @param buf - buffer - * @return - int + * Return: int */ static inline int cdp_get_vdev_extd_stats(ol_txrx_soc_handle soc, @@ -684,12 +686,12 @@ cdp_get_vdev_extd_stats(ol_txrx_soc_handle soc, } /** - * @brief Call to get cdp_pdev_stats + * cdp_host_get_pdev_stats() - Call to get cdp_pdev_stats + * @soc: soc handle + * @pdev_id: id of dp pdev object + * @buf: buffer to hold cdp_pdev_stats * - * @param soc - soc handle - * @param pdev_id - id of dp pdev object - * @param buf - buffer to hold cdp_pdev_stats - * @return - success/failure + * Return: success/failure */ static inline int cdp_host_get_pdev_stats(ol_txrx_soc_handle soc, @@ -709,12 +711,12 @@ cdp_host_get_pdev_stats(ol_txrx_soc_handle soc, } /** - * @brief Call to get radio stats + * cdp_host_get_radio_stats() - Call to get radio stats + * @soc: soc handle + * @pdev_id: id of dp pdev object + * @buf: stats buffer * - * @param soc - soc handle - * @param pdev_id - id of dp pdev object - * @param scn_stats_user - stats buffer - * @return - int + * Return: int */ static inline int cdp_host_get_radio_stats(ol_txrx_soc_handle soc, @@ -764,7 +766,7 @@ cdp_get_scan_spcl_vap_stats(ol_txrx_soc_handle soc, * @peer_mac: peer mac address * @delay_stats: user allocated buffer for peer delay stats * - * return: status Success/Failure + * Return: status Success/Failure */ static inline QDF_STATUS cdp_get_peer_delay_stats(ol_txrx_soc_handle soc, @@ -796,7 +798,7 @@ cdp_get_peer_delay_stats(ol_txrx_soc_handle soc, * @peer_mac: peer mac address * @tid_stats: user allocated buffer for tid_stats * - * return: status Success/Failure + * Return: status Success/Failure */ static inline QDF_STATUS cdp_get_peer_jitter_stats(ol_txrx_soc_handle soc, @@ -828,7 +830,7 @@ cdp_get_peer_jitter_stats(ol_txrx_soc_handle soc, * @pdev_id: id of dp_pdev handle * @stats: user allocated buffer for dp pdev mon stats * - * return: status Success/Failure + * Return: status Success/Failure */ static inline QDF_STATUS cdp_mon_pdev_get_rx_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, @@ -855,7 +857,7 @@ cdp_mon_pdev_get_rx_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, * @peer_mac: peer mac address * @stats: pointer to peer tx capture stats * - * return: status Success/Failure + * Return: status Success/Failure */ static inline QDF_STATUS cdp_get_peer_tx_capture_stats(ol_txrx_soc_handle soc, @@ -884,7 +886,7 @@ cdp_get_peer_tx_capture_stats(ol_txrx_soc_handle soc, * @pdev_id: id of dp_pdev handle * @stats: pointer to pdev tx capture stats * - * return: status Success/Failure + * Return: status Success/Failure */ static inline QDF_STATUS cdp_get_pdev_tx_capture_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, @@ -938,7 +940,7 @@ cdp_enable_disable_vdev_tx_delay_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, * @soc: soc handle * @vdev_id: vdev_id * - * Returns: 1 if enabled, 0 if disabled + * Return: 1 if enabled, 0 if disabled */ static inline uint8_t cdp_vdev_is_tx_delay_stats_enabled(ol_txrx_soc_handle soc, uint8_t vdev_id) @@ -982,12 +984,12 @@ cdp_get_pdev_tid_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, #ifdef WLAN_TELEMETRY_STATS_SUPPORT /** - * cdp_get_pdev_telemetry_stats(): function to get pdev telemetry stats + * cdp_get_pdev_telemetry_stats() - function to get pdev telemetry stats * @soc: soc handle * @pdev_id: pdev id * @stats: pointer to pdev telemetry stats * - * return: status + * Return: status */ static inline QDF_STATUS cdp_get_pdev_telemetry_stats( ol_txrx_soc_handle soc, @@ -1009,12 +1011,12 @@ static inline QDF_STATUS cdp_get_pdev_telemetry_stats( } /** - * cdp_get_peer_telemetry_stats(): function to get peer telemetry stats + * cdp_get_peer_telemetry_stats() - function to get peer telemetry stats * @soc: soc handle * @addr: peer address * @stats: pointer to peer telemetry stats * - * return: status + * Return: status */ static inline QDF_STATUS cdp_get_peer_telemetry_stats( ol_txrx_soc_handle soc, @@ -1120,12 +1122,12 @@ static inline QDF_STATUS cdp_update_pdev_chan_util_stats( #endif /** - * cdp_get_peer_extd_rate_link_stats(): cdp function to get peer + * cdp_get_peer_extd_rate_link_stats() - cdp function to get peer * extended rate and link stats * @soc: soc handle - * @addr: mac address + * @mac_addr: mac address * - * return: status + * Return: status */ static inline QDF_STATUS cdp_get_peer_extd_rate_link_stats( ol_txrx_soc_handle soc, @@ -1145,14 +1147,14 @@ static inline QDF_STATUS cdp_get_peer_extd_rate_link_stats( soc, mac_addr); } -/* - * cdp_get_pdev_obss_pd_stats(): function to get pdev obss stats +/** + * cdp_get_pdev_obss_pd_stats() - function to get pdev obss stats * @soc: soc handle * @pdev_id: pdev id * @stats: pointer to pdev obss stats * @req: Pointer to CDP TxRx stats * - * return: status + * Return: status */ static inline QDF_STATUS cdp_get_pdev_obss_pd_stats( ol_txrx_soc_handle soc, @@ -1175,13 +1177,13 @@ static inline QDF_STATUS cdp_get_pdev_obss_pd_stats( } /** - * cdp_clear_pdev_obss_pd_stats(): function to clear pdev obss stats + * cdp_clear_pdev_obss_pd_stats() - function to clear pdev obss stats * @soc: soc handle * @pdev_id: pdev id * @req: Pointer to CDP TxRx stats request. mac_id will be pre-filled * and should not be overwritten * - * return: status + * Return: status */ static inline QDF_STATUS cdp_clear_pdev_obss_pd_stats( ol_txrx_soc_handle soc, diff --git a/dp/inc/cdp_txrx_ipa.h b/dp/inc/cdp_txrx_ipa.h index f040b30381..0b8ee1f0f5 100644 --- a/dp/inc/cdp_txrx_ipa.h +++ b/dp/inc/cdp_txrx_ipa.h @@ -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 @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_ipa.h - * @brief Define the host data path IP Acceleraor API functions + * DOC: cdp_txrx_ipa.h + * Define the host data path IP Acceleraor API functions */ #ifndef _CDP_TXRX_IPA_H_ #define _CDP_TXRX_IPA_H_ @@ -36,8 +36,8 @@ /** * cdp_ipa_get_resource() - Get allocated WLAN resources for IPA data path - * @soc - data path soc handle - * @pdev_id - device instance id + * @soc: data path soc handle + * @pdev_id: device instance id * * Get allocated WLAN resources for IPA data path * @@ -60,8 +60,8 @@ cdp_ipa_get_resource(ol_txrx_soc_handle soc, uint8_t pdev_id) /** * cdp_ipa_set_doorbell_paddr() - give IPA db paddr to FW - * @soc - data path soc handle - * @pdev_id - device instance id + * @soc: data path soc handle + * @pdev_id: device instance id * * give IPA db paddr to FW * @@ -84,8 +84,8 @@ cdp_ipa_set_doorbell_paddr(ol_txrx_soc_handle soc, uint8_t pdev_id) /** * cdp_ipa_iounmap_doorbell_vaddr() - unmap IPA RX db vaddr - * @soc - data path soc handle - * @pdev_id - device instance id + * @soc: data path soc handle + * @pdev_id: device instance id * * Unmap IPA RX db vaddr * @@ -109,10 +109,10 @@ cdp_ipa_iounmap_doorbell_vaddr(ol_txrx_soc_handle soc, uint8_t pdev_id) /** * cdp_ipa_set_active() - activate/de-ctivate IPA offload path - * @soc - data path soc handle - * @pdev_id - device instance id - * @uc_active - activate or de-activate - * @is_tx - toggle tx or rx data path + * @soc: data path soc handle + * @pdev_id: device instance id + * @uc_active: activate or de-activate + * @is_tx: toggle tx or rx data path * * activate/de-ctivate IPA offload path * @@ -137,9 +137,9 @@ cdp_ipa_set_active(ol_txrx_soc_handle soc, uint8_t pdev_id, bool uc_active, /** * cdp_ipa_op_response() - event handler from FW - * @soc - data path soc handle - * @pdev_id - device instance id - * @op_msg - event contents from firmware + * @soc: data path soc handle + * @pdev_id: device instance id + * @op_msg: event contents from firmware * * event handler from FW * @@ -162,10 +162,10 @@ cdp_ipa_op_response(ol_txrx_soc_handle soc, uint8_t pdev_id, uint8_t *op_msg) /** * cdp_ipa_register_op_cb() - register event handler function pointer - * @soc - data path soc handle - * @pdev_id - device instance id - * @op_cb - event handler callback function pointer - * @usr_ctxt - user context to registered + * @soc: data path soc handle + * @pdev_id: device instance id + * @op_cb: event handler callback function pointer + * @usr_ctxt: user context to registered * * register event handler function pointer * @@ -190,8 +190,8 @@ cdp_ipa_register_op_cb(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_ipa_deregister_op_cb() - deregister event handler function pointer - * @soc - data path soc handle - * @pdev_id - device instance id + * @soc: data path soc handle + * @pdev_id: device instance id * * Deregister event handler function pointer from pdev * @@ -212,8 +212,8 @@ void cdp_ipa_deregister_op_cb(ol_txrx_soc_handle soc, uint8_t pdev_id) /** * cdp_ipa_get_stat() - get IPA data path stats from FW - * @soc - data path soc handle - * @pdev_id - device instance id + * @soc: data path soc handle + * @pdev_id: device instance id * * get IPA data path stats from FW async * @@ -235,8 +235,8 @@ cdp_ipa_get_stat(ol_txrx_soc_handle soc, uint8_t pdev_id) } /** - * cdp_tx_send_ipa_data_frame() - send IPA data frame - * @soc - data path soc handle + * cdp_ipa_tx_send_data_frame() - send IPA data frame + * @soc: data path soc handle * @vdev_id: vdev id * @skb: skb * @@ -260,7 +260,7 @@ static inline qdf_nbuf_t cdp_ipa_tx_send_data_frame(ol_txrx_soc_handle soc, /** * cdp_ipa_set_uc_tx_partition_base() - set tx packet partition base - * @soc - data path soc handle + * @soc: data path soc handle * @cfg_pdev: physical device instance config * @value: partition base value * @@ -286,7 +286,7 @@ cdp_ipa_set_uc_tx_partition_base(ol_txrx_soc_handle soc, #ifdef FEATURE_METERING /** * cdp_ipa_uc_get_share_stats() - get Tx/Rx byte stats from FW - * @soc - data path soc handle + * @soc: data path soc handle * @pdev_id: physical device instance number * @value: reset stats * @@ -311,7 +311,7 @@ cdp_ipa_uc_get_share_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_ipa_uc_set_quota() - set quota limit to FW - * @soc - data path soc handle + * @soc: data path soc handle * @pdev_id: physical device instance number * @value: quota limit bytes * @@ -575,8 +575,8 @@ cdp_ipa_cleanup_iface(ol_txrx_soc_handle soc, char *ifname, /** * cdp_ipa_uc_enable_pipes() - Enable and resume traffic on Tx/Rx pipes - * @soc - data path soc handle - * @pdev_id - device instance id + * @soc: data path soc handle + * @pdev_id: device instance id * @hdl: IPA handle * * Return: QDF_STATUS @@ -598,9 +598,9 @@ cdp_ipa_enable_pipes(ol_txrx_soc_handle soc, uint8_t pdev_id, } /** - * cdp_ipa_uc_disable_pipes() - Suspend traffic and disable Tx/Rx pipes + * cdp_ipa_disable_pipes() - Suspend traffic and disable Tx/Rx pipes * @soc: data path soc handle - * @pdev_id - device instance id + * @pdev_id: device instance id * @hdl: IPA handle * * Return: QDF_STATUS @@ -768,7 +768,7 @@ cdp_ipa_ast_create(ol_txrx_soc_handle soc, qdf_ipa_ast_info_type_t *data) #endif /** - * cdp_ipa_update_peer_rx_stats - update peer rx stats + * cdp_ipa_update_peer_rx_stats() - update peer rx stats * @soc: data path soc handle * @vdev_id: vdev id * @peer_mac: Peer Mac Address diff --git a/dp/inc/cdp_txrx_me.h b/dp/inc/cdp_txrx_me.h index 743ccda395..b2df0f1405 100644 --- a/dp/inc/cdp_txrx_me.h +++ b/dp/inc/cdp_txrx_me.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,15 +18,14 @@ */ /** - * @file cdp_txrx_me.h - * @brief Define the host data path mcast enhance API functions + * DOC: cdp_txrx_me.h + * Define the host data path mcast enhance API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_ME_H_ #define _CDP_TXRX_ME_H_ #include -/* TODO: adf need to be replaced with qdf */ #include "cdp_txrx_handle.h" #include diff --git a/dp/inc/cdp_txrx_mesh_latency.h b/dp/inc/cdp_txrx_mesh_latency.h index 471a4519b6..91bca90ecd 100644 --- a/dp/inc/cdp_txrx_mesh_latency.h +++ b/dp/inc/cdp_txrx_mesh_latency.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_mesh_latency.h - * @brief Define the host data path MESH latency API functions + * DOC: cdp_txrx_mesh_latency.h + * Define the host data path MESH latency API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_MESH_LATENCY_H_ @@ -26,18 +27,20 @@ #include "cdp_txrx_handle.h" #ifdef WLAN_SUPPORT_MESH_LATENCY /** - * @brief find MSCS enabled peer for this mac address and validate priority - * @details - * This function updates per peer per TID mesh latency related parameters. + * cdp_mesh_latency_update_peer_parameter() - find MSCS enabled peer for this + * mac address and validate priority + * @soc: soc context + * @dest_mac: destination mac address + * @service_interval_dl: Service Interval per tid on DL + * @burst_size_dl: Burst size per tid on DL + * @service_interval_ul: Service Interval per tid on UL + * @burst_size_ul: Burst size per tid on UL + * @priority: user priority combination of tid and msdu queue + * @add_or_sub: indicates to add or subtract latency parameter * - * @param dest_mac - destination mac address - * @param service_interval_dl - Service Interval per tid on DL - * @param burst_size_dl - Burst size per tid on DL - * @param service_interval_ul - Service Interval per tid on UL - * @param burst_size_ul - Burst size per tid on UL - * @param priority - user priority combination of tid and msdu queue - * @add_or_sub - indicates to add or subtract latency parameter - * @return - 0 for non error case, -1 for failure + * This function updates per peer per TID mesh latency related parameters. + * + * Return: 0 for non error case, -1 for failure */ static inline QDF_STATUS cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc, diff --git a/dp/inc/cdp_txrx_misc.h b/dp/inc/cdp_txrx_misc.h index 9411fb460f..e51f775a55 100644 --- a/dp/inc/cdp_txrx_misc.h +++ b/dp/inc/cdp_txrx_misc.h @@ -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 @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_misc.h - * @brief Define the host data path miscellaneous API functions + * DOC: cdp_txrx_misc.h + * Define the host data path miscellaneous API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_MISC_H_ @@ -141,7 +141,7 @@ static inline QDF_STATUS cdp_data_stall_cb_register(ol_txrx_soc_handle soc, * cdp_data_stall_cb_deregister() - de-register data stall callback * @soc: data path soc handle * @pdev_id: id of data path pdev handle - * @cb - callback function + * @cb: callback function * * Return: QDF_STATUS_SUCCESS de-register success */ @@ -293,15 +293,13 @@ cdp_hl_tdls_flag_reset(ol_txrx_soc_handle soc, uint8_t vdev_id, bool flag) * @soc: data path soc handle * @vdev_id: id of vdev * - * Return virtual device operational mode + * Return: virtual device operational mode * op_mode_ap, * op_mode_ibss, * op_mode_sta, * op_mode_monitor, * op_mode_ocb, - * - * return interface id - * 0 unknown interface + * etc. */ static inline int cdp_get_opmode(ol_txrx_soc_handle soc, uint8_t vdev_id) @@ -320,12 +318,12 @@ cdp_get_opmode(ol_txrx_soc_handle soc, uint8_t vdev_id) /** * cdp_get_vdev_id() - get vdev id - * @soc - data path soc handle - * @vdev - virtual interface instance + * @soc: data path soc handle + * @vdev: virtual interface instance * * get virtual interface id * - * return interface id + * Return: interface id * 0 unknown interface */ static inline uint16_t @@ -344,10 +342,10 @@ cdp_get_vdev_id(ol_txrx_soc_handle soc, struct cdp_vdev *vdev) /** * cdp_get_tx_ack_stats() - get tx ack count for vdev - * @soc - data path soc handle - * @vdev_id - vdev id + * @soc: data path soc handle + * @vdev_id: vdev id * - * return tx ack count + * Return: tx ack count * 0 invalid count */ static inline uint32_t @@ -447,7 +445,7 @@ static inline void cdp_mark_first_wakeup_packet(ol_txrx_soc_handle soc, /** - * cds_update_mac_id() - update mac_id for vdev + * cdp_update_mac_id() - update mac_id for vdev * @psoc: data path soc handle * @vdev_id: vdev id * @mac_id: mac id @@ -494,7 +492,7 @@ static inline void cdp_flush_rx_frames(ol_txrx_soc_handle soc, uint8_t pdev_id, return; } -/* +/** * cdp_get_intra_bss_fwd_pkts_count() - to get the total tx and rx packets * that has been forwarded from txrx layer without going to upper layers. * @soc: Datapath soc handle @@ -692,8 +690,8 @@ typedef void (*rx_refill_thread_sched_cb)(ol_txrx_soc_handle soc); /** * cdp_register_rx_refill_thread_sched_handler() - API to register RX refill * thread schedule handler - * * @soc: soc handle + * @rx_sched_cb: Rx refill thread scheduler callback function * * Return: void */ @@ -712,7 +710,7 @@ cdp_register_rx_refill_thread_sched_handler(ol_txrx_soc_handle soc, /** * cdp_pdev_reset_driver_del_ack() - reset driver TCP delayed ack flag - * @soc: data path soc handle + * @psoc: data path soc handle * @pdev_id: pdev id * * Return: none @@ -733,7 +731,7 @@ static inline void cdp_pdev_reset_driver_del_ack(void *psoc, pdev_id); } -/* +/** * cdp_vdev_set_driver_del_ack_enable() - set driver delayed ack enabled flag * @soc: data path soc handle * @vdev_id: vdev id @@ -795,12 +793,12 @@ static inline void cdp_pdev_reset_bundle_require_flag(ol_txrx_soc_handle soc, } /** - * cdp_txrx_ext_stats_request(): request dp tx and rx extended stats + * cdp_txrx_ext_stats_request() - request dp tx and rx extended stats * @soc: soc handle * @pdev_id: pdev id * @req: stats request structure to fill * - * return: status + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_txrx_ext_stats_request(ol_txrx_soc_handle soc, uint8_t pdev_id, @@ -819,11 +817,11 @@ cdp_txrx_ext_stats_request(ol_txrx_soc_handle soc, uint8_t pdev_id, } /** - * cdp_request_rx_hw_stats(): request rx hw stats + * cdp_request_rx_hw_stats() - request rx hw stats * @soc: soc handle * @vdev_id: vdev id * - * return: none + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_request_rx_hw_stats(ol_txrx_soc_handle soc, uint8_t vdev_id) @@ -840,7 +838,7 @@ cdp_request_rx_hw_stats(ol_txrx_soc_handle soc, uint8_t vdev_id) } /** - * cdp_reset_rx_hw_ext_stats(): reset rx hw ext stats + * cdp_reset_rx_hw_ext_stats() - reset rx hw ext stats * @soc: soc handle * * Return: none @@ -863,7 +861,7 @@ cdp_reset_rx_hw_ext_stats(ol_txrx_soc_handle soc) * @vdev_id: vdev id * @action: Action to be performed (Add/Delete) * - * Returns: QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_vdev_inform_ll_conn(ol_txrx_soc_handle soc, uint8_t vdev_id, @@ -886,7 +884,7 @@ cdp_vdev_inform_ll_conn(ol_txrx_soc_handle soc, uint8_t vdev_id, * @soc: soc handle * @value: value (enable/disable) * - * Returns: QDF_STATUS + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_soc_set_swlm_enable(ol_txrx_soc_handle soc, uint8_t value) @@ -907,7 +905,7 @@ cdp_soc_set_swlm_enable(ol_txrx_soc_handle soc, uint8_t value) * enabled or not * @soc: soc handle * - * Returns: 1 if enabled, 0 if disabled + * Return: 1 if enabled, 0 if disabled */ static inline uint8_t cdp_soc_is_swlm_enabled(ol_txrx_soc_handle soc) @@ -996,7 +994,7 @@ cdp_set_peer_txq_flush_config(ol_txrx_soc_handle soc, uint8_t vdev_id, #endif /* WLAN_FEATURE_PEER_TXQ_FLUSH_CONF */ #ifdef FEATURE_RX_LINKSPEED_ROAM_TRIGGER /** - * cdp_set_bus_vote_lvl() - have a vote on bus bandwidth lvl + * cdp_set_bus_vote_lvl_high() - have a vote on bus bandwidth lvl * @soc: datapath soc handle * @high: whether TPUT level is high or not * @@ -1015,7 +1013,7 @@ cdp_set_bus_vote_lvl_high(ol_txrx_soc_handle soc, bool high) } /** - * cdp_get_bus_vote_lvl() - get bus bandwidth lvl from dp + * cdp_get_bus_lvl_high() - get high bus bandwidth lvl from dp * @soc: datapath soc handle * * Return: bool, whether TPUT level is high or not diff --git a/dp/inc/cdp_txrx_mob_def.h b/dp/inc/cdp_txrx_mob_def.h index 1de4829eb7..2bb290e067 100644 --- a/dp/inc/cdp_txrx_mob_def.h +++ b/dp/inc/cdp_txrx_mob_def.h @@ -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 @@ -77,6 +77,7 @@ /** * enum netif_action_type - Type of actions on netif queues + * @WLAN_NETIF_ACTION_TYPE_NONE: perform no action * @WLAN_STOP_ALL_NETIF_QUEUE: stop all netif queues * @WLAN_START_ALL_NETIF_QUEUE: start all netif queues * @WLAN_WAKE_ALL_NETIF_QUEUE: wake all netif queues @@ -88,8 +89,15 @@ * @WLAN_NETIF_CARRIER_OFF: off carrier * @WLAN_NETIF_PRIORITY_QUEUE_ON: start priority netif queues * @WLAN_NETIF_PRIORITY_QUEUE_OFF: stop priority netif queues + * @WLAN_NETIF_VO_QUEUE_ON: start voice queue + * @WLAN_NETIF_VO_QUEUE_OFF: stop voice queue + * @WLAN_NETIF_VI_QUEUE_ON: start video queue + * @WLAN_NETIF_VI_QUEUE_OFF: stop video queue + * @WLAN_NETIF_BE_BK_QUEUE_OFF: start best-effort & background queue + * @WLAN_NETIF_BE_BK_QUEUE_ON: stop best-effort & background queue * @WLAN_WAKE_NON_PRIORITY_QUEUE: wake non priority netif queues * @WLAN_STOP_NON_PRIORITY_QUEUE: stop non priority netif queues + * @WLAN_NETIF_ACTION_TYPE_MAX: Maximum action */ enum netif_action_type { WLAN_NETIF_ACTION_TYPE_NONE = 0, @@ -124,6 +132,12 @@ enum netif_action_type { * @WLAN_VDEV_STOP: because of vdev stop * @WLAN_PEER_UNAUTHORISED: because of peer is unauthorised * @WLAN_THERMAL_MITIGATION: because of thermal mitigation + * @WLAN_DATA_FLOW_CONTROL_PRIORITY: + * @WLAN_DATA_FLOW_CTRL_BE_BK: + * @WLAN_DATA_FLOW_CTRL_VI: + * @WLAN_DATA_FLOW_CTRL_VO: + * @WLAN_DATA_FLOW_CTRL_PRI: + * @WLAN_REASON_TYPE_MAX: maximum reason */ enum netif_reason_type { WLAN_CONTROL_PATH = 1, @@ -176,9 +190,15 @@ enum { }; /** - * @enum ol_tx_spec - * @brief indicate what non-standard transmission actions to apply - * @details + * enum ol_tx_spec - indicate what non-standard transmission actions to apply + * @OL_TX_SPEC_STD: do regular processing + * @OL_TX_SPEC_RAW: skip encap + A-MSDU aggr + * @OL_TX_SPEC_NO_AGGR: skip encap + all aggr + * @OL_TX_SPEC_NO_ENCRYPT: skip encap + encrypt + * @OL_TX_SPEC_TSO: TCP segmented + * @OL_TX_SPEC_NWIFI_NO_ENCRYPT: skip encrypt for nwifi + * @OL_TX_SPEC_NO_FREE: give to cb rather than free + * * Indicate one or more of the following: * - The tx frame already has a complete 802.11 header. * Thus, skip 802.3/native-WiFi to 802.11 header encapsulation and @@ -205,9 +225,7 @@ enum ol_tx_spec { }; /** - * @enum peer_debug_id_type: debug ids to track peer get_ref and release_ref - * @brief Unique peer debug IDs to track the callers. Each new usage can add to - * this enum list to create a new "PEER_DEBUG_ID_". + * enum peer_debug_id_type - debug ids to track peer get_ref and release_ref * @PEER_DEBUG_ID_OL_INTERNAL: debug id for OL internal usage * @PEER_DEBUG_ID_WMA_PKT_DROP: debug id for wma_is_pkt_drop_candidate API * @PEER_DEBUG_ID_WMA_ADDBA_REQ: debug id for ADDBA request @@ -220,8 +238,12 @@ enum ol_tx_spec { * @PEER_DEBUG_ID_OL_PEER_MAP:debug id for peer map/unmap * @PEER_DEBUG_ID_OL_PEER_ATTACH: debug id for peer attach/detach * @PEER_DEBUG_ID_OL_TXQ_VDEV_FL: debug id for vdev flush - * @PEER_DEBUG_ID_OL_HASH_ERS:debug id for peer find hash erase + * @PEER_DEBUG_ID_OL_HASH_ERS: debug id for peer find hash erase + * @PEER_DEBUG_ID_OL_UNMAP_TIMER_WORK: debug id for peer unmap timer work * @PEER_DEBUG_ID_MAX: debug id MAX + * + * Unique peer debug IDs to track the callers. Each new usage can add to + * this enum list to create a new "PEER_DEBUG_ID_". */ enum peer_debug_id_type { PEER_DEBUG_ID_OL_INTERNAL, @@ -308,44 +330,60 @@ struct ol_tx_sched_wrr_ac_specs_t { /** * struct txrx_pdev_cfg_param_t - configuration information * passed to the data path + * @is_full_reorder_offload: + * @is_uc_offload_enabled: IPA Micro controller data path offload enable flag + * @uc_tx_buffer_count: IPA Micro controller data path offload TX buffer count + * @uc_tx_buffer_size: IPA Micro controller data path offload TX buffer size + * @uc_rx_indication_ring_count: IPA Micro controller data path offload RX + * indication ring count + * @uc_tx_partition_base: IPA Micro controller data path offload TX partition + * base + * @ip_tcp_udp_checksum_offload: IP, TCP and UDP checksum offload + * @nan_ip_tcp_udp_checksum_offload: IP, TCP and UDP checksum offload for NAN + * Mode + * @p2p_ip_tcp_udp_checksum_offload: IP, TCP and UDP checksum offload for P2P + * Mod + * @legacy_mode_csum_disable: Checksum offload override flag for Legcay modes + * @enable_rxthread: Rx processing in thread from TXRX + * @ce_classify_enabled: CE classification enabled through INI + * @tx_flow_stop_queue_th: Threshold to stop queue in percentage + * @tx_flow_start_queue_offset: Start queue offset in percentage + * @del_ack_enable: enable the tcp delay ack feature in the driver + * @del_ack_timer_value: timeout if no more tcp ack frames, unit is ms + * @del_ack_pkt_count: the maximum number of replaced tcp ack frames + * @ac_specs: + * @gro_enable: + * @tso_enable: + * @lro_enable: + * @sg_enable: + * @enable_data_stall_detection: + * @enable_flow_steering: + * @disable_intra_bss_fwd: + * @bundle_timer_value: + * @bundle_size: + * @pktlog_buffer_size: */ struct txrx_pdev_cfg_param_t { uint8_t is_full_reorder_offload; - /* IPA Micro controller data path offload enable flag */ uint8_t is_uc_offload_enabled; - /* IPA Micro controller data path offload TX buffer count */ uint32_t uc_tx_buffer_count; - /* IPA Micro controller data path offload TX buffer size */ uint32_t uc_tx_buffer_size; - /* IPA Micro controller data path offload RX indication ring count */ uint32_t uc_rx_indication_ring_count; - /* IPA Micro controller data path offload TX partition base */ uint32_t uc_tx_partition_base; - /* IP, TCP and UDP checksum offload */ bool ip_tcp_udp_checksum_offload; - /* IP, TCP and UDP checksum offload for NAN Mode */ bool nan_ip_tcp_udp_checksum_offload; - /* IP, TCP and UDP checksum offload for P2P Mode*/ bool p2p_ip_tcp_udp_checksum_offload; - /* Checksum offload override flag for Legcay modes */ bool legacy_mode_csum_disable; - /* Rx processing in thread from TXRX */ bool enable_rxthread; - /* CE classification enabled through INI */ bool ce_classify_enabled; #if defined(QCA_LL_TX_FLOW_CONTROL_V2) || defined(QCA_LL_PDEV_TX_FLOW_CONTROL) - /* Threshold to stop queue in percentage */ uint32_t tx_flow_stop_queue_th; - /* Start queue offset in percentage */ uint32_t tx_flow_start_queue_offset; #endif #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK - /* enable the tcp delay ack feature in the driver */ bool del_ack_enable; - /* timeout if no more tcp ack frames, unit is ms */ uint16_t del_ack_timer_value; - /* the maximum number of replaced tcp ack frames */ uint16_t del_ack_pkt_count; #endif @@ -367,7 +405,20 @@ struct txrx_pdev_cfg_param_t { #ifdef IPA_OFFLOAD /** - * ol_txrx_ipa_resources - Resources needed for IPA + * struct ol_txrx_ipa_resources - Resources needed for IPA + * @ce_sr: + * @ce_sr_ring_size: + * @ce_reg_paddr: + * @tx_comp_ring: + * @tx_num_alloc_buffer: + * @rx_rdy_ring: + * @rx_proc_done_idx: + * @rx2_rdy_ring: + * @rx2_proc_done_idx: + * @tx_comp_doorbell_dmaaddr: IPA UC Tx Complete doorbell register paddr + * @rx_ready_doorbell_dmaaddr: IPA UC Rx Ready doorbell register paddr + * @tx_pipe_handle: + * @rx_pipe_handle: */ struct ol_txrx_ipa_resources { qdf_shared_mem_t *ce_sr; @@ -398,7 +449,7 @@ struct ol_txrx_ocb_chan_info { }; /** - * ol_mic_error_info - carries the information associated with + * struct ol_mic_error_info - carries the information associated with * a MIC error * @vdev_id: virtual device ID * @key_id: Key ID @@ -417,9 +468,10 @@ struct ol_mic_error_info { }; /** - * ol_error_info - carries the information associated with an + * struct ol_error_info - carries the information associated with an * error indicated by the firmware - * @mic_err: MIC error information + * @u: union of error information structs + * @u.mic_err: MIC error information */ struct ol_error_info { union { @@ -439,9 +491,12 @@ struct ol_txrx_ocb_set_chan { }; /** - * @brief Parameter type to pass WMM setting to ol_txrx_set_wmm_param - * @details - * The struct is used to specify information to update TX WMM scheduler. + * struct ol_tx_ac_param_t - WMM parameters + * @aifs: Arbitration Inter-Frame Space + * @cwmin: Minimum contention window size + * @cwmax: Maximum contention window size + * + * The struct is used to specify information to update TX WMM scheduler. */ struct ol_tx_ac_param_t { uint32_t aifs; @@ -490,14 +545,20 @@ struct ieee80211_delba_parameterset { } __packed; /** - * ol_txrx_vdev_peer_remove_cb - wma_remove_peer callback + * typedef ol_txrx_vdev_peer_remove_cb() - wma_remove_peer callback + * @handle: callback handle + * @bssid: BSSID + * @vdev_id: virtual device ID + * @peer: peer */ typedef void (*ol_txrx_vdev_peer_remove_cb)(void *handle, uint8_t *bssid, uint8_t vdev_id, void *peer); /** - * @typedef tx_pause_callback - * @brief OSIF function registered with the data path + * typedef tx_pause_callback() - OSIF function registered with the data path + * @vdev_id: virtual device id + * @action: tx pause action to take + * @reason: reason for the tx pause action */ typedef void (*tx_pause_callback)(uint8_t vdev_id, enum netif_action_type action, @@ -516,13 +577,13 @@ struct ol_rx_inv_peer_params { }; /** - * cdp_txrx_ext_stats: dp extended stats - * tx_msdu_enqueue: tx msdu queued to hw - * tx_msdu_overflow: tx msdu overflow - * rx_mpdu_received: rx mpdu processed by hw - * rx_mpdu_delivered: rx mpdu received from hw - * rx_mpdu_error: rx mpdu error count - * rx_mpdu_missed: rx mpdu missed by hw + * struct cdp_txrx_ext_stats: dp extended stats + * @tx_msdu_enqueue: tx msdu queued to hw + * @tx_msdu_overflow: tx msdu overflow + * @rx_mpdu_received: rx mpdu processed by hw + * @rx_mpdu_delivered: rx mpdu received from hw + * @rx_mpdu_error: rx mpdu error count + * @rx_mpdu_missed: rx mpdu missed by hw */ struct cdp_txrx_ext_stats { uint32_t tx_msdu_enqueue; diff --git a/dp/inc/cdp_txrx_mon.h b/dp/inc/cdp_txrx_mon.h index 8f06d99ec4..58ccec4f52 100644 --- a/dp/inc/cdp_txrx_mon.h +++ b/dp/inc/cdp_txrx_mon.h @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_mon.h - * @brief Define the monitor mode API functions + * DOC: cdp_txrx_mon.h + * Define the monitor mode API functions * called by the host control SW and the OS interface module */ @@ -70,12 +70,12 @@ cdp_deliver_tx_mgmt(ol_txrx_soc_handle soc, uint8_t pdev_id, } #ifdef QCA_SUPPORT_LITE_MONITOR -/* +/** * cdp_set_lite_mon_config() - Set lite monitor config/filter * - *@soc: dp soc handle - *@config: lite monitor config - *@pdev_id: pdev id + * @soc: dp soc handle + * @config: lite monitor config + * @pdev_id: pdev id * * This API is used to enable/disable lite monitor feature * @@ -100,12 +100,12 @@ cdp_set_lite_mon_config(ol_txrx_soc_handle soc, pdev_id); } -/* +/** * cdp_get_lite_mon_config() - Get lite monitor config * - *@soc: dp soc handle - *@config: lite monitor config - *@pdev_id: pdev id + * @soc: dp soc handle + * @config: lite monitor config + * @pdev_id: pdev id * * This API is used to get lite monitor feature config * @@ -130,12 +130,12 @@ cdp_get_lite_mon_config(ol_txrx_soc_handle soc, pdev_id); } -/* +/** * cdp_set_lite_mon_peer_config() - Set lite monitor peer config * - *@soc: dp soc handle - *@config: lite monitor peer config - *@pdev_id: pdev id + * @soc: dp soc handle + * @config: lite monitor peer config + * @pdev_id: pdev id * * This API is used to add/del lite monitor peers * @@ -160,12 +160,12 @@ cdp_set_lite_mon_peer_config(ol_txrx_soc_handle soc, pdev_id); } -/* +/** * cdp_get_lite_mon_peer_config() - Get lite monitor peer list * - *@soc: dp soc handle - *@info: lite monitor peer info - *@pdev_id: pdev id + * @soc: dp soc handle + * @info: lite monitor peer info + * @pdev_id: pdev id * * This API is used to get lite monitor peers * @@ -190,12 +190,12 @@ cdp_get_lite_mon_peer_config(ol_txrx_soc_handle soc, pdev_id); } -/* +/** * cdp_is_lite_mon_enabled() - Get lite monitor enable status * - *@soc: dp soc handle - *@pdev_id: pdev id - *@dir: direction tx/rx + * @soc: dp soc handle + * @pdev_id: pdev id + * @dir: direction tx/rx * * This API is used to get lite monitor enable status * @@ -249,7 +249,7 @@ cdp_get_lite_mon_legacy_feature_enabled(ol_txrx_soc_handle soc, #endif #ifdef QCA_RSSI_DB2DBM -/* +/** * cdp_set_params_rssi_dbm_conversion - Set the rssi dbm conversion params * into dp_pdev structure * @soc: soc txrx handler diff --git a/dp/inc/cdp_txrx_mon_struct.h b/dp/inc/cdp_txrx_mon_struct.h index 61632ad3b3..8b0fcee68c 100644 --- a/dp/inc/cdp_txrx_mon_struct.h +++ b/dp/inc/cdp_txrx_mon_struct.h @@ -17,9 +17,9 @@ * PERFORMANCE OF THIS SOFTWARE. */ - /** - * @file cdp_txrx_mon_struct.h - * @brief Define the monitor mode API structure +/** + * DOC: cdp_txrx_mon_struct.h + * Define the monitor mode API structure * shared by data path and the OS interface module */ @@ -44,7 +44,7 @@ #define CDP_LITE_MON_PEER_MAC_TYPE_CLIENT 2 /** - * enum cdp_lite_mon legacy_filter: legacy filters for tx/rx + * enum cdp_lite_mon_legacy_filter - legacy filters for tx/rx * @LEGACY_FILTER_DISABLED: No filter / filter disabled * @LEGACY_FILTER_MCOPY: M_Copy filter * @LEGACY_FILTER_TX_CAPTURE: Tx_Capture filter @@ -61,31 +61,37 @@ enum cdp_lite_mon_legacy_filter { LEGACY_FILTER_ADV_MON_FILTER = 4, }; -/* lite mon frame levels */ +/** + * enum cdp_lite_mon_level- lite mon frame levels + * @CDP_LITE_MON_LEVEL_INVALID: level invalid + * @CDP_LITE_MON_LEVEL_MSDU: level msdu + * @CDP_LITE_MON_LEVEL_MPDU: level mpdu + * @CDP_LITE_MON_LEVEL_PPDU: level ppdu + */ enum cdp_lite_mon_level { - /* level invalid */ CDP_LITE_MON_LEVEL_INVALID = 0, - /* level msdu */ CDP_LITE_MON_LEVEL_MSDU = 1, - /* level mpdu */ CDP_LITE_MON_LEVEL_MPDU = 2, - /* level ppdu */ CDP_LITE_MON_LEVEL_PPDU = 3, }; -/* lite mon peer action */ +/** + * enum cdp_lite_mon_peer_action- lite mon peer action + * @CDP_LITE_MON_PEER_ADD: peer add + * @CDP_LITE_MON_PEER_REMOVE: peer remove + */ enum cdp_lite_mon_peer_action { - /* peer add */ CDP_LITE_MON_PEER_ADD = 0, - /* peer remove */ CDP_LITE_MON_PEER_REMOVE = 1, }; -/* lite mon config direction */ +/** + * enum cdp_lite_mon_direction - lite mon config direction + * @CDP_LITE_MON_DIRECTION_RX: lite mon config direction rx + * @CDP_LITE_MON_DIRECTION_TX: lite mon config direction tx + */ enum cdp_lite_mon_direction { - /* lite mon config direction rx */ CDP_LITE_MON_DIRECTION_RX = 1, - /* lite mon config direction tx */ CDP_LITE_MON_DIRECTION_TX = 2, }; #endif @@ -309,7 +315,7 @@ enum { }; #ifdef QCA_UNDECODED_METADATA_SUPPORT -/** +/* * enum cdp_mon_phyrx_abort_reason_code: Phy err code to store the reason * why PHY generated an abort request. */ @@ -400,8 +406,13 @@ enum cdp_mon_phyrx_abort_reason_code { * @status_ppdu_done: status ring PPDU done TLV count * @dest_ppdu_done: destination ring PPDU count * @dest_mpdu_done: destination ring MPDU count + * @dest_mpdu_drop: * @dup_mon_linkdesc_cnt: duplicate link descriptor indications from HW * @dup_mon_buf_cnt: duplicate buffer indications from HW + * @stat_ring_ppdu_id_hist: + * @dest_ring_ppdu_id_hist: + * @ppdu_id_hist_idx: + * @mon_rx_dest_stuck: * @tlv_tag_status_err: status not correct in the tlv tag * @status_buf_done_war: Number of status ring buffers for which DMA not done * WAR is applied. @@ -415,6 +426,7 @@ enum cdp_mon_phyrx_abort_reason_code { * @dest_ppdu_drop: Number of ppdu dropped from monitor destination ring * @mon_link_desc_invalid: msdu link desc invalid count * @mon_rx_desc_invalid: rx_desc invalid count + * @mon_nbuf_sanity_err: * @mpdu_ppdu_id_mismatch_drop: mpdu's ppdu id did not match destination * ring ppdu id * @mpdu_decap_type_invalid: mpdu decap type invalid count @@ -424,7 +436,7 @@ enum cdp_mon_phyrx_abort_reason_code { * @parent_buf_alloc: Numder of parent nbuf allocated for MPDU * @parent_buf_free: Number of parent nbuf freed * @pkt_buf_count: Number of packet buffers received - * @mpdus_to_stack: Number of MPDUs delivered to stack + * @mpdus_buf_to_stack: Number of MPDUs delivered to stack * @status_buf_count: Number of status buffer received * @empty_desc_ppdu: Number of empty desc received * @total_ppdu_info_enq: Number of PPDUs enqueued to wq @@ -498,7 +510,7 @@ struct cdp_pdev_mon_stats { #ifdef QCA_SUPPORT_LITE_MONITOR /** - * cdp_lite_mon_filter_config - lite mon set/get filter config + * struct cdp_lite_mon_filter_config - lite mon set/get filter config * @direction: direction tx/rx * @disable: disables lite mon * @level: MSDU/MPDU/PPDU levels @@ -526,7 +538,7 @@ struct cdp_lite_mon_filter_config { }; /** - * cdp_lite_mon_peer_config - lite mon set peer config + * struct cdp_lite_mon_peer_config - lite mon set peer config * @direction: direction tx/rx * @action: add/del * @vdev_id: peer vdev id @@ -540,7 +552,7 @@ struct cdp_lite_mon_peer_config { }; /** - * cdp_lite_mon_peer_info - lite mon get peer config + * struct cdp_lite_mon_peer_info - lite mon get peer config * @direction: direction tx/rx * @count: no of peers * @mac: peer macs @@ -567,7 +579,8 @@ enum cdp_channel_width { CHAN_WIDTH_MAX, }; -/* struct cdp_rssi_temp_off_param_dp +/** + * struct cdp_rssi_temp_off_param_dp * @rssi_temp_offset: Temperature based rssi offset , send every 30 secs */ @@ -575,14 +588,14 @@ struct cdp_rssi_temp_off_param_dp { int32_t rssi_temp_offset; }; -/* +/** * struct cdp_rssi_dbm_conv_param_dp * @curr_bw: Current bandwidth * @curr_rx_chainmask: Current rx chainmask * @xbar_config: 4 bytes, used for BB to RF Chain mapping * @xlna_bypass_offset: Low noise amplifier bypass offset * @xlna_bypass_threshold: Low noise amplifier bypass threshold - * @nfHwDbm: HW noise floor in dBm per chain, per 20MHz subband + * @nf_hw_dbm: HW noise floor in dBm per chain, per 20MHz subband */ struct cdp_rssi_dbm_conv_param_dp { uint32_t curr_bw; @@ -593,7 +606,7 @@ struct cdp_rssi_dbm_conv_param_dp { int8_t nf_hw_dbm[CDP_MAX_NUM_ANTENNA][CDP_MAX_20MHZ_SEGS]; }; -/* +/** * struct cdp_rssi_db2dbm_param_dp * @pdev_id: pdev_id * @rssi_temp_off_present: to check temp offset values present or not @@ -610,8 +623,8 @@ struct cdp_rssi_db2dbm_param_dp { struct cdp_rssi_dbm_conv_param_dp rssi_dbm_param; }; -/* - * enum cdp_mon_reap_source: trigger source of the reap timer of +/** + * enum cdp_mon_reap_source - trigger source of the reap timer of * monitor status ring * @CDP_MON_REAP_SOURCE_PKTLOG: pktlog * @CDP_MON_REAP_SOURCE_CFR: CFR diff --git a/dp/inc/cdp_txrx_mscs.h b/dp/inc/cdp_txrx_mscs.h index 55650ff92d..53906a00d5 100644 --- a/dp/inc/cdp_txrx_mscs.h +++ b/dp/inc/cdp_txrx_mscs.h @@ -1,6 +1,6 @@ /* * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_mscs.h - * @brief Define the host data path MSCS API functions + * DOC: cdp_txrx_mscs.h + * Define the host data path MSCS API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_MSCS_H_ @@ -27,15 +27,17 @@ #include "cdp_txrx_handle.h" #ifdef WLAN_SUPPORT_MSCS /** - * @brief find MSCS enabled peer for this mac address and validate priority - * @details - * This function checks if there is a peer for this mac address with MSCS - * enabled flag set and nbuf priority is valid from user priority bitmap. + * cdp_mscs_peer_lookup_n_get_priority() - find MSCS enabled peer for this mac + * address and validate priority + * @soc: SoC handle + * @src_mac: source mac address of peer + * @dst_mac: destination mac address of peer + * @nbuf: nbuf pointer * - * @param src_mac - source mac address of peer - * @param dst_mac - destination mac address of peer - * @param nbuf - nbuf pointer - * @return - 0 for non error case, 1 for failure + * This function checks if there is a peer for this mac address with MSCS + * enabled flag set and nbuf priority is valid from user priority bitmap. + * + * Return: 0 for non error case, 1 for failure */ static inline int cdp_mscs_peer_lookup_n_get_priority(ol_txrx_soc_handle soc, diff --git a/dp/inc/cdp_txrx_ocb.h b/dp/inc/cdp_txrx_ocb.h index abab53af19..22529e0c19 100644 --- a/dp/inc/cdp_txrx_ocb.h +++ b/dp/inc/cdp_txrx_ocb.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -22,7 +23,7 @@ #include "cdp_txrx_handle.h" /** * cdp_set_ocb_chan_info() - set OCB channel info to vdev. - * @soc - data path soc handle + * @soc: data path soc handle * @vdev_id: vdev_id corresponding to vdev start * @ocb_set_chan: OCB channel information to be set in vdev. * @@ -45,7 +46,7 @@ cdp_set_ocb_chan_info(ol_txrx_soc_handle soc, uint8_t vdev_id, } /** * cdp_get_ocb_chan_info() - return handle to vdev ocb_channel_info - * @soc - data path soc handle + * @soc: data path soc handle * @vdev_id: vdev_id corresponding to vdev start * * Return: handle to struct ol_txrx_ocb_chan_info diff --git a/dp/inc/cdp_txrx_ops.h b/dp/inc/cdp_txrx_ops.h index fffb472b7b..1c9829c10f 100644 --- a/dp/inc/cdp_txrx_ops.h +++ b/dp/inc/cdp_txrx_ops.h @@ -16,9 +16,10 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ + /** - * @file cdp_txrx_ops.h - * @brief Define the host data path converged API functions + * DOC: cdp_txrx_ops.h + * Define the host data path converged API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_CMN_OPS_H_ @@ -41,14 +42,14 @@ #endif #endif -/** +/* * bitmap values to indicate special handling of peer_delete */ #define CDP_PEER_DELETE_NO_SPECIAL 0 #define CDP_PEER_DO_NOT_START_UNMAP_TIMER 1 struct hif_opaque_softc; -/** +/* * cdp_ctrl_mlo_mgr - opaque handle for mlo manager context */ struct cdp_ctrl_mlo_mgr; @@ -66,19 +67,15 @@ enum cdp_nac_param_cmd { /** * enum cdp_tx_filter_action - TX peer filtering action - * @CDP_TX_FILTER_ACTION_ADD: add peer - * @CDP_TX_FILTER_ACTION_DEL: delete peer - * - * whether add or delete + * @CDP_TX_FILTER_ACTION_ADD: add peer mac address + * @CDP_TX_FILTER_ACTION_DEL: delete peer mac address + * @CDP_TX_FILTER_ACTION_ENABLE_FILTERING: Enable Tx peer filtering + * @CDP_TX_FILTER_ACTION_CLEAR_FILTERING: Clear Tx peer filtering */ enum cdp_tx_filter_action { - /* add peer mac address*/ CDP_TX_FILTER_ACTION_ADD = 1, - /* delete peer mac address */ CDP_TX_FILTER_ACTION_DEL, - /* Enable Tx peer filtering */ CDP_TX_FILTER_ACTION_ENABLE_FILTERING, - /* Clear Tx peer filtering */ CDP_TX_FILTER_ACTION_CLEAR_FILTERING, }; @@ -133,6 +130,7 @@ enum vdev_ll_conn_actions { * @CDP_PEER_TXQ_FLUSH_POLICY_NONE: No flush policy configured * @CDP_PEER_TXQ_FLUSH_POLICY_IMMEDIATE: Flush peer TX TID queue(s) immediately * @CDP_PEER_TXQ_FLUSH_POLICY_TWT_SP_END: Flush peer TX TID queue(s) at SP end + * @CDP_PEER_TXQ_FLUSH_POLICY_INVALID: Invalid policy * * This is used to map the 'flush_policy' in WMI_PEER_FLUSH_POLICY_CMDID */ @@ -145,10 +143,13 @@ enum cdp_peer_txq_flush_policy { CDP_PEER_TXQ_FLUSH_POLICY_INVALID, }; +#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) /** * struct cdp_mlo_ops - MLO ops for multichip * @mlo_soc_setup: setup DP mlo for SOC * @mlo_soc_teardown: teardown DP mlo for SOC + * @update_mlo_ptnr_list: + * @clear_mlo_ptnr_list: * @mlo_setup_complete: indication to DP that all SOCs mlo is setup * @mlo_update_delta_tsf2: update delta tsf2 for link * @mlo_update_delta_tqm: update delta tqm for SOC @@ -156,7 +157,6 @@ enum cdp_peer_txq_flush_policy { * @mlo_ctxt_attach: Attach DP MLO context * @mlo_ctxt_detach: Detach DP MLO context */ -#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) struct cdp_mlo_ops { void (*mlo_soc_setup)(struct cdp_soc_t *cdp_soc, struct cdp_mlo_ctxt *mlo_ctxt); @@ -972,10 +972,19 @@ struct cdp_me_ops { * @txrx_deliver_tx_mgmt: deliver mgmt tx frame * @txrx_set_advance_monitor_filter: set advanced monitor mode * @config_full_mon_mode: configure full monitor mode + * @soc_config_full_mon_mode: pdev configure full monitor mode + * @get_mon_pdev_rx_stats: Get monitor mode pdev stats * @txrx_enable_mon_reap_timer: Enable/Disable reap timer of monitor status ring + * @txrx_set_lite_mon_config: set lite monitor config + * @txrx_get_lite_mon_config: get lite monitor config + * @txrx_set_lite_mon_peer_config: set lite monitor peer config + * @txrx_get_lite_mon_peer_config: get lite monitor peer list + * @txrx_is_lite_mon_enabled: get lite monitor enable/disable status * @txrx_get_lite_mon_legacy_feature_enabled: returns the legacy filter enabled + * @txrx_set_mon_pdev_params_rssi_dbm_conv: To set RSSI dbm conversion params + * in monitor pdev * @txrx_update_pdev_mon_telemetry_airtime_stats: update telemetry airtime - * stats in monitor pdev + * stats in monitor pdev */ struct cdp_mon_ops { @@ -985,57 +994,48 @@ struct cdp_mon_ops { QDF_STATUS (*txrx_deliver_tx_mgmt) (struct cdp_soc_t *cdp_soc, uint8_t pdev_id, qdf_nbuf_t nbuf); - /* HK advance monitor filter support */ QDF_STATUS (*txrx_set_advance_monitor_filter) (struct cdp_soc_t *soc_hdl, uint8_t pdev_id, struct cdp_monitor_filter *filter_val); - /* Configure full monitor mode */ QDF_STATUS (*config_full_mon_mode)(struct cdp_soc_t *soc, uint8_t val); QDF_STATUS (*soc_config_full_mon_mode)(struct cdp_pdev *cdp_pdev, uint8_t val); - /* Get monitor mode pdev stats */ QDF_STATUS (*get_mon_pdev_rx_stats)(struct cdp_soc_t *soc, uint8_t pdev_id, struct cdp_pdev_mon_stats *stats); - /* Configure monitor status srng reap timer */ bool (*txrx_enable_mon_reap_timer)(struct cdp_soc_t *soc_hdl, enum cdp_mon_reap_source source, bool enable); #ifdef QCA_SUPPORT_LITE_MONITOR - /* set lite monitor config */ QDF_STATUS (*txrx_set_lite_mon_config)( struct cdp_soc_t *soc, struct cdp_lite_mon_filter_config *mon_config, uint8_t pdev_id); - /* get lite monitor config */ QDF_STATUS (*txrx_get_lite_mon_config)( struct cdp_soc_t *soc, struct cdp_lite_mon_filter_config *mon_config, uint8_t pdev_id); - /* set lite monitor peer config */ QDF_STATUS (*txrx_set_lite_mon_peer_config)( struct cdp_soc_t *soc, struct cdp_lite_mon_peer_config *peer_config, uint8_t pdev_id); - /* get lite monitor peer list */ QDF_STATUS (*txrx_get_lite_mon_peer_config)( struct cdp_soc_t *soc, struct cdp_lite_mon_peer_info *info, uint8_t pdev_id); - /* get lite monitor enable/disable status */ int (*txrx_is_lite_mon_enabled)(struct cdp_soc_t *soc, uint8_t pdev_id, @@ -1047,19 +1047,70 @@ struct cdp_mon_ops { uint8_t pdev_id, uint8_t direction); #endif - /*To set RSSI dbm conversion params in monitor pdev */ QDF_STATUS (*txrx_set_mon_pdev_params_rssi_dbm_conv) (struct cdp_soc_t *soc, struct cdp_rssi_db2dbm_param_dp *params); #ifdef WLAN_TELEMETRY_STATS_SUPPORT - /*To update telemetry airtime stats in monitor pdev */ QDF_STATUS (*txrx_update_pdev_mon_telemetry_airtime_stats) (struct cdp_soc_t *soc, uint8_t pdev_id); #endif }; +/** + * struct cdp_host_stats_ops - statistic operations + * @txrx_host_stats_get: + * @txrx_host_stats_clr: + * @txrx_host_ce_stats: + * @txrx_stats_publish: + * @txrx_enable_enhanced_stats: Enable enhanced stats functionality. + * @txrx_disable_enhanced_stats: Disable enhanced stats functionality. + * @tx_print_tso_stats: + * @tx_rst_tso_stats: + * @tx_print_sg_stats: + * @tx_rst_sg_stats: + * @print_rx_cksum_stats: + * @rst_rx_cksum_stats: + * @txrx_host_me_stats: + * @txrx_per_peer_stats: + * @txrx_host_msdu_ttl_stats: + * @ol_txrx_update_peer_stats: + * @get_fw_peer_stats: + * @get_htt_stats: + * @txrx_update_pdev_stats: + * @txrx_get_peer_stats_param: + * @txrx_get_peer_stats: + * @txrx_get_soc_stats: + * @txrx_reset_peer_ald_stats: + * @txrx_reset_peer_stats: + * @txrx_get_vdev_stats: + * @txrx_process_wmi_host_vdev_stats: + * @txrx_get_vdev_extd_stats: + * @txrx_update_vdev_stats: + * @txrx_get_radio_stats: + * @txrx_get_pdev_stats: + * @txrx_get_ratekbps: + * @txrx_update_peer_stats: + * @txrx_get_scan_spcl_vap_stats: + * @txrx_get_peer_delay_stats: + * @txrx_get_peer_jitter_stats: + * @txrx_alloc_vdev_stats_id: + * @txrx_reset_vdev_stats_id: + * @get_peer_tx_capture_stats: + * @get_pdev_tx_capture_stats: + * @enable_disable_vdev_tx_delay_stats: + * @is_tx_delay_stats_enabled: + * @txrx_get_pdev_tid_stats: + * @txrx_pdev_telemetry_stats: + * @txrx_peer_telemetry_stats: + * @txrx_pdev_deter_stats: + * @txrx_peer_deter_stats: + * @txrx_update_pdev_chan_util_stats: + * @txrx_get_peer_extd_rate_link_stats: + * @get_pdev_obss_stats: + * @clear_pdev_obss_pd_stats: + */ struct cdp_host_stats_ops { int (*txrx_host_stats_get)(struct cdp_soc_t *soc, uint8_t vdev_id, struct ol_txrx_stats_req *req); @@ -1072,23 +1123,8 @@ struct cdp_host_stats_ops { int (*txrx_stats_publish)(struct cdp_soc_t *soc, uint8_t pdev_id, struct cdp_stats_extd *buf); - /** - * @brief Enable enhanced stats functionality. - * - * @param soc - the soc handle - * @param pdev_id - pdev_id of pdev - * @return - QDF_STATUS - */ QDF_STATUS (*txrx_enable_enhanced_stats)(struct cdp_soc_t *soc, uint8_t pdev_id); - - /** - * @brief Disable enhanced stats functionality. - * - * @param soc - the soc handle - * @param pdev_id - pdev_id of pdev - * @return - QDF_STATUS - */ QDF_STATUS (*txrx_disable_enhanced_stats)(struct cdp_soc_t *soc, uint8_t pdev_id); @@ -1273,6 +1309,12 @@ struct cdp_host_stats_ops { struct cdp_txrx_stats_req *req); }; +/** + * struct cdp_wds_ops - WDS operations + * @txrx_set_wds_rx_policy: + * @txrx_wds_peer_tx_policy_update: + * @vdev_set_wds: + */ struct cdp_wds_ops { QDF_STATUS (*txrx_set_wds_rx_policy)(struct cdp_soc_t *soc, uint8_t vdev_id, @@ -1285,6 +1327,10 @@ struct cdp_wds_ops { uint32_t val); }; +/** + * struct cdp_raw_ops - raw packet operations + * @rsim_get_astentry: + */ struct cdp_raw_ops { QDF_STATUS (*rsim_get_astentry)(struct cdp_soc_t *soc, uint8_t vdev_id, @@ -1292,6 +1338,10 @@ struct cdp_raw_ops { }; #ifdef PEER_FLOW_CONTROL +/** + * struct cdp_pflow_ops - peer flow control operations + * @pflow_update_pdev_params: + */ struct cdp_pflow_ops { uint32_t (*pflow_update_pdev_params)(struct cdp_soc_t *soc, uint8_t pdev_id, @@ -1584,6 +1634,7 @@ void (*peer_send_wds_disconnect)(struct cdp_ctrl_objmgr_psoc *psoc, * @hl_tdls_flag_reset: reset tdls flag for vdev * @tx_non_std: Allow the control-path SW to send data frames * @get_vdev_id: get vdev id + * @get_tx_ack_stats: * @set_wisa_mode: set wisa mode for a vdev * @txrx_data_stall_cb_register: register data stall callback * @txrx_data_stall_cb_deregister: deregister data stall callback @@ -1592,31 +1643,37 @@ void (*peer_send_wds_disconnect)(struct cdp_ctrl_objmgr_psoc *psoc, * @runtime_resume: ensure TXRX is ready to runtime resume * @get_opmode: get operation mode of vdev * @mark_first_wakeup_packet: set flag to indicate that fw is compatible for - marking first packet after wow wakeup + * marking first packet after wow wakeup * @update_mac_id: update mac_id for vdev * @flush_rx_frames: flush rx frames on the queue * @get_intra_bss_fwd_pkts_count: to get the total tx and rx packets that - has been forwarded from txrx layer - without going to upper layers + * has been forwarded from txrx layer + * without going to upper layers * @pkt_log_init: handler to initialize packet log * @pkt_log_con_service: handler to connect packet log service + * @pkt_log_exit: * @get_num_rx_contexts: handler to get number of RX contexts - * @register_packetdump_cb: register callback for different pktlog - * @unregister_packetdump_cb: unregister callback for different pktlog + * @register_pktdump_cb: register callback for different pktlog + * @unregister_pktdump_cb: unregister callback for different pktlog * @pdev_reset_driver_del_ack: reset driver delayed ack enabled flag * @vdev_set_driver_del_ack_enable: set driver delayed ack enabled flag * + * @vdev_set_bundle_require_flag: + * @pdev_reset_bundle_require_flag: + * @txrx_ext_stats_request: + * @request_rx_hw_stats: + * @reset_rx_hw_ext_stats: * @vdev_inform_ll_conn: inform DP to add/delete a latency critical connection * for this particular vdev. * @set_swlm_enable: Enable or Disable Software Latency Manager. * @is_swlm_enabled: Check if Software latency manager is enabled or not. * @display_txrx_hw_info: Dump the DP rings info - * @set_tx_flush_pending: Configures the ac/tid to be flushed and policy - * to flush. - * - * set_bus_vote_lvl_high: The bus lvl is set to high or low based on tput - * get_bus_vote_lvl_high: Get bus lvl to determine whether or not get - * rx rate stats + * @get_tx_rings_grp_bitmap: + * @set_peer_txq_flush_config: Configures the ac/tid to be flushed and policy + * to flush. + * @set_bus_vote_lvl_high: The bus lvl is set to high or low based on tput + * @get_bus_vote_lvl_high: Get bus lvl to determine whether or not get + * rx rate stats * * Function pointers for miscellaneous soc/pdev/vdev related operations. */ @@ -1739,19 +1796,27 @@ struct cdp_ocb_ops { * struct cdp_peer_ops - mcl peer related ops * @register_peer: * @clear_peer: - * @find_peer_exist - * @find_peer_exist_on_vdev - * @find_peer_exist_on_other_vdev + * @find_peer_exist: + * @find_peer_exist_on_vdev: + * @find_peer_exist_on_other_vdev: * @peer_state_update: * @get_vdevid: + * @get_vdev_by_peer_addr: * @register_ocb_peer: * @peer_get_peer_mac_addr: * @get_peer_state: + * @get_vdev_for_peer: * @update_ibss_add_peer_num_of_vdev: + * @remove_peers_for_vdev: + * @remove_peers_for_vdev_no_lock: * @copy_mac_addr_raw: * @add_last_real_peer: * @is_vdev_restore_last_peer: * @update_last_real_peer: + * @peer_detach_force_delete: + * @set_tdls_offchan_enabled: + * @set_peer_as_tdls_peer: + * @peer_flush_frags: */ struct cdp_peer_ops { QDF_STATUS (*register_peer)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, @@ -1979,8 +2044,23 @@ struct cdp_throttle_ops { * @ipa_set_active: * @ipa_op_response: * @ipa_register_op_cb: + * @ipa_deregister_op_cb: * @ipa_get_stat: * @ipa_tx_data_frame: + * @ipa_set_uc_tx_partition_base: + * @ipa_update_peer_rx_stats: + * @ipa_uc_get_share_stats: + * @ipa_uc_set_quota: + * @ipa_enable_autonomy: + * @ipa_disable_autonomy: + * @ipa_setup: + * @ipa_cleanup: + * @ipa_setup_iface: + * @ipa_cleanup_iface: + * @ipa_enable_pipes: + * @ipa_disable_pipes: + * @ipa_set_perf_level: + * @ipa_rx_intrabss_fwd: * @ipa_tx_buf_smmu_mapping: Create SMMU mappings for Tx * @ipa_tx_buf_smmu_unmapping: Release SMMU mappings for Tx * buffers to IPA diff --git a/dp/inc/cdp_txrx_peer_ops.h b/dp/inc/cdp_txrx_peer_ops.h index 2a39439202..4364aeb8d6 100644 --- a/dp/inc/cdp_txrx_peer_ops.h +++ b/dp/inc/cdp_txrx_peer_ops.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_peer.h - * @brief Define the host data path peer API functions + * DOC: cdp_txrx_peer_ops.h + * Define the host data path peer API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_PEER_H_ @@ -28,9 +29,9 @@ /** * cdp_peer_register() - Register peer into physical device - * @soc - data path soc handle - * @pdev_id - data path device instance id - * @sta_desc - peer description + * @soc: data path soc handle + * @pdev_id: data path device instance id + * @sta_desc: peer description * * Register peer into physical device * @@ -56,9 +57,9 @@ cdp_peer_register(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_clear_peer() - remove peer from physical device - * @soc - data path soc handle - * @pdev_id - data path device instance id - * @peer_addr - peer mac address + * @soc: data path soc handle + * @pdev_id: data path device instance id + * @peer_addr: peer mac address * * remove peer from physical device * @@ -83,9 +84,8 @@ cdp_clear_peer(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_peer_register_ocb_peer() - register ocb peer from physical device - * @soc - data path soc handle - * @cds_ctx - cds void context - * @mac_addr - mac address for ocb self peer + * @soc: data path soc handle + * @mac_addr: mac address for ocb self peer * * register ocb peer from physical device * @@ -94,7 +94,7 @@ cdp_clear_peer(ol_txrx_soc_handle soc, uint8_t pdev_id, */ static inline QDF_STATUS cdp_peer_register_ocb_peer(ol_txrx_soc_handle soc, - uint8_t *mac_addr) + uint8_t *mac_addr) { if (!soc || !soc->ops || !soc->ops->peer_ops) { QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL, @@ -110,9 +110,9 @@ cdp_peer_register_ocb_peer(ol_txrx_soc_handle soc, /** * cdp_find_peer_exist - Find if peer already exists - * @soc - data path soc handle - * @pdev_id - data path device instance id - * @peer_addr - peer mac address + * @soc: data path soc handle + * @pdev_id: data path device instance id + * @peer_addr: peer mac address * * Return: true or false */ @@ -136,9 +136,9 @@ cdp_find_peer_exist(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_find_peer_exist_on_vdev - Find if duplicate peer exists * on the given vdev - * @soc - data path soc handle - * @vdev_id - data path virtual interface id - * @peer_addr - peer mac address + * @soc: data path soc handle + * @vdev_id: data path virtual interface id + * @peer_addr: peer mac address * * Return: true or false */ @@ -162,10 +162,10 @@ cdp_find_peer_exist_on_vdev(ol_txrx_soc_handle soc, uint8_t vdev_id, /** * cdp_find_peer_exist_on_other_vdev - Find if duplicate peer exists * on other than the given vdev - * @soc - data path soc handle - * @vdev_id - data path virtual interface id - * @peer_addr - peer mac address - * @max_bssid - max number of bssids + * @soc: data path soc handle + * @vdev_id: data path virtual interface id + * @peer_addr: peer mac address + * @max_bssid: max number of bssids * * Return: true or false */ @@ -190,9 +190,9 @@ cdp_find_peer_exist_on_other_vdev(ol_txrx_soc_handle soc, uint8_t vdev_id, /** * cdp_peer_state_update() - update peer local state - * @soc - data path soc handle - * @peer_addr - peer mac address - * @state - new peer local state + * @soc: data path soc handle + * @peer_addr: peer mac address + * @state: new peer local state * * update peer local state * @@ -218,9 +218,9 @@ cdp_peer_state_update(ol_txrx_soc_handle soc, uint8_t *peer_addr, /** * cdp_peer_state_get() - Get local peer state - * @soc - data path soc handle - * @vdev_id - virtual interface id - * @peer_mac - peer mac addr + * @soc: data path soc handle + * @vdev_id: virtual interface id + * @peer_mac: peer mac addr * * Get local peer state * @@ -244,9 +244,9 @@ cdp_peer_state_get(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac) /** * cdp_peer_get_vdevid() - Get virtual interface id which peer registered - * @soc - data path soc handle - * @peer_mac - peer mac address - * @vdev_id - virtual interface id which peer registered + * @soc: data path soc handle + * @peer_mac: peer mac address + * @vdev_id: virtual interface id which peer registered * * Get virtual interface id which peer registered * @@ -270,10 +270,10 @@ cdp_peer_get_vdevid(ol_txrx_soc_handle soc, } /** - * cdp_peer_get_vdev_by_sta_id() - Get vdev instance by local peer id - * @soc - data path soc handle - * @pdev - data path device instance - * @peer_addr - peer mac address + * cdp_peer_get_vdev_by_peer_addr() - Get vdev instance by local peer address + * @soc: data path soc handle + * @pdev: data path device instance + * @peer_addr: peer mac address * * Get virtual interface id by local peer id * @@ -299,8 +299,8 @@ static inline struct cdp_vdev /** * cdp_peer_get_peer_mac_addr() - Get peer mac address - * @soc - data path soc handle - * @peer - peer instance + * @soc: data path soc handle + * @peer: peer instance * * Get peer mac address * @@ -324,9 +324,9 @@ static inline uint8_t /** * cdp_peer_update_ibss_add_peer_num_of_vdev() - update number of peer - * @soc - data path soc handle - * @vdev_id - virtual interface instance id - * @peer_num_delta - number of peer should be updated + * @soc: data path soc handle + * @vdev_id: virtual interface instance id + * @peer_num_delta: number of peer should be updated * * update number of peer * @@ -354,9 +354,9 @@ cdp_peer_update_ibss_add_peer_num_of_vdev(ol_txrx_soc_handle soc, /** * cdp_peer_copy_mac_addr_raw() - copy peer mac address - * @soc - data path soc handle - * @vdev_id - virtual interface instance id - * @bss_addr - mac address should be copied + * @soc: data path soc handle + * @vdev_id: virtual interface instance id + * @bss_addr: mac address should be copied * * copy peer mac address * @@ -381,9 +381,9 @@ cdp_peer_copy_mac_addr_raw(ol_txrx_soc_handle soc, /** * cdp_peer_add_last_real_peer() - Add peer with last peer marking - * @soc - data path soc handle - * @pdev_id - data path device instance id - * @vdev_id - virtual interface instance id + * @soc: data path soc handle + * @pdev_id: data path device instance id + * @vdev_id: virtual interface instance id * * copy peer mac address * @@ -407,9 +407,9 @@ cdp_peer_add_last_real_peer(ol_txrx_soc_handle soc, uint8_t pdev_id, /** * cdp_peer_is_vdev_restore_last_peer() - restore last peer - * @soc - data path soc handle - * @vdev_id - virtual interface id - * @peer_mac - peer mac address + * @soc: data path soc handle + * @vdev_id: virtual interface id + * @peer_mac: peer mac address * * restore last peer * @@ -436,10 +436,10 @@ cdp_peer_is_vdev_restore_last_peer(ol_txrx_soc_handle soc, uint8_t vdev_id, /** * cdp_peer_update_last_real_peer() - update last real peer - * @soc - data path soc handle - * @pdev_id - data path device instance id - * @vdev_id - virtual interface id - * @restore_last_peer - restore last peer or not + * @soc: data path soc handle + * @pdev_id: data path device instance id + * @vdev_id: virtual interface id + * @restore_last_peer: restore last peer or not * * update last real peer * @@ -464,8 +464,10 @@ cdp_peer_update_last_real_peer(ol_txrx_soc_handle soc, uint8_t pdev_id, } /** - * ol_txrx_peer_detach_force_delete() - Detach and delete a peer's data object - * @peer - the object to detach + * cdp_peer_detach_force_delete() - Detach and delete a peer's data object + * @soc: data path soc handle + * @vdev_id: data path virtual interface id + * @peer_mac: peer mac address * * Detach a peer and force the peer object to be removed. It is called during * roaming scenario when the firmware has already deleted a peer. @@ -519,12 +521,12 @@ is_cdp_peer_detach_force_delete_supported(ol_txrx_soc_handle soc) return false; } -/* +/** * cdp_peer_set_peer_as_tdls() - To set peer as tdls peer * @soc: pointer to SOC handle * @vdev_id: virtual interface id * @peer_mac: peer mac address - * @var: true or false + * @val: true or false * * Return: void */ @@ -571,9 +573,9 @@ cdp_peer_set_tdls_offchan_enabled(ol_txrx_soc_handle soc, uint8_t vdev_id, /** * cdp_peer_flush_frags() - Flush frags on peer - * @soc - data path soc handle - * @vdev_id - virtual interface id - * @peer_mac - peer mac addr + * @soc: data path soc handle + * @vdev_id: virtual interface id + * @peer_mac: peer mac addr * * Return: None */ diff --git a/dp/inc/cdp_txrx_pflow.h b/dp/inc/cdp_txrx_pflow.h index ed9ad84154..43c6fad563 100644 --- a/dp/inc/cdp_txrx_pflow.h +++ b/dp/inc/cdp_txrx_pflow.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017,2019-2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_pflow.h - * @brief Define the host data path peer flow API functions + * DOC: cdp_txrx_pflow.h + * Define the host data path peer flow API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_PFLOW_H_ diff --git a/dp/inc/cdp_txrx_pmf.h b/dp/inc/cdp_txrx_pmf.h index c869eac2b7..10b5e996ef 100644 --- a/dp/inc/cdp_txrx_pmf.h +++ b/dp/inc/cdp_txrx_pmf.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016, 2019 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -21,7 +22,7 @@ /** * cdp_get_pn_info() - Returns pn info from peer - * @soc - data path soc handle + * @soc: data path soc handle * @peer_mac: peer mac address * @vdev_id: virtual device/interface id * @last_pn_valid: return last_rmf_pn_valid value from peer. diff --git a/dp/inc/cdp_txrx_raw.h b/dp/inc/cdp_txrx_raw.h index a663172ee8..94421084ac 100644 --- a/dp/inc/cdp_txrx_raw.h +++ b/dp/inc/cdp_txrx_raw.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017, 2019, 2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_raw.h - * @brief Define the host data path raw mode API functions + * DOC: cdp_txrx_raw.h + * Define the host data path raw mode API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_RAW_H_ @@ -29,16 +30,16 @@ #include /** - * @brief finds the ast entry for the packet - * @details: Finds the ast entry i.e 4th address for the packet based on the - * details in the netbuf. + * cdp_rawsim_get_astentry() - finds the ast entry for the packet + * @soc: soc handle + * @vdev_id: id of the data virtual device object + * @pnbuf: pointer to nbuf + * @raw_ast: pointer to fill ast information * - * @param soc - soc handle - * @param vdev_id - id of the data virtual device object - * @param pnbuf - pointer to nbuf - * @param raw_ast - pointer to fill ast information + * Finds the ast entry i.e 4th address for the packet based on the + * details in the netbuf. * - * @return - 0 on success, -1 on error, 1 if more nbufs need to be consumed. + * Return: 0 on success, -1 on error, 1 if more nbufs need to be consumed. */ static inline QDF_STATUS diff --git a/dp/inc/cdp_txrx_sawf.h b/dp/inc/cdp_txrx_sawf.h index 4be89acbc3..3b79a20760 100644 --- a/dp/inc/cdp_txrx_sawf.h +++ b/dp/inc/cdp_txrx_sawf.h @@ -1,5 +1,5 @@ /* - * 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 @@ -80,7 +80,7 @@ cdp_sawf_peer_get_map_conf(ol_txrx_soc_handle soc, /** * cdp_get_peer_sawf_delay_stats() - Call to get SAWF delay stats * @soc: soc handle - * @svc_class_id: service class ID + * @svc_id: service class ID * @mac: peer mac address * @data: opaque pointer * @@ -107,7 +107,7 @@ cdp_get_peer_sawf_delay_stats(ol_txrx_soc_handle soc, uint32_t svc_id, /** * cdp_get_peer_sawf_tx_stats() - Call to get SAWF Tx stats * @soc: soc handle - * @svc_class_id: service class ID + * @svc_id: service class ID * @mac: peer mac address * @data: opaque pointer * @@ -179,6 +179,7 @@ cdp_sawf_mpdu_details_stats_req(ol_txrx_soc_handle soc, uint8_t enable) /** * cdp_sawf_set_mov_avg_params - Set moving average pararms + * @soc: SOC handle * @num_pkt: No of packets per window to calucalte moving average * @num_win: No of windows to calucalte moving average * @@ -205,6 +206,7 @@ cdp_sawf_set_mov_avg_params(ol_txrx_soc_handle soc, /** * cdp_sawf_set_sla_params - Set SLA pararms + * @soc: SOC handle * @num_pkt: No of packets to detect SLA breach * @time_secs: Time ins secs to detect breach * @@ -230,7 +232,8 @@ cdp_sawf_set_sla_params(ol_txrx_soc_handle soc, } /** - * cdp_sawf_init_telemetry_param - Initialize telemetry pararms + * cdp_sawf_init_telemtery_params() - Initialize telemetry pararms + * @soc: SOC handle * * Return: none */ @@ -340,9 +343,9 @@ cdp_sawf_peer_config_ul(ol_txrx_soc_handle soc, uint8_t *mac_addr, uint8_t tid, add_or_sub); } -/* +/** * cdp_swaf_peer_is_sla_configured() - Check if sla is configured for a peer - * @soc_hdl: SOC handle + * @soc: SOC handle * @mac_addr: peer mac address * * Return: true is peer is sla configured diff --git a/dp/inc/cdp_txrx_stats.h b/dp/inc/cdp_txrx_stats.h index f12318b6cc..2f0eda430a 100644 --- a/dp/inc/cdp_txrx_stats.h +++ b/dp/inc/cdp_txrx_stats.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017,2019,2021 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_stats.h - * @brief Define the host data path statistics API functions + * DOC: cdp_txrx_stats.h + * Define the host data path statistics API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_STATS_H_ diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index 678c9e6c99..c7cd98e926 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -18,8 +18,8 @@ */ /** - * @file cdp_txrx_stats_struct.h - * @brief Define the host data path stats API functions + * DOC: cdp_txrx_stats_struct.h + * Define the host data path stats API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_STATS_STRUCT_H_ @@ -68,7 +68,7 @@ #define CDP_MAX_RX_DEST_RINGS 8 #define CDP_MAX_TX_DATA_RINGS 5 #define CDP_MAX_WIFI_INT_ERROR_REASONS 5 -/** +/* * This header file is being accessed in userspace applications. * NR_CPUS is a linux kernel macro and cannot be accessible by user space apps. * Defining maximum possible cpu count locally. @@ -218,9 +218,10 @@ #endif /** + * enum cdp_wifi_error_code - Code describing the type of WIFI error detected + * * This enum is a direct replica of hal_rxdma_error_code enum. * New element addition to the enum need to make a entry in this enum too. - * enum cdp_wifi_error_code - Code describing the type of WIFI error detected * * @CDP_WIFI_ERR_OVERFLOW: MPDU frame is not complete due to overflow * @CDP_WIFI_ERR_MPDU_LENGTH: MPDU frame is not complete due to receiving @@ -243,6 +244,7 @@ * MPDU * @CDP_WIFI_ERR_MULTICAST_ECHO: Reported a multicast echo error * @CDP_WIFI_ERR_DUMMY: Dummy errors + * @CDP_WIFI_ERR_MAX: Maximum value */ enum cdp_wifi_error_code { CDP_WIFI_ERR_OVERFLOW = 0, @@ -266,9 +268,10 @@ enum cdp_wifi_error_code { }; /** + * enum cdp_phy_rx_error_code - Error code describing the type of error detected + * * This enum is a direct replica of hal_reo_error_code enum. * New element addition to the enum need to make a entry in this enum too. - * enum cdp_phy_rx_error_code - Error code describing the type of error detected * * @CDP_RX_ERR_QUEUE_ADDR_0: Rx queue descriptor is set to 0 * @CDP_RX_ERR_QUEUE_INVALID: Rx queue descriptor valid bit is NOT set @@ -294,6 +297,7 @@ enum cdp_wifi_error_code { * @CDP_RX_ERR_QUEUE_BLOCKED_SET: Frame is forwarded as a result of the queue * descriptor(address) being blocked as SW/FW seems to be currently in the * process of making updates to this descriptor + * @CDP_RX_ERR_MAX: Maximum value */ enum cdp_phy_rx_error_code { CDP_RX_ERR_QUEUE_ADDR_0 = 0, @@ -314,12 +318,12 @@ enum cdp_phy_rx_error_code { CDP_RX_ERR_MAX }; -/* - * cdp_tx_transmit_type: Transmit type index - * SU: SU Transmit type index - * MU_MIMO: MU_MIMO Transmit type index - * MU_OFDMA: MU_OFDMA Transmit type index - * MU_MIMO_OFDMA: MU MIMO OFDMA Transmit type index +/** + * enum cdp_tx_transmit_type - Transmit type index + * @SU: SU Transmit type index + * @MU_MIMO: MU_MIMO Transmit type index + * @MU_OFDMA: MU_OFDMA Transmit type index + * @MU_MIMO_OFDMA: MU MIMO OFDMA Transmit type index */ enum cdp_tx_transmit_type { SU = 0, @@ -328,11 +332,11 @@ enum cdp_tx_transmit_type { MU_MIMO_OFDMA, }; -/* - * cdp_tx_mode_type: Uplink transmit mode type - * TX_MODE_TYPE_DL: DL TX mode - * TX_MODE_TYPE_UL: UL TX mode - * TX_MODE_TYPE_UNKNOWN: UL TX mode unknown +/** + * enum cdp_tx_mode_type - Uplink transmit mode type + * @TX_MODE_TYPE_DL: DL TX mode + * @TX_MODE_TYPE_UL: UL TX mode + * @TX_MODE_TYPE_UNKNOWN: UL TX mode unknown */ enum cdp_tx_mode_type { TX_MODE_TYPE_DL = 0, @@ -340,11 +344,12 @@ enum cdp_tx_mode_type { TX_MODE_TYPE_UNKNOWN, }; -/* - * cdp_tx_mode_dl: Downlink transmit mode index - * TX_MODE_DL_SU_DATA: SU Transmit type index - * TX_MODE_DL_OFDMA_DATA: OFDMA Transmit type index - * TX_MODE_DL_MUMIMO_DATA: MIMO Transmit type index +/** + * enum cdp_tx_mode_dl - Downlink transmit mode index + * @TX_MODE_DL_SU_DATA: SU Transmit type index + * @TX_MODE_DL_OFDMA_DATA: OFDMA Transmit type index + * @TX_MODE_DL_MUMIMO_DATA: MIMO Transmit type index + * @TX_MODE_DL_MAX: Maximum value */ enum cdp_tx_mode_dl { TX_MODE_DL_SU_DATA = 0, @@ -353,11 +358,12 @@ enum cdp_tx_mode_dl { TX_MODE_DL_MAX, }; -/* - * cdp_tx_mode_ul: Uplink transmit mode index - * TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA: UL ofdma trigger index - * TX_MODE_UL_MUMIMO_BASIC_TRIGGER_DATA: UL mimo trigger index - * TX_MODE_UL_OFDMA_MU_BAR_TRIGGER: UL ofdma MU-BAR trigger index +/** + * enum cdp_tx_mode_ul - Uplink transmit mode index + * @TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA: UL ofdma trigger index + * @TX_MODE_UL_MUMIMO_BASIC_TRIGGER_DATA: UL mimo trigger index + * @TX_MODE_UL_OFDMA_MU_BAR_TRIGGER: UL ofdma MU-BAR trigger index + * @TX_MODE_UL_MAX: Maximum value */ enum cdp_tx_mode_ul { TX_MODE_UL_OFDMA_BASIC_TRIGGER_DATA = 0, @@ -366,15 +372,16 @@ enum cdp_tx_mode_ul { TX_MODE_UL_MAX, }; -/* - * cdp_msduq_index: TX msdu queue - * MSDUQ_INDEX_DEFAULT: TCP/UDP msduq index - * MSDUQ_INDEX_CUSTOM_PRIO_0: custom priority msduq index - * MSDUQ_INDEX_CUSTOM_PRIO_1: custom priority msduq index - * MSDUQ_INDEX_CUSTOM_EXT_PRIO_0: custom ext priority msduq index - * MSDUQ_INDEX_CUSTOM_EXT_PRIO_1: custom ext priority msduq index - * MSDUQ_INDEX_CUSTOM_EXT_PRIO_2: custom ext priority msduq index - * MSDUQ_INDEX_CUSTOM_EXT_PRIO_3: custom ext priority msduq index +/** + * enum cdp_msduq_index - TX msdu queue + * @MSDUQ_INDEX_DEFAULT: TCP/UDP msduq index + * @MSDUQ_INDEX_CUSTOM_PRIO_0: custom priority msduq index + * @MSDUQ_INDEX_CUSTOM_PRIO_1: custom priority msduq index + * @MSDUQ_INDEX_CUSTOM_EXT_PRIO_0: custom ext priority msduq index + * @MSDUQ_INDEX_CUSTOM_EXT_PRIO_1: custom ext priority msduq index + * @MSDUQ_INDEX_CUSTOM_EXT_PRIO_2: custom ext priority msduq index + * @MSDUQ_INDEX_CUSTOM_EXT_PRIO_3: custom ext priority msduq index + * @MSDUQ_INDEX_MAX: Maximum value */ enum cdp_msduq_index { MSDUQ_INDEX_DEFAULT = 0, @@ -387,12 +394,12 @@ enum cdp_msduq_index { MSDUQ_INDEX_MAX, }; -/* - * cdp_ul_trigger_tids: UL trigger tids - * CDP_UL_TRIG_BK_TID: Background tid - * CDP_UL_TRIG_BE_TID: Best effort tid - * CDP_UL_TRIG_VI_TID: Video tid - * CDP_UL_TRIG_VO_TID: Voice tid +/** + * enum cdp_ul_trigger_tids - UL trigger tids + * @CDP_UL_TRIG_BK_TID: Background tid + * @CDP_UL_TRIG_BE_TID: Best effort tid + * @CDP_UL_TRIG_VI_TID: Video tid + * @CDP_UL_TRIG_VO_TID: Voice tid */ enum cdp_ul_trigger_tids { CDP_UL_TRIG_BK_TID = 25, @@ -407,28 +414,27 @@ enum cdp_ul_trigger_tids { (((_tid) == CDP_UL_TRIG_VI_TID)) ? 5 : \ 6) -/* - * cdp_ru_index: Different RU index - * - * RU_26_INDEX : 26-tone Resource Unit index - * RU_52_INDEX : 52-tone Resource Unit index - * RU_52_26_INDEX : 52_26-tone Resource Unit index - * RU_106_INDEX: 106-tone Resource Unit index - * RU_106_26_INDEX: 106_26-tone Resource Unit index - * RU_242_INDEX: 242-tone Resource Unit index - * RU_484_INDEX: 484-tone Resource Unit index - * RU_484_242_INDEX: 484_242-tone Resource Unit index - * RU_996_INDEX: 996-tone Resource Unit index - * RU_996_484_INDEX: 996_484-tone Resource Unit index - * RU_996_484_242_INDEX: 996_484_242-tone Resource Unit index - * RU_2X996_INDEX: 2X996-tone Resource Unit index - * RU_2X996_484_INDEX: 2X996_484-tone Resource Unit index - * RU_3X996_INDEX: 3X996-tone Resource Unit index - * RU_3X996_484_INDEX: 3X996_484-tone Resource Unit index - * RU_4X996_INDEX: 4X996-tone Resource Unit index - */ - #ifdef WLAN_FEATURE_11BE +/** + * enum cdp_ru_index - Different RU index + * @RU_26_INDEX : 26-tone Resource Unit index + * @RU_52_INDEX : 52-tone Resource Unit index + * @RU_52_26_INDEX : 52_26-tone Resource Unit index + * @RU_106_INDEX: 106-tone Resource Unit index + * @RU_106_26_INDEX: 106_26-tone Resource Unit index + * @RU_242_INDEX: 242-tone Resource Unit index + * @RU_484_INDEX: 484-tone Resource Unit index + * @RU_484_242_INDEX: 484_242-tone Resource Unit index + * @RU_996_INDEX: 996-tone Resource Unit index + * @RU_996_484_INDEX: 996_484-tone Resource Unit index + * @RU_996_484_242_INDEX: 996_484_242-tone Resource Unit index + * @RU_2X996_INDEX: 2X996-tone Resource Unit index + * @RU_2X996_484_INDEX: 2X996_484-tone Resource Unit index + * @RU_3X996_INDEX: 3X996-tone Resource Unit index + * @RU_3X996_484_INDEX: 3X996_484-tone Resource Unit index + * @RU_4X996_INDEX: 4X996-tone Resource Unit index + * @RU_INDEX_MAX: Maximum value + */ enum cdp_ru_index { RU_26_INDEX = 0, RU_52_INDEX, @@ -530,9 +536,8 @@ enum cdp_packet_type { #endif /* WLAN_FEATURE_11BE */ #define CDP_MAX_MCS_STRING_LEN 34 -/* - * struct cdp_rate_debug - * +/** + * struct cdp_rate_debug - mcs rate debug record * @mcs_type: print string for a given mcs * @valid: valid mcs rate? */ @@ -739,11 +744,11 @@ static const struct cdp_rate_debug cdp_rate_string[DOT11_MAX][MAX_MCS] = { }; #endif -/* - * cdp_mu_packet_type: MU type index - * TXRX_TYPE_MU_MIMO: MU MIMO type index - * TXRX_TYPE_MU_OFDMA: MU OFDMA type index - * TXRX_TYPE_MU_MAX: MU MAX type index +/** + * enum cdp_mu_packet_type - MU type index + * @TXRX_TYPE_MU_MIMO: MU MIMO type index + * @TXRX_TYPE_MU_OFDMA: MU OFDMA type index + * @TXRX_TYPE_MU_MAX: MU MAX type index */ enum cdp_mu_packet_type { TXRX_TYPE_MU_MIMO = 0, @@ -751,10 +756,10 @@ enum cdp_mu_packet_type { TXRX_TYPE_MU_MAX = 2, }; -/* - * peer_stats_type: peer stats type - * PEER_TX_STATS: stats type for tx - * PEER_RX_STATS: stats type for rx +/** + * enum peer_stats_type peer stats type + * @PEER_TX_STATS: stats type for tx + * @PEER_RX_STATS: stats type for rx */ enum peer_stats_type { PEER_TX_STATS, @@ -971,11 +976,13 @@ struct cdp_rx_ppdu_cfr_info { uint32_t gi_type; }; #endif -/* - * struct cdp_rx_su_evm_info: Rx evm info + +/** + * struct cdp_rx_su_evm_info - Rx evm info * @number_of_symbols: number of symbols * @nss_count: number of spatial streams * @pilot_count: number of pilot count + * @pilot_evm: */ struct cdp_rx_su_evm_info { uint16_t number_of_symbols; @@ -984,8 +991,8 @@ struct cdp_rx_su_evm_info { uint32_t pilot_evm[DP_RX_MAX_SU_EVM_COUNT]; }; -/* - * cdp_delay_stats_mode: Different types of delay statistics +/** + * enum cdp_delay_stats_mode - Different types of delay statistics * * @CDP_DELAY_STATS_SW_ENQ: Stack to hw enqueue delay * @CDP_DELAY_STATS_TX_INTERFRAME: Interframe delay at radio entry point @@ -1024,8 +1031,14 @@ enum cdp_delay_bucket_index { CDP_DELAY_BUCKET_MAX, }; -/* - * struct cdp_tx_host_drop - packet drop due to following reasons. +/** + * enum cdp_tx_sw_drop - packet drop due to following reasons. + * @TX_DESC_ERR: + * @TX_HAL_RING_ACCESS_ERR: + * @TX_DMA_MAP_ERR: + * @TX_HW_ENQUEUE: + * @TX_SW_ENQUEUE: + * @TX_MAX_DROP: */ enum cdp_tx_sw_drop { TX_DESC_ERR, @@ -1036,8 +1049,17 @@ enum cdp_tx_sw_drop { TX_MAX_DROP, }; -/* - * struct cdp_rx_host_drop - packet drop due to following reasons. +/** + * enum cdp_rx_sw_drop - packet drop due to following reasons. + * @INTRABSS_DROP: + * @MSDU_DONE_FAILURE: + * @INVALID_PEER_VDEV: + * @POLICY_CHECK_DROP: + * @MEC_DROP: + * @NAWDS_MCAST_DROP: + * @MESH_FILTER_DROP: + * @ENQUEUE_DROP: + * @RX_MAX_DROP: */ enum cdp_rx_sw_drop { INTRABSS_DROP, @@ -1051,8 +1073,8 @@ enum cdp_rx_sw_drop { RX_MAX_DROP, }; -/* - * struct cdp_delay_stats +/** + * struct cdp_delay_stats - delay statistics * @delay_bucket: division of buckets as per latency * @min_delay: minimum delay * @max_delay: maximum delay @@ -1065,8 +1087,8 @@ struct cdp_delay_stats { uint32_t avg_delay; }; -/* - * struct cdp_tid_tx_stats +/** + * struct cdp_tid_tx_stats - per-TID statistics * @swq_delay: delay between wifi driver entry point and enqueue to HW in tx * @hwtx_delay: delay between wifi driver exit (enqueue to HW) and tx completion * @intfrm_delay: interframe delay @@ -1087,9 +1109,10 @@ struct cdp_tid_tx_stats { uint64_t htt_status_cnt[CDP_MAX_TX_HTT_STATUS]; }; -/* - * cdp_reo_error_stats - * @err_src_reo_code_inv: Wireless Buffer Manager source receive reorder ring reason unknown +/** + * struct cdp_reo_error_stats - REO error statistics + * @err_src_reo_code_inv: Wireless Buffer Manager source receive reorder ring + * reason unknown * @err_reo_codes: Receive reorder error codes */ struct cdp_reo_error_stats { @@ -1097,21 +1120,21 @@ struct cdp_reo_error_stats { uint64_t err_reo_codes[CDP_REO_CODE_MAX]; }; -/* - * cdp_rxdma_error_stats +/** + * struct cdp_rxdma_error_stats - RxDMA error statistics * @err_src_rxdma_code_inv: DMA reason unknown count - * @err_reo_codes: Receive reorder error codes count + * @err_dma_codes: DMA error codes count */ struct cdp_rxdma_error_stats { uint64_t err_src_rxdma_code_inv; uint64_t err_dma_codes[CDP_DMA_CODE_MAX]; }; -/* - * struct cdp_tid_tx_stats +/** + * struct cdp_tid_rx_stats - per-TID Rx statistics * @to_stack_delay: Time taken between ring reap to indication to network stack * @intfrm_delay: Interframe rx delay - * @delivered_cnt: Total packets indicated to stack + * @delivered_to_stack: Total packets indicated to stack * @intrabss_cnt: Rx total intraBSS frames * @msdu_cnt: number of msdu received from HW * @mcast_msdu_cnt: Num Mcast Msdus received from HW in Rx @@ -1133,12 +1156,13 @@ struct cdp_tid_rx_stats { struct cdp_rxdma_error_stats rxdma_err; }; -/* - * struct cdp_tid_stats +/** + * struct cdp_tid_stats - composite TID statistics * @ingress_stack: Total packets received from linux stack * @osif_drop: drops in osif layer * @tid_tx_stats: transmit counters per tid * @tid_rx_stats: receive counters per tid + * @tid_rx_wbm_stats: WBM receive counters per tid */ struct cdp_tid_stats { uint64_t ingress_stack; @@ -1151,8 +1175,8 @@ struct cdp_tid_stats { [CDP_MAX_DATA_TIDS]; }; -/* - * struct cdp_tid_stats_intf +/** + * struct cdp_tid_stats_intf - network interface TID statistics * @ingress_stack: Total packets received from linux stack * @osif_drop: drops in osif layer * @tx_total: total of per ring transmit counters per tid @@ -1165,19 +1189,18 @@ struct cdp_tid_stats_intf { struct cdp_tid_rx_stats rx_total[CDP_MAX_DATA_TIDS]; }; -/* - * struct cdp_delay_tx_stats: Tx delay stats +/** + * struct cdp_delay_tx_stats - Tx delay stats * @tx_swq_delay: software enqueue delay * @hwtx_delay: HW enqueue to completion delay * @nwdelay_avg: Network delay average * @swdelay_avg: Wifi SW Delay Average * @hwdelay_avg: Wifi HW delay Average - * @sw_delay_win_total: total NW delay for each window - * @hw_delay_win_total: total Wifi SW delay for each window - * @nw_delay_win_total: total Wifi HW delay for each window - * + * @nw_delay_win_avg: average NW delay for each window + * @sw_delay_win_avg: average Wifi SW delay for each window + * @hw_delay_win_avg: average Wifi HW delay for each window * @cur_win_num_pkts: number of packets processed in current window - * @cur_win_index: current windows index + * @curr_win_idx: current windows index */ struct cdp_delay_tx_stats { struct cdp_hist_stats tx_swq_delay; @@ -1197,16 +1220,16 @@ struct cdp_delay_tx_stats { #endif }; -/* - * struct cdp_delay_rx_stats: Rx delay stats +/** + * struct cdp_delay_rx_stats - Rx delay stats * @to_stack_delay: To stack delay */ struct cdp_delay_rx_stats { struct cdp_hist_stats to_stack_delay; }; -/* - * struct cdp_delay_tid_stats: Delay tid stats +/** + * struct cdp_delay_tid_stats - Delay tid stats * @tx_delay: Tx delay related stats * @rx_delay: Rx delay related stats */ @@ -1215,7 +1238,8 @@ struct cdp_delay_tid_stats { struct cdp_delay_rx_stats rx_delay; }; -/* struct cdp_pkt_info - packet info +/** + * struct cdp_pkt_info - packet info * @num: no of packets * @bytes: total no of bytes */ @@ -1224,19 +1248,20 @@ struct cdp_pkt_info { uint64_t bytes; }; -/* struct cdp_pkt_type - packet type +/** + * struct cdp_pkt_type - packet type * @mcs_count: Counter array for each MCS index */ struct cdp_pkt_type { uint32_t mcs_count[MAX_MCS]; }; -/* +/** * struct cdp_rx_mu - Rx MU Stats - * @ppdu_nss[SS_COUNT]: Packet Count in spatial streams + * @ppdu_nss: Packet Count in spatial streams * @mpdu_cnt_fcs_ok: Rx success mpdu count * @mpdu_cnt_fcs_err: Rx fail mpdu count - * @cdp_pkt_type: counter array for each MCS index + * @ppdu: counter array for each MCS index */ struct cdp_rx_mu { uint32_t ppdu_nss[SS_COUNT]; @@ -1245,10 +1270,11 @@ struct cdp_rx_mu { struct cdp_pkt_type ppdu; }; -/* struct cdp_tx_pkt_info - tx packet info - * num_msdu - successful msdu - * num_mpdu - successful mpdu from compltn common - * mpdu_tried - mpdu tried +/** + * struct cdp_tx_pkt_info - tx packet info + * @num_msdu: successful msdu + * @num_mpdu: successful mpdu from compltn common + * @mpdu_tried: mpdu tried * * tx packet info counter field for mpdu success/tried and msdu */ @@ -1306,7 +1332,7 @@ struct cdp_tso_info { * @tso_comp: Total tso packet completions * @dropped_host: TSO packets dropped by host * @tso_no_mem_dropped: TSO packets dropped by host due to descriptor - unavailablity + * unavailablity * @dropped_target: TSO packets_dropped by target * @tso_info: Per TSO packet counters * @seg_histogram: TSO histogram stats @@ -1385,6 +1411,7 @@ typedef union cdp_peer_stats_buf { * @CDP_TRACE_ICMP: ICMP packets * @CDP_TRACE_EAP: EAPOL packets * @CDP_TRACE_ARP: ARP packets + * @CDP_TRACE_MAX: MAX enumeration * * Enumeration of all protocols supported by per-peer protocol trace feature */ @@ -1406,13 +1433,15 @@ struct protocol_trace_count { uint16_t egress_cnt; uint16_t ingress_cnt; }; -/* struct cdp_tx_stats - tx stats - * @cdp_pkt_info comp_pkt: Pkt Info for which completions were received - * @cdp_pkt_info ucast: Unicast Packet Count - * @cdp_pkt_info mcast: Multicast Packet Count - * @cdp_pkt_info bcast: Broadcast Packet Count - * @cdp_pkt_info nawds_mcast: NAWDS Multicast Packet Count - * @cdp_pkt_info tx_success: Successful Tx Packets + +/** + * struct cdp_tx_stats - tx stats + * @comp_pkt: Pkt Info for which completions were received + * @ucast: Unicast Packet Count + * @mcast: Multicast Packet Count + * @bcast: Broadcast Packet Count + * @nawds_mcast: NAWDS Multicast Packet Count + * @tx_success: Successful Tx Packets * @nawds_mcast_drop: NAWDS Multicast Drop Count * @protocol_trace_cnt: per-peer protocol counter * @tx_failed: Total Tx failure @@ -1436,55 +1465,49 @@ struct protocol_trace_count { * @tx_data_success_last: last Tx success data * @tx_byte_rate: Bytes Trasmitted in last one sec * @tx_data_rate: Data Transmitted in last one sec - * @sgi_count[MAX_GI]: SGI count + * @tx_data_ucast_last: + * @tx_data_ucast_rate: + * @pkt_type: + * @sgi_count: SGI count * @pream_punct_cnt: Preamble Punctured count - * @nss[SS_COUNT]: Packet count for different num_spatial_stream values - * @bw[MAX_BW]: Packet Count for different bandwidths - * @wme_ac_type[WME_AC_MAX]: Wireless Multimedia type Count - * @excess_retries_per_ac[WME_AC_MAX]: Wireless Multimedia type Count + * @nss: Packet count for different num_spatial_stream values + * @bw: Packet Count for different bandwidths + * @wme_ac_type: Wireless Multimedia type Count + * @excess_retries_per_ac: Wireless Multimedia type Count * @dot11_tx_pkts: dot11 tx packets - * @fw_rem: Discarded by firmware - * @fw_rem_notx: firmware_discard_untransmitted - * @fw_rem_tx: firmware_discard_transmitted - * @age_out: aged out in mpdu/msdu queues - * @fw_reason1: discarded by firmware reason 1 - * @fw_reason2: discarded by firmware reason 2 - * @fw_reason3: discarded by firmware reason 3 - * @fw_rem_queue_disable: dropped due to queue disable - * @fw_rem_no_match: dropped due to fw no match command - * @drop_threshold: dropped due to HW threshold - * @drop_link_desc_na: dropped due resource not available in HW - * @invalid_drop: Invalid msdu drop - * @mcast_vdev_drop: MCAST drop configured for VDEV in HW - * @invalid_rr: Invalid TQM release reason - * @mcs_count: MCS Count - * @an_tx_cnt: ald tx count - * @an_tx_rates_used: ald rx rate used - * @an_tx_bytes: ald tx bytes - * @ald_txcount: ald tx count - * @ald_lastper: ald last PER - * @ald_max4msframelen: ald max frame len - * @an_tx_ratecount: ald tx ratecount - * @ald_retries: ald retries - * @ald_ac_nobufs: #buffer overflows per node per AC - * @ald_ac_excretries: #pkts dropped after excessive retries per node per AC + * @dropped: dropped packet counters + * @dropped.fw_rem: Discarded by firmware + * @dropped.fw_rem_notx: firmware_discard_untransmitted + * @dropped.fw_rem_tx: firmware_discard_transmitted + * @dropped.age_out: aged out in mpdu/msdu queues + * @dropped.fw_reason1: discarded by firmware reason 1 + * @dropped.fw_reason2: discarded by firmware reason 2 + * @dropped.fw_reason3: discarded by firmware reason 3 + * @dropped.fw_rem_queue_disable: dropped due to queue disable + * @dropped.fw_rem_no_match: dropped due to fw no match command + * @dropped.drop_threshold: dropped due to HW threshold + * @dropped.drop_link_desc_na: dropped due resource not available in HW + * @dropped.invalid_drop: Invalid msdu drop + * @dropped.mcast_vdev_drop: MCAST drop configured for VDEV in HW + * @dropped.invalid_rr: Invalid TQM release reason + * @fw_tx_cnt: + * @fw_tx_bytes: + * @fw_txcount: + * @fw_max4msframelen: + * @fw_ratecount: + * @ac_nobufs: * @rssi_chain: rssi chain * @inactive_time: inactive time in secs * @tx_flags: tx flags * @tx_power: Tx power latest * @is_tx_no_ack: no ack received * @tx_ratecode: Tx rate code of last frame - * @is_tx_nodefkey: tx failed 'cuz no defkey - * @is_tx_noheadroom: tx failed 'cuz no space - * @is_crypto_enmicfail: - * @is_tx_nonode: tx failed for no node - * @is_tx_unknownmgt: tx of unknown mgt frame - * @is_tx_badcipher: tx failed 'cuz key type * @ampdu_cnt: completion of aggregation * @non_ampdu_cnt: tx completion not aggregated * @failed_retry_count: packets failed due to retry above 802.11 retry limit * @retry_count: packets successfully send after one or more retry * @multiple_retry_count: packets successfully sent after more than one retry + * @last_tx_rate_used: * @tx_ppdus: ppdus in tx * @tx_mpdus_success: mpdus successful in tx * @tx_mpdus_tried: mpdus tried in tx @@ -1494,6 +1517,7 @@ struct protocol_trace_count { * @ru_tones: RU tones size * @ru_loc: pkt info for RU location 26/ 52/ 106/ 242/ 484 counter * @num_ppdu_cookie_valid : Number of comp received with valid ppdu cookie + * @no_ack_count: * @tx_success_twt: Successful Tx Packets in TWT session * @nss_info: NSS 1,2, ...8 * @mcs_info: MCS index @@ -1507,10 +1531,12 @@ struct protocol_trace_count { * HE related GI * HE * @preamble_info: preamble + * @mpdu_success_with_retries: mpdu retry count in case of successful + * transmission * @last_tx_ts: last timestamp in jiffies when tx comp occurred * @su_be_ppdu_cnt: SU Tx packet count * @mu_be_ppdu_cnt: MU Tx packet count - * @punc_bw[MAX_PUNCTURED_MODE]: MSDU count for punctured BW + * @punc_bw: MSDU count for punctured BW * @release_src_not_tqm: Counter to keep track of release source is not TQM * in TX completion status processing * @per: Packet error ratio @@ -1586,7 +1612,6 @@ struct cdp_tx_stats { uint32_t invalid_rr; } dropped; - uint32_t fw_tx_cnt; uint32_t fw_tx_bytes; uint32_t fw_txcount; @@ -1630,7 +1655,6 @@ struct cdp_tx_stats { bw_info:4, gi_info:4, preamble_info:4; - /* mpdu retry count in case of successful transmission */ uint32_t mpdu_success_with_retries; unsigned long last_tx_ts; #ifdef WLAN_FEATURE_11BE @@ -1649,10 +1673,11 @@ struct cdp_tx_stats { struct cdp_pkt_info tx_ucast_success; }; -/* struct cdp_rx_stats - rx Level Stats +/** + * struct cdp_rx_stats - rx Level Stats * @to_stack: Total packets sent up the stack - * @rcvd_reo[CDP_MAX_RX_RINGS]: Packets received on the reo ring - * @rx_lmac[CDP_MAX_LMACS]: Packets received on which lmac + * @rcvd_reo: Packets received on the reo ring + * @rx_lmac: Packets received on which lmac * @unicast: Total unicast packets * @multicast: Total multicast packets * @bcast: Broadcast Packet Count @@ -1660,29 +1685,32 @@ struct cdp_tx_stats { * @nawds_mcast_drop: Total multicast packets * @mec_drop: Total MEC packets dropped * @last_rx_ts: last timestamp in jiffies when RX happened - * @pkts: Intra BSS packets received - * @fail: Intra BSS packets failed - * @mdns_no_fwd: Intra BSS MDNS packets not forwarded + * @intra_bss: Intra-bss statistics + * @intra_bss.pkts: Intra BSS packets received + * @intra_bss.fail: Intra BSS packets failed + * @intra_bss.mdns_no_fwd: Intra BSS MDNS packets not forwarded * @protocol_trace_cnt: per-peer protocol counters - * @mic_err: Rx MIC errors CCMP - * @decrypt_err: Rx Decryption Errors CRC - * @fcserr: rx MIC check failed (CCMP) - * @pn_err: pn check failed - * @oor_err: Rx OOR errors - * @jump_2k_err: 2k jump errors - * @rxdma_wifi_parse_err: rxdma wifi parse errors - * @wme_ac_type[WME_AC_MAX]: Wireless Multimedia type Count - * @reception_type[MAX_RECEPTION_TYPES]: Reception type os packets - * @mcs_count[MAX_MCS]: mcs count - * @sgi_count[MAX_GI]: sgi count - * @nss[SS_COUNT]: packet count in spatiel Streams - * @ppdu_nss[SS_COUNT]: PPDU packet count in spatial streams + * @err: error countersa + * @err.mic_err: Rx MIC errors CCMP + * @err.decrypt_err: Rx Decryption Errors CRC + * @err.fcserr: rx MIC check failed (CCMP) + * @err.pn_err: pn check failed + * @err.oor_err: Rx OOR errors + * @err.jump_2k_err: 2k jump errors + * @err.rxdma_wifi_parse_err: rxdma wifi parse errors + * @wme_ac_type: Wireless Multimedia type Count + * @reception_type: Reception type os packets + * @pkt_type: + * @mcs_count: mcs count + * @sgi_count: sgi count + * @nss: packet count in spatial Streams + * @ppdu_nss: PPDU packet count in spatial streams * @mpdu_cnt_fcs_ok: SU Rx success mpdu count * @mpdu_cnt_fcs_err: SU Rx fail mpdu count * @su_ax_ppdu_cnt: SU Rx packet count - * @ppdu_cnt[MAX_RECEPTION_TYPES]: PPDU packet count in reception type - * @rx_mu[TXRX_TYPE_MU_MAX]: Rx MU stats - * @bw[MAX_BW]: Packet Count in different bandwidths + * @ppdu_cnt: PPDU packet count in reception type + * @rx_mu: Rx MU stats + * @bw: Packet Count in different bandwidths * @non_ampdu_cnt: Number of MSDUs with no MPDU level aggregation * @ampdu_cnt: Number of MSDUs part of AMSPU * @non_amsdu_cnt: Number of MSDUs with no MSDU level aggregation @@ -1694,20 +1722,13 @@ struct cdp_tx_stats { * @rnd_avg_rx_rate: Rounded average rx rate * @avg_rx_rate: Average Rx rate * @dot11_rx_pkts: dot11 rx packets - * @rx_bytes_last: last Rx success bytes - * @rx_data_last: last rx success data + * @rx_bytes_success_last: last Rx success bytes + * @rx_data_success_last: last rx success data * @rx_byte_rate: bytes received in last one sec * @rx_data_rate: data received in last one sec * @rx_retries: retries of packet in rx * @rx_mpdus: mpdu in rx * @rx_ppdus: ppdu in rx - * @is_rx_tooshort: tooshort - * @is_rx_decap: rx decap - * @rx_ccmpmic: rx MIC check failed (CCMP) - * @rx_tkipmic: rx MIC check failed (TKIP) - * @rx_tkipicv: rx ICV check failed (TKIP) - * @rx_wpimic: rx MIC check failed (WPI) - * @rx_wepfail: rx wep processing failed * @rx_aggr: aggregation on rx * @rx_discard: packets discard in rx * @rx_ratecode: Rx rate code of last frame @@ -1735,7 +1756,8 @@ struct cdp_tx_stats { * @mpdu_retry_cnt: retries of mpdu in rx * @su_be_ppdu_cnt: SU Rx packet count for BE * @mu_be_ppdu_cnt: MU rx packet count for BE - * @punc_bw[MAX_PUNCTURED_MODE]: MSDU count for punctured BW + * @punc_bw: MSDU count for punctured BW + * @mcast_3addr_drop: * @bar_cnt: Block ACK Request frame count * @ndpa_cnt: NDP announcement frame count * @wme_ac_type_bytes: Wireless Multimedia type Byte Count @@ -1837,48 +1859,61 @@ struct cdp_rx_stats { #endif }; -/* struct cdp_tx_ingress_stats - Tx ingress Stats +/** + * struct cdp_tx_ingress_stats - Tx ingress Stats * @rcvd: Total packets received for transmission + * @rcvd_in_fast_xmit_flow: + * @rcvd_per_core: * @processed: Tx packets processed + * @reinject_pkts: Total packets reinjected * @inspect_pkts: Total packets passed to inspect handler * @nawds_mcast: NAWDS Multicast Packet Count * @bcast: Number of broadcast packets - * @raw_pkt: Total Raw packets - * @dma_map_error: DMA map error - * @num_frags_overflow_err: msdu's nbuf count exceeds num of segments - * @num_seg: No of segments in TSO packets - * @tso_pkt:total no of TSO packets - * @non_tso_pkts: non - TSO packets - * @dropped_host: TSO packets dropped by host - * @dropped_target:TSO packets dropped by target - * @sg_pkt: Total scatter gather packets - * @non_sg_pkts: non SG packets - * @dropped_host: SG packets dropped by host - * @dropped_target: SG packets dropped by target - * @dma_map_error: Dma map error - * @mcast_pkt: total no of multicast conversion packets - * @dropped_map_error: packets dropped due to map error - * @dropped_self_mac: packets dropped due to self Mac address - * @dropped_send_fail: Packets dropped due to send fail - * @ucast: total unicast packets transmitted - * @fail_seg_alloc: Segment allocation failure - * @clone_fail: NBUF clone failure - * @igmp_rcvd: igmp pkts received for conversion to ucast pkts - * @igmp_ucast_converted: unicast pkts sent as part of VoW IGMP improvements - * @dropped_pkt: Total scatter gather packets - * @desc_na: Desc Not Available - * @exc_desc_na: Exception desc Not Available - * @ring_full: ring full - * @enqueue_fail: hw enqueue fail - * @dma_error: dma fail - * @res_full: Resource Full: Congestion Control - * @fail_per_pkt_vdev_id_check: Per pkt vdev id check - * @drop_ingress: Packets dropped during Umac reset - * @exception_fw: packets sent to fw - * @completion_fw: packets completions received from fw + * @raw: Raw packet info + * @raw.raw_pkt: Total Raw packets + * @raw.dma_map_error: DMA map error + * @raq.invalid_raw_pkt_datatype: + * @raw.num_frags_overflow_err: msdu's nbuf count exceeds num of segments + * @sg: Scatter Gather packet info + * @sg.sg_pkt: Total scatter gather packets + * @sg.non_sg_pkts: non SG packets + * @sg.dropped_host: SG packets dropped by host + * @sg.dropped_target: SG packets dropped by target + * @sg.dma_map_error: Dma map error + * @mcast_en: Multicast Enhancement packets info + * @mcast_en.mcast_pkt: total no of multicast conversion packets + * @mcast_en.dropped_map_error: packets dropped due to map error + * @mcast_en.dropped_self_mac: packets dropped due to self Mac address + * @mcast_en.dropped_send_fail: Packets dropped due to send fail + * @mcast_en.ucast: total unicast packets transmitted + * @mcast_en.fail_seg_alloc: Segment allocation failure + * @mcast_en.clone_fail: NBUF clone failure + * @igmp_mcast_en: IGMP Multicast Enhancement packets info + * @igmp_mcast_en.igmp_rcvd: igmp pkts received for conversion to ucast pkts + * @igmp_mcast_en.igmp_ucast_converted: unicast pkts sent as part of VoW IGMP + * improvements + * @dropped: Packets dropped on the Tx side + * @dropped.dropped_pkt: Total scatter gather packets + * @dropped.desc_na: Desc Not Available + * @dropped.desc_na_exc_alloc_fail: + * @dropped.desc_na_outstand: + * @dropped.exc_desc_na: Exception desc Not Available + * @dropped.ring_full: ring full + * @dropped.enqueue_fail: hw enqueue fail + * @dropped.dma_error: dma fail + * @dropped.res_full: Resource Full: Congestion Control + * @dropped.headroom_insufficient: headroom insufficient + * @dropped.fail_per_pkt_vdev_id_check: Per pkt vdev id check + * @dropped.drop_ingress: Packets dropped during Umac reset + * @dropped.invalid_peer_id_in_exc_path: + * @dropped.tx_mcast_drop: + * @mesh: mesh packet information + * @mesh.exception_fw: packets sent to fw + * @mesh.completion_fw: packets completions received from fw * @cce_classified:Number of packets classified by CCE * @cce_classified_raw:Number of raw packets classified by CCE * @sniffer_rcvd: Number of packets received with ppdu cookie + * @tso_stats: */ struct cdp_tx_ingress_stats { struct cdp_pkt_info rcvd; @@ -1897,7 +1932,6 @@ struct cdp_tx_ingress_stats { uint32_t num_frags_overflow_err; } raw; - /* Scatter Gather packet info */ struct { struct cdp_pkt_info sg_pkt; struct cdp_pkt_info non_sg_pkts; @@ -1906,7 +1940,6 @@ struct cdp_tx_ingress_stats { uint32_t dma_map_error; } sg; - /* Multicast Enhancement packets info */ struct { struct cdp_pkt_info mcast_pkt; uint32_t dropped_map_error; @@ -1917,13 +1950,11 @@ struct cdp_tx_ingress_stats { uint32_t clone_fail; } mcast_en; - /* IGMP Multicast Enhancement packets info */ struct { uint32_t igmp_rcvd; uint32_t igmp_ucast_converted; } igmp_mcast_en; - /* Packets dropped on the Tx side */ struct { struct cdp_pkt_info dropped_pkt; struct cdp_pkt_info desc_na; @@ -1934,7 +1965,6 @@ struct cdp_tx_ingress_stats { uint32_t enqueue_fail; uint32_t dma_error; uint32_t res_full; - /* headroom insufficient */ uint32_t headroom_insufficient; uint32_t fail_per_pkt_vdev_id_check; uint32_t drop_ingress; @@ -1943,7 +1973,6 @@ struct cdp_tx_ingress_stats { uint32_t fw2wbm_tx_drop; } dropped; - /* Mesh packets info */ struct { uint32_t exception_fw; uint32_t completion_fw; @@ -1955,10 +1984,11 @@ struct cdp_tx_ingress_stats { struct cdp_tso_stats tso_stats; }; -/* struct cdp_rx_ingress_stats - rx ingress stats +/** + * struct cdp_rx_ingress_stats - rx ingress stats * @reo_rcvd_pkt: packets received at REO block - * @ null_q_desc_pkt: null queue desc pkt count - * @ routed_eapol_pkt: routed eapol pkt count + * @null_q_desc_pkt: null queue desc pkt count + * @routed_eapol_pkt: routed eapol pkt count */ struct cdp_rx_ingress_stats { struct cdp_pkt_info reo_rcvd_pkt; @@ -1966,7 +1996,8 @@ struct cdp_rx_ingress_stats { struct cdp_pkt_info routed_eapol_pkt; }; -/* struct cdp_vdev_stats - vdev stats structure +/** + * struct cdp_vdev_stats - vdev stats structure * @tx_i: ingress tx stats * @rx_i: ingress rx stats * @tx: cdp tx stats @@ -1986,7 +2017,9 @@ struct cdp_vdev_stats { #endif }; -/* struct cdp_calibr_stats - Calibrated stats +/** + * struct cdp_calibr_stats - Calibrated stats + * @tx: Tx statistics * @last_per: Tx last packet error rate * @tx_bytes_success_last: last Tx success bytes * @tx_data_success_last: last Tx success data @@ -1995,6 +2028,7 @@ struct cdp_vdev_stats { * @tx_data_ucast_last: last unicast Tx bytes * @tx_data_ucast_rate: last unicast Tx data * @inactive_time: inactive time in secs + * @rx: Rx statistics * @rx_bytes_success_last: last Rx success bytes * @rx_data_success_last: last Rx success data * @rx_byte_rate: Bytes received in last one sec @@ -2020,7 +2054,8 @@ struct cdp_calibr_stats { } rx; }; -/* struct cdp_calibr_stats_intf: Calibrated stats interface +/** + * struct cdp_calibr_stats_intf: Calibrated stats interface * @to_stack: Total packets sent up the stack * @tx_success: Successful Tx Packets * @tx_ucast: Tx Unicast Packet Count @@ -2031,18 +2066,18 @@ struct cdp_calibr_stats_intf { struct cdp_pkt_info tx_ucast; }; -/* struct cdp_peer_stats - peer stats structure +/** + * struct cdp_peer_stats - peer stats structure * @tx: cdp tx stats * @rx: cdp rx stats */ struct cdp_peer_stats { - /* CDP Tx Stats */ struct cdp_tx_stats tx; - /* CDP Rx Stats */ struct cdp_rx_stats rx; }; -/* struct cdp_peer_tid_stats - Per peer and per TID stats +/** + * struct cdp_peer_tid_stats - Per peer and per TID stats * @tx_prev_delay: tx previous delay * @tx_avg_jitter: tx average jitter * @tx_avg_delay: tx average delay @@ -2061,7 +2096,8 @@ struct cdp_peer_tid_stats { #endif }; -/* struct cdp_interface_peer_stats - interface structure for txrx peer stats +/** + * struct cdp_interface_peer_stats - interface structure for txrx peer stats * @peer_mac: peer mac address * @vdev_id : vdev_id for the peer * @rssi_changed: denotes rssi is changed @@ -2094,7 +2130,8 @@ struct cdp_interface_peer_stats { uint32_t rx_avg_snr; }; -/* struct cdp_interface_peer_qos_stats - interface structure for peer qos stats +/** + * struct cdp_interface_peer_qos_stats - interface structure for peer qos stats * @peer_mac: peer mac address * @frame_control: frame control field * @qos_control: qos control field @@ -2643,8 +2680,8 @@ struct cdp_htt_rx_pdev_stats { #define OFDMA_NUM_USERS 37 #if defined(WLAN_CFR_ENABLE) && defined(WLAN_ENH_CFR_ENABLE) -/* - * mac_freeze_capture_reason - capture reason counters +/** + * enum mac_freeze_capture_reason - capture reason counters * @FREEZE_REASON_TM: When m_directed_ftm is enabled, this CFR data is * captured for a Timing Measurement (TM) frame. * @FREEZE_REASON_FTM: When m_directed_ftm is enabled, this CFR data is @@ -2657,6 +2694,7 @@ struct cdp_htt_rx_pdev_stats { * enabled, this CFR data is captured for an NDP frame received. * @FREEZE_REASON_ALL_PACKET: When m_all_packet is enabled, this CFR data is * captured for an incoming PPDU. + * @FREEZE_REASON_MAX: Maximum value */ enum mac_freeze_capture_reason { FREEZE_REASON_TM = 0, @@ -2668,8 +2706,8 @@ enum mac_freeze_capture_reason { FREEZE_REASON_MAX, }; -/* - * chan_capture_status: capture status counters +/** + * enum chan_capture_status - capture status counters * @CAPTURE_IDLE: CFR data is not captured, since VCSR setting for CFR/RCC is * not enabled. * @CAPTURE_BUSY: CFR data is not available, since previous channel @@ -2677,6 +2715,7 @@ enum mac_freeze_capture_reason { * @CAPTURE_ACTIVE: CFR data is captured in HW registers * @CAPTURE_NO_BUFFER: CFR data is not captured, since no buffer is available * in IPC ring to DMA CFR data + * @CAPTURE_MAX: Maximum value */ enum chan_capture_status { CAPTURE_IDLE = 0, @@ -2686,19 +2725,20 @@ enum chan_capture_status { CAPTURE_MAX, }; -/* struct cdp_cfr_rcc_stats - CFR RCC debug statistics +/** + * struct cdp_cfr_rcc_stats - CFR RCC debug statistics * @bb_captured_channel_cnt: No. of PPDUs for which MAC sent Freeze TLV to PHY * @bb_captured_timeout_cnt: No. of PPDUs for which CFR filter criteria matched * but MAC did not send Freeze TLV to PHY as time exceeded freeze tlv delay * count threshold * @rx_loc_info_valid_cnt: No. of PPDUs for which PHY could find a valid buffer * in ucode IPC ring - * @chan_capture_status[]: capture status counters + * @chan_capture_status: capture status counters * [0] - No. of PPDUs with capture status CAPTURE_IDLE * [1] - No. of PPDUs with capture status CAPTURE_BUSY * [2] - No. of PPDUs with capture status CAPTURE_ACTIVE * [3] - No. of PPDUs with capture status CAPTURE_NO_BUFFER - * @reason_cnt[]: capture reason counters + * @reason_cnt: capture reason counters * [0] - No. PPDUs filtered due to freeze_reason_TM * [1] - No. PPDUs filtered due to freeze_reason_FTM * [2] - No. PPDUs filtered due to freeze_reason_ACK_resp_to_TM_FTM @@ -2718,7 +2758,8 @@ struct cdp_cfr_rcc_stats { }; #endif -/* struct cdp_per_cpu_packets - Per cpu packets +/** + * struct cdp_per_cpu_packets - Per cpu packets * @num_cpus: Number of cpus * @pkts: packet count per core */ @@ -2727,7 +2768,9 @@ struct cdp_per_cpu_packets { uint64_t pkts[CDP_NR_CPUS][CDP_MAX_RX_DEST_RINGS]; }; -/* struct cdp_soc_stats - soc stats +/** + * struct cdp_soc_stats - soc stats + * @tx: * @tx.egress: Total packets transmitted * @tx.tx_invalid_peer: packets dropped on tx because of no peer * @tx.tx_hw_enq: Enqueues per tx hw ring @@ -2741,6 +2784,7 @@ struct cdp_per_cpu_packets { * @tx.tx_comp_loop_pkt_limit_hit: TX Comp loop packet limit hit * @tx.hp_oos2: Head pointer Out of sync at the end of dp_tx_comp_handler * @tx.tx_comp_exception: tx desc freed as part of vdev detach + * @rx: * @rx.ingress: Total rx packets count * @rx.err_ring_pkts: Total Packets in Rx Error ring * @rx.rx_frags: No of Fragments @@ -2802,11 +2846,13 @@ struct cdp_per_cpu_packets { * @rx.err.pn_in_dest_check_fail: PN check failed for 2K-jump or OOR error * @rx.err.msdu_len_err: MSDU len err count * @rx.err.rx_flush_count: Rx flush count + * @ast: * @ast.added: ast entry added count * @ast.deleted: ast entry deleted count * @ast.aged_out: ast entry aged out count * @ast.map_err: ast entry mapping error count * @ast.ast_mismatch: ast entry mismatch count + * @mec: * @mec.added: Mec added count * @mec.deleted: Mec deleted count */ @@ -2990,7 +3036,7 @@ struct cdp_peer_deter_stats { }; /** - * struct cdp_pdev_deter_stats- Structure to hold pdev deterministic stats + * struct cdp_pdev_chan_util_stats - pdev channel utilization stats * @ap_chan_util: Channel utilization * @ap_tx_util: TX utilization * @ap_rx_util: RX utilization @@ -3002,7 +3048,7 @@ struct cdp_pdev_chan_util_stats { }; /** - * struct cdp_pdev_ul_trigger_status- Structure to hold UL trigger status + * struct cdp_pdev_ul_trigger_status - Structure to hold UL trigger status * @trigger_success: Trigger success * @trigger_fail: Trigger fail */ @@ -3012,7 +3058,7 @@ struct cdp_pdev_ul_trigger_status { }; /** - * struct cdp_pdev_deter_stats- Structure to hold pdev deterministic stats + * struct cdp_pdev_deter_stats - Structure to hold pdev deterministic stats * @dl_ofdma_usr: num_user counter for dl ofdma * @ul_ofdma_usr: num_user counter for ul ofdma * @dl_mimo_usr: num_user counter for dl mimo @@ -3020,7 +3066,7 @@ struct cdp_pdev_ul_trigger_status { * @dl_mode_cnt: DL tx mode counter * @ul_mode_cnt: UL tx mode counter * @rx_su_cnt: RX su counter - * @ch_access_delay + * @ch_access_delay: * @ch_util: channel congestion stats * @ts: trigger status for ul */ @@ -3038,29 +3084,37 @@ struct cdp_pdev_deter_stats { }; #endif -/* struct cdp_pdev_stats - pdev stats - * @msdu_not_done: packets dropped because msdu done bit not set - * @mec:Multicast Echo check - * @mesh_filter: Mesh Filtered packets - * @mon_rx_drop: packets dropped on monitor vap - * @wifi_parse: rxdma errors due to wifi parse error - * @mon_radiotap_update_err: not enough space to update radiotap - * @pkts: total packets replenished - * @rxdma_err: rxdma errors for replenished - * @nbuf_alloc_fail: nbuf alloc failed - * @frag_alloc_fail: frag alloc failed - * @map_err: Mapping failure - * @x86_fail: x86 failures - * @low_thresh_intrs: low threshold interrupts - * @free_list: RX descriptors moving back to free list +/** + * struct cdp_pdev_stats - pdev stats + * @dropped: dropped packet counters + * @dropped.msdu_not_done: packets dropped because msdu done bit not set + * @dropped.mec: Multicast Echo check + * @dropped.mesh_filter: Mesh Filtered packets + * @dropped.wifi_parse: rxdma errors due to wifi parse error + * @dropped.mon_rx_drop: packets dropped on monitor vap + * @dropped.mon_radiotap_update_err: not enough space to update radiotap + * @replenish: replenish counters + * @replenish.pkts: total packets replenished + * @replenish.rxdma_err: rxdma errors for replenished + * @replenish.nbuf_alloc_fail: nbuf alloc failed + * @replenish.frag_alloc_fail: frag alloc failed + * @replenish.map_err: Mapping failure + * @replenish.x86_fail: x86 failures + * @replenish.low_thresh_intrs: low threshold interrupts + * @replenish.free_list: RX descriptors moving back to free list * @rx_raw_pkts: Rx Raw Packets * @mesh_mem_alloc: Mesh Rx Stats Alloc fail * @tso_desc_cnt: TSO descriptors * @sg_desc_cnt: SG Descriptors * @vlan_tag_stp_cnt: Vlan tagged Stp packets in wifi parse error - * @desc_alloc_fail: desc alloc failed errors - * @ip_csum_err: ip checksum errors - * @tcp_udp_csum_err: tcp/udp checksum errors + * @err: Rx errors + * @err.desc_alloc_fail: desc alloc failed errors + * @err.desc_lt_alloc_fail: + * @err.ip_csum_err: ip checksum errors + * @err.tcp_udp_csum_err: tcp/udp checksum errors + * @err.rxdma_error: + * @err.fw_reported_rxdma_error: + * @err.reo_error: * @buf_freelist: buffers added back in freelist * @tx_i: Tx Ingress stats * @rx_i: Rx Ingress stats @@ -3072,16 +3126,39 @@ struct cdp_pdev_deter_stats { * @cdp_delayed_ba_not_recev: counter for delayed ba not received * @htt_tx_pdev_stats: htt pdev stats for tx * @htt_rx_pdev_stats: htt pdev stats for rx - * @data_rx_ru_size: UL ofdma data ru size counter array - * @nondata_rx_ru_size: UL ofdma non data ru size counter array - * @data_rx_ppdu: data rx ppdu counter - * @data_user: data user counter array + * @wdi_event: + * @tid_stats: + * @ul_ofdma: UL OFDMA stats + * @ul_ofdma.data_rx_ru_size: UL ofdma data ru size counter array + * @ul_ofdma.nondata_rx_ru_size: UL ofdma non data ru size counter array + * @ul_ofdma.data_rx_ppdu: data rx ppdu counter + * @ul_ofdma.data_users: data user counter array + * @eap_drop_stats: EAPOL packet drop stats information + * @eap_drop_stats.tx_desc_error: Total number EAPOL packets dropped due to TX + * descriptor error + * @eap_drop_stats.tx_hal_ring_access_err: Total EAPOL packets dropped due to + * HAL ring access failure + * @eap_drop_stats.tx_dma_map_err: EAPOL packets dropped due to error in DMA map + * @eap_drop_stats.tx_hw_enqueue: EAPOL packets dropped by the host due to + * failure in HW enqueue + * @eap_drop_stats.tx_sw_enqueue: EAPOL packets dropped by the host due to + * failure in SW enqueue + * @tso_stats: + * @rcc: * @tx_ppdu_proc: stats counter for tx ppdu processed * @ack_ba_comes_twice: stats counter for ack_ba_comes twice * @ppdu_drop: stats counter for ppdu_desc drop once threshold reached * @ppdu_wrap_drop: stats counter for ppdu desc drop on wrap around + * @rx_buffer_pool: + * @rx_buffer_pool.num_bufs_consumed: + * @rx_buffer_pool.num_pool_bufs_replenish: + * @rx_buffer_pool.num_bufs_alloc_success: + * @rx_refill_buff_pool: + * @rx_refill_buff_pool.num_bufs_refilled: + * @rx_refill_buff_pool.num_bufs_allocated: * @peer_unauth_rx_pkt_drop: stats counter for drops due to unauthorized peer * @telemetry_stats: pdev telemetry stats + * @deter_stats: */ struct cdp_pdev_stats { struct { @@ -3147,18 +3224,6 @@ struct cdp_pdev_stats { uint32_t data_users[OFDMA_NUM_USERS]; } ul_ofdma; - /** - * struct eap_drop_stats: EAPOL packet drop stats information - * @tx_desc_error: Total number EAPOL packets dropped due to TX - * descriptor error - * @tx_hal_ring_access_err: Total EAPOL packets dropped due to - * HAL ring access failure - * @tx_dma_map_err: EAPOL packets dropped due to error in DMA map - * @tx_hw_enqueue: EAPOL packets dropped by the host due to failure - * in HW enqueue - * @tx_sw_enqueue: EAPOL packets dropped by the host due to failure - * in SW enqueue - */ struct { uint8_t tx_desc_err; uint8_t tx_hal_ring_access_err; @@ -3193,7 +3258,8 @@ struct cdp_pdev_stats { #endif }; -/* struct cdp_peer_hmwds_ast_add_status - hmwds peer ast add status +/** + * struct cdp_peer_hmwds_ast_add_status - hmwds peer ast add status * @vdev_id: vdev id * @status: ast add status * @peer_mac: peer mac address @@ -3206,12 +3272,16 @@ struct cdp_peer_hmwds_ast_add_status { uint8_t ast_mac[QDF_MAC_ADDR_SIZE]; }; -/* - * Enumeration of cdp soc parameters +/** + * enum cdp_soc_param_t - Enumeration of cdp soc parameters + * @DP_SOC_PARAM_MSDU_EXCEPTION_DESC: + * @DP_SOC_PARAM_CMEM_FSE_SUPPORT: + * @DP_SOC_PARAM_MAX_AST_AGEOUT: * @DP_SOC_PARAM_EAPOL_OVER_CONTROL_PORT: For sending EAPOL's over control port * @DP_SOC_PARAM_MULTI_PEER_GRP_CMD_SUPPORT: For sending bulk AST delete * @DP_SOC_PARAM_RSSI_DBM_CONV_SUPPORT: To set the rssi dbm support bit * @DP_SOC_PARAM_UMAC_HW_RESET_SUPPORT: Whether target supports UMAC HW reset + * @DP_SOC_PARAM_MAX: */ enum cdp_soc_param_t { DP_SOC_PARAM_MSDU_EXCEPTION_DESC, diff --git a/dp/inc/cdp_txrx_tx_delay.h b/dp/inc/cdp_txrx_tx_delay.h index 044052dd7d..9c6109a80b 100644 --- a/dp/inc/cdp_txrx_tx_delay.h +++ b/dp/inc/cdp_txrx_tx_delay.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2019 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_tx_delay.h - * @brief Define the host data path histogram API functions + * DOC: cdp_txrx_tx_delay.h + * Define the host data path histogram API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_COMPUTE_TX_DELAY_H_ @@ -80,6 +81,7 @@ cdp_tx_delay_hist(ol_txrx_soc_handle soc, uint8_t pdev_id, * cdp_tx_packet_count() - get tx packet count * @soc: data path soc handle * @pdev_id: id of data path pdev handle + * @out_packet_count: packet count * @out_packet_loss_count: packet loss count * @category: packet category * diff --git a/dp/inc/cdp_txrx_tx_throttle.h b/dp/inc/cdp_txrx_tx_throttle.h index a17d1237bc..519d3958b8 100644 --- a/dp/inc/cdp_txrx_tx_throttle.h +++ b/dp/inc/cdp_txrx_tx_throttle.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,8 +18,8 @@ */ /** - * @file cdp_txrx_tx_throttle.h - * @brief Define the host data path transmit throttle API + * DOC: cdp_txrx_tx_throttle.h + * Define the host data path transmit throttle API * functions called by the host control SW and the OS interface * module */ @@ -52,7 +53,7 @@ cdp_throttle_init_period(ol_txrx_soc_handle soc, uint8_t pdev_id, } /** - * cdp_throttle_init_period() - init tx throttle period + * cdp_throttle_set_level() - init tx throttle level * @soc: data path soc handle * @pdev_id: id of data path pdev handle * @level: throttle level diff --git a/dp/inc/cdp_txrx_wds.h b/dp/inc/cdp_txrx_wds.h index 24c253f035..6b5cb63084 100644 --- a/dp/inc/cdp_txrx_wds.h +++ b/dp/inc/cdp_txrx_wds.h @@ -1,5 +1,6 @@ /* * Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved. + * Copyright (c) 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 @@ -17,22 +18,24 @@ */ /** - * @file cdp_txrx_wds.h - * @brief Define the host data path WDS API functions + * DOC: cdp_txrx_wds.h + * Define the host data path WDS API functions * called by the host control SW and the OS interface module */ #ifndef _CDP_TXRX_WDS_H_ #define _CDP_TXRX_WDS_H_ #include "cdp_txrx_handle.h" + /** - * @brief set the wds rx filter policy of the device - * @details - * This flag sets the wds rx policy on the vdev. Rx frames not compliant - * with the policy will be dropped. + * cdp_set_wds_rx_policy() - set the wds rx filter policy of the device + * @soc: psoc object + * @vdev_id: id of the data virtual device object + * @val: the wds rx policy bitmask * - * @param vdev_id - id of the data virtual device object - * @param val - the wds rx policy bitmask - * @return - QDF_STATUS + * This flag sets the wds rx policy on the vdev. Rx frames not compliant + * with the policy will be dropped. + * + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_set_wds_rx_policy(ol_txrx_soc_handle soc, @@ -51,16 +54,17 @@ cdp_set_wds_rx_policy(ol_txrx_soc_handle soc, } /** - * @brief set the wds rx filter policy of the device - * @details - * This flag sets the wds rx policy on the vdev. Rx frames not compliant - * with the policy will be dropped. + * cdp_set_wds_tx_policy_update() - set the wds tx filter policy of the device + * @soc: psoc object + * @vdev_id: id of the data virtual device object + * @peer_mac: peer mac address + * @wds_tx_ucast: the wds unicast tx policy bitmask + * @wds_tx_mcast: the wds multicast tx policy bitmask * - * @param psoc - psoc object - * @param vdev_id - id of the data virtual device object - * @param peer_mac - peer mac address - * @param val - the wds rx policy bitmask - * @return - QDF_STATUS + * This flag sets the wds xx policy on the vdev. Tx frames not compliant + * with the policy will be dropped. + * + * Return: QDF_STATUS */ static inline QDF_STATUS cdp_set_wds_tx_policy_update(ol_txrx_soc_handle soc, @@ -82,13 +86,13 @@ cdp_set_wds_tx_policy_update(ol_txrx_soc_handle soc, /** * cdp_vdev_set_wds() - Set/unset wds_enable flag in vdev - * @soc - data path soc handle - * @vdev_id - id of data path vap handle - * @val - value to be set in wds_en flag + * @soc: data path soc handle + * @vdev_id: id of data path vap handle + * @val: value to be set in wds_en flag * * This flag enables WDS source port learning feature on a vdev * - * return 1 on success + * Return: 1 on success */ static inline int cdp_vdev_set_wds(ol_txrx_soc_handle soc, uint8_t vdev_id, uint32_t val)