qcacmn: Fix dp/inc documentation

The kernel-doc script identified a large number of kernel-doc issues
in the dp/inc folder, so fix them.

Change-Id: I6213164d2209cc4de9684ae66281ee2999f82672
CRs-Fixed: 3375078
This commit is contained in:
Jeff Johnson
2023-01-06 15:47:47 -08:00
committed by Madan Koyyalamudi
parent 3c4a739d9c
commit d18654812f
30 changed files with 1294 additions and 1042 deletions

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017, 2019-2020 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_bus.h * DOC: cdp_txrx_bus.h
* @brief Define the host data path bus related functions * Define the host data path bus related functions
*/ */
#ifndef _CDP_TXRX_BUS_H_ #ifndef _CDP_TXRX_BUS_H_
#define _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 * @soc: data path soc handle
* @pdev_id: id of dp pdev handle * @pdev_id: id of dp pdev handle
* *

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2019,2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_cfg.h * DOC: cdp_txrx_cfg.h
* @brief Define the host data path configuration API functions * Define the host data path configuration API functions
*/ */
#ifndef _CDP_TXRX_CFG_H_ #ifndef _CDP_TXRX_CFG_H_
#define _CDP_TXRX_CFG_H_ #define _CDP_TXRX_CFG_H_
@@ -27,9 +28,9 @@
/** /**
* cdp_cfg_set_rx_fwd_disabled() - enable/disable rx forwarding * cdp_cfg_set_rx_fwd_disabled() - enable/disable rx forwarding
* @soc - data path soc handle * @soc: data path soc handle
* @pdev - data path device instance * @cfg_pdev: data path device instance
* @disable_rx_fwd - enable or disable rx forwarding * @disable_rx_fwd: enable or disable rx forwarding
* *
* enable/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 * cdp_cfg_set_packet_log_enabled() - enable/disable packet log
* @soc - data path soc handle * @soc: data path soc handle
* @pdev - data path device instance * @cfg_pdev: data path device instance
* @val - enable or disable packet log * @val: enable or disable packet log
* *
* packet log enable or disable * 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 * cdp_cfg_attach() - attach config module
* @soc - data path soc handle * @soc: data path soc handle
* @osdev - os instance * @osdev: os instance
* @cfg_param - configuration parameter should be propagated * @cfg_param: configuration parameter should be propagated
* *
* Allocate configuration module instance, and propagate configuration values * 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 * cdp_cfg_vdev_rx_set_intrabss_fwd() - enable/disable intra bass forwarding
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id * @vdev_id: virtual interface id
* @val - enable or disable intra bss forwarding * @val: enable or disable intra bss forwarding
* *
* ap isolate, do not forward intra bss traffic * 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 * cdp_cfg_is_rx_fwd_disabled() - get vdev rx forward
* @soc - data path soc handle * @soc: data path soc handle
* @vdev - virtual interface instance * @vdev: virtual interface instance
* *
* Return rx forward feature enable status * 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 * cdp_cfg_tx_set_is_mgmt_over_wmi_enabled() - mgmt tx over wmi enable/disable
* @soc - data path soc handle * @soc: data path soc handle
* @value - feature enable or disable * @value: feature enable or disable
* *
* Enable or disable management packet TX over WMI feature * 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 * cdp_cfg_is_high_latency() - query data path is in high or low latency
* @soc - data path soc handle * @soc: data path soc handle
* @pdev - data path device instance * @cfg_pdev: data path device instance
* *
* query data path is in high or low latency * 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 * cdp_cfg_set_flow_control_parameters() - set flow control params
* @soc - data path soc handle * @soc: data path soc handle
* @cfg - dp config module instance * @cfg_pdev: dp config module instance
* @param - parameters should set * @param: parameters should set
* *
* set flow control params * 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 * cdp_cfg_set_flow_steering - Set Rx flow steering config based on CFG ini
* config. * config.
* * @soc: data path soc handle
* @pdev - handle to the physical device * @cfg_pdev: handle to the physical device
* @val - 0 - disable, 1 - enable * @val: 0 - disable, 1 - enable
* *
* Return: None * 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 * cdp_cfg_set_ptp_rx_opt_enabled() - enable/disable ptp rx timestamping
* @soc - data path soc handle * @soc: data path soc handle
* @pdev - data path device instance * @cfg_pdev: data path device instance
* @val - enable or disable packet log * @val: enable or disable packet log
* *
* ptp rx timestamping enable or disable * 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 * cdp_cfg_set_new_htt_msg_format() - set htt h2t msg feature
* @soc - datapath soc handle * @soc: datapath soc handle
* @val - enable or disable new htt h2t msg feature * @val: enable or disable new htt h2t msg feature
* *
* Enable whether htt h2t message length includes htc header length * 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 * cdp_cfg_set_peer_unmap_conf_support() - set peer unmap conf feature
* @soc - datapath soc handle * @soc: datapath soc handle
* @val - enable or disable peer unmap conf feature * @val: enable or disable peer unmap conf feature
* *
* Set if peer unmap confirmation feature is supported by both FW and in INI * 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 * 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 * Check if peer unmap confirmation feature is enabled
* *

View File

@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_cmn.h * DOC: cdp_txrx_cmn.h
* @brief Define the host data path converged API functions * Define the host data path converged API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_CMN_H_ #ifndef _CDP_TXRX_CMN_H_
@@ -131,13 +131,13 @@ enum verbose_debug_module {
} while (0); }) } 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 * 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_PKT_CNT_ONLY: update Tx packet count only
* @DP_VDEV_STATS_TX_ME: update Tx ingress stats * @DP_VDEV_STATS_TX_ME: update Tx ingress stats
*/ */
enum { enum vdev_host_stats_id {
DP_VDEV_STATS_PKT_CNT_ONLY, DP_VDEV_STATS_PKT_CNT_ONLY,
DP_VDEV_STATS_TX_ME, DP_VDEV_STATS_TX_ME,
}; };
@@ -155,8 +155,10 @@ enum rx_tlv_bw {
RX_TLV_BW_CNT, 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, typedef void (*ipa_uc_op_cb_type)(uint8_t *op_msg,
void *osif_ctxt); void *osif_ctxt);
@@ -271,7 +273,7 @@ cdp_vdev_attach(ol_txrx_soc_handle soc, uint8_t pdev_id,
* *
* Create per vdev flow pool. * Create per vdev flow pool.
* *
* return none * Return: QDF_STATUS
*/ */
static inline QDF_STATUS cdp_flow_pool_map(ol_txrx_soc_handle soc, static inline QDF_STATUS cdp_flow_pool_map(ol_txrx_soc_handle soc,
uint8_t pdev_id, uint8_t vdev_id) 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 * Delete flow pool
* *
* return none * Return: none
*/ */
static inline void cdp_flow_pool_unmap(ol_txrx_soc_handle soc, static inline void cdp_flow_pool_unmap(ol_txrx_soc_handle soc,
uint8_t pdev_id, uint8_t vdev_id) uint8_t pdev_id, uint8_t vdev_id)
@@ -512,8 +514,8 @@ static inline QDF_STATUS cdp_peer_setup
peer_mac, setup_info); 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 * @soc: Datapath SOC handle
* @vdev_id: id of virtual device object * @vdev_id: id of virtual device object
* @peer_mac_addr: Mac address of the peer * @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 * of first ast entry found in the
* table with given mac address * table with given mac address
* *
* @soc - data path soc handle * @soc: data path soc handle
* @ast_mac_addr - AST entry mac address * @ast_mac_addr: AST entry mac address
* @ast_entry_info - ast entry information * @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 * false if ast entry not found
*/ */
static inline bool cdp_peer_get_ast_info_by_soc 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 * and return ast entry information
* if mac address and pdev_id matches * if mac address and pdev_id matches
* *
* @soc - data path soc handle * @soc: data path soc handle
* @ast_mac_addr - AST entry mac address * @ast_mac_addr: AST entry mac address
* @pdev_id - pdev_id * @pdev_id: pdev_id
* @ast_entry_info - ast entry information * @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 * false if ast entry not found
*/ */
static inline bool cdp_peer_get_ast_info_by_pdev 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 * cdp_peer_ast_delete_by_soc() - delete the ast entry from soc AST hash table
* with given mac address * with given mac address
* *
* @soc - data path soc handle * @soc: data path soc handle
* @ast_mac_addr - AST entry mac address * @ast_mac_addr: AST entry mac address
* @callback - callback function to called on ast delete response from FW * @callback: callback function to called on ast delete response from FW
* @cookie - argument to be passed to callback * @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 * is sent
* QDF_STATUS_E_INVAL false if ast entry not found * 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 * cdp_peer_ast_delete_by_pdev() - delete the ast entry from soc AST hash table
* if mac address and pdev_id matches * if mac address and pdev_id matches
* *
* @soc - data path soc handle * @soc: data path soc handle
* @ast_mac_addr - AST entry mac address * @ast_mac_addr: AST entry mac address
* @pdev_id - pdev id * @pdev_id: pdev id
* @callback - callback function to called on ast delete response from FW * @callback: callback function to called on ast delete response from FW
* @cookie - argument to be passed to callback * @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 * is sent
* QDF_STATUS_E_INVAL false if ast entry not found * 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 #endif
/** /**
* cdp_peer_detach_sync() - peer detach sync callback * cdp_peer_delete_sync() - peer delete sync callback
* @soc: datapath soc handle * @soc: datapath soc handle
* @vdev_id: virtual device/interface id * @vdev_id: virtual device/interface id
* @peer_mac: peer mac address * @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. * @bitmap: bitmap indicating special handling of request.
* *
* Return: None * 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 * cdp_peer_unmap_sync_cb_set() - set peer unmap sync callback
* @soc: datapath soc handle * @soc: datapath soc handle
* @pdev_id: physical device instance id * @pdev_id: physical device instance id
* @peer_unmap_sync: peer unmap sync callback * @unmap_resp_cb: peer unmap sync callback
* *
* Return: None * Return: None
*/ */
@@ -1041,11 +1043,11 @@ cdp_peer_unmap_sync_cb_set(ol_txrx_soc_handle soc,
unmap_resp_cb); unmap_resp_cb);
} }
/* /**
* cdp_data_tx_cb_set(): set the callback for non standard tx * cdp_data_tx_cb_set(): set the callback for non standard tx
* @soc - datapath soc handle * @soc: datapath soc handle
* @vdev_id - virtual device/interface id * @vdev_id: virtual device/interface id
* @callback - callback function * @callback: callback function
* @ctxt: callback context * @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) * Statistics and Debugging Interface (C Interface)
*****************************************************************************/ *****************************************************************************/
/** /*
* External Device physical address types * External Device physical address types
* *
* Currently, both MAC and IPA uController use the same size addresses * 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); soc->ops->cmn_drv_ops->txrx_print_level_set(level);
} }
/* /**
* cdp_get_vdev_mac_addr() Detach txrx peer * cdp_get_vdev_mac_addr() - Detach txrx peer
* @soc_hdl: Datapath soc handle * @soc: Datapath soc handle
* @vdev_id: virtual device/interface id * @vdev_id: virtual device/interface id
* *
* Return: MAC address on success, NULL on failure. * 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); vdev_id);
} }
/* /**
* cdp_get_mon_vdev_from_pdev() - Get vdev handle of monitor mode * cdp_get_mon_vdev_from_pdev() - Get vdev handle of monitor mode
* @soc: datapath soc handle * @soc: datapath soc handle
* @pdev_id: physical device instance id * @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 * @soc: ol_txrx_soc_handle handle
* @devid: Device ID
* @hif_handle: Opaque HIF handle
* @psoc: Opaque Objmgr handle
* @htc_handle: Opaque HTC handle * @htc_handle: Opaque HTC handle
* @qdf_dev: QDF device * @qdf_dev: QDF device
* @dp_ol_if_ops: Offload Operations * @pdev_id: pdev id
* *
* Return: DP SOC handle on success, NULL on failure * 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 * cdp_set_pdev_dscp_tid_map(): function to change tid values in DSCP-tid map
* @soc: soc handle
* @pdev_id: id of pdev handle * @pdev_id: id of pdev handle
* @map_id: id of the tid map * @map_id: id of the tid map
* @tos: index value in map that needs to be changed * @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 * cdp_flush_cache_rx_queue() - flush cache rx queue frame
* @soc: soc handle
* *
* Return: None * 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 * cdp_display_stats(): function to map to dump stats
* @soc: soc handle * @soc: soc handle
* @value: statistics option * @value: statistics option
* @level: verbosity level
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_display_stats(ol_txrx_soc_handle soc, uint16_t value, 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 * cdp_set_pn_check(): function to set pn check
* @soc: soc handle * @soc: soc handle
* @vdev_id: id of virtual device * @vdev_id: id of virtual device
* @peer_mac: mac address of peer * @peer_mac: mac address of peer
* @sec_type: security type * @sec_type: security type
* @rx_pn: receive pn * @rx_pn: receive pn
*/ */
static inline int cdp_set_pn_check(ol_txrx_soc_handle soc, static inline int cdp_set_pn_check(ol_txrx_soc_handle soc,
uint8_t vdev_id, uint8_t *peer_mac, uint8_t vdev_id, uint8_t *peer_mac,
enum cdp_sec_type sec_type, uint32_t *rx_pn) 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 * @vdev_id: id of virtual device
* @peer_mac: mac address of peer * @peer_mac: mac address of peer
* @sec_type: security type * @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, static inline int cdp_set_key_sec_type(ol_txrx_soc_handle soc,
uint8_t vdev_id, 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); size);
} }
/* /**
* cdp_soc_get_dp_txrx_handle() - get extended dp handle from soc * cdp_soc_get_dp_txrx_handle() - get extended dp handle from soc
* @soc: opaque soc handle * @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 * cdp_soc_set_dp_txrx_handle() - set advanced dp handle in soc
* @soc: opaque soc handle * @soc: opaque soc handle
* @dp_hdl: opaque pointer for dp_txrx_handle * @dp_handle: opaque pointer for dp_txrx_handle
* *
* Return: void * Return: void
*/ */
@@ -2101,6 +2103,7 @@ cdp_soc_set_dp_txrx_handle(ol_txrx_soc_handle soc, void *dp_handle)
* @soc: opaque soc handle * @soc: opaque soc handle
* @pdev_id: id of data path pdev handle * @pdev_id: id of data path pdev handle
* @lmac_id: lmac id * @lmac_id: lmac id
*
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline 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 * 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 * @flag: set or clear is_tx_pause
* *
* Return: None. * 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 * cdp_get_peer_mac_from_peer_id() - get peer mac addr from peer id
* @soc: opaque soc handle * @soc: opaque soc handle
* @pdev_id: id of data path pdev handle
* @peer_id: data path peer id * @peer_id: data path peer id
* @peer_mac: peer_mac * @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 * cdp_vdev_tx_lock() - acquire lock
* @soc: opaque soc handle * @soc: opaque soc handle
* @vdev: data path vdev handle * @vdev_id: id of data path vdev handle
* *
* Return: void * 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 * @soc: opaque soc handle
* @vdev_id: id of vdev device * @vdev_id: id of vdev device
* @force: number of frame in SW queue * @force: number of frame in SW queue
*
* Return: void * Return: void
*/ */
static inline 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); 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 * @soc: opaque soc handle
* @max_peers: number of peers created in FW * @max_peers: number of peers created in FW
* @max_ast_index: max number of AST index supported 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 * @peer_map_unmap_v: Indicates HTT peer map/unmap versions enabled in FW
* *
*
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline 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; 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 * @soc: opaque soc handle
* @param: parameter type * @param: parameter type
* @value: parameter value * @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; 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 * @soc: opaque soc handle
* @vdev: opaque dp vdev handle * @vdev_id: vdev id
* @skb: data * @skb: data
* @dir: rx or tx packet * @dir: rx or tx packet
* @nbuf_classify: packet classification object * @nbuf_class: packet classification object
* *
* Return: 1 on success else return 0 * 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 * cdp_get_dp_capabilities() - get DP capabilities
* @soc: opaque soc handle * @soc: opaque soc handle
* @dp_cap: enum of DP capabilities * @dp_caps: enum of DP capabilities
* *
* Return: bool * Return: bool
*/ */
@@ -2469,12 +2474,12 @@ cdp_get_dp_capabilities(struct cdp_soc_t *soc, enum cdp_capabilities dp_caps)
#ifdef RECEIVE_OFFLOAD #ifdef RECEIVE_OFFLOAD
/** /**
* cdp_register_rx_offld_flush_cb() - register LRO/GRO flush cb function pointer * cdp_register_rx_offld_flush_cb() - register LRO/GRO flush cb function pointer
* @soc - data path soc handle * @soc: data path soc handle
* @pdev - device instance pointer * @rx_ol_flush_cb: Flush callback function
* *
* register rx offload flush callback function pointer * 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, static inline void cdp_register_rx_offld_flush_cb(ol_txrx_soc_handle soc,
void (rx_ol_flush_cb)(void *)) 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 * 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 * 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) 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 */ #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 * @soc: pointer to the soc
* @value - timeout value in millisec * @value: timeout value in millisec
* @ac - Access category * @ac: Access category
* *
* @return - void * Return: void
*/ */
static inline void cdp_set_ba_timeout(ol_txrx_soc_handle soc, static inline void cdp_set_ba_timeout(ol_txrx_soc_handle soc,
uint8_t ac, uint32_t value) 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 * @soc: pointer to the soc
* @ac - access category * @ac: access category
* @value - timeout value in millisec * @value: timeout value in millisec
* *
* @return - void * Return: void
*/ */
static inline void cdp_get_ba_timeout(ol_txrx_soc_handle soc, static inline void cdp_get_ba_timeout(ol_txrx_soc_handle soc,
uint8_t ac, uint32_t *value) 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 * @soc: pointer to the soc
* @cfg: cfg enum * @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) 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 * cdp_peer_get_peerstats_ctx() - get peer stats context
* @soc: opaque soc handle * @soc: opaque soc handle
* @vdev_id: id of vdev handle * @vdev_id: id of vdev handle
* @mac: peer mac address * @mac_addr: peer mac address
*/ */
static inline void static inline void
*cdp_peer_get_peerstats_ctx(ol_txrx_soc_handle soc, uint8_t vdev_id, *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 * cdp_set_vdev_pcp_tid_map() - set vdev pcp-tid-map
* @soc: opaque soc handle * @soc: opaque soc handle
* @vdev: id of data path vdev handle * @vdev_id: id of data path vdev handle
* @pcp: pcp value * @pcp: pcp value
* @tid: tid 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); (soc, vdev_id, newmac, mac_cnt, limit);
} }
/* /**
* cdp_soc_config_full_mon_mode () - Configure Full monitor mode * cdp_soc_config_full_mon_mode () - Configure Full monitor mode
* *
*@soc: dp soc handle * @soc: dp soc handle
*@val: value to be configured val should be 0 or 1 * @val: value to be configured val should be 0 or 1
* *
* This API is used to enable/disable support for Full monitor mode feature * 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 #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 * @soc: opaque soc handle
* Return: number of pending frames *
* Return: number of queued frames
*/ */
static inline uint32_t static inline uint32_t
cdp_get_tx_inqueue(ol_txrx_soc_handle soc) 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 * cdp_enable_mon_reap_timer() - enable/disable reap timer
* @soc: Datapath soc handle * @soc: Datapath soc handle
* @pdev_id: id of objmgr pdev * @source: monitor reap source
* @enable: enable/disable reap timer of monitor status ring * @enable: enable/disable reap timer of monitor status ring
* *
* Return: true if timer start/stop is performed, false otherwise. * 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 * cdp_get_tsf_time() - get tsf time
* @soc: Datapath soc handle * @soc: Datapath soc handle
* @tsf_id:
* @mac_id: mac_id * @mac_id: mac_id
* @tsf: pointer to update tsf value * @tsf: pointer to update tsf value
* @tsf_sync_soc_time: pointer to update tsf sync time * @tsf_sync_soc_time: pointer to update tsf sync time

