diff --git a/dp/wifi3.0/dp_tx.c b/dp/wifi3.0/dp_tx.c index af06a6e8f38d..81cf81db9b75 100644 --- a/dp/wifi3.0/dp_tx.c +++ b/dp/wifi3.0/dp_tx.c @@ -1347,6 +1347,8 @@ qdf_nbuf_t dp_tx_extract_mesh_meta_data(struct dp_vdev *vdev, qdf_nbuf_t nbuf, qdf_mem_set(meta_data, 0, sizeof(struct htt_tx_msdu_desc_ext2_t)); + meta_data->host_tx_desc_pool = 1; + if (!(mhdr->flags & METAHDR_FLAG_AUTO_RATE)) { meta_data->power = mhdr->power; diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index d0570944a032..876c4935ad5d 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -2346,6 +2346,7 @@ void hif_ce_prepare_config(struct hif_softc *scn) scn->ce_count = QCA_6290_CE_COUNT; break; } + QDF_BUG(scn->ce_count <= CE_COUNT_MAX); } /** diff --git a/os_if/linux/qca_vendor.h b/os_if/linux/qca_vendor.h index a438d8863cd5..1323d5f97d38 100644 --- a/os_if/linux/qca_vendor.h +++ b/os_if/linux/qca_vendor.h @@ -233,6 +233,18 @@ * information indicating the reason that triggered this detection. The * attributes for this command are defined in * enum qca_wlan_vendor_attr_hang. + * @QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG: Get the current values + * of spectral parameters used. The spectral scan parameters are specified + * by enum qca_wlan_vendor_attr_spectral_scan. + * @QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS: Get the debug stats + * for spectral scan functionality. The debug stats are specified by + * enum qca_wlan_vendor_attr_spectral_diag_stats. + * @QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO: Get spectral + * scan system capabilities. The capabilities are specified + * by enum qca_wlan_vendor_attr_spectral_cap. + * @QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS: Get the current + * status of spectral scan. The status values are specified + * by enum qca_wlan_vendor_attr_spectral_scan_status. */ enum qca_nl80211_vendor_subcmds { @@ -428,6 +440,10 @@ enum qca_nl80211_vendor_subcmds { QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_STOP = 155, QCA_NL80211_VENDOR_SUBCMD_ACTIVE_TOS = 156, QCA_NL80211_VENDOR_SUBCMD_HANG = 157, + QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG = 158, + QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS = 159, + QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO = 160, + QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS = 161, }; enum qca_wlan_vendor_tos { @@ -5087,12 +5103,117 @@ enum qca_wlan_vendor_attr_spectral_scan { * specific scan to be stopped. */ QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_COOKIE = 19, - + /* Skip interval for FFT reports. u32 attribute */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_FFT_PERIOD = 20, + /* Set to report only one set of FFT results. + * u32 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_SHORT_REPORT = 21, + /* Debug level for spectral module in driver. + * 0 : Verbosity level 0 + * 1 : Verbosity level 1 + * 2 : Verbosity level 2 + * 3 : Matched filterID display + * 4 : One time dump of FFT report + * u32 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_DEBUG_LEVEL = 22, + /* Type of spectral scan request. u32 attribute. + * It uses values defined in enum + * qca_wlan_vendor_attr_spectral_scan_request_type. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE = 23, QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_MAX = QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_AFTER_LAST - 1, }; +/** + * enum qca_wlan_vendor_attr_spectral_diag_stats - Used by the vendor command + * QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS. + */ +enum qca_wlan_vendor_attr_spectral_diag_stats { + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_INVALID = 0, + /* Number of spectral TLV signature mismatches. + * u64 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_SIG_MISMATCH = 1, + /* Number of spectral phyerror events with insufficient length when + * parsing for secondary 80 search FFT report. u64 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_SEC80_SFFT_INSUFFLEN = 2, + /* Number of spectral phyerror events without secondary 80 + * search FFT report. u64 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_NOSEC80_SFFT = 3, + /* Number of spectral phyerror events with vht operation segment 1 id + * mismatches in search fft report. u64 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_VHTSEG1ID_MISMATCH = 4, + /* Number of spectral phyerror events with vht operation segment 2 id + * mismatches in search fft report. u64 attribute. + */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_VHTSEG2ID_MISMATCH = 5, + + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_MAX = + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_DIAG_AFTER_LAST - 1, +}; + +/** + * enum qca_wlan_vendor_attr_spectral_cap - Used by the vendor command + * QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO. + */ +enum qca_wlan_vendor_attr_spectral_cap { + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_INVALID = 0, + /* Flag attribute to indicate phydiag capability */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_PHYDIAG = 1, + /* Flag attribute to indicate radar detection capability */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_RADAR = 2, + /* Flag attribute to indicate spectral capability */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_SPECTRAL = 3, + /* Flag attribute to indicate advanced spectral capability */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_ADVANCED_SPECTRAL = 4, + + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_MAX = + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CAP_AFTER_LAST - 1, +}; + +/** + * enum qca_wlan_vendor_attr_spectral_scan_status - used by the vendor command + * QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS. + */ +enum qca_wlan_vendor_attr_spectral_scan_status { + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_INVALID = 0, + /* Flag attribute to indicate whether spectral scan is enabled */ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_IS_ENABLED = 1, + /* Flag attribute to indicate whether spectral scan is in progress*/ + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_IS_ACTIVE = 2, + + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_AFTER_LAST, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_MAX = + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_STATUS_AFTER_LAST - 1, +}; + +/** + * qca_wlan_vendor_attr_spectral_scan_request_type: Attribute values for + * QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE to the vendor subcmd + * QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START. This represents the + * spectral scan request types. + * @QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_SCAN_AND_CONFIG: Request to + * set the spectral parameters and start scan. + * @QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_SCAN: Request to + * only set the spectral parameters. + * @QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_CONFIG: Request to + * only start the spectral scan. + */ +enum qca_wlan_vendor_attr_spectral_scan_request_type { + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_SCAN_AND_CONFIG, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_SCAN, + QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_REQUEST_TYPE_CONFIG, +}; + #if !(defined (SUPPORT_WDEV_CFG80211_VENDOR_EVENT_ALLOC)) && \ (LINUX_VERSION_CODE < KERNEL_VERSION(4, 1, 0)) && \ !(defined(WITH_BACKPORTS)) diff --git a/os_if/linux/wifi_pos/inc/os_if_wifi_pos.h b/os_if/linux/wifi_pos/inc/os_if_wifi_pos.h index 410b6195649a..12196a8ee318 100644 --- a/os_if/linux/wifi_pos/inc/os_if_wifi_pos.h +++ b/os_if/linux/wifi_pos/inc/os_if_wifi_pos.h @@ -75,7 +75,7 @@ void os_if_wifi_pos_send_peer_status(struct qdf_mac_addr *peer_mac, uint8_t peer_timing_meas_cap, uint8_t session_id, struct wifi_pos_ch_info *chan_info, - enum tQDF_ADAPTER_MODE dev_mode); + enum QDF_OPMODE dev_mode); /** * os_if_wifi_pos_populate_caps() - populate oem capabilities @@ -103,7 +103,7 @@ static inline void os_if_wifi_pos_send_peer_status( uint8_t peer_timing_meas_cap, uint8_t session_id, struct wifi_pos_ch_info *chan_info, - enum tQDF_ADAPTER_MODE dev_mode) + enum QDF_OPMODE dev_mode) { } diff --git a/os_if/linux/wifi_pos/src/os_if_wifi_pos.c b/os_if/linux/wifi_pos/src/os_if_wifi_pos.c index 973d2a71474f..a73591f4cfb6 100644 --- a/os_if/linux/wifi_pos/src/os_if_wifi_pos.c +++ b/os_if/linux/wifi_pos/src/os_if_wifi_pos.c @@ -269,7 +269,7 @@ void os_if_wifi_pos_send_peer_status(struct qdf_mac_addr *peer_mac, uint8_t peer_timing_meas_cap, uint8_t session_id, struct wifi_pos_ch_info *chan_info, - enum tQDF_ADAPTER_MODE dev_mode) + enum QDF_OPMODE dev_mode) { struct wlan_objmgr_psoc *psoc = wifi_pos_get_psoc(); struct wmi_pos_peer_status_info *peer_info; diff --git a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c index dc767872f775..4851216c00e3 100644 --- a/umac/cmn_services/crypto/src/wlan_crypto_global_api.c +++ b/umac/cmn_services/crypto/src/wlan_crypto_global_api.c @@ -275,7 +275,7 @@ QDF_STATUS wlan_crypto_setkey(struct wlan_objmgr_vdev *vdev, const struct wlan_crypto_cipher *cipher; uint8_t macaddr[WLAN_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; bool isbcast; - enum tQDF_ADAPTER_MODE vdev_mode; + enum QDF_OPMODE vdev_mode; if (!vdev || !req_key || req_key->keylen > (sizeof(req_key->keydata))) { qdf_print("%s[%d] Invalid params vdev%pK, req_key%pK\n", @@ -2422,7 +2422,7 @@ QDF_STATUS wlan_crypto_set_peer_wep_keys(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_psoc *psoc; struct wlan_objmgr_peer *peer; int i; - enum tQDF_ADAPTER_MODE opmode; + enum QDF_OPMODE opmode; if (!vdev) return QDF_STATUS_E_NULL_VALUE; diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h index 97e8be99a6a8..a0e7b06b23c8 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h @@ -707,7 +707,7 @@ struct wlan_objmgr_pdev *wlan_objmgr_get_pdev_by_macaddr_no_state( */ struct wlan_objmgr_vdev *wlan_objmgr_get_vdev_by_opmode_from_psoc( struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE opmode, + enum QDF_OPMODE opmode, wlan_objmgr_ref_dbgid dbg_id); /** diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h index 17ac88347c75..ee834f56eaf4 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h @@ -248,7 +248,7 @@ enum wlan_vdev_state { * @mataddr[]: MAT address */ struct wlan_vdev_create_params { - enum tQDF_ADAPTER_MODE opmode; + enum QDF_OPMODE opmode; uint8_t macaddr[WLAN_MACADDR_LEN]; uint32_t flags; struct vdev_osif_priv *osifp; @@ -284,7 +284,7 @@ struct wlan_channel { * @mataddr[]: MAT address */ struct wlan_objmgr_vdev_mlme { - enum tQDF_ADAPTER_MODE vdev_opmode; + enum QDF_OPMODE vdev_opmode; char ssid[WLAN_SSID_MAX_LEN+1]; uint8_t ssid_len; struct wlan_channel *bss_chan; /* Define wlan_channel */ @@ -627,7 +627,7 @@ static inline struct wlan_objmgr_psoc *wlan_vdev_get_psoc( * Return: void */ static inline void wlan_vdev_mlme_set_opmode(struct wlan_objmgr_vdev *vdev, - enum tQDF_ADAPTER_MODE mode) + enum QDF_OPMODE mode) { vdev->vdev_mlme.vdev_opmode = mode; } @@ -641,7 +641,7 @@ static inline void wlan_vdev_mlme_set_opmode(struct wlan_objmgr_vdev *vdev, * Return: * @mode: VDEV op mode */ -static inline enum tQDF_ADAPTER_MODE wlan_vdev_mlme_get_opmode( +static inline enum QDF_OPMODE wlan_vdev_mlme_get_opmode( struct wlan_objmgr_vdev *vdev) { return vdev->vdev_mlme.vdev_opmode; diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c index b49639017591..8f08b8700de3 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c @@ -873,7 +873,7 @@ QDF_STATUS wlan_objmgr_psoc_vdev_detach(struct wlan_objmgr_psoc *psoc, struct wlan_objmgr_vdev *wlan_objmgr_get_vdev_by_opmode_from_psoc( struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE opmode, + enum QDF_OPMODE opmode, wlan_objmgr_ref_dbgid dbg_id) { struct wlan_objmgr_vdev *vdev; diff --git a/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h b/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h index 4dd3629ad843..301cd0c7c1c4 100644 --- a/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h +++ b/umac/cmn_services/policy_mgr/inc/wlan_policy_mgr_api.h @@ -68,7 +68,7 @@ typedef const enum policy_mgr_conc_next_action * Return: NONE */ void policy_mgr_set_concurrency_mode(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode); + enum QDF_OPMODE mode); /** * policy_mgr_clear_concurrency_mode() - To clear concurrency mode @@ -80,7 +80,7 @@ void policy_mgr_set_concurrency_mode(struct wlan_objmgr_psoc *psoc, * Return: NONE */ void policy_mgr_clear_concurrency_mode(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode); + enum QDF_OPMODE mode); /** * policy_mgr_get_connection_count() - provides the count of @@ -192,7 +192,7 @@ bool policy_mgr_is_mcc_in_24G(struct wlan_objmgr_psoc *psoc); */ QDF_STATUS policy_mgr_change_mcc_go_beacon_interval( struct wlan_objmgr_psoc *psoc, - uint8_t vdev_id, enum tQDF_ADAPTER_MODE dev_mode); + uint8_t vdev_id, enum QDF_OPMODE dev_mode); #if defined(FEATURE_WLAN_MCC_TO_SCC_SWITCH) /** @@ -233,7 +233,7 @@ static inline void policy_mgr_change_sap_channel_with_csa( * Return: None */ void policy_mgr_incr_active_session(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode, uint8_t sessionId); + enum QDF_OPMODE mode, uint8_t session_id); /** * policy_mgr_decr_active_session() - decrements the number of active sessions @@ -248,7 +248,7 @@ void policy_mgr_incr_active_session(struct wlan_objmgr_psoc *psoc, * Return: QDF_STATUS */ QDF_STATUS policy_mgr_decr_active_session(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode, uint8_t sessionId); + enum QDF_OPMODE mode, uint8_t session_id); /** * policy_mgr_decr_session_set_pcl() - Decrement session count and set PCL @@ -262,7 +262,7 @@ QDF_STATUS policy_mgr_decr_active_session(struct wlan_objmgr_psoc *psoc, * Return: None */ void policy_mgr_decr_session_set_pcl(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode, uint8_t session_id); + enum QDF_OPMODE mode, uint8_t session_id); /** * policy_mgr_get_channel() - provide channel number of given mode and vdevid @@ -666,7 +666,7 @@ static inline QDF_STATUS policy_mgr_decr_connection_count_utfw( * Return: policy_mgr_con_mode enum */ enum policy_mgr_con_mode policy_mgr_convert_device_mode_to_qdf_type( - enum tQDF_ADAPTER_MODE device_mode); + enum QDF_OPMODE device_mode); /** * policy_mgr_pdev_set_hw_mode() - Set HW mode command to FW @@ -748,9 +748,9 @@ typedef void (*policy_mgr_nss_update_cback)(struct wlan_objmgr_psoc *psoc, */ struct policy_mgr_sme_cbacks { QDF_STATUS (*sme_get_valid_channels)(uint8_t *chan_list, - uint32_t *list_len); - void (*sme_get_nss_for_vdev)(enum tQDF_ADAPTER_MODE, - uint8_t *nss_2g, uint8_t *nss_5g); + uint32_t *list_len); + void (*sme_get_nss_for_vdev)(enum QDF_OPMODE, + uint8_t *nss_2g, uint8_t *nss_5g); QDF_STATUS (*sme_soc_set_dual_mac_config)( struct policy_mgr_dual_mac_config msg); QDF_STATUS (*sme_pdev_set_hw_mode)(struct policy_mgr_hw_mode msg); @@ -923,8 +923,8 @@ void policy_mgr_soc_set_dual_mac_cfg_cb(enum set_hw_mode_status status, * * Return: true or false */ -bool policy_mgr_map_concurrency_mode(enum tQDF_ADAPTER_MODE *old_mode, - enum policy_mgr_con_mode *new_mode); +bool policy_mgr_map_concurrency_mode(enum QDF_OPMODE *old_mode, + enum policy_mgr_con_mode *new_mode); /** * policy_mgr_get_channel_from_scan_result() - to get channel from scan result diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c index 29f6069fad80..037ad11aa81b 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_core.c @@ -1138,7 +1138,7 @@ void policy_mgr_dump_current_concurrency(struct wlan_objmgr_psoc *psoc) * Return: None */ void policy_mgr_pdev_set_pcl(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode) + enum QDF_OPMODE mode) { QDF_STATUS status; enum policy_mgr_con_mode con_mode; @@ -1205,7 +1205,7 @@ void policy_mgr_set_pcl_for_existing_combo( { struct policy_mgr_conc_connection_info info[MAX_NUMBER_OF_CONC_CONNECTIONS] = { {0} }; - enum tQDF_ADAPTER_MODE pcl_mode; + enum QDF_OPMODE pcl_mode; uint8_t num_cxn_del = 0; struct policy_mgr_psoc_priv_obj *pm_ctx; diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c index 42195ab01b87..3d11ab25cf00 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c @@ -1030,7 +1030,7 @@ bool policy_mgr_current_concurrency_is_mcc(struct wlan_objmgr_psoc *psoc) * Return: NONE */ void policy_mgr_set_concurrency_mode(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode) + enum QDF_OPMODE mode) { struct policy_mgr_psoc_priv_obj *pm_ctx; @@ -1069,7 +1069,7 @@ void policy_mgr_set_concurrency_mode(struct wlan_objmgr_psoc *psoc, * Return: NONE */ void policy_mgr_clear_concurrency_mode(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode) + enum QDF_OPMODE mode) { struct policy_mgr_psoc_priv_obj *pm_ctx; @@ -1099,7 +1099,7 @@ void policy_mgr_clear_concurrency_mode(struct wlan_objmgr_psoc *psoc, } void policy_mgr_incr_active_session(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode, + enum QDF_OPMODE mode, uint8_t session_id) { struct policy_mgr_psoc_priv_obj *pm_ctx; @@ -1181,7 +1181,7 @@ void policy_mgr_incr_active_session(struct wlan_objmgr_psoc *psoc, } QDF_STATUS policy_mgr_decr_active_session(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode, + enum QDF_OPMODE mode, uint8_t session_id) { struct policy_mgr_psoc_priv_obj *pm_ctx; @@ -1375,8 +1375,8 @@ QDF_STATUS policy_mgr_decr_connection_count(struct wlan_objmgr_psoc *psoc, return QDF_STATUS_SUCCESS; } -bool policy_mgr_map_concurrency_mode(enum tQDF_ADAPTER_MODE *old_mode, - enum policy_mgr_con_mode *new_mode) +bool policy_mgr_map_concurrency_mode(enum QDF_OPMODE *old_mode, + enum policy_mgr_con_mode *new_mode) { bool status = true; @@ -1985,7 +1985,7 @@ bool policy_mgr_is_mcc_adaptive_scheduler_enabled( */ QDF_STATUS policy_mgr_change_mcc_go_beacon_interval( struct wlan_objmgr_psoc *psoc, - uint8_t vdev_id, enum tQDF_ADAPTER_MODE dev_mode) + uint8_t vdev_id, enum QDF_OPMODE dev_mode) { QDF_STATUS status; struct policy_mgr_psoc_priv_obj *pm_ctx; @@ -2026,7 +2026,7 @@ struct policy_mgr_conc_connection_info *policy_mgr_get_conn_info(uint32_t *len) } enum policy_mgr_con_mode policy_mgr_convert_device_mode_to_qdf_type( - enum tQDF_ADAPTER_MODE device_mode) + enum QDF_OPMODE device_mode) { enum policy_mgr_con_mode mode = PM_MAX_NUM_OF_MODE; switch (device_mode) { @@ -2200,7 +2200,7 @@ QDF_STATUS policy_mgr_get_nss_for_vdev(struct wlan_objmgr_psoc *psoc, enum policy_mgr_con_mode mode, uint8_t *nss_2g, uint8_t *nss_5g) { - enum tQDF_ADAPTER_MODE dev_mode; + enum QDF_OPMODE dev_mode; struct policy_mgr_psoc_priv_obj *pm_ctx; switch (mode) { diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h index 0b058781d92b..17c83b42101d 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h @@ -372,7 +372,7 @@ void policy_mgr_pdev_set_hw_mode_cb(uint32_t status, void *context); void policy_mgr_dump_current_concurrency(struct wlan_objmgr_psoc *psoc); void policy_mgr_pdev_set_pcl(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode); + enum QDF_OPMODE mode); void policy_mgr_set_pcl_for_existing_combo( struct wlan_objmgr_psoc *psoc, enum policy_mgr_con_mode mode); void pm_dbs_opportunistic_timer_handler(void *data); diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c index 9a2092a0b8a6..3728d2a3adcb 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_pcl.c @@ -105,7 +105,7 @@ QDF_STATUS policy_mgr_get_pcl_for_existing_conn(struct wlan_objmgr_psoc *psoc, } void policy_mgr_decr_session_set_pcl(struct wlan_objmgr_psoc *psoc, - enum tQDF_ADAPTER_MODE mode, + enum QDF_OPMODE mode, uint8_t session_id) { QDF_STATUS qdf_status; diff --git a/umac/p2p/core/src/wlan_p2p_main.c b/umac/p2p/core/src/wlan_p2p_main.c index 3669a4fb2dd9..32c9fb0b5b76 100644 --- a/umac/p2p/core/src/wlan_p2p_main.c +++ b/umac/p2p/core/src/wlan_p2p_main.c @@ -191,7 +191,7 @@ static QDF_STATUS p2p_vdev_obj_create_notification( { struct p2p_vdev_priv_obj *p2p_vdev_obj; QDF_STATUS status; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; if (!vdev) { p2p_err("vdev context passed is NULL"); @@ -246,7 +246,7 @@ static QDF_STATUS p2p_vdev_obj_destroy_notification( { struct p2p_vdev_priv_obj *p2p_vdev_obj; QDF_STATUS status; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; if (!vdev) { p2p_err("vdev context passed is NULL"); @@ -302,7 +302,7 @@ static QDF_STATUS p2p_peer_obj_create_notification( { struct wlan_objmgr_vdev *vdev; struct p2p_vdev_priv_obj *p2p_vdev_obj; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; enum wlan_peer_type peer_type; if (!peer) { @@ -344,7 +344,7 @@ static QDF_STATUS p2p_peer_obj_destroy_notification( struct wlan_objmgr_vdev *vdev; struct p2p_vdev_priv_obj *p2p_vdev_obj; struct wlan_objmgr_psoc *psoc; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; enum wlan_peer_type peer_type; uint8_t vdev_id; @@ -471,7 +471,7 @@ static QDF_STATUS process_peer_for_noa(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_peer *peer) { struct p2p_vdev_priv_obj *p2p_vdev_obj = NULL; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; enum wlan_peer_type peer_type; bool disable_noa; uint8_t vdev_id; @@ -1104,7 +1104,7 @@ QDF_STATUS p2p_process_noa(struct p2p_noa_event *noa_event) struct p2p_soc_priv_obj *p2p_soc_obj; struct wlan_objmgr_vdev *vdev; struct wlan_objmgr_psoc *psoc; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; if (!noa_event) { p2p_err("invalid noa event"); @@ -1217,7 +1217,7 @@ get_p2p_soc_obj_by_vdev(struct wlan_objmgr_vdev *vdev) QDF_STATUS p2p_status_scan(struct wlan_objmgr_vdev *vdev) { struct p2p_soc_priv_obj *p2p_soc_obj; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; p2p_soc_obj = get_p2p_soc_obj_by_vdev(vdev); if (!p2p_soc_obj) { @@ -1258,7 +1258,7 @@ QDF_STATUS p2p_status_scan(struct wlan_objmgr_vdev *vdev) QDF_STATUS p2p_status_connect(struct wlan_objmgr_vdev *vdev) { struct p2p_soc_priv_obj *p2p_soc_obj; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; p2p_soc_obj = get_p2p_soc_obj_by_vdev(vdev); if (!p2p_soc_obj) { @@ -1300,7 +1300,7 @@ QDF_STATUS p2p_status_connect(struct wlan_objmgr_vdev *vdev) QDF_STATUS p2p_status_disconnect(struct wlan_objmgr_vdev *vdev) { struct p2p_soc_priv_obj *p2p_soc_obj; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; p2p_soc_obj = get_p2p_soc_obj_by_vdev(vdev); if (!p2p_soc_obj) { @@ -1335,7 +1335,7 @@ QDF_STATUS p2p_status_disconnect(struct wlan_objmgr_vdev *vdev) QDF_STATUS p2p_status_start_bss(struct wlan_objmgr_vdev *vdev) { struct p2p_soc_priv_obj *p2p_soc_obj; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; p2p_soc_obj = get_p2p_soc_obj_by_vdev(vdev); if (!p2p_soc_obj) { @@ -1371,7 +1371,7 @@ QDF_STATUS p2p_status_start_bss(struct wlan_objmgr_vdev *vdev) QDF_STATUS p2p_status_stop_bss(struct wlan_objmgr_vdev *vdev) { struct p2p_soc_priv_obj *p2p_soc_obj; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; p2p_soc_obj = get_p2p_soc_obj_by_vdev(vdev); if (!p2p_soc_obj) { diff --git a/umac/p2p/core/src/wlan_p2p_off_chan_tx.c b/umac/p2p/core/src/wlan_p2p_off_chan_tx.c index f75742627d36..f97937275aa8 100644 --- a/umac/p2p/core/src/wlan_p2p_off_chan_tx.c +++ b/umac/p2p/core/src/wlan_p2p_off_chan_tx.c @@ -80,7 +80,7 @@ static QDF_STATUS p2p_tx_context_check_valid(struct tx_action_context *tx_ctx) */ static QDF_STATUS p2p_vdev_check_valid(struct tx_action_context *tx_ctx) { - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; struct wlan_objmgr_vdev *vdev; struct wlan_objmgr_psoc *psoc; struct p2p_soc_priv_obj *p2p_soc_obj; @@ -263,7 +263,7 @@ static struct p2p_noa_info *p2p_get_vdev_noa_info( struct p2p_soc_priv_obj *p2p_soc_obj; struct wlan_objmgr_vdev *vdev; struct wlan_objmgr_psoc *psoc; - enum tQDF_ADAPTER_MODE mode; + enum QDF_OPMODE mode; struct p2p_noa_info *noa_info = NULL; p2p_soc_obj = tx_ctx->p2p_soc_obj; diff --git a/umac/regulatory/core/src/reg_services.c b/umac/regulatory/core/src/reg_services.c index 4d8b00368ee7..13a1179f4738 100644 --- a/umac/regulatory/core/src/reg_services.c +++ b/umac/regulatory/core/src/reg_services.c @@ -3037,7 +3037,7 @@ QDF_STATUS reg_11d_vdev_created_update(struct wlan_objmgr_vdev *vdev) struct wlan_objmgr_pdev *parent_pdev; struct wlan_objmgr_psoc *parent_psoc; uint32_t vdev_id; - enum tQDF_ADAPTER_MODE op_mode; + enum QDF_OPMODE op_mode; uint8_t i; op_mode = wlan_vdev_mlme_get_opmode(vdev); @@ -3096,7 +3096,7 @@ QDF_STATUS reg_11d_vdev_delete_update(struct wlan_objmgr_vdev *vdev) struct wlan_regulatory_psoc_priv_obj *psoc_priv_obj; struct wlan_objmgr_pdev *parent_pdev; struct wlan_objmgr_psoc *parent_psoc; - enum tQDF_ADAPTER_MODE op_mode; + enum QDF_OPMODE op_mode; uint32_t vdev_id; uint8_t i; diff --git a/umac/tdls/core/src/wlan_tdls_main.c b/umac/tdls/core/src/wlan_tdls_main.c index 53de84207855..000bc78ee102 100644 --- a/umac/tdls/core/src/wlan_tdls_main.c +++ b/umac/tdls/core/src/wlan_tdls_main.c @@ -420,7 +420,7 @@ QDF_STATUS tdls_get_vdev_objects(struct wlan_objmgr_vdev *vdev, struct tdls_vdev_priv_obj **tdls_vdev_obj, struct tdls_soc_priv_obj **tdls_soc_obj) { - enum tQDF_ADAPTER_MODE device_mode; + enum QDF_OPMODE device_mode; if (NULL == vdev) return QDF_STATUS_E_FAILURE; @@ -1275,7 +1275,7 @@ void tdls_scan_complete_event_handler(struct wlan_objmgr_vdev *vdev, struct scan_event *event, void *arg) { - enum tQDF_ADAPTER_MODE device_mode; + enum QDF_OPMODE device_mode; struct tdls_soc_priv_obj *tdls_soc; if (!vdev || !event || !arg) diff --git a/umac/tdls/core/src/wlan_tdls_peer.c b/umac/tdls/core/src/wlan_tdls_peer.c index 26837ffdd818..769ba533423e 100644 --- a/umac/tdls/core/src/wlan_tdls_peer.c +++ b/umac/tdls/core/src/wlan_tdls_peer.c @@ -384,7 +384,7 @@ static void tdls_determine_channel_opclass(struct tdls_soc_priv_obj *soc_obj, uint32_t *channel, uint32_t *opclass) { uint32_t vdev_id; - enum tQDF_ADAPTER_MODE opmode; + enum QDF_OPMODE opmode; /* * If tdls offchannel is not enabled then we provide base channel * and in that case pass opclass as 0 since opclass is mainly needed diff --git a/utils/epping/inc/epping_internal.h b/utils/epping/inc/epping_internal.h index 2e15781cf806..0460b2f50391 100644 --- a/utils/epping/inc/epping_internal.h +++ b/utils/epping/inc/epping_internal.h @@ -135,7 +135,7 @@ typedef enum { typedef struct epping_adapter_s { epping_context_t *pEpping_ctx; - enum tQDF_ADAPTER_MODE device_mode; + enum QDF_OPMODE device_mode; /** Handle to the network device */ struct net_device *dev; struct qdf_mac_addr macAddressCurrent; @@ -167,7 +167,7 @@ void epping_set_kperf_flag(epping_adapter_t *adapter, /* epping_tx signatures */ void epping_tx_timer_expire(epping_adapter_t *adapter); -void epping_tx_complete_multiple(void *ctx, HTC_PACKET_QUEUE *pPacketQueue); +void epping_tx_complete(void *ctx, HTC_PACKET *htc_pkt); int epping_tx_send(qdf_nbuf_t skb, epping_adapter_t *adapter); #ifdef HIF_SDIO @@ -186,7 +186,7 @@ void epping_refill(void *ctx, HTC_ENDPOINT_ID Endpoint); /* epping_txrx signatures */ epping_adapter_t *epping_add_adapter(epping_context_t *pEpping_ctx, tSirMacAddr macAddr, - enum tQDF_ADAPTER_MODE device_mode); + enum QDF_OPMODE device_mode); void epping_destroy_adapter(epping_adapter_t *adapter); int epping_connect_service(epping_context_t *pEpping_ctx); #ifdef HIF_PCI diff --git a/utils/epping/src/epping_tx.c b/utils/epping/src/epping_tx.c index 49e701163f01..9119c1cde00f 100644 --- a/utils/epping/src/epping_tx.c +++ b/utils/epping/src/epping_tx.c @@ -315,7 +315,7 @@ enum htc_send_full_action epping_tx_queue_full(void *Context, return HTC_SEND_FULL_KEEP; } #endif /* HIF_SDIO */ -void epping_tx_complete_multiple(void *ctx, HTC_PACKET_QUEUE *pPacketQueue) +void epping_tx_complete(void *ctx, HTC_PACKET *htc_pkt) { epping_context_t *pEpping_ctx = (epping_context_t *) ctx; epping_adapter_t *adapter = pEpping_ctx->epping_adapter; @@ -326,68 +326,64 @@ void epping_tx_complete_multiple(void *ctx, HTC_PACKET_QUEUE *pPacketQueue) struct epping_cookie *cookie; A_BOOL flushing = false; qdf_nbuf_queue_t skb_queue; - HTC_PACKET *htc_pkt; + + if (htc_pkt == NULL) + return; qdf_nbuf_queue_init(&skb_queue); qdf_spin_lock_bh(&adapter->data_lock); - while (!HTC_QUEUE_EMPTY(pPacketQueue)) { - htc_pkt = htc_packet_dequeue(pPacketQueue); - if (htc_pkt == NULL) - break; - status = htc_pkt->Status; - eid = htc_pkt->Endpoint; - pktSkb = GET_HTC_PACKET_NET_BUF_CONTEXT(htc_pkt); - cookie = htc_pkt->pPktContext; + status = htc_pkt->Status; + eid = htc_pkt->Endpoint; + pktSkb = GET_HTC_PACKET_NET_BUF_CONTEXT(htc_pkt); + cookie = htc_pkt->pPktContext; - if (!pktSkb) { + if (!pktSkb) { + EPPING_LOG(QDF_TRACE_LEVEL_ERROR, + "%s: NULL skb from hc packet", __func__); + QDF_BUG(0); + } else { + if (htc_pkt->pBuffer != qdf_nbuf_data(pktSkb)) { EPPING_LOG(QDF_TRACE_LEVEL_ERROR, - "%s: NULL skb from hc packet", __func__); + "%s: htc_pkt buffer not equal to skb->data", + __func__); QDF_BUG(0); - } else { - if (htc_pkt->pBuffer != qdf_nbuf_data(pktSkb)) { + } + /* add this to the list, use faster non-lock API */ + qdf_nbuf_queue_add(&skb_queue, pktSkb); + + if (QDF_IS_STATUS_SUCCESS(status)) { + if (htc_pkt->ActualLength != + qdf_nbuf_len(pktSkb)) { EPPING_LOG(QDF_TRACE_LEVEL_ERROR, - "%s: htc_pkt buffer not equal to skb->data", - __func__); + "%s: htc_pkt length not equal to skb->len", + __func__); QDF_BUG(0); } - /* add this to the list, use faster non-lock API */ - qdf_nbuf_queue_add(&skb_queue, pktSkb); - - if (QDF_IS_STATUS_SUCCESS(status)) { - if (htc_pkt->ActualLength != - qdf_nbuf_len(pktSkb)) { - EPPING_LOG(QDF_TRACE_LEVEL_ERROR, - "%s: htc_pkt length not equal to skb->len", - __func__); - QDF_BUG(0); - } - } } - - EPPING_LOG(QDF_TRACE_LEVEL_INFO, - "%s skb=%pK data=%pK len=0x%x eid=%d ", - __func__, pktSkb, htc_pkt->pBuffer, - htc_pkt->ActualLength, eid); - - if (QDF_IS_STATUS_ERROR(status)) { - if (status == QDF_STATUS_E_CANCELED) { - /* a packet was flushed */ - flushing = true; - } - if (status != QDF_STATUS_E_RESOURCES) { - printk("%s() -TX ERROR, status: 0x%x\n", - __func__, status); - } - } else { - EPPING_LOG(QDF_TRACE_LEVEL_INFO, "%s: OK\n", __func__); - flushing = false; - } - - epping_free_cookie(adapter->pEpping_ctx, cookie); } + EPPING_LOG(QDF_TRACE_LEVEL_INFO, + "%s skb=%pK data=%pK len=0x%x eid=%d ", + __func__, pktSkb, htc_pkt->pBuffer, + htc_pkt->ActualLength, eid); + + if (QDF_IS_STATUS_ERROR(status)) { + if (status == QDF_STATUS_E_CANCELED) { + /* a packet was flushed */ + flushing = true; + } + if (status != QDF_STATUS_E_RESOURCES) { + printk("%s() -TX ERROR, status: 0x%x\n", + __func__, status); + } + } else { + EPPING_LOG(QDF_TRACE_LEVEL_INFO, "%s: OK\n", __func__); + flushing = false; + } + + epping_free_cookie(adapter->pEpping_ctx, cookie); qdf_spin_unlock_bh(&adapter->data_lock); /* free all skbs in our local list */ diff --git a/utils/epping/src/epping_txrx.c b/utils/epping/src/epping_txrx.c index bb3d49547c76..cf0bfb3a7424 100644 --- a/utils/epping/src/epping_txrx.c +++ b/utils/epping/src/epping_txrx.c @@ -355,7 +355,7 @@ static struct net_device_ops epping_drv_ops = { epping_adapter_t *epping_add_adapter(epping_context_t *pEpping_ctx, tSirMacAddr macAddr, - enum tQDF_ADAPTER_MODE device_mode) + enum QDF_OPMODE device_mode) { struct net_device *dev; epping_adapter_t *adapter; @@ -410,10 +410,10 @@ int epping_connect_service(epping_context_t *pEpping_ctx) /* these fields are the same for all service endpoints */ connect.EpCallbacks.pContext = pEpping_ctx; - connect.EpCallbacks.EpTxCompleteMultiple = epping_tx_complete_multiple; + connect.EpCallbacks.EpTxCompleteMultiple = NULL; connect.EpCallbacks.EpRecv = epping_rx; /* epping_tx_complete use Multiple version */ - connect.EpCallbacks.EpTxComplete = NULL; + connect.EpCallbacks.EpTxComplete = epping_tx_complete; connect.MaxSendQueueDepth = 64; #ifdef HIF_SDIO