View File

@@ -57,6 +57,10 @@ ol_txrx_soc_handle
ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_if_ops); ol_txrx_soc_attach(void *scn_handle, struct ol_if_ops *dp_ol_if_ops);
#endif #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 * dp_soc_attach_wifi3() - Attach txrx SOC
* @ctrl_psoc: Opaque SOC handle from Ctrl plane * @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 * 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 * 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 * 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, void *dp_soc_init_wifi3(struct cdp_soc_t *soc,
struct cdp_ctrl_objmgr_psoc *ctrl_psoc, struct cdp_ctrl_objmgr_psoc *ctrl_psoc,
struct hif_opaque_softc *hif_handle, struct hif_opaque_softc *hif_handle,

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_ctrl.h * DOC: cdp_txrx_ctrl.h
* @brief Define the host data path control API functions * Define the host data path control API functions
* called by the host control SW and the OS interface module * 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) #if defined(ATH_SUPPORT_NAC) || defined(ATH_SUPPORT_NAC_RSSI)
/** /**
* @brief update the neighbour peer addresses * cdp_update_filter_neighbour_peers() - update the neighbour peer addresses
* @details * @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 * This defines interface function to update neighbour peers addresses
* which needs to be filtered * which needs to be filtered
* *
* @param soc - the pointer to soc object * Return: int
* @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
*/ */
static inline int static inline int
cdp_update_filter_neighbour_peers(ol_txrx_soc_handle soc, 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*/ #endif /* ATH_SUPPORT_NAC || ATH_SUPPORT_NAC_RSSI*/
/** /**
* @brief update the monitor buffer and status filter * cdp_update_mon_mac_filter() - update the monitor buffer and status filter
* @details * @soc: the pointer to soc object
* This defines interface function to set/reset monitor filter * @vdev_id: id of the pointer to vdev
* in case of special vap (scan radio) * @cmd: add/del entry into peer table
* *
* @param soc - the pointer to soc object * This defines interface function to set/reset monitor filter
* @param vdev_id - id of the pointer to vdev * in case of special vap (scan radio)
* @param cmd - add/del entry into peer table *
* @return - QDF_STATUS * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_update_mon_mac_filter(ol_txrx_soc_handle soc, 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 #ifdef WLAN_SUPPORT_MSCS
/** /**
* @brief record the MSCS data and send it to the Data path * cdp_record_vdev_mscs_params() - record the MSCS data and send it to the
* @details * Data path
* This defines interface function to record the MSCS procedure * @soc: the pointer to soc object
* based data parameters so that the data path layer can access it * @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 * This defines interface function to record the MSCS procedure
* @param vdev_id - id of the pointer to vdev * based data parameters so that the data path layer can access it
* @param macaddr - the address of neighbour peer *
* @param mscs_params - Structure having MSCS params * Return: QDF_STATUS
* obtained from handshake
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_record_vdev_mscs_params(ol_txrx_soc_handle soc, uint8_t 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 #endif
/** /**
* @brief set the Reo Destination ring for the pdev * cdp_set_pdev_reo_dest() - set the Reo Destination ring for the pdev
* @details * @soc: pointer to the soc
* This will be used to configure the Reo Destination ring for this pdev. * @pdev_id: id of the data physical device object
* @val: the Reo destination ring index (1 to 4)
* *
* @param soc - pointer to the soc * This will be used to configure the Reo Destination ring for this pdev.
* @param pdev_id - id of the data physical device object *
* @param val - the Reo destination ring index (1 to 4) * Return: QDF_STATUS
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_set_pdev_reo_dest(ol_txrx_soc_handle soc, 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 * Return: the Reo destination ring index (1 to 4), 0 if not supported.
* @param pdev_id - id of physical device object
* @return - the Reo destination ring index (1 to 4), 0 if not supported.
*/ */
static inline enum cdp_host_reo_dest_ring static inline enum cdp_host_reo_dest_ring
cdp_get_pdev_reo_dest(ol_txrx_soc_handle soc, uint8_t pdev_id) 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 */ /* Is this similar to ol_txrx_peer_state_update() in MCL */
/** /**
* @brief Update the authorize peer object at association time * cdp_peer_authorize() - Update the authorize peer object at association time
* @details * @soc: pointer to the soc
* For the host-based implementation of rate-control, it * @vdev_id: id of the pointer to vdev
* updates the peer/node-related parameters within rate-control * @peer_mac: mac address of the node's object
* context of the peer at association. * @authorize: either to authorize or unauthorize peer
* *
* @param soc - pointer to the soc * For the host-based implementation of rate-control, it
* @param vdev_id - id of the pointer to vdev * updates the peer/node-related parameters within rate-control
* @param peer_mac - mac address of the node's object * context of the peer at association.
* @authorize - either to authorize or unauthorize peer
* *
* @return QDF_STATUS * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_peer_authorize(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, 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 * cdp_peer_get_authorize() - Get per authorize status
* * @soc: pointer to the soc
* @soc - pointer to the soc * @vdev_id: id of the pointer to vdev
* @vdev_id - id of the pointer to vdev * @peer_mac: mac address of the node's object
* @peer_mac - mac address of the node's object
* *
* Return: true is peer is authorized, false otherwise * 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 #ifdef VDEV_PEER_PROTOCOL_COUNT
/** /**
* cdp_set_vdev_peer_protocol_count() - set per-peer protocol count tracking * cdp_set_vdev_peer_protocol_count() - set per-peer protocol count tracking
* * @soc: pointer to the soc
* @soc - pointer to the soc * @vdev_id: the data virtual device object
* @vdev - the data virtual device object * @enable: enable per-peer protocol count
* @enable - enable per-peer protocol count
* *
* Set per-peer protocol count feature enable * 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 * cdp_set_vdev_peer_protocol_drop_mask() - set per-peer protocol drop mask
* * @soc: pointer to the soc
* @soc - pointer to the soc * @vdev_id: ID of the data virtual device object
* @vdev - the data virtual device object * @drop_mask: drop_mask
* @drop_mask - drop_mask
* *
* Set per-peer protocol drop_mask * Set per-peer protocol drop_mask
* *
* Return - void * Return: void
*/ */
static inline static inline
void cdp_set_vdev_peer_protocol_drop_mask(ol_txrx_soc_handle soc, 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 * cdp_is_vdev_peer_protocol_count_enabled() - whether peer-protocol tracking
* enabled * enabled
* * @soc: pointer to the soc
* @soc - pointer to the soc * @vdev_id: ID of the data virtual device object
* @vdev - the data virtual device object
* *
* Get whether peer protocol count feature enabled or not * 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 * cdp_get_peer_protocol_drop_mask() - get per-peer protocol count drop-mask
* * @soc: pointer to the soc
* @soc - pointer to the soc * @vdev_id: ID of the data virtual device object
* @vdev - the data virtual device object
* *
* Get peer-protocol-count drop-mask * 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 * cdp_txrx_peer_protocol_cnt() - set peer protocol count
* @soc: opaque soc handle * @soc: opaque soc handle
* @vdev: opaque vdev handle * @vdev_id: vdev id
* @nbuf: data packet * @nbuf: data packet
* @is_egress: whether egress or ingress * @is_egress: whether egress or ingress
* @is_rx: whether tx or rx * @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 * cdp_enable_peer_based_pktlog()- Set flag in peer structure
*
* @soc: pointer to the soc * @soc: pointer to the soc
* @pdev_id: id of the data physical device object * @pdev_id: id of the data physical device object
* @enable: enable or disable peer based filter based pktlog * @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 * cdp_calculate_delay_stats()- get rx delay stats
*
* @soc: pointer to the soc * @soc: pointer to the soc
* @vdev_id: id of vdev handle * @vdev_id: id of vdev handle
* @nbuf: nbuf which is passed * @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. * cdp_wdi_event_sub() - Subscribe to a specified WDI event.
* @details * @soc: pointer to the soc
* This function adds the provided wdi_event_subscribe object to a list of * @pdev_id: id of the data physical device object
* subscribers for the specified WDI event. * @event_cb_sub: the callback and context for the event subscriber
* When the event in question happens, each subscriber for the event will * @event: which event's notifications are being subscribed to
* have their callback function invoked.
* The order in which callback functions from multiple subscribers are
* invoked is unspecified.
* *
* @param soc - pointer to the soc * This function adds the provided wdi_event_subscribe object to a list of
* @param pdev_id - id of the data physical device object * subscribers for the specified WDI event.
* @param event_cb_sub - the callback and context for the event subscriber * When the event in question happens, each subscriber for the event will
* @param event - which event's notifications are being subscribed to * have their callback function invoked.
* @return - int * The order in which callback functions from multiple subscribers are
* invoked is unspecified.
*
* Return: int
*/ */
static inline int static inline int
cdp_wdi_event_sub(ol_txrx_soc_handle soc, uint8_t pdev_id, 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. * cdp_wdi_event_unsub() - Unsubscribe from a specified WDI event.
* @details * @soc: pointer to the soc
* This function removes the provided event subscription object from the * @pdev_id: id of the data physical device object
* list of subscribers for its event. * @event_cb_sub: the callback and context for the event subscriber
* This function shall only be called if there was a successful prior call * @event: which event's notifications are being subscribed to
* to event_sub() on the same wdi_event_subscribe object.
* *
* @param soc - pointer to the soc * This function removes the provided event subscription object from the
* @param pdev_id - id of the data physical device object * list of subscribers for its event.
* @param event_cb_sub - the callback and context for the event subscriber * This function shall only be called if there was a successful prior call
* @param event - which event's notifications are being subscribed to * to cdp_wdi_event_sub() on the same wdi_event_subscribe object.
* @return - int *
* Return: int
*/ */
static inline int static inline int
cdp_wdi_event_unsub(ol_txrx_soc_handle soc, 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. * cdp_get_sec_type() - Get security type from the from peer.
* @details * @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. * This function gets the Security information from the peer handler.
* The security information is got from the rx descriptor and filled in * The security information is got from the rx descriptor and filled in
* to the peer handler. * to the peer handler.
* *
* @param soc - pointer to the soc * Return: int
* @param vdev_id - id of vdev handle
* @param peer mac - peer mac address
* @param sec_idx - mcast or ucast frame type.
* @return - int
*/ */
static inline int static inline int
cdp_get_sec_type(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac, 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 * cdp_set_mgmt_tx_power() - function to set tx power for mgmt frames
* @param soc - pointer to the soc * @soc: pointer to the soc
* @vdev_id : id of vdev handle * @vdev_id : id of vdev handle
* @subtype_index: subtype * @subtype: subtype
* @tx_power: Tx power * @tx_power: Tx power
*
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline 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 * cdp_get_cfr_dbg_stats() - Get debug statistics for CFR
*
* @soc: SOC TXRX handle * @soc: SOC TXRX handle
* @pdev_id: ID of the physical device object * @pdev_id: ID of the physical device object
* @buf: CFR RCC debug statistics buffer * @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 * cdp_cfr_clr_dbg_stats() - Clear debug statistics for CFR
*
* @soc: SOC TXRX handle * @soc: SOC TXRX handle
* @pdev_id: ID of the physical device object * @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 #ifdef WLAN_SUPPORT_RX_TAG_STATISTICS
/** /**
* cdp_dump_pdev_rx_protocol_tag_stats() - wrapper function to dump the protocol * 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 * @soc: SOC TXRX handle
* @pdev_id: id of CDP pdev pointer * @pdev_id: id of CDP pdev pointer
* @protocol_type: Protocol type for which the tag should be update * @protocol_type: Protocol type for which the tag should be update
*
* Return: Returns QDF_STATUS_SUCCESS/FAILURE * Return: Returns QDF_STATUS_SUCCESS/FAILURE
*/ */
static inline QDF_STATUS 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 #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 * @soc: soc pointer
* @vdev_id: id of vdev * @vdev_id: id of vdev
* @nac_cmd: specifies nac_rss config action add, del, list * @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); 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 * @soc: soc pointer
* @vdev_id: id of vdev * @vdev_id: id of vdev
* @macaddr: Non-Associated client MAC * @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 * cdp_txrx_peer_flush_frags() - flush frags for peer
* * @soc: pointer to the soc
* @soc - pointer to the soc * @vdev_id: vdev id
* @vdev - the data virtual device object * @peer_mac: peer MAC address
* *
* Get peer-protocol-count drop-mask * 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 * cdp_txrx_set_pdev_phyrx_error_mask() - set phyrx error mask
* @soc: opaque soc handle * @soc: opaque soc handle
* @pdev_id: id of data path pdev handle * @pdev_id: id of data path pdev handle
* @mask1: mask to configure 0 to 31 phy error * @mask: mask to configure 0 to 31 phy error
* @mask2: mask to configure 32 to 63 phy error * @mask_cont: mask to configure 32 to 63 phy error
* *
* Return: status: 0 - Success, non-zero: Failure * Return: status: 0 - Success, non-zero: Failure
*/ */

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2016-2019,2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,9 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_flow_ctrl_legacy.h * DOC: cdp_txrx_flow_ctrl_legacy.h
* @brief Define the host data path legacy flow control API * Define the host data path legacy flow control API functions
* functions
*/ */
#ifndef _CDP_TXRX_FC_LEG_H_ #ifndef _CDP_TXRX_FC_LEG_H_
#define _CDP_TXRX_FC_LEG_H_ #define _CDP_TXRX_FC_LEG_H_
@@ -37,7 +36,7 @@
* *
* Register flow control callback. * Register flow control callback.
* *
* Returns: 0 for success * Return: 0 for success
*/ */
static inline int static inline int
cdp_hl_fc_register(ol_txrx_soc_handle soc, uint8_t pdev_id, 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 #ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
/** /**
* cdp_fc_register() - Register flow control callback function pointer * cdp_fc_register() - Register flow control callback function pointer
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id to register flow control * @vdev_id: virtual interface id to register flow control
* @flowControl - callback function pointer * @flowcontrol: callback function pointer
* @osif_fc_ctx - client context pointer * @osif_fc_ctx: client context pointer
* @flow_control_is_pause: is vdev paused by flow control * @flow_control_is_pause: is vdev paused by flow control
* *
* Register flow control callback function pointer and client context pointer * Register flow control callback function pointer and client context pointer
* *
* return 0 success * Return: 0 success
*/ */
static inline int static inline int
cdp_fc_register(ol_txrx_soc_handle soc, uint8_t vdev_id, 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 */ #endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
/** /**
* cdp_fc_deregister() - remove flow control instance * cdp_fc_deregister() - remove flow control instance
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id to register flow control * @vdev_id: virtual interface id to register flow control
* *
* remove flow control instance * remove flow control instance
* *
* return 0 success * Return: 0 success
*/ */
static inline int static inline int
cdp_fc_deregister(ol_txrx_soc_handle soc, uint8_t vdev_id) 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 * get data path resource count
* *
* return true enough data path resource available * Return: true enough data path resource available
* false resource is not available * false resource is not available
*/ */
static inline bool 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 * cdp_fc_ll_set_tx_pause_q_depth() - set pause queue depth
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id to register flow control * @vdev_id: virtual interface id to register flow control
* @pause_q_depth - pending tx queue delth * @pause_q_depth: pending tx queue delth
* *
* set pause queue depth * set pause queue depth
* *
* return 0 success * Return: 0 success
*/ */
static inline int static inline int
cdp_fc_ll_set_tx_pause_q_depth(ol_txrx_soc_handle soc, 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 * flush tx queue
* *
* return None * Return: None
*/ */
static inline void static inline void
cdp_fc_vdev_flush(ol_txrx_soc_handle soc, uint8_t vdev_id) 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 * pause tx scheduler on vdev
* *
* return None * Return: None
*/ */
static inline void static inline void
cdp_fc_vdev_pause(ol_txrx_soc_handle soc, uint8_t vdev_id, 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 * resume tx scheduler on vdev
* *
* return None * Return: None
*/ */
static inline void static inline void
cdp_fc_vdev_unpause(ol_txrx_soc_handle soc, uint8_t vdev_id, cdp_fc_vdev_unpause(ol_txrx_soc_handle soc, uint8_t vdev_id,

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2019,2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,9 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_flow_ctrl_v2.h * DOC: cdp_txrx_flow_ctrl_v2.h
* @brief Define the host data path flow control version 2 API * Define the host data path flow control version 2 API functions
* functions
*/ */
#ifndef _CDP_TXRX_FC_V2_H_ #ifndef _CDP_TXRX_FC_V2_H_
#define _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 * cdp_register_pause_cb() - Register flow control callback function pointer
* @soc - data path soc handle * @soc: data path soc handle
* @pause_cb - Pause callback intend to register * @pause_cb: Pause callback intend to register
* *
* Register flow control callback function pointer and client context pointer * 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 * cdp_set_desc_global_pool_size() - set global device pool size
* @soc - data path soc handle * @soc: data path soc handle
* @num_msdu_desc - descriptor pool size * @num_msdu_desc: descriptor pool size
* *
* set global device 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 * cdp_dump_flow_pool_info() - dump flow pool information
* @soc - data path soc handle * @soc: data path soc handle
* *
* dump flow pool information * dump flow pool information
* *

View File

@@ -1,6 +1,7 @@
/* /*
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,10 +19,10 @@
*/ */
/** /**
* @file cdp_txrx_handle.h * DOC: cdp_txrx_handle.h
* @brief Holds the forward structure declarations for handles * Holds the forward structure declarations for handles
* passed from the upper layers * passed from the upper layers
*/ */
#ifndef CDP_TXRX_HANDLE_H #ifndef CDP_TXRX_HANDLE_H
#define CDP_TXRX_HANDLE_H #define CDP_TXRX_HANDLE_H
@@ -33,32 +34,32 @@ struct cdp_peer;
struct cdp_raw_ast; struct cdp_raw_ast;
struct cdp_soc; struct cdp_soc;
/** /*
* cdp_ctrl_objmgr_psoc - opaque handle for UMAC psoc object * cdp_ctrl_objmgr_psoc - opaque handle for UMAC psoc object
*/ */
struct cdp_ctrl_objmgr_psoc; struct cdp_ctrl_objmgr_psoc;
/** /*
* cdp_ctrl_objmgr_pdev - opaque handle for UMAC pdev object * cdp_ctrl_objmgr_pdev - opaque handle for UMAC pdev object
*/ */
struct cdp_ctrl_objmgr_pdev; struct cdp_ctrl_objmgr_pdev;
/** /*
* cdp_ctrl_objmgr_vdev - opaque handle for UMAC vdev object * cdp_ctrl_objmgr_vdev - opaque handle for UMAC vdev object
*/ */
struct cdp_ctrl_objmgr_vdev; struct cdp_ctrl_objmgr_vdev;
/** /*
* cdp_ctrl_objmgr_peer - opaque handle for UMAC peer object * cdp_ctrl_objmgr_peer - opaque handle for UMAC peer object
*/ */
struct cdp_ctrl_objmgr_peer; struct cdp_ctrl_objmgr_peer;
/** /*
* cdp_cal_client - opaque handle for cal client object * cdp_cal_client - opaque handle for cal client object
*/ */
struct cdp_cal_client; struct cdp_cal_client;
/** /*
* cdp_ext_vdev - opaque handle for extended vdev data path handle * cdp_ext_vdev - opaque handle for extended vdev data path handle
*/ */
struct cdp_ext_vdev; struct cdp_ext_vdev;

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2020 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,14 +18,14 @@
*/ */
/** /**
* @file cdp_txrx_hist_struct.h * DOC: cdp_txrx_hist_struct.h
* @brief Define the host data path histogram data types * Define the host data path histogram data types
*/ */
#ifndef _CDP_TXRX_HIST_STRUCT_H_ #ifndef _CDP_TXRX_HIST_STRUCT_H_
#define _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_0: Bucket Index 0
* @CDP_HIST_BUCKET_1: Bucket Index 1 * @CDP_HIST_BUCKET_1: Bucket Index 1
* @CDP_HIST_BUCKET_2: Bucket Index 2 * @CDP_HIST_BUCKET_2: Bucket Index 2
@@ -39,6 +39,7 @@
* @CDP_HIST_BUCKET_10: Bucket Index 10 * @CDP_HIST_BUCKET_10: Bucket Index 10
* @CDP_HIST_BUCKET_11: Bucket Index 11 * @CDP_HIST_BUCKET_11: Bucket Index 11
* @CDP_HIST_BUCKET_12: Bucket Index 12 * @CDP_HIST_BUCKET_12: Bucket Index 12
* @CDP_HIST_BUCKET_MAX: Max enumeration
*/ */
enum cdp_hist_bucket_index { enum cdp_hist_bucket_index {
CDP_HIST_BUCKET_0, CDP_HIST_BUCKET_0,
@@ -57,14 +58,15 @@ enum cdp_hist_bucket_index {
CDP_HIST_BUCKET_MAX, 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_SW_ENQEUE_DELAY: From stack to HW enqueue delay
* @CDP_HIST_TYPE_HW_COMP_DELAY: From HW enqueue to completion 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_REAP_STACK: Rx HW reap to stack deliver delay
* @CDP_HIST_TYPE_HW_TX_COMP_DELAY: Tx completion delay based on the timestamp * @CDP_HIST_TYPE_HW_TX_COMP_DELAY: Tx completion delay based on the timestamp
* provided by HW * provided by HW
* @CDP_HIST_TYPE_DELAY_PERCENTILE: Tx completion delay based on the perctile * @CDP_HIST_TYPE_DELAY_PERCENTILE: Tx completion delay based on the perctile
* @CDP_HIST_TYPE_MAX: Max enumeration
*/ */
enum cdp_hist_types { enum cdp_hist_types {
CDP_HIST_TYPE_SW_ENQEUE_DELAY, CDP_HIST_TYPE_SW_ENQEUE_DELAY,
@@ -75,8 +77,8 @@ enum cdp_hist_types {
CDP_HIST_TYPE_MAX, CDP_HIST_TYPE_MAX,
}; };
/* /**
* cdp_hist_bucket: Histogram Bucket * struct cdp_hist_bucket - Histogram Bucket
* @hist_type: Histogram type * @hist_type: Histogram type
* @freq: Frequency * @freq: Frequency
*/ */
@@ -85,8 +87,8 @@ struct cdp_hist_bucket {
uint64_t freq[CDP_HIST_BUCKET_MAX]; 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 * @hist: Frequency distribution
* @max: Max frequency * @max: Max frequency
* @min: Minimum frequency * @min: Minimum frequency

View File

@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_host_stats.h * DOC: cdp_txrx_host_stats.h
* @brief Define the host data path stats API functions * Define the host data path stats API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_HOST_STATS_H_ #ifndef _CDP_TXRX_HOST_STATS_H_
@@ -28,12 +28,12 @@
#include <cdp_txrx_cmn.h> #include <cdp_txrx_cmn.h>
#include <wmi_unified_api.h> #include <wmi_unified_api.h>
/** /**
* cdp_host_stats_get: cdp call to get host stats * cdp_host_stats_get() - cdp call to get host stats
* @soc: SOC handle * @soc: SOC handle
* @vdev_id: vdev id of vdev * @vdev_id: vdev id of vdev
* @req: Requirement type * @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, static inline int cdp_host_stats_get(ol_txrx_soc_handle soc,
uint8_t vdev_id, 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 * @soc: SOC handle
* @preamb: Preamble * @preamb: Preamble
* @mcs: Modulation and Coding scheme index * @mcs: Modulation and Coding scheme index
* @htflag: Flag to identify HT or VHT * @htflag: Flag to identify HT or VHT
* @gintval: Guard Interval value * @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, static inline int cdp_host_stats_get_ratekbps(ol_txrx_soc_handle soc,
int preamb, int mcs, 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 * @soc: soc handle
* @vdev_id: vdev handle id * @vdev_id: vdev handle id
* *
* return: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_host_stats_clr(ol_txrx_soc_handle soc, uint8_t vdev_id) 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 * Return: QDF_STATUS
* @param pdev_id - id of the physical device object
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_enable_enhanced_stats(ol_txrx_soc_handle soc, uint8_t pdev_id) 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 * Return: QDF_STATUS
* @param pdev_id - id of the physical device object
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_disable_enhanced_stats(ol_txrx_soc_handle soc, uint8_t pdev_id) 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 * @soc: soc handle
* @pdev: physical device
* @addr: peer address * @addr: peer address
* *
* return: status * Return: status
*/ */
static inline QDF_STATUS cdp_per_peer_stats(ol_txrx_soc_handle soc, static inline QDF_STATUS cdp_per_peer_stats(ol_txrx_soc_handle soc,
uint8_t *addr) 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 * (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 * Return: QDF_STATUS
* @param pdev_id - id of the physical device object
* @param data - pdev stats
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_update_pdev_host_stats(ol_txrx_soc_handle soc, 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 * @soc: soc handle
* @vdev_id: id of the virtual device object * @vdev_id: id of the virtual device object
* @data: pdev stats * @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 * Return: QDF_STATUS
* @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
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_txrx_get_peer_stats_param(ol_txrx_soc_handle soc, uint8_t vdev_id, 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 * Return: QDF_STATUS
* @soc_stats - buffer for cdp soc stats
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_host_get_soc_stats(ol_txrx_soc_handle soc, struct cdp_soc_stats *soc_stats) 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 * Return: QDF_STATUS
* @param vdev_id - vdev_id of vdev object
* @param peer_mac - mac address of the peer
* @return - struct cdp_peer_stats
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_host_get_peer_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, 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 * Return: QDF_STATUS
* @param vdev_id - vdev_id of vdev object
* @param peer_mac - mac address of the peer
* @return - void
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_host_reset_peer_ald_stats(ol_txrx_soc_handle soc, uint8_t vdev_id, 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 * Return: QDF_STATUS
* @param vdev_id - vdev_id of vdev object
* @param peer_mac - mac address of the peer
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_host_reset_peer_stats(ol_txrx_soc_handle soc, 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 * Return: int
* @param vdev_id - id of dp vdev object
* @param buf - buffer
* @return - int
*/ */
static inline int static inline int
cdp_host_get_vdev_stats(ol_txrx_soc_handle soc, 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 * cdp_update_host_vdev_stats() - Call to update vdev stats received from
* (wmi_host_vdev_stats and wmi_host_vdev_extd_stats) into dp * 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 * Return: int
* @param size - size of stats data
* @param stats_id - stats id
* @return - int
*/ */
static inline int static inline int
cdp_update_host_vdev_stats(ol_txrx_soc_handle soc, 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 * Return: int
* @param vdev_id - id of dp vdev object
* @param buf - buffer
* @return - int
*/ */
static inline int static inline int
cdp_get_vdev_extd_stats(ol_txrx_soc_handle soc, 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 * Return: success/failure
* @param pdev_id - id of dp pdev object
* @param buf - buffer to hold cdp_pdev_stats
* @return - success/failure
*/ */
static inline int static inline int
cdp_host_get_pdev_stats(ol_txrx_soc_handle soc, 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 * Return: int
* @param pdev_id - id of dp pdev object
* @param scn_stats_user - stats buffer
* @return - int
*/ */
static inline int static inline int
cdp_host_get_radio_stats(ol_txrx_soc_handle soc, 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 * @peer_mac: peer mac address
* @delay_stats: user allocated buffer for peer delay stats * @delay_stats: user allocated buffer for peer delay stats
* *
* return: status Success/Failure * Return: status Success/Failure
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_get_peer_delay_stats(ol_txrx_soc_handle soc, 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 * @peer_mac: peer mac address
* @tid_stats: user allocated buffer for tid_stats * @tid_stats: user allocated buffer for tid_stats
* *
* return: status Success/Failure * Return: status Success/Failure
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_get_peer_jitter_stats(ol_txrx_soc_handle soc, 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 * @pdev_id: id of dp_pdev handle
* @stats: user allocated buffer for dp pdev mon stats * @stats: user allocated buffer for dp pdev mon stats
* *
* return: status Success/Failure * Return: status Success/Failure
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_mon_pdev_get_rx_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, 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 * @peer_mac: peer mac address
* @stats: pointer to peer tx capture stats * @stats: pointer to peer tx capture stats
* *
* return: status Success/Failure * Return: status Success/Failure
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_get_peer_tx_capture_stats(ol_txrx_soc_handle soc, 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 * @pdev_id: id of dp_pdev handle
* @stats: pointer to pdev tx capture stats * @stats: pointer to pdev tx capture stats
* *
* return: status Success/Failure * Return: status Success/Failure
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_get_pdev_tx_capture_stats(ol_txrx_soc_handle soc, uint8_t pdev_id, 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 * @soc: soc handle
* @vdev_id: vdev_id * @vdev_id: vdev_id
* *
* Returns: 1 if enabled, 0 if disabled * Return: 1 if enabled, 0 if disabled
*/ */
static inline uint8_t static inline uint8_t
cdp_vdev_is_tx_delay_stats_enabled(ol_txrx_soc_handle soc, uint8_t vdev_id) 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 #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 * @soc: soc handle
* @pdev_id: pdev id * @pdev_id: pdev id
* @stats: pointer to pdev telemetry stats * @stats: pointer to pdev telemetry stats
* *
* return: status * Return: status
*/ */
static inline QDF_STATUS cdp_get_pdev_telemetry_stats( static inline QDF_STATUS cdp_get_pdev_telemetry_stats(
ol_txrx_soc_handle soc, 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 * @soc: soc handle
* @addr: peer address * @addr: peer address
* @stats: pointer to peer telemetry stats * @stats: pointer to peer telemetry stats
* *
* return: status * Return: status
*/ */
static inline QDF_STATUS cdp_get_peer_telemetry_stats( static inline QDF_STATUS cdp_get_peer_telemetry_stats(
ol_txrx_soc_handle soc, ol_txrx_soc_handle soc,
@@ -1120,12 +1122,12 @@ static inline QDF_STATUS cdp_update_pdev_chan_util_stats(
#endif #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 * extended rate and link stats
* @soc: soc handle * @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( static inline QDF_STATUS cdp_get_peer_extd_rate_link_stats(
ol_txrx_soc_handle soc, ol_txrx_soc_handle soc,
@@ -1145,14 +1147,14 @@ static inline QDF_STATUS cdp_get_peer_extd_rate_link_stats(
soc, mac_addr); 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 * @soc: soc handle
* @pdev_id: pdev id * @pdev_id: pdev id
* @stats: pointer to pdev obss stats * @stats: pointer to pdev obss stats
* @req: Pointer to CDP TxRx stats * @req: Pointer to CDP TxRx stats
* *
* return: status * Return: status
*/ */
static inline QDF_STATUS cdp_get_pdev_obss_pd_stats( static inline QDF_STATUS cdp_get_pdev_obss_pd_stats(
ol_txrx_soc_handle soc, 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 * @soc: soc handle
* @pdev_id: pdev id * @pdev_id: pdev id
* @req: Pointer to CDP TxRx stats request. mac_id will be pre-filled * @req: Pointer to CDP TxRx stats request. mac_id will be pre-filled
* and should not be overwritten * and should not be overwritten
* *
* return: status * Return: status
*/ */
static inline QDF_STATUS cdp_clear_pdev_obss_pd_stats( static inline QDF_STATUS cdp_clear_pdev_obss_pd_stats(
ol_txrx_soc_handle soc, ol_txrx_soc_handle soc,

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_ipa.h * DOC: cdp_txrx_ipa.h
* @brief Define the host data path IP Acceleraor API functions * Define the host data path IP Acceleraor API functions
*/ */
#ifndef _CDP_TXRX_IPA_H_ #ifndef _CDP_TXRX_IPA_H_
#define _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 * cdp_ipa_get_resource() - Get allocated WLAN resources for IPA data path
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* *
* Get allocated WLAN resources for IPA data path * 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 * cdp_ipa_set_doorbell_paddr() - give IPA db paddr to FW
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* *
* give IPA db paddr to FW * 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 * cdp_ipa_iounmap_doorbell_vaddr() - unmap IPA RX db vaddr
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* *
* Unmap IPA RX db vaddr * 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 * cdp_ipa_set_active() - activate/de-ctivate IPA offload path
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* @uc_active - activate or de-activate * @uc_active: activate or de-activate
* @is_tx - toggle tx or rx data path * @is_tx: toggle tx or rx data path
* *
* activate/de-ctivate IPA offload 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 * cdp_ipa_op_response() - event handler from FW
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* @op_msg - event contents from firmware * @op_msg: event contents from firmware
* *
* event handler from FW * 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 * cdp_ipa_register_op_cb() - register event handler function pointer
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* @op_cb - event handler callback function pointer * @op_cb: event handler callback function pointer
* @usr_ctxt - user context to registered * @usr_ctxt: user context to registered
* *
* register event handler function pointer * 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 * cdp_ipa_deregister_op_cb() - deregister event handler function pointer
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* *
* Deregister event handler function pointer from pdev * 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 * cdp_ipa_get_stat() - get IPA data path stats from FW
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* *
* get IPA data path stats from FW async * 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 * cdp_ipa_tx_send_data_frame() - send IPA data frame
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id: vdev id * @vdev_id: vdev id
* @skb: skb * @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 * 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 * @cfg_pdev: physical device instance config
* @value: partition base value * @value: partition base value
* *
@@ -286,7 +286,7 @@ cdp_ipa_set_uc_tx_partition_base(ol_txrx_soc_handle soc,
#ifdef FEATURE_METERING #ifdef FEATURE_METERING
/** /**
* cdp_ipa_uc_get_share_stats() - get Tx/Rx byte stats from FW * 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 * @pdev_id: physical device instance number
* @value: reset stats * @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 * 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 * @pdev_id: physical device instance number
* @value: quota limit bytes * @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 * cdp_ipa_uc_enable_pipes() - Enable and resume traffic on Tx/Rx pipes
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* @hdl: IPA handle * @hdl: IPA handle
* *
* Return: QDF_STATUS * 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 * @soc: data path soc handle
* @pdev_id - device instance id * @pdev_id: device instance id
* @hdl: IPA handle * @hdl: IPA handle
* *
* Return: QDF_STATUS * Return: QDF_STATUS
@@ -768,7 +768,7 @@ cdp_ipa_ast_create(ol_txrx_soc_handle soc, qdf_ipa_ast_info_type_t *data)
#endif #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 * @soc: data path soc handle
* @vdev_id: vdev id * @vdev_id: vdev id
* @peer_mac: Peer Mac Address * @peer_mac: Peer Mac Address

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,15 +18,14 @@
*/ */
/** /**
* @file cdp_txrx_me.h * DOC: cdp_txrx_me.h
* @brief Define the host data path mcast enhance API functions * Define the host data path mcast enhance API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_ME_H_ #ifndef _CDP_TXRX_ME_H_
#define _CDP_TXRX_ME_H_ #define _CDP_TXRX_ME_H_
#include <cdp_txrx_ops.h> #include <cdp_txrx_ops.h>
/* TODO: adf need to be replaced with qdf */
#include "cdp_txrx_handle.h" #include "cdp_txrx_handle.h"
#include <cdp_txrx_cmn.h> #include <cdp_txrx_cmn.h>

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_mesh_latency.h * DOC: cdp_txrx_mesh_latency.h
* @brief Define the host data path MESH latency API functions * Define the host data path MESH latency API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_MESH_LATENCY_H_ #ifndef _CDP_TXRX_MESH_LATENCY_H_
@@ -26,18 +27,20 @@
#include "cdp_txrx_handle.h" #include "cdp_txrx_handle.h"
#ifdef WLAN_SUPPORT_MESH_LATENCY #ifdef WLAN_SUPPORT_MESH_LATENCY
/** /**
* @brief find MSCS enabled peer for this mac address and validate priority * cdp_mesh_latency_update_peer_parameter() - find MSCS enabled peer for this
* @details * mac address and validate priority
* This function updates per peer per TID mesh latency related parameters. * @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 * This function updates per peer per TID mesh latency related parameters.
* @param service_interval_dl - Service Interval per tid on DL *
* @param burst_size_dl - Burst size per tid on DL * Return: 0 for non error case, -1 for failure
* @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
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc, cdp_mesh_latency_update_peer_parameter(ol_txrx_soc_handle soc,

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_misc.h * DOC: cdp_txrx_misc.h
* @brief Define the host data path miscellaneous API functions * Define the host data path miscellaneous API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_MISC_H_ #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 * cdp_data_stall_cb_deregister() - de-register data stall callback
* @soc: data path soc handle * @soc: data path soc handle
* @pdev_id: id of data path pdev handle * @pdev_id: id of data path pdev handle
* @cb - callback function * @cb: callback function
* *
* Return: QDF_STATUS_SUCCESS de-register success * 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 * @soc: data path soc handle
* @vdev_id: id of vdev * @vdev_id: id of vdev
* *
* Return virtual device operational mode * Return: virtual device operational mode
* op_mode_ap, * op_mode_ap,
* op_mode_ibss, * op_mode_ibss,
* op_mode_sta, * op_mode_sta,
* op_mode_monitor, * op_mode_monitor,
* op_mode_ocb, * op_mode_ocb,
* * etc.
* return interface id
* 0 unknown interface
*/ */
static inline int static inline int
cdp_get_opmode(ol_txrx_soc_handle soc, uint8_t vdev_id) 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 * cdp_get_vdev_id() - get vdev id
* @soc - data path soc handle * @soc: data path soc handle
* @vdev - virtual interface instance * @vdev: virtual interface instance
* *
* get virtual interface id * get virtual interface id
* *
* return interface id * Return: interface id
* 0 unknown interface * 0 unknown interface
*/ */
static inline uint16_t 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 * cdp_get_tx_ack_stats() - get tx ack count for vdev
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - vdev id * @vdev_id: vdev id
* *
* return tx ack count * Return: tx ack count
* 0 invalid count * 0 invalid count
*/ */
static inline uint32_t 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 * @psoc: data path soc handle
* @vdev_id: vdev id * @vdev_id: vdev id
* @mac_id: mac 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; return;
} }
/* /**
* cdp_get_intra_bss_fwd_pkts_count() - to get the total tx and rx packets * 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. * that has been forwarded from txrx layer without going to upper layers.
* @soc: Datapath soc handle * @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 * cdp_register_rx_refill_thread_sched_handler() - API to register RX refill
* thread schedule handler * thread schedule handler
*
* @soc: soc handle * @soc: soc handle
* @rx_sched_cb: Rx refill thread scheduler callback function
* *
* Return: void * 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 * 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 * @pdev_id: pdev id
* *
* Return: none * Return: none
@@ -733,7 +731,7 @@ static inline void cdp_pdev_reset_driver_del_ack(void *psoc,
pdev_id); pdev_id);
} }
/* /**
* cdp_vdev_set_driver_del_ack_enable() - set driver delayed ack enabled flag * cdp_vdev_set_driver_del_ack_enable() - set driver delayed ack enabled flag
* @soc: data path soc handle * @soc: data path soc handle
* @vdev_id: vdev id * @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 * @soc: soc handle
* @pdev_id: pdev id * @pdev_id: pdev id
* @req: stats request structure to fill * @req: stats request structure to fill
* *
* return: status * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_txrx_ext_stats_request(ol_txrx_soc_handle soc, uint8_t pdev_id, 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 * @soc: soc handle
* @vdev_id: vdev id * @vdev_id: vdev id
* *
* return: none * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_request_rx_hw_stats(ol_txrx_soc_handle soc, uint8_t vdev_id) 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 * @soc: soc handle
* *
* Return: none * Return: none
@@ -863,7 +861,7 @@ cdp_reset_rx_hw_ext_stats(ol_txrx_soc_handle soc)
* @vdev_id: vdev id * @vdev_id: vdev id
* @action: Action to be performed (Add/Delete) * @action: Action to be performed (Add/Delete)
* *
* Returns: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_vdev_inform_ll_conn(ol_txrx_soc_handle soc, uint8_t vdev_id, 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 * @soc: soc handle
* @value: value (enable/disable) * @value: value (enable/disable)
* *
* Returns: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_soc_set_swlm_enable(ol_txrx_soc_handle soc, uint8_t value) 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 * enabled or not
* @soc: soc handle * @soc: soc handle
* *
* Returns: 1 if enabled, 0 if disabled * Return: 1 if enabled, 0 if disabled
*/ */
static inline uint8_t static inline uint8_t
cdp_soc_is_swlm_enabled(ol_txrx_soc_handle soc) 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 */ #endif /* WLAN_FEATURE_PEER_TXQ_FLUSH_CONF */
#ifdef FEATURE_RX_LINKSPEED_ROAM_TRIGGER #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 * @soc: datapath soc handle
* @high: whether TPUT level is high or not * @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 * @soc: datapath soc handle
* *
* Return: bool, whether TPUT level is high or not * Return: bool, whether TPUT level is high or not

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * 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 * 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_STOP_ALL_NETIF_QUEUE: stop all netif queues
* @WLAN_START_ALL_NETIF_QUEUE: start all netif queues * @WLAN_START_ALL_NETIF_QUEUE: start all netif queues
* @WLAN_WAKE_ALL_NETIF_QUEUE: wake all netif queues * @WLAN_WAKE_ALL_NETIF_QUEUE: wake all netif queues
@@ -88,8 +89,15 @@
* @WLAN_NETIF_CARRIER_OFF: off carrier * @WLAN_NETIF_CARRIER_OFF: off carrier
* @WLAN_NETIF_PRIORITY_QUEUE_ON: start priority netif queues * @WLAN_NETIF_PRIORITY_QUEUE_ON: start priority netif queues
* @WLAN_NETIF_PRIORITY_QUEUE_OFF: stop 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_WAKE_NON_PRIORITY_QUEUE: wake non priority netif queues
* @WLAN_STOP_NON_PRIORITY_QUEUE: stop 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 { enum netif_action_type {
WLAN_NETIF_ACTION_TYPE_NONE = 0, WLAN_NETIF_ACTION_TYPE_NONE = 0,
@@ -124,6 +132,12 @@ enum netif_action_type {
* @WLAN_VDEV_STOP: because of vdev stop * @WLAN_VDEV_STOP: because of vdev stop
* @WLAN_PEER_UNAUTHORISED: because of peer is unauthorised * @WLAN_PEER_UNAUTHORISED: because of peer is unauthorised
* @WLAN_THERMAL_MITIGATION: because of thermal mitigation * @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 { enum netif_reason_type {
WLAN_CONTROL_PATH = 1, WLAN_CONTROL_PATH = 1,
@@ -176,9 +190,15 @@ enum {
}; };
/** /**
* @enum ol_tx_spec * enum ol_tx_spec - indicate what non-standard transmission actions to apply
* @brief indicate what non-standard transmission actions to apply * @OL_TX_SPEC_STD: do regular processing
* @details * @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: * Indicate one or more of the following:
* - The tx frame already has a complete 802.11 header. * - The tx frame already has a complete 802.11 header.
* Thus, skip 802.3/native-WiFi to 802.11 header encapsulation and * 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 * 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_".
* @PEER_DEBUG_ID_OL_INTERNAL: debug id for OL internal usage * @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_PKT_DROP: debug id for wma_is_pkt_drop_candidate API
* @PEER_DEBUG_ID_WMA_ADDBA_REQ: debug id for ADDBA request * @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_MAP:debug id for peer map/unmap
* @PEER_DEBUG_ID_OL_PEER_ATTACH: debug id for peer attach/detach * @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_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 * @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 { enum peer_debug_id_type {
PEER_DEBUG_ID_OL_INTERNAL, 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 * struct txrx_pdev_cfg_param_t - configuration information
* passed to the data path * 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 { struct txrx_pdev_cfg_param_t {
uint8_t is_full_reorder_offload; uint8_t is_full_reorder_offload;
/* IPA Micro controller data path offload enable flag */
uint8_t is_uc_offload_enabled; uint8_t is_uc_offload_enabled;
/* IPA Micro controller data path offload TX buffer count */
uint32_t uc_tx_buffer_count; uint32_t uc_tx_buffer_count;
/* IPA Micro controller data path offload TX buffer size */
uint32_t uc_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; uint32_t uc_rx_indication_ring_count;
/* IPA Micro controller data path offload TX partition base */
uint32_t uc_tx_partition_base; uint32_t uc_tx_partition_base;
/* IP, TCP and UDP checksum offload */
bool ip_tcp_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; bool nan_ip_tcp_udp_checksum_offload;
/* IP, TCP and UDP checksum offload for P2P Mode*/
bool p2p_ip_tcp_udp_checksum_offload; bool p2p_ip_tcp_udp_checksum_offload;
/* Checksum offload override flag for Legcay modes */
bool legacy_mode_csum_disable; bool legacy_mode_csum_disable;
/* Rx processing in thread from TXRX */
bool enable_rxthread; bool enable_rxthread;
/* CE classification enabled through INI */
bool ce_classify_enabled; bool ce_classify_enabled;
#if defined(QCA_LL_TX_FLOW_CONTROL_V2) || defined(QCA_LL_PDEV_TX_FLOW_CONTROL) #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; uint32_t tx_flow_stop_queue_th;
/* Start queue offset in percentage */
uint32_t tx_flow_start_queue_offset; uint32_t tx_flow_start_queue_offset;
#endif #endif
#ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK #ifdef QCA_SUPPORT_TXRX_DRIVER_TCP_DEL_ACK
/* enable the tcp delay ack feature in the driver */
bool del_ack_enable; bool del_ack_enable;
/* timeout if no more tcp ack frames, unit is ms */
uint16_t del_ack_timer_value; uint16_t del_ack_timer_value;
/* the maximum number of replaced tcp ack frames */
uint16_t del_ack_pkt_count; uint16_t del_ack_pkt_count;
#endif #endif
@@ -367,7 +405,20 @@ struct txrx_pdev_cfg_param_t {
#ifdef IPA_OFFLOAD #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 { struct ol_txrx_ipa_resources {
qdf_shared_mem_t *ce_sr; 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 * a MIC error
* @vdev_id: virtual device ID * @vdev_id: virtual device ID
* @key_id: Key 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 * 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 { struct ol_error_info {
union { union {
@@ -439,9 +491,12 @@ struct ol_txrx_ocb_set_chan {
}; };
/** /**
* @brief Parameter type to pass WMM setting to ol_txrx_set_wmm_param * struct ol_tx_ac_param_t - WMM parameters
* @details * @aifs: Arbitration Inter-Frame Space
* The struct is used to specify information to update TX WMM scheduler. * @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 { struct ol_tx_ac_param_t {
uint32_t aifs; uint32_t aifs;
@@ -490,14 +545,20 @@ struct ieee80211_delba_parameterset {
} __packed; } __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, typedef void (*ol_txrx_vdev_peer_remove_cb)(void *handle, uint8_t *bssid,
uint8_t vdev_id, void *peer); uint8_t vdev_id, void *peer);
/** /**
* @typedef tx_pause_callback * typedef tx_pause_callback() - OSIF function registered with the data path
* @brief 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, typedef void (*tx_pause_callback)(uint8_t vdev_id,
enum netif_action_type action, enum netif_action_type action,
@@ -516,13 +577,13 @@ struct ol_rx_inv_peer_params {
}; };
/** /**
* cdp_txrx_ext_stats: dp extended stats * struct cdp_txrx_ext_stats: dp extended stats
* tx_msdu_enqueue: tx msdu queued to hw * @tx_msdu_enqueue: tx msdu queued to hw
* tx_msdu_overflow: tx msdu overflow * @tx_msdu_overflow: tx msdu overflow
* rx_mpdu_received: rx mpdu processed by hw * @rx_mpdu_received: rx mpdu processed by hw
* rx_mpdu_delivered: rx mpdu received from hw * @rx_mpdu_delivered: rx mpdu received from hw
* rx_mpdu_error: rx mpdu error count * @rx_mpdu_error: rx mpdu error count
* rx_mpdu_missed: rx mpdu missed by hw * @rx_mpdu_missed: rx mpdu missed by hw
*/ */
struct cdp_txrx_ext_stats { struct cdp_txrx_ext_stats {
uint32_t tx_msdu_enqueue; uint32_t tx_msdu_enqueue;

View File

@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_mon.h * DOC: cdp_txrx_mon.h
* @brief Define the monitor mode API functions * Define the monitor mode API functions
* called by the host control SW and the OS interface module * 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 #ifdef QCA_SUPPORT_LITE_MONITOR
/* /**
* cdp_set_lite_mon_config() - Set lite monitor config/filter * cdp_set_lite_mon_config() - Set lite monitor config/filter
* *
*@soc: dp soc handle * @soc: dp soc handle
*@config: lite monitor config * @config: lite monitor config
*@pdev_id: pdev id * @pdev_id: pdev id
* *
* This API is used to enable/disable lite monitor feature * 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); pdev_id);
} }
/* /**
* cdp_get_lite_mon_config() - Get lite monitor config * cdp_get_lite_mon_config() - Get lite monitor config
* *
*@soc: dp soc handle * @soc: dp soc handle
*@config: lite monitor config * @config: lite monitor config
*@pdev_id: pdev id * @pdev_id: pdev id
* *
* This API is used to get lite monitor feature config * 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); pdev_id);
} }
/* /**
* cdp_set_lite_mon_peer_config() - Set lite monitor peer config * cdp_set_lite_mon_peer_config() - Set lite monitor peer config
* *
*@soc: dp soc handle * @soc: dp soc handle
*@config: lite monitor peer config * @config: lite monitor peer config
*@pdev_id: pdev id * @pdev_id: pdev id
* *
* This API is used to add/del lite monitor peers * 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); pdev_id);
} }
/* /**
* cdp_get_lite_mon_peer_config() - Get lite monitor peer list * cdp_get_lite_mon_peer_config() - Get lite monitor peer list
* *
*@soc: dp soc handle * @soc: dp soc handle
*@info: lite monitor peer info * @info: lite monitor peer info
*@pdev_id: pdev id * @pdev_id: pdev id
* *
* This API is used to get lite monitor peers * 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); pdev_id);
} }
/* /**
* cdp_is_lite_mon_enabled() - Get lite monitor enable status * cdp_is_lite_mon_enabled() - Get lite monitor enable status
* *
*@soc: dp soc handle * @soc: dp soc handle
*@pdev_id: pdev id * @pdev_id: pdev id
*@dir: direction tx/rx * @dir: direction tx/rx
* *
* This API is used to get lite monitor enable status * 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 #endif
#ifdef QCA_RSSI_DB2DBM #ifdef QCA_RSSI_DB2DBM
/* /**
* cdp_set_params_rssi_dbm_conversion - Set the rssi dbm conversion params * cdp_set_params_rssi_dbm_conversion - Set the rssi dbm conversion params
* into dp_pdev structure * into dp_pdev structure
* @soc: soc txrx handler * @soc: soc txrx handler

View File

@@ -17,9 +17,9 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* @file cdp_txrx_mon_struct.h * DOC: cdp_txrx_mon_struct.h
* @brief Define the monitor mode API structure * Define the monitor mode API structure
* shared by data path and the OS interface module * shared by data path and the OS interface module
*/ */
@@ -44,7 +44,7 @@
#define CDP_LITE_MON_PEER_MAC_TYPE_CLIENT 2 #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_DISABLED: No filter / filter disabled
* @LEGACY_FILTER_MCOPY: M_Copy filter * @LEGACY_FILTER_MCOPY: M_Copy filter
* @LEGACY_FILTER_TX_CAPTURE: Tx_Capture filter * @LEGACY_FILTER_TX_CAPTURE: Tx_Capture filter
@@ -61,31 +61,37 @@ enum cdp_lite_mon_legacy_filter {
LEGACY_FILTER_ADV_MON_FILTER = 4, 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 { enum cdp_lite_mon_level {
/* level invalid */
CDP_LITE_MON_LEVEL_INVALID = 0, CDP_LITE_MON_LEVEL_INVALID = 0,
/* level msdu */
CDP_LITE_MON_LEVEL_MSDU = 1, CDP_LITE_MON_LEVEL_MSDU = 1,
/* level mpdu */
CDP_LITE_MON_LEVEL_MPDU = 2, CDP_LITE_MON_LEVEL_MPDU = 2,
/* level ppdu */
CDP_LITE_MON_LEVEL_PPDU = 3, 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 { enum cdp_lite_mon_peer_action {
/* peer add */
CDP_LITE_MON_PEER_ADD = 0, CDP_LITE_MON_PEER_ADD = 0,
/* peer remove */
CDP_LITE_MON_PEER_REMOVE = 1, 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 { enum cdp_lite_mon_direction {
/* lite mon config direction rx */
CDP_LITE_MON_DIRECTION_RX = 1, CDP_LITE_MON_DIRECTION_RX = 1,
/* lite mon config direction tx */
CDP_LITE_MON_DIRECTION_TX = 2, CDP_LITE_MON_DIRECTION_TX = 2,
}; };
#endif #endif
@@ -309,7 +315,7 @@ enum {
}; };
#ifdef QCA_UNDECODED_METADATA_SUPPORT #ifdef QCA_UNDECODED_METADATA_SUPPORT
/** /*
* enum cdp_mon_phyrx_abort_reason_code: Phy err code to store the reason * enum cdp_mon_phyrx_abort_reason_code: Phy err code to store the reason
* why PHY generated an abort request. * 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 * @status_ppdu_done: status ring PPDU done TLV count
* @dest_ppdu_done: destination ring PPDU count * @dest_ppdu_done: destination ring PPDU count
* @dest_mpdu_done: destination ring MPDU count * @dest_mpdu_done: destination ring MPDU count
* @dest_mpdu_drop:
* @dup_mon_linkdesc_cnt: duplicate link descriptor indications from HW * @dup_mon_linkdesc_cnt: duplicate link descriptor indications from HW
* @dup_mon_buf_cnt: duplicate buffer 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 * @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 * @status_buf_done_war: Number of status ring buffers for which DMA not done
* WAR is applied. * 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 * @dest_ppdu_drop: Number of ppdu dropped from monitor destination ring
* @mon_link_desc_invalid: msdu link desc invalid count * @mon_link_desc_invalid: msdu link desc invalid count
* @mon_rx_desc_invalid: rx_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 * @mpdu_ppdu_id_mismatch_drop: mpdu's ppdu id did not match destination
* ring ppdu id * ring ppdu id
* @mpdu_decap_type_invalid: mpdu decap type invalid count * @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_alloc: Numder of parent nbuf allocated for MPDU
* @parent_buf_free: Number of parent nbuf freed * @parent_buf_free: Number of parent nbuf freed
* @pkt_buf_count: Number of packet buffers received * @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 * @status_buf_count: Number of status buffer received
* @empty_desc_ppdu: Number of empty desc received * @empty_desc_ppdu: Number of empty desc received
* @total_ppdu_info_enq: Number of PPDUs enqueued to wq * @total_ppdu_info_enq: Number of PPDUs enqueued to wq
@@ -498,7 +510,7 @@ struct cdp_pdev_mon_stats {
#ifdef QCA_SUPPORT_LITE_MONITOR #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 * @direction: direction tx/rx
* @disable: disables lite mon * @disable: disables lite mon
* @level: MSDU/MPDU/PPDU levels * @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 * @direction: direction tx/rx
* @action: add/del * @action: add/del
* @vdev_id: peer vdev id * @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 * @direction: direction tx/rx
* @count: no of peers * @count: no of peers
* @mac: peer macs * @mac: peer macs
@@ -567,7 +579,8 @@ enum cdp_channel_width {
CHAN_WIDTH_MAX, 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 * @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; int32_t rssi_temp_offset;
}; };
/* /**
* struct cdp_rssi_dbm_conv_param_dp * struct cdp_rssi_dbm_conv_param_dp
* @curr_bw: Current bandwidth * @curr_bw: Current bandwidth
* @curr_rx_chainmask: Current rx chainmask * @curr_rx_chainmask: Current rx chainmask
* @xbar_config: 4 bytes, used for BB to RF Chain mapping * @xbar_config: 4 bytes, used for BB to RF Chain mapping
* @xlna_bypass_offset: Low noise amplifier bypass offset * @xlna_bypass_offset: Low noise amplifier bypass offset
* @xlna_bypass_threshold: Low noise amplifier bypass threshold * @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 { struct cdp_rssi_dbm_conv_param_dp {
uint32_t curr_bw; 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]; int8_t nf_hw_dbm[CDP_MAX_NUM_ANTENNA][CDP_MAX_20MHZ_SEGS];
}; };
/* /**
* struct cdp_rssi_db2dbm_param_dp * struct cdp_rssi_db2dbm_param_dp
* @pdev_id: pdev_id * @pdev_id: pdev_id
* @rssi_temp_off_present: to check temp offset values present or not * @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; 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 * monitor status ring
* @CDP_MON_REAP_SOURCE_PKTLOG: pktlog * @CDP_MON_REAP_SOURCE_PKTLOG: pktlog
* @CDP_MON_REAP_SOURCE_CFR: CFR * @CDP_MON_REAP_SOURCE_CFR: CFR

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -18,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_mscs.h * DOC: cdp_txrx_mscs.h
* @brief Define the host data path MSCS API functions * Define the host data path MSCS API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_MSCS_H_ #ifndef _CDP_TXRX_MSCS_H_
@@ -27,15 +27,17 @@
#include "cdp_txrx_handle.h" #include "cdp_txrx_handle.h"
#ifdef WLAN_SUPPORT_MSCS #ifdef WLAN_SUPPORT_MSCS
/** /**
* @brief find MSCS enabled peer for this mac address and validate priority * cdp_mscs_peer_lookup_n_get_priority() - find MSCS enabled peer for this mac
* @details * address and validate priority
* This function checks if there is a peer for this mac address with MSCS * @soc: SoC handle
* enabled flag set and nbuf priority is valid from user priority bitmap. * @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 * This function checks if there is a peer for this mac address with MSCS
* @param dst_mac - destination mac address of peer * enabled flag set and nbuf priority is valid from user priority bitmap.
* @param nbuf - nbuf pointer *
* @return - 0 for non error case, 1 for failure * Return: 0 for non error case, 1 for failure
*/ */
static inline int static inline int
cdp_mscs_peer_lookup_n_get_priority(ol_txrx_soc_handle soc, cdp_mscs_peer_lookup_n_get_priority(ol_txrx_soc_handle soc,

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -22,7 +23,7 @@
#include "cdp_txrx_handle.h" #include "cdp_txrx_handle.h"
/** /**
* cdp_set_ocb_chan_info() - set OCB channel info to vdev. * 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 * @vdev_id: vdev_id corresponding to vdev start
* @ocb_set_chan: OCB channel information to be set in vdev. * @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 * 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 * @vdev_id: vdev_id corresponding to vdev start
* *
* Return: handle to struct ol_txrx_ocb_chan_info * Return: handle to struct ol_txrx_ocb_chan_info

View File

@@ -16,9 +16,10 @@
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/** /**
* @file cdp_txrx_ops.h * DOC: cdp_txrx_ops.h
* @brief Define the host data path converged API functions * Define the host data path converged API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_CMN_OPS_H_ #ifndef _CDP_TXRX_CMN_OPS_H_
@@ -41,14 +42,14 @@
#endif #endif
#endif #endif
/** /*
* bitmap values to indicate special handling of peer_delete * bitmap values to indicate special handling of peer_delete
*/ */
#define CDP_PEER_DELETE_NO_SPECIAL 0 #define CDP_PEER_DELETE_NO_SPECIAL 0
#define CDP_PEER_DO_NOT_START_UNMAP_TIMER 1 #define CDP_PEER_DO_NOT_START_UNMAP_TIMER 1
struct hif_opaque_softc; struct hif_opaque_softc;
/** /*
* cdp_ctrl_mlo_mgr - opaque handle for mlo manager context * cdp_ctrl_mlo_mgr - opaque handle for mlo manager context
*/ */
struct cdp_ctrl_mlo_mgr; struct cdp_ctrl_mlo_mgr;
@@ -66,19 +67,15 @@ enum cdp_nac_param_cmd {
/** /**
* enum cdp_tx_filter_action - TX peer filtering action * enum cdp_tx_filter_action - TX peer filtering action
* @CDP_TX_FILTER_ACTION_ADD: add peer * @CDP_TX_FILTER_ACTION_ADD: add peer mac address
* @CDP_TX_FILTER_ACTION_DEL: delete peer * @CDP_TX_FILTER_ACTION_DEL: delete peer mac address
* * @CDP_TX_FILTER_ACTION_ENABLE_FILTERING: Enable Tx peer filtering
* whether add or delete * @CDP_TX_FILTER_ACTION_CLEAR_FILTERING: Clear Tx peer filtering
*/ */
enum cdp_tx_filter_action { enum cdp_tx_filter_action {
/* add peer mac address*/
CDP_TX_FILTER_ACTION_ADD = 1, CDP_TX_FILTER_ACTION_ADD = 1,
/* delete peer mac address */
CDP_TX_FILTER_ACTION_DEL, CDP_TX_FILTER_ACTION_DEL,
/* Enable Tx peer filtering */
CDP_TX_FILTER_ACTION_ENABLE_FILTERING, CDP_TX_FILTER_ACTION_ENABLE_FILTERING,
/* Clear Tx peer filtering */
CDP_TX_FILTER_ACTION_CLEAR_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_NONE: No flush policy configured
* @CDP_PEER_TXQ_FLUSH_POLICY_IMMEDIATE: Flush peer TX TID queue(s) immediately * @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_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 * 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, 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 * struct cdp_mlo_ops - MLO ops for multichip
* @mlo_soc_setup: setup DP mlo for SOC * @mlo_soc_setup: setup DP mlo for SOC
* @mlo_soc_teardown: teardown 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_setup_complete: indication to DP that all SOCs mlo is setup
* @mlo_update_delta_tsf2: update delta tsf2 for link * @mlo_update_delta_tsf2: update delta tsf2 for link
* @mlo_update_delta_tqm: update delta tqm for SOC * @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_attach: Attach DP MLO context
* @mlo_ctxt_detach: Detach 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 { struct cdp_mlo_ops {
void (*mlo_soc_setup)(struct cdp_soc_t *cdp_soc, void (*mlo_soc_setup)(struct cdp_soc_t *cdp_soc,
struct cdp_mlo_ctxt *mlo_ctxt); struct cdp_mlo_ctxt *mlo_ctxt);
@@ -972,10 +972,19 @@ struct cdp_me_ops {
* @txrx_deliver_tx_mgmt: deliver mgmt tx frame * @txrx_deliver_tx_mgmt: deliver mgmt tx frame
* @txrx_set_advance_monitor_filter: set advanced monitor mode * @txrx_set_advance_monitor_filter: set advanced monitor mode
* @config_full_mon_mode: configure full 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_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_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 * @txrx_update_pdev_mon_telemetry_airtime_stats: update telemetry airtime
* stats in monitor pdev * stats in monitor pdev
*/ */
struct cdp_mon_ops { struct cdp_mon_ops {
@@ -985,57 +994,48 @@ struct cdp_mon_ops {
QDF_STATUS (*txrx_deliver_tx_mgmt) QDF_STATUS (*txrx_deliver_tx_mgmt)
(struct cdp_soc_t *cdp_soc, uint8_t pdev_id, qdf_nbuf_t nbuf); (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) QDF_STATUS (*txrx_set_advance_monitor_filter)
(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, (struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
struct cdp_monitor_filter *filter_val); struct cdp_monitor_filter *filter_val);
/* Configure full monitor mode */
QDF_STATUS QDF_STATUS
(*config_full_mon_mode)(struct cdp_soc_t *soc, uint8_t val); (*config_full_mon_mode)(struct cdp_soc_t *soc, uint8_t val);
QDF_STATUS (*soc_config_full_mon_mode)(struct cdp_pdev *cdp_pdev, QDF_STATUS (*soc_config_full_mon_mode)(struct cdp_pdev *cdp_pdev,
uint8_t val); uint8_t val);
/* Get monitor mode pdev stats */
QDF_STATUS QDF_STATUS
(*get_mon_pdev_rx_stats)(struct cdp_soc_t *soc, uint8_t pdev_id, (*get_mon_pdev_rx_stats)(struct cdp_soc_t *soc, uint8_t pdev_id,
struct cdp_pdev_mon_stats *stats); struct cdp_pdev_mon_stats *stats);
/* Configure monitor status srng reap timer */
bool (*txrx_enable_mon_reap_timer)(struct cdp_soc_t *soc_hdl, bool (*txrx_enable_mon_reap_timer)(struct cdp_soc_t *soc_hdl,
enum cdp_mon_reap_source source, enum cdp_mon_reap_source source,
bool enable); bool enable);
#ifdef QCA_SUPPORT_LITE_MONITOR #ifdef QCA_SUPPORT_LITE_MONITOR
/* set lite monitor config */
QDF_STATUS QDF_STATUS
(*txrx_set_lite_mon_config)( (*txrx_set_lite_mon_config)(
struct cdp_soc_t *soc, struct cdp_soc_t *soc,
struct cdp_lite_mon_filter_config *mon_config, struct cdp_lite_mon_filter_config *mon_config,
uint8_t pdev_id); uint8_t pdev_id);
/* get lite monitor config */
QDF_STATUS QDF_STATUS
(*txrx_get_lite_mon_config)( (*txrx_get_lite_mon_config)(
struct cdp_soc_t *soc, struct cdp_soc_t *soc,
struct cdp_lite_mon_filter_config *mon_config, struct cdp_lite_mon_filter_config *mon_config,
uint8_t pdev_id); uint8_t pdev_id);
/* set lite monitor peer config */
QDF_STATUS QDF_STATUS
(*txrx_set_lite_mon_peer_config)( (*txrx_set_lite_mon_peer_config)(
struct cdp_soc_t *soc, struct cdp_soc_t *soc,
struct cdp_lite_mon_peer_config *peer_config, struct cdp_lite_mon_peer_config *peer_config,
uint8_t pdev_id); uint8_t pdev_id);
/* get lite monitor peer list */
QDF_STATUS QDF_STATUS
(*txrx_get_lite_mon_peer_config)( (*txrx_get_lite_mon_peer_config)(
struct cdp_soc_t *soc, struct cdp_soc_t *soc,
struct cdp_lite_mon_peer_info *info, struct cdp_lite_mon_peer_info *info,
uint8_t pdev_id); uint8_t pdev_id);
/* get lite monitor enable/disable status */
int int
(*txrx_is_lite_mon_enabled)(struct cdp_soc_t *soc, (*txrx_is_lite_mon_enabled)(struct cdp_soc_t *soc,
uint8_t pdev_id, uint8_t pdev_id,
@@ -1047,19 +1047,70 @@ struct cdp_mon_ops {
uint8_t pdev_id, uint8_t pdev_id,
uint8_t direction); uint8_t direction);
#endif #endif
/*To set RSSI dbm conversion params in monitor pdev */
QDF_STATUS (*txrx_set_mon_pdev_params_rssi_dbm_conv) QDF_STATUS (*txrx_set_mon_pdev_params_rssi_dbm_conv)
(struct cdp_soc_t *soc, (struct cdp_soc_t *soc,
struct cdp_rssi_db2dbm_param_dp *params); struct cdp_rssi_db2dbm_param_dp *params);
#ifdef WLAN_TELEMETRY_STATS_SUPPORT #ifdef WLAN_TELEMETRY_STATS_SUPPORT
/*To update telemetry airtime stats in monitor pdev */
QDF_STATUS (*txrx_update_pdev_mon_telemetry_airtime_stats) QDF_STATUS (*txrx_update_pdev_mon_telemetry_airtime_stats)
(struct cdp_soc_t *soc, (struct cdp_soc_t *soc,
uint8_t pdev_id); uint8_t pdev_id);
#endif #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 { struct cdp_host_stats_ops {
int (*txrx_host_stats_get)(struct cdp_soc_t *soc, uint8_t vdev_id, int (*txrx_host_stats_get)(struct cdp_soc_t *soc, uint8_t vdev_id,
struct ol_txrx_stats_req *req); 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, int (*txrx_stats_publish)(struct cdp_soc_t *soc, uint8_t pdev_id,
struct cdp_stats_extd *buf); 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, QDF_STATUS (*txrx_enable_enhanced_stats)(struct cdp_soc_t *soc,
uint8_t pdev_id); 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, QDF_STATUS (*txrx_disable_enhanced_stats)(struct cdp_soc_t *soc,
uint8_t pdev_id); uint8_t pdev_id);
@@ -1273,6 +1309,12 @@ struct cdp_host_stats_ops {
struct cdp_txrx_stats_req *req); 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 { struct cdp_wds_ops {
QDF_STATUS QDF_STATUS
(*txrx_set_wds_rx_policy)(struct cdp_soc_t *soc, uint8_t vdev_id, (*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); uint32_t val);
}; };
/**
* struct cdp_raw_ops - raw packet operations
* @rsim_get_astentry:
*/
struct cdp_raw_ops { struct cdp_raw_ops {
QDF_STATUS QDF_STATUS
(*rsim_get_astentry)(struct cdp_soc_t *soc, uint8_t vdev_id, (*rsim_get_astentry)(struct cdp_soc_t *soc, uint8_t vdev_id,
@@ -1292,6 +1338,10 @@ struct cdp_raw_ops {
}; };
#ifdef PEER_FLOW_CONTROL #ifdef PEER_FLOW_CONTROL
/**
* struct cdp_pflow_ops - peer flow control operations
* @pflow_update_pdev_params:
*/
struct cdp_pflow_ops { struct cdp_pflow_ops {
uint32_t (*pflow_update_pdev_params)(struct cdp_soc_t *soc, uint32_t (*pflow_update_pdev_params)(struct cdp_soc_t *soc,
uint8_t pdev_id, 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 * @hl_tdls_flag_reset: reset tdls flag for vdev
* @tx_non_std: Allow the control-path SW to send data frames * @tx_non_std: Allow the control-path SW to send data frames
* @get_vdev_id: get vdev id * @get_vdev_id: get vdev id
* @get_tx_ack_stats:
* @set_wisa_mode: set wisa mode for a vdev * @set_wisa_mode: set wisa mode for a vdev
* @txrx_data_stall_cb_register: register data stall callback * @txrx_data_stall_cb_register: register data stall callback
* @txrx_data_stall_cb_deregister: deregister 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 * @runtime_resume: ensure TXRX is ready to runtime resume
* @get_opmode: get operation mode of vdev * @get_opmode: get operation mode of vdev
* @mark_first_wakeup_packet: set flag to indicate that fw is compatible for * @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 * @update_mac_id: update mac_id for vdev
* @flush_rx_frames: flush rx frames on the queue * @flush_rx_frames: flush rx frames on the queue
* @get_intra_bss_fwd_pkts_count: to get the total tx and rx packets that * @get_intra_bss_fwd_pkts_count: to get the total tx and rx packets that
has been forwarded from txrx layer * has been forwarded from txrx layer
without going to upper layers * without going to upper layers
* @pkt_log_init: handler to initialize packet log * @pkt_log_init: handler to initialize packet log
* @pkt_log_con_service: handler to connect packet log service * @pkt_log_con_service: handler to connect packet log service
* @pkt_log_exit:
* @get_num_rx_contexts: handler to get number of RX contexts * @get_num_rx_contexts: handler to get number of RX contexts
* @register_packetdump_cb: register callback for different pktlog * @register_pktdump_cb: register callback for different pktlog
* @unregister_packetdump_cb: unregister callback for different pktlog * @unregister_pktdump_cb: unregister callback for different pktlog
* @pdev_reset_driver_del_ack: reset driver delayed ack enabled flag * @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_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 * @vdev_inform_ll_conn: inform DP to add/delete a latency critical connection
* for this particular vdev. * for this particular vdev.
* @set_swlm_enable: Enable or Disable Software Latency Manager. * @set_swlm_enable: Enable or Disable Software Latency Manager.
* @is_swlm_enabled: Check if Software latency manager is enabled or not. * @is_swlm_enabled: Check if Software latency manager is enabled or not.
* @display_txrx_hw_info: Dump the DP rings info * @display_txrx_hw_info: Dump the DP rings info
* @set_tx_flush_pending: Configures the ac/tid to be flushed and policy * @get_tx_rings_grp_bitmap:
* to flush. * @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 * @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 * @get_bus_vote_lvl_high: Get bus lvl to determine whether or not get
* rx rate stats * rx rate stats
* *
* Function pointers for miscellaneous soc/pdev/vdev related operations. * 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 * struct cdp_peer_ops - mcl peer related ops
* @register_peer: * @register_peer:
* @clear_peer: * @clear_peer:
* @find_peer_exist * @find_peer_exist:
* @find_peer_exist_on_vdev * @find_peer_exist_on_vdev:
* @find_peer_exist_on_other_vdev * @find_peer_exist_on_other_vdev:
* @peer_state_update: * @peer_state_update:
* @get_vdevid: * @get_vdevid:
* @get_vdev_by_peer_addr:
* @register_ocb_peer: * @register_ocb_peer:
* @peer_get_peer_mac_addr: * @peer_get_peer_mac_addr:
* @get_peer_state: * @get_peer_state:
* @get_vdev_for_peer:
* @update_ibss_add_peer_num_of_vdev: * @update_ibss_add_peer_num_of_vdev:
* @remove_peers_for_vdev:
* @remove_peers_for_vdev_no_lock:
* @copy_mac_addr_raw: * @copy_mac_addr_raw:
* @add_last_real_peer: * @add_last_real_peer:
* @is_vdev_restore_last_peer: * @is_vdev_restore_last_peer:
* @update_last_real_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 { struct cdp_peer_ops {
QDF_STATUS (*register_peer)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id, 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_set_active:
* @ipa_op_response: * @ipa_op_response:
* @ipa_register_op_cb: * @ipa_register_op_cb:
* @ipa_deregister_op_cb:
* @ipa_get_stat: * @ipa_get_stat:
* @ipa_tx_data_frame: * @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_mapping: Create SMMU mappings for Tx
* @ipa_tx_buf_smmu_unmapping: Release SMMU mappings for Tx * @ipa_tx_buf_smmu_unmapping: Release SMMU mappings for Tx
* buffers to IPA * buffers to IPA

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_peer.h * DOC: cdp_txrx_peer_ops.h
* @brief Define the host data path peer API functions * Define the host data path peer API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_PEER_H_ #ifndef _CDP_TXRX_PEER_H_
@@ -28,9 +29,9 @@
/** /**
* cdp_peer_register() - Register peer into physical device * cdp_peer_register() - Register peer into physical device
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - data path device instance id * @pdev_id: data path device instance id
* @sta_desc - peer description * @sta_desc: peer description
* *
* Register peer into physical device * 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 * cdp_clear_peer() - remove peer from physical device
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - data path device instance id * @pdev_id: data path device instance id
* @peer_addr - peer mac address * @peer_addr: peer mac address
* *
* remove peer from physical device * 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 * cdp_peer_register_ocb_peer() - register ocb peer from physical device
* @soc - data path soc handle * @soc: data path soc handle
* @cds_ctx - cds void context * @mac_addr: mac address for ocb self peer
* @mac_addr - mac address for ocb self peer
* *
* register ocb peer from physical device * 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 static inline QDF_STATUS
cdp_peer_register_ocb_peer(ol_txrx_soc_handle soc, 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) { if (!soc || !soc->ops || !soc->ops->peer_ops) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL, 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 * cdp_find_peer_exist - Find if peer already exists
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - data path device instance id * @pdev_id: data path device instance id
* @peer_addr - peer mac address * @peer_addr: peer mac address
* *
* Return: true or false * 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 * cdp_find_peer_exist_on_vdev - Find if duplicate peer exists
* on the given vdev * on the given vdev
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - data path virtual interface id * @vdev_id: data path virtual interface id
* @peer_addr - peer mac address * @peer_addr: peer mac address
* *
* Return: true or false * 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 * cdp_find_peer_exist_on_other_vdev - Find if duplicate peer exists
* on other than the given vdev * on other than the given vdev
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - data path virtual interface id * @vdev_id: data path virtual interface id
* @peer_addr - peer mac address * @peer_addr: peer mac address
* @max_bssid - max number of bssids * @max_bssid: max number of bssids
* *
* Return: true or false * 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 * cdp_peer_state_update() - update peer local state
* @soc - data path soc handle * @soc: data path soc handle
* @peer_addr - peer mac address * @peer_addr: peer mac address
* @state - new peer local state * @state: new peer local state
* *
* update 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 * cdp_peer_state_get() - Get local peer state
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id * @vdev_id: virtual interface id
* @peer_mac - peer mac addr * @peer_mac: peer mac addr
* *
* Get local peer state * 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 * cdp_peer_get_vdevid() - Get virtual interface id which peer registered
* @soc - data path soc handle * @soc: data path soc handle
* @peer_mac - peer mac address * @peer_mac: peer mac address
* @vdev_id - virtual interface id which peer registered * @vdev_id: virtual interface id which peer registered
* *
* Get 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 * cdp_peer_get_vdev_by_peer_addr() - Get vdev instance by local peer address
* @soc - data path soc handle * @soc: data path soc handle
* @pdev - data path device instance * @pdev: data path device instance
* @peer_addr - peer mac address * @peer_addr: peer mac address
* *
* Get virtual interface id by local peer id * 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 * cdp_peer_get_peer_mac_addr() - Get peer mac address
* @soc - data path soc handle * @soc: data path soc handle
* @peer - peer instance * @peer: peer instance
* *
* Get peer mac address * 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 * cdp_peer_update_ibss_add_peer_num_of_vdev() - update number of peer
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface instance id * @vdev_id: virtual interface instance id
* @peer_num_delta - number of peer should be updated * @peer_num_delta: number of peer should be updated
* *
* update number of peer * 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 * cdp_peer_copy_mac_addr_raw() - copy peer mac address
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface instance id * @vdev_id: virtual interface instance id
* @bss_addr - mac address should be copied * @bss_addr: mac address should be copied
* *
* copy peer mac address * 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 * cdp_peer_add_last_real_peer() - Add peer with last peer marking
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - data path device instance id * @pdev_id: data path device instance id
* @vdev_id - virtual interface instance id * @vdev_id: virtual interface instance id
* *
* copy peer mac address * 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 * cdp_peer_is_vdev_restore_last_peer() - restore last peer
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id * @vdev_id: virtual interface id
* @peer_mac - peer mac address * @peer_mac: peer mac address
* *
* restore last peer * 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 * cdp_peer_update_last_real_peer() - update last real peer
* @soc - data path soc handle * @soc: data path soc handle
* @pdev_id - data path device instance id * @pdev_id: data path device instance id
* @vdev_id - virtual interface id * @vdev_id: virtual interface id
* @restore_last_peer - restore last peer or not * @restore_last_peer: restore last peer or not
* *
* update last real peer * 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 * cdp_peer_detach_force_delete() - Detach and delete a peer's data object
* @peer - the object to detach * @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 * 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. * 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; return false;
} }
/* /**
* cdp_peer_set_peer_as_tdls() - To set peer as tdls peer * cdp_peer_set_peer_as_tdls() - To set peer as tdls peer
* @soc: pointer to SOC handle * @soc: pointer to SOC handle
* @vdev_id: virtual interface id * @vdev_id: virtual interface id
* @peer_mac: peer mac address * @peer_mac: peer mac address
* @var: true or false * @val: true or false
* *
* Return: void * 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 * cdp_peer_flush_frags() - Flush frags on peer
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - virtual interface id * @vdev_id: virtual interface id
* @peer_mac - peer mac addr * @peer_mac: peer mac addr
* *
* Return: None * Return: None
*/ */

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017,2019-2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_pflow.h * DOC: cdp_txrx_pflow.h
* @brief Define the host data path peer flow API functions * Define the host data path peer flow API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_PFLOW_H_ #ifndef _CDP_TXRX_PFLOW_H_

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016, 2019 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * 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 * cdp_get_pn_info() - Returns pn info from peer
* @soc - data path soc handle * @soc: data path soc handle
* @peer_mac: peer mac address * @peer_mac: peer mac address
* @vdev_id: virtual device/interface id * @vdev_id: virtual device/interface id
* @last_pn_valid: return last_rmf_pn_valid value from peer. * @last_pn_valid: return last_rmf_pn_valid value from peer.

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017, 2019, 2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_raw.h * DOC: cdp_txrx_raw.h
* @brief Define the host data path raw mode API functions * Define the host data path raw mode API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_RAW_H_ #ifndef _CDP_TXRX_RAW_H_
@@ -29,16 +30,16 @@
#include <cdp_txrx_cmn.h> #include <cdp_txrx_cmn.h>
/** /**
* @brief finds the ast entry for the packet * cdp_rawsim_get_astentry() - finds the ast entry for the packet
* @details: Finds the ast entry i.e 4th address for the packet based on the * @soc: soc handle
* details in the netbuf. * @vdev_id: id of the data virtual device object
* @pnbuf: pointer to nbuf
* @raw_ast: pointer to fill ast information
* *
* @param soc - soc handle * Finds the ast entry i.e 4th address for the packet based on the
* @param vdev_id - id of the data virtual device object * details in the netbuf.
* @param pnbuf - pointer to nbuf
* @param raw_ast - pointer to fill ast information
* *
* @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 static inline QDF_STATUS

View File

@@ -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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * 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 * cdp_get_peer_sawf_delay_stats() - Call to get SAWF delay stats
* @soc: soc handle * @soc: soc handle
* @svc_class_id: service class ID * @svc_id: service class ID
* @mac: peer mac address * @mac: peer mac address
* @data: opaque pointer * @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 * cdp_get_peer_sawf_tx_stats() - Call to get SAWF Tx stats
* @soc: soc handle * @soc: soc handle
* @svc_class_id: service class ID * @svc_id: service class ID
* @mac: peer mac address * @mac: peer mac address
* @data: opaque pointer * @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 * 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_pkt: No of packets per window to calucalte moving average
* @num_win: No of windows 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 * cdp_sawf_set_sla_params - Set SLA pararms
* @soc: SOC handle
* @num_pkt: No of packets to detect SLA breach * @num_pkt: No of packets to detect SLA breach
* @time_secs: Time ins secs to detect 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 * 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); add_or_sub);
} }
/* /**
* cdp_swaf_peer_is_sla_configured() - Check if sla is configured for a peer * 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 * @mac_addr: peer mac address
* *
* Return: true is peer is sla configured * Return: true is peer is sla configured

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017,2019,2021 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_stats.h * DOC: cdp_txrx_stats.h
* @brief Define the host data path statistics API functions * Define the host data path statistics API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_STATS_H_ #ifndef _CDP_TXRX_STATS_H_

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2019 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_tx_delay.h * DOC: cdp_txrx_tx_delay.h
* @brief Define the host data path histogram API functions * Define the host data path histogram API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_COMPUTE_TX_DELAY_H_ #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 * cdp_tx_packet_count() - get tx packet count
* @soc: data path soc handle * @soc: data path soc handle
* @pdev_id: id of data path pdev handle * @pdev_id: id of data path pdev handle
* @out_packet_count: packet count
* @out_packet_loss_count: packet loss count * @out_packet_loss_count: packet loss count
* @category: packet category * @category: packet category
* *

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,8 +18,8 @@
*/ */
/** /**
* @file cdp_txrx_tx_throttle.h * DOC: cdp_txrx_tx_throttle.h
* @brief Define the host data path transmit throttle API * Define the host data path transmit throttle API
* functions called by the host control SW and the OS interface * functions called by the host control SW and the OS interface
* module * 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 * @soc: data path soc handle
* @pdev_id: id of data path pdev handle * @pdev_id: id of data path pdev handle
* @level: throttle level * @level: throttle level

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2016-2017, 2019 The Linux Foundation. All rights reserved. * 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 * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -17,22 +18,24 @@
*/ */
/** /**
* @file cdp_txrx_wds.h * DOC: cdp_txrx_wds.h
* @brief Define the host data path WDS API functions * Define the host data path WDS API functions
* called by the host control SW and the OS interface module * called by the host control SW and the OS interface module
*/ */
#ifndef _CDP_TXRX_WDS_H_ #ifndef _CDP_TXRX_WDS_H_
#define _CDP_TXRX_WDS_H_ #define _CDP_TXRX_WDS_H_
#include "cdp_txrx_handle.h" #include "cdp_txrx_handle.h"
/** /**
* @brief set the wds rx filter policy of the device * cdp_set_wds_rx_policy() - set the wds rx filter policy of the device
* @details * @soc: psoc object
* This flag sets the wds rx policy on the vdev. Rx frames not compliant * @vdev_id: id of the data virtual device object
* with the policy will be dropped. * @val: the wds rx policy bitmask
* *
* @param vdev_id - id of the data virtual device object * This flag sets the wds rx policy on the vdev. Rx frames not compliant
* @param val - the wds rx policy bitmask * with the policy will be dropped.
* @return - QDF_STATUS *
* Return: QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_set_wds_rx_policy(ol_txrx_soc_handle soc, 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 * cdp_set_wds_tx_policy_update() - set the wds tx filter policy of the device
* @details * @soc: psoc object
* This flag sets the wds rx policy on the vdev. Rx frames not compliant * @vdev_id: id of the data virtual device object
* with the policy will be dropped. * @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 * This flag sets the wds xx policy on the vdev. Tx frames not compliant
* @param vdev_id - id of the data virtual device object * with the policy will be dropped.
* @param peer_mac - peer mac address *
* @param val - the wds rx policy bitmask * Return: QDF_STATUS
* @return - QDF_STATUS
*/ */
static inline QDF_STATUS static inline QDF_STATUS
cdp_set_wds_tx_policy_update(ol_txrx_soc_handle soc, 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 * cdp_vdev_set_wds() - Set/unset wds_enable flag in vdev
* @soc - data path soc handle * @soc: data path soc handle
* @vdev_id - id of data path vap handle * @vdev_id: id of data path vap handle
* @val - value to be set in wds_en flag * @val: value to be set in wds_en flag
* *
* This flag enables WDS source port learning feature on a vdev * This flag enables WDS source port learning feature on a vdev
* *
* return 1 on success * Return: 1 on success
*/ */
static inline int static inline int
cdp_vdev_set_wds(ol_txrx_soc_handle soc, uint8_t vdev_id, uint32_t val) cdp_vdev_set_wds(ol_txrx_soc_handle soc, uint8_t vdev_id, uint32_t val)