diff --git a/core/cds/inc/cds_sched.h b/core/cds/inc/cds_sched.h index 43a3b727d3fa..8552d941fec5 100644 --- a/core/cds/inc/cds_sched.h +++ b/core/cds/inc/cds_sched.h @@ -204,11 +204,11 @@ typedef struct _cds_context_type { */ qdf_device_t qdf_ctx; - void *pdev_txrx_ctx; + struct cdp_pdev *pdev_txrx_ctx; void *dp_soc; /* Configuration handle used to get system configuration */ - void *cfg_ctx; + struct cdp_cfg *cfg_ctx; /* radio index per driver */ int radio_index; diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index 157e3833535c..24004dabe93d 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -63,6 +63,8 @@ #include #include #include +#include + /* Preprocessor Definitions and Constants */ /* Data definitions */ @@ -197,11 +199,11 @@ static void cds_cdp_cfg_attach(struct cds_config_info *cds_cfg) } /* Configure Receive flow steering */ - cdp_cfg_set_flow_steering(soc, &gp_cds_context->cfg_ctx, + cdp_cfg_set_flow_steering(soc, gp_cds_context->cfg_ctx, cds_cfg->flow_steering_enabled); - cdp_cfg_set_flow_control_parameters(soc, &gp_cds_context->cfg_ctx, - (void *)cds_cfg); + cdp_cfg_set_flow_control_parameters(soc, gp_cds_context->cfg_ctx, + (void *)&cdp_cfg); /* adjust the cfg_ctx default value based on setting */ cdp_cfg_set_rx_fwd_disabled(soc, gp_cds_context->cfg_ctx, @@ -573,7 +575,8 @@ QDF_STATUS cds_pre_enable(v_CONTEXT_t cds_context) if (QDF_GLOBAL_FTM_MODE != cds_get_conparam() && QDF_GLOBAL_EPPING_MODE != cds_get_conparam()) cdp_pkt_log_con_service(soc, - gp_cds_context->pdev_txrx_ctx, scn); + gp_cds_context->pdev_txrx_ctx, + scn); /* Reset wma wait event */ qdf_event_reset(&gp_cds_context->wmaCompleteEvent); @@ -725,7 +728,7 @@ QDF_STATUS cds_enable(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context) } if (cdp_pdev_attach_target(cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_TXRX))) { + (struct cdp_pdev *)cds_get_context(QDF_MODULE_ID_TXRX))) { QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL, "%s: Failed to attach pdev target", __func__); goto err_soc_target_detach; @@ -919,7 +922,8 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc, v_CONTEXT_t cds_context) ctx = cds_get_context(QDF_MODULE_ID_TXRX); cds_set_context(QDF_MODULE_ID_TXRX, NULL); - cdp_pdev_detach(cds_get_context(QDF_MODULE_ID_SOC), ctx, 1); + cdp_pdev_detach(cds_get_context(QDF_MODULE_ID_SOC), + (struct cdp_pdev *)ctx, 1); qdf_status = sme_close(((p_cds_contextType) cds_context)->pMACContext); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { @@ -1068,7 +1072,7 @@ void *cds_get_context(QDF_MODULE_ID moduleId) case QDF_MODULE_ID_TXRX: { - pModContext = gp_cds_context->pdev_txrx_ctx; + pModContext = (void *)gp_cds_context->pdev_txrx_ctx; break; } @@ -1359,7 +1363,7 @@ QDF_STATUS cds_free_context(void *p_cds_context, QDF_MODULE_ID moduleID, case QDF_MODULE_ID_TXRX: { - pGpModContext = &(gp_cds_context->pdev_txrx_ctx); + pGpModContext = (void **)&(gp_cds_context->pdev_txrx_ctx); break; } diff --git a/core/dp/htt/htt.c b/core/dp/htt/htt.c index 315226f8e646..47e135a392b9 100644 --- a/core/dp/htt/htt.c +++ b/core/dp/htt/htt.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011, 2014-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -46,6 +46,7 @@ #include #include #include "hif.h" +#include #define HTT_HTC_PKT_POOL_INIT_SIZE 100 /* enough for a large A-MPDU */ @@ -276,7 +277,7 @@ void htt_clear_bundle_stats(htt_pdev_handle pdev) */ htt_pdev_handle htt_pdev_alloc(ol_txrx_pdev_handle txrx_pdev, - ol_pdev_handle ctrl_pdev, + struct cdp_cfg *ctrl_pdev, HTC_HANDLE htc_pdev, qdf_device_t osdev) { struct htt_pdev_t *pdev; diff --git a/core/dp/htt/htt_t2h.c b/core/dp/htt/htt_t2h.c index 6a6e58aef8f1..d68c696810aa 100644 --- a/core/dp/htt/htt_t2h.c +++ b/core/dp/htt/htt_t2h.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -51,7 +51,7 @@ #include #include #include "pktlog_ac.h" - +#include /*--- target->host HTT message dispatch function ----------------------------*/ #ifndef DEBUG_CREDIT @@ -449,7 +449,8 @@ static void htt_t2h_lp_msg_handler(void *context, qdf_nbuf_t htt_t2h_msg, sizeof(struct htt_wdi_ipa_op_response_t) + len); cdp_ipa_op_response(cds_get_context(QDF_MODULE_ID_SOC), - pdev->txrx_pdev, op_msg_buffer); + (struct cdp_pdev *)pdev->txrx_pdev, + op_msg_buffer); break; } diff --git a/core/dp/htt/htt_types.h b/core/dp/htt/htt_types.h index cb4e885d5521..dbbcbabd40a7 100644 --- a/core/dp/htt/htt_types.h +++ b/core/dp/htt/htt_types.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011, 2014-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -36,7 +36,7 @@ #include /* qdf_nbuf_t */ #include /* HTC_PACKET */ #include - +#include #define DEBUG_DMA_DONE #define HTT_TX_MUTEX_TYPE qdf_spinlock_t @@ -229,7 +229,7 @@ struct mon_channel { }; struct htt_pdev_t { - ol_pdev_handle ctrl_pdev; + struct cdp_cfg *ctrl_pdev; ol_txrx_pdev_handle txrx_pdev; HTC_HANDLE htc_pdev; qdf_device_t osdev; diff --git a/core/dp/ol/inc/ol_cfg.h b/core/dp/ol/inc/ol_cfg.h index ff5d5defd074..108fd48f04c3 100644 --- a/core/dp/ol/inc/ol_cfg.h +++ b/core/dp/ol/inc/ol_cfg.h @@ -38,7 +38,7 @@ #include "wlan_tgt_def_config.h" #endif #include "ol_txrx_ctrl_api.h" /* txrx_pdev_cfg_param_t */ - +#include /** * @brief format of data frames delivered to/from the WLAN driver by/to the OS */ @@ -104,11 +104,11 @@ struct txrx_pdev_cfg_t { * Return: none */ #ifdef QCA_LL_TX_FLOW_CONTROL_V2 -void ol_tx_set_flow_control_parameters(struct txrx_pdev_cfg_t *cfg_ctx, +void ol_tx_set_flow_control_parameters(struct cdp_cfg *cfg_ctx, struct txrx_pdev_cfg_param_t *cfg_param); #else static inline -void ol_tx_set_flow_control_parameters(struct txrx_pdev_cfg_t *cfg_ctx, +void ol_tx_set_flow_control_parameters(struct cdp_cfg *cfg_ctx, struct txrx_pdev_cfg_param_t *cfg_param) { } @@ -123,7 +123,7 @@ void ol_tx_set_flow_control_parameters(struct txrx_pdev_cfg_t *cfg_ctx, * * Return: the control device object */ -void *ol_pdev_cfg_attach(qdf_device_t osdev, void *pcfg_param); +struct cdp_cfg *ol_pdev_cfg_attach(qdf_device_t osdev, void *pcfg_param); /** * @brief Specify whether the system is high-latency or low-latency. @@ -138,7 +138,7 @@ void *ol_pdev_cfg_attach(qdf_device_t osdev, void *pcfg_param); * @param pdev - handle to the physical device * @return 1 -> high-latency -OR- 0 -> low-latency */ -int ol_cfg_is_high_latency(ol_pdev_handle pdev); +int ol_cfg_is_high_latency(struct cdp_cfg *cfg_pdev); /** * @brief Specify the range of peer IDs. @@ -151,7 +151,7 @@ int ol_cfg_is_high_latency(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return maximum peer ID */ -int ol_cfg_max_peer_id(ol_pdev_handle pdev); +int ol_cfg_max_peer_id(struct cdp_cfg *cfg_pdev); /** * @brief Specify the max number of virtual devices within a physical device. @@ -161,7 +161,7 @@ int ol_cfg_max_peer_id(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return maximum number of virtual devices */ -int ol_cfg_max_vdevs(ol_pdev_handle pdev); +int ol_cfg_max_vdevs(struct cdp_cfg *cfg_pdev); /** * @brief Check whether host-side rx PN check is enabled or disabled. @@ -175,7 +175,7 @@ int ol_cfg_max_vdevs(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return 1 -> host performs rx PN check -OR- 0 -> no host-side rx PN check */ -int ol_cfg_rx_pn_check(ol_pdev_handle pdev); +int ol_cfg_rx_pn_check(struct cdp_cfg *cfg_pdev); /** * @brief Check whether host-side rx forwarding is enabled or disabled. @@ -191,7 +191,7 @@ int ol_cfg_rx_pn_check(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return 1 -> host does rx->tx forward -OR- 0 -> no host-side rx->tx forward */ -int ol_cfg_rx_fwd_check(ol_pdev_handle pdev); +int ol_cfg_rx_fwd_check(struct cdp_cfg *cfg_pdev); /** * ol_set_cfg_rx_fwd_disabled - set rx fwd disable/enable @@ -204,7 +204,7 @@ int ol_cfg_rx_fwd_check(ol_pdev_handle pdev); * Currently only intra-bss fwd is supported. * */ -void ol_set_cfg_rx_fwd_disabled(void *ppdev, uint8_t disable_rx_fwd); +void ol_set_cfg_rx_fwd_disabled(struct cdp_cfg *ppdev, uint8_t disable_rx_fwd); /** * ol_set_cfg_packet_log_enabled - Set packet log config in HTT @@ -213,7 +213,7 @@ void ol_set_cfg_rx_fwd_disabled(void *ppdev, uint8_t disable_rx_fwd); * @pdev - handle to the physical device * @val - 0 - disable, 1 - enable */ -void ol_set_cfg_packet_log_enabled(void *ppdev, uint8_t val); +void ol_set_cfg_packet_log_enabled(struct cdp_cfg *ppdev, uint8_t val); /** * @brief Check whether rx forwarding is enabled or disabled. @@ -224,7 +224,7 @@ void ol_set_cfg_packet_log_enabled(void *ppdev, uint8_t val); * @param pdev - handle to the physical device * @return 1 -> no rx->tx forward -OR- 0 -> rx->tx forward (in host or target) */ -int ol_cfg_rx_fwd_disabled(ol_pdev_handle pdev); +int ol_cfg_rx_fwd_disabled(struct cdp_cfg *cfg_pdev); /** * @brief Check whether to perform inter-BSS or intra-BSS rx->tx forwarding. @@ -240,7 +240,7 @@ int ol_cfg_rx_fwd_disabled(ol_pdev_handle pdev); * -OR- * 0 -> forward only within a vdev */ -int ol_cfg_rx_fwd_inter_bss(ol_pdev_handle pdev); +int ol_cfg_rx_fwd_inter_bss(struct cdp_cfg *cfg_pdev); /** * @brief Specify data frame format used by the OS. @@ -251,7 +251,7 @@ int ol_cfg_rx_fwd_inter_bss(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return enumerated data frame format */ -enum wlan_frm_fmt ol_cfg_frame_type(ol_pdev_handle pdev); +enum wlan_frm_fmt ol_cfg_frame_type(struct cdp_cfg *cfg_pdev); /** * @brief Specify the peak throughput. @@ -266,7 +266,7 @@ enum wlan_frm_fmt ol_cfg_frame_type(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return maximum supported throughput in Mbps (not MBps) */ -int ol_cfg_max_thruput_mbps(ol_pdev_handle pdev); +int ol_cfg_max_thruput_mbps(struct cdp_cfg *cfg_pdev); /** * @brief Specify the maximum number of fragments per tx network buffer. @@ -284,7 +284,7 @@ int ol_cfg_max_thruput_mbps(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return maximum number of fragments that can occur in a regular tx frame */ -int ol_cfg_netbuf_frags_max(ol_pdev_handle pdev); +int ol_cfg_netbuf_frags_max(struct cdp_cfg *cfg_pdev); /** * @brief For HL systems, specify when to free tx frames. @@ -311,8 +311,8 @@ int ol_cfg_netbuf_frags_max(ol_pdev_handle pdev); * -OR- * 1 -> free the tx frame as soon as the download completes */ -int ol_cfg_tx_free_at_download(ol_pdev_handle pdev); -void ol_cfg_set_tx_free_at_download(ol_pdev_handle pdev); +int ol_cfg_tx_free_at_download(struct cdp_cfg *cfg_pdev); +void ol_cfg_set_tx_free_at_download(struct cdp_cfg *cfg_pdev); /** * @brief Low water mark for target tx credit. @@ -340,7 +340,7 @@ void ol_cfg_set_tx_free_at_download(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return the number of tx buffers available in a HL target */ -uint16_t ol_cfg_target_tx_credit(ol_pdev_handle pdev); +uint16_t ol_cfg_target_tx_credit(struct cdp_cfg *cfg_pdev); /** * @brief Specify the LL tx MSDU header download size. @@ -361,7 +361,7 @@ uint16_t ol_cfg_target_tx_credit(ol_pdev_handle pdev); * @return the number of bytes beyond the 802.3 or native WiFi header to * download to the target for tx classification */ -int ol_cfg_tx_download_size(ol_pdev_handle pdev); +int ol_cfg_tx_download_size(struct cdp_cfg *cfg_pdev); /** * brief Specify where defrag timeout and duplicate detection is handled @@ -379,7 +379,7 @@ int ol_cfg_tx_download_size(ol_pdev_handle pdev); * 1 -> host is responsible non-aggregate duplicate detection and * timing out stale fragments. */ -int ol_cfg_rx_host_defrag_timeout_duplicate_check(ol_pdev_handle pdev); +int ol_cfg_rx_host_defrag_timeout_duplicate_check(struct cdp_cfg *cfg_pdev); /** * brief Query for the period in ms used for throttling for @@ -395,7 +395,7 @@ int ol_cfg_rx_host_defrag_timeout_duplicate_check(ol_pdev_handle pdev); * @param pdev - handle to the physical device * @return the total throttle period in ms */ -int ol_cfg_throttle_period_ms(ol_pdev_handle pdev); +int ol_cfg_throttle_period_ms(struct cdp_cfg *cfg_pdev); /** * brief Query for the duty cycle in percentage used for throttling for @@ -405,7 +405,7 @@ int ol_cfg_throttle_period_ms(ol_pdev_handle pdev); * @param level - duty cycle level * @return the duty cycle level in percentage */ -int ol_cfg_throttle_duty_cycle_level(ol_pdev_handle pdev, int level); +int ol_cfg_throttle_duty_cycle_level(struct cdp_cfg *cfg_pdev, int level); /** * brief Check whether full reorder offload is @@ -418,9 +418,9 @@ int ol_cfg_throttle_duty_cycle_level(ol_pdev_handle pdev, int level); * @param pdev - handle to the physical device * @return 1 - enable, 0 - disable */ -int ol_cfg_is_full_reorder_offload(ol_pdev_handle pdev); +int ol_cfg_is_full_reorder_offload(struct cdp_cfg *cfg_pdev); -int ol_cfg_is_rx_thread_enabled(ol_pdev_handle pdev); +int ol_cfg_is_rx_thread_enabled(struct cdp_cfg *cfg_pdev); /** * ol_cfg_is_ip_tcp_udp_checksum_offload_enabled() - return @@ -430,20 +430,20 @@ int ol_cfg_is_rx_thread_enabled(ol_pdev_handle pdev); * Return: 1 - enable, 0 - disable */ static inline -int ol_cfg_is_ip_tcp_udp_checksum_offload_enabled(ol_pdev_handle pdev) +int ol_cfg_is_ip_tcp_udp_checksum_offload_enabled(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->ip_tcp_udp_checksum_offload; } #ifdef QCA_LL_TX_FLOW_CONTROL_V2 -int ol_cfg_get_tx_flow_stop_queue_th(ol_pdev_handle pdev); +int ol_cfg_get_tx_flow_stop_queue_th(struct cdp_cfg *cfg_pdev); -int ol_cfg_get_tx_flow_start_queue_offset(ol_pdev_handle pdev); +int ol_cfg_get_tx_flow_start_queue_offset(struct cdp_cfg *cfg_pdev); #endif -bool ol_cfg_is_ce_classify_enabled(ol_pdev_handle pdev); +bool ol_cfg_is_ce_classify_enabled(struct cdp_cfg *cfg_pdev); enum wlan_target_fmt_translation_caps { wlan_frm_tran_cap_raw = 0x01, @@ -461,7 +461,7 @@ enum wlan_target_fmt_translation_caps { * * @param pdev - handle to the physical device */ -static inline int ol_cfg_sw_encap_hdr_max_size(ol_pdev_handle pdev) +static inline int ol_cfg_sw_encap_hdr_max_size(struct cdp_cfg *cfg_pdev) { /* * 24 byte basic 802.11 header @@ -473,13 +473,13 @@ static inline int ol_cfg_sw_encap_hdr_max_size(ol_pdev_handle pdev) return sizeof(struct ieee80211_qosframe_htc_addr4) + LLC_SNAP_HDR_LEN; } -static inline uint8_t ol_cfg_tx_encap(ol_pdev_handle pdev) +static inline uint8_t ol_cfg_tx_encap(struct cdp_cfg *cfg_pdev) { /* tx encap done in HW */ return 0; } -static inline int ol_cfg_host_addba(ol_pdev_handle pdev) +static inline int ol_cfg_host_addba(struct cdp_cfg *cfg_pdev) { /* * ADDBA negotiation is handled by the target FW for Peregrine + Rome. @@ -492,7 +492,7 @@ static inline int ol_cfg_host_addba(ol_pdev_handle pdev) * * @param pdev - handle to the physical device */ -static inline int ol_cfg_addba_retry(ol_pdev_handle pdev) +static inline int ol_cfg_addba_retry(struct cdp_cfg *cfg_pdev) { return 0; /* disabled for now */ } @@ -500,7 +500,7 @@ static inline int ol_cfg_addba_retry(ol_pdev_handle pdev) /** * @brief How many frames to hold in a paused vdev's tx queue in LL systems */ -static inline int ol_tx_cfg_max_tx_queue_depth_ll(ol_pdev_handle pdev) +static inline int ol_tx_cfg_max_tx_queue_depth_ll(struct cdp_cfg *cfg_pdev) { /* * Store up to 1500 frames for a paused vdev. @@ -521,7 +521,7 @@ static inline int ol_tx_cfg_max_tx_queue_depth_ll(ol_pdev_handle pdev) /** * @brief Get packet log config from HTT config */ -uint8_t ol_cfg_is_packet_log_enabled(ol_pdev_handle pdev); +uint8_t ol_cfg_is_packet_log_enabled(struct cdp_cfg *cfg_pdev); #ifdef IPA_OFFLOAD /** @@ -532,7 +532,7 @@ uint8_t ol_cfg_is_packet_log_enabled(ol_pdev_handle pdev); * * @param pdev - handle to the physical device */ -unsigned int ol_cfg_ipa_uc_offload_enabled(ol_pdev_handle pdev); +unsigned int ol_cfg_ipa_uc_offload_enabled(struct cdp_cfg *cfg_pdev); /** * @brief IPA micro controller data path TX buffer size * @detail @@ -542,7 +542,7 @@ unsigned int ol_cfg_ipa_uc_offload_enabled(ol_pdev_handle pdev); * * @param pdev - handle to the physical device */ -unsigned int ol_cfg_ipa_uc_tx_buf_size(ol_pdev_handle pdev); +unsigned int ol_cfg_ipa_uc_tx_buf_size(struct cdp_cfg *cfg_pdev); /** * @brief IPA micro controller data path TX buffer size * @detail @@ -551,7 +551,7 @@ unsigned int ol_cfg_ipa_uc_tx_buf_size(ol_pdev_handle pdev); * * @param pdev - handle to the physical device */ -unsigned int ol_cfg_ipa_uc_tx_max_buf_cnt(ol_pdev_handle pdev); +unsigned int ol_cfg_ipa_uc_tx_max_buf_cnt(struct cdp_cfg *cfg_pdev); /** * @brief IPA micro controller data path TX buffer size * @detail @@ -561,46 +561,47 @@ unsigned int ol_cfg_ipa_uc_tx_max_buf_cnt(ol_pdev_handle pdev); * * @param pdev - handle to the physical device */ -unsigned int ol_cfg_ipa_uc_rx_ind_ring_size(ol_pdev_handle pdev); +unsigned int ol_cfg_ipa_uc_rx_ind_ring_size(struct cdp_cfg *cfg_pdev); /** * @brief IPA micro controller data path TX buffer size * @param pdev - handle to the physical device */ -unsigned int ol_cfg_ipa_uc_tx_partition_base(ol_pdev_handle pdev); -void ol_cfg_set_ipa_uc_tx_partition_base(void *pdev, uint32_t value); +unsigned int ol_cfg_ipa_uc_tx_partition_base(struct cdp_cfg *cfg_pdev); +void ol_cfg_set_ipa_uc_tx_partition_base(struct cdp_cfg *cfg_pdev, + uint32_t value); #else static inline unsigned int ol_cfg_ipa_uc_offload_enabled( - ol_pdev_handle pdev) + struct cdp_cfg *cfg_pdev) { return 0; } static inline unsigned int ol_cfg_ipa_uc_tx_buf_size( - ol_pdev_handle pdev) + struct cdp_cfg *cfg_pdev) { return 0; } static inline unsigned int ol_cfg_ipa_uc_tx_max_buf_cnt( - ol_pdev_handle pdev) + struct cdp_cfg *cfg_pdev) { return 0; } static inline unsigned int ol_cfg_ipa_uc_rx_ind_ring_size( - ol_pdev_handle pdev) + struct cdp_cfg *cfg_pdev) { return 0; } static inline unsigned int ol_cfg_ipa_uc_tx_partition_base( - ol_pdev_handle pdev) + struct cdp_cfg *cfg_pdev) { return 0; } static inline void ol_cfg_set_ipa_uc_tx_partition_base( - void *pdev, uint32_t value) + struct cdp_cfg *cfg_pdev, uint32_t value) { return; } @@ -615,10 +616,10 @@ static inline void ol_cfg_set_ipa_uc_tx_partition_base( * * Return: None */ -static inline void ol_set_cfg_flow_steering(void *ppdev, uint8_t val) +static inline void ol_set_cfg_flow_steering(struct cdp_cfg *cfg_pdev, + uint8_t val) { - ol_pdev_handle pdev = ppdev; - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; cfg->flow_steering_enabled = val; } @@ -630,9 +631,9 @@ static inline void ol_set_cfg_flow_steering(void *ppdev, uint8_t val) * * Return: value of configured flow steering value. */ -static inline uint8_t ol_cfg_is_flow_steering_enabled(ol_pdev_handle pdev) +static inline uint8_t ol_cfg_is_flow_steering_enabled(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->flow_steering_enabled; } diff --git a/core/dp/ol/inc/ol_htt_api.h b/core/dp/ol/inc/ol_htt_api.h index b3eb6cfed230..c19827e9aa2c 100644 --- a/core/dp/ol/inc/ol_htt_api.h +++ b/core/dp/ol/inc/ol_htt_api.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011, 2014-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -42,7 +42,7 @@ #include "htt.h" /* htt_dbg_stats_type, etc. */ #include /* ol_pdev_handle */ #include - +#include /* TID */ #define OL_HTT_TID_NON_QOS_UNICAST 16 #define OL_HTT_TID_NON_QOS_MCAST_BCAST 18 @@ -52,7 +52,7 @@ typedef struct htt_pdev_t *htt_pdev_handle; htt_pdev_handle htt_pdev_alloc(ol_txrx_pdev_handle txrx_pdev, - ol_pdev_handle ctrl_pdev, + struct cdp_cfg *ctrl_pdev, HTC_HANDLE htc_pdev, qdf_device_t osdev); /** @@ -365,7 +365,7 @@ static inline void htt_ipa_uc_detach(struct htt_pdev_t *pdev) void htt_rx_mon_note_capture_channel(htt_pdev_handle pdev, int mon_ch); -void ol_htt_mon_note_chan(ol_txrx_pdev_handle pdev, int mon_ch); +void ol_htt_mon_note_chan(struct cdp_pdev *ppdev, int mon_ch); #if defined(DEBUG_HL_LOGGING) && defined(CONFIG_HL_SUPPORT) diff --git a/core/dp/ol/inc/ol_txrx_ctrl_api.h b/core/dp/ol/inc/ol_txrx_ctrl_api.h index 3790c6de0858..6c325a9411a7 100644 --- a/core/dp/ol/inc/ol_txrx_ctrl_api.h +++ b/core/dp/ol/inc/ol_txrx_ctrl_api.h @@ -42,7 +42,7 @@ #include /* ol_pdev_handle, ol_vdev_handle, etc */ #include #include - +#include #define OL_ATH_TX_DRAIN_WAIT_DELAY 50 /** @@ -67,7 +67,7 @@ * @return 0 for success or error code */ int -ol_txrx_pdev_post_attach(void *pdev); +ol_txrx_pdev_post_attach(struct cdp_pdev *pdev); /** * @brief Parameter type to be input to ol_txrx_peer_update @@ -308,7 +308,7 @@ typedef void * @param ctxt - the context argument provided to the callback function */ void -ol_txrx_data_tx_cb_set(void *data_vdev, +ol_txrx_data_tx_cb_set(struct cdp_vdev *data_vdev, ol_txrx_data_tx_cb callback, void *ctxt); /** @@ -460,7 +460,7 @@ int16_t ol_txrx_peer_rssi(ol_txrx_peer_handle peer); */ void ol_txrx_bad_peer_txctl_set_setting( - void *pdev, + struct cdp_pdev *pdev, int enable, int period, int txq_limit); @@ -473,7 +473,7 @@ ol_txrx_bad_peer_txctl_set_setting( */ void ol_txrx_bad_peer_txctl_update_threshold( - void *pdev, + struct cdp_pdev *pdev, int level, int tput_thresh, int tx_limit); @@ -482,7 +482,7 @@ ol_txrx_bad_peer_txctl_update_threshold( static inline void ol_txrx_bad_peer_txctl_set_setting( - void *pdev, + struct cdp_pdev *pdev, int enable, int period, int txq_limit) @@ -492,7 +492,7 @@ ol_txrx_bad_peer_txctl_set_setting( static inline void ol_txrx_bad_peer_txctl_update_threshold( - void *pdev, + struct cdp_pdev *pdev, int level, int tput_thresh, int tx_limit) diff --git a/core/dp/txrx/ol_cfg.c b/core/dp/txrx/ol_cfg.c index 0613d99890f5..25eb690afaa8 100644 --- a/core/dp/txrx/ol_cfg.c +++ b/core/dp/txrx/ol_cfg.c @@ -28,7 +28,7 @@ #include #include #include - +#include unsigned int vow_config = 0; #ifdef QCA_LL_TX_FLOW_CONTROL_V2 @@ -39,9 +39,10 @@ unsigned int vow_config = 0; * * Return: none */ -void ol_tx_set_flow_control_parameters(struct txrx_pdev_cfg_t *cfg_ctx, +void ol_tx_set_flow_control_parameters(struct cdp_cfg *cfg_pdev, struct txrx_pdev_cfg_param_t *cfg_param) { + struct txrx_pdev_cfg_t *cfg_ctx = (struct txrx_pdev_cfg_t *)cfg_pdev; cfg_ctx->tx_flow_start_queue_offset = cfg_param->tx_flow_start_queue_offset; cfg_ctx->tx_flow_stop_queue_th = @@ -98,7 +99,7 @@ uint8_t ol_defrag_timeout_check(void) * Many of these should actually be determined dynamically instead. */ -void *ol_pdev_cfg_attach(qdf_device_t osdev, void *pcfg_param) +struct cdp_cfg *ol_pdev_cfg_attach(qdf_device_t osdev, void *pcfg_param) { struct txrx_pdev_cfg_param_t *cfg_param = pcfg_param; struct txrx_pdev_cfg_t *cfg_ctx; @@ -142,19 +143,19 @@ void *ol_pdev_cfg_attach(qdf_device_t osdev, void *pcfg_param) cfg_param->ip_tcp_udp_checksum_offload; cfg_ctx->ce_classify_enabled = cfg_param->ce_classify_enabled; - ol_tx_set_flow_control_parameters(cfg_ctx, cfg_param); - return (void *)cfg_ctx; + ol_tx_set_flow_control_parameters((struct cdp_cfg *)cfg_ctx, cfg_param); + return (struct cdp_cfg *)cfg_ctx; } -int ol_cfg_is_high_latency(ol_pdev_handle pdev) +int ol_cfg_is_high_latency(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->is_high_latency; } -int ol_cfg_max_peer_id(ol_pdev_handle pdev) +int ol_cfg_max_peer_id(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; /* * TBDXXX - this value must match the peer table * size allocated in FW @@ -162,103 +163,102 @@ int ol_cfg_max_peer_id(ol_pdev_handle pdev) return cfg->max_peer_id; } -int ol_cfg_max_vdevs(ol_pdev_handle pdev) +int ol_cfg_max_vdevs(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->max_vdev; } -int ol_cfg_rx_pn_check(ol_pdev_handle pdev) +int ol_cfg_rx_pn_check(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->rx_pn_check; } -int ol_cfg_rx_fwd_check(ol_pdev_handle pdev) +int ol_cfg_rx_fwd_check(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->pn_rx_fwd_check; } -void ol_set_cfg_rx_fwd_disabled(void *ppdev, uint8_t disable_rx_fwd) +void ol_set_cfg_rx_fwd_disabled(struct cdp_cfg *cfg_pdev, + uint8_t disable_rx_fwd) { - ol_pdev_handle pdev = ppdev; - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; cfg->rx_fwd_disabled = disable_rx_fwd; } -void ol_set_cfg_packet_log_enabled(void *ppdev, uint8_t val) +void ol_set_cfg_packet_log_enabled(struct cdp_cfg *cfg_pdev, uint8_t val) { - ol_pdev_handle pdev = ppdev; - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; cfg->is_packet_log_enabled = val; } -uint8_t ol_cfg_is_packet_log_enabled(ol_pdev_handle pdev) +uint8_t ol_cfg_is_packet_log_enabled(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->is_packet_log_enabled; } -int ol_cfg_rx_fwd_disabled(ol_pdev_handle pdev) +int ol_cfg_rx_fwd_disabled(struct cdp_cfg *cfg_pdev) { #if defined(ATHR_WIN_NWF) /* for Windows, let the OS handle the forwarding */ return 1; #else - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->rx_fwd_disabled; #endif } -int ol_cfg_rx_fwd_inter_bss(ol_pdev_handle pdev) +int ol_cfg_rx_fwd_inter_bss(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->rx_fwd_inter_bss; } -enum wlan_frm_fmt ol_cfg_frame_type(ol_pdev_handle pdev) +enum wlan_frm_fmt ol_cfg_frame_type(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->frame_type; } -int ol_cfg_max_thruput_mbps(ol_pdev_handle pdev) +int ol_cfg_max_thruput_mbps(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->max_thruput_mbps; } -int ol_cfg_netbuf_frags_max(ol_pdev_handle pdev) +int ol_cfg_netbuf_frags_max(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->max_nbuf_frags; } -int ol_cfg_tx_free_at_download(ol_pdev_handle pdev) +int ol_cfg_tx_free_at_download(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->tx_free_at_download; } -void ol_cfg_set_tx_free_at_download(ol_pdev_handle pdev) +void ol_cfg_set_tx_free_at_download(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; cfg->tx_free_at_download = 1; } #ifdef CONFIG_HL_SUPPORT -uint16_t ol_cfg_target_tx_credit(ol_pdev_handle pdev) +uint16_t ol_cfg_target_tx_credit(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->target_tx_credit; } #else -uint16_t ol_cfg_target_tx_credit(ol_pdev_handle pdev) +uint16_t ol_cfg_target_tx_credit(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; uint16_t rc; uint16_t vow_max_sta = (cfg->vow_config & 0xffff0000) >> 16; uint16_t vow_max_desc_persta = cfg->vow_config & 0x0000ffff; @@ -269,33 +269,33 @@ uint16_t ol_cfg_target_tx_credit(ol_pdev_handle pdev) } #endif -int ol_cfg_tx_download_size(ol_pdev_handle pdev) +int ol_cfg_tx_download_size(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->tx_download_size; } -int ol_cfg_rx_host_defrag_timeout_duplicate_check(ol_pdev_handle pdev) +int ol_cfg_rx_host_defrag_timeout_duplicate_check(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->defrag_timeout_check; } -int ol_cfg_throttle_period_ms(ol_pdev_handle pdev) +int ol_cfg_throttle_period_ms(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->throttle_period_ms; } -int ol_cfg_throttle_duty_cycle_level(ol_pdev_handle pdev, int level) +int ol_cfg_throttle_duty_cycle_level(struct cdp_cfg *cfg_pdev, int level) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->dutycycle_level[level]; } -int ol_cfg_is_full_reorder_offload(ol_pdev_handle pdev) +int ol_cfg_is_full_reorder_offload(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->is_full_reorder_offload; } @@ -305,9 +305,9 @@ int ol_cfg_is_full_reorder_offload(ol_pdev_handle pdev) * * Return: 1 - enable, 0 - disable */ -int ol_cfg_is_rx_thread_enabled(ol_pdev_handle pdev) +int ol_cfg_is_rx_thread_enabled(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->enable_rxthread; } @@ -318,9 +318,9 @@ int ol_cfg_is_rx_thread_enabled(ol_pdev_handle pdev) * * Return: stop queue threshold */ -int ol_cfg_get_tx_flow_stop_queue_th(ol_pdev_handle pdev) +int ol_cfg_get_tx_flow_stop_queue_th(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->tx_flow_stop_queue_th; } @@ -330,48 +330,48 @@ int ol_cfg_get_tx_flow_stop_queue_th(ol_pdev_handle pdev) * * Return: start queue offset */ -int ol_cfg_get_tx_flow_start_queue_offset(ol_pdev_handle pdev) +int ol_cfg_get_tx_flow_start_queue_offset(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->tx_flow_start_queue_offset; } #endif #ifdef IPA_OFFLOAD -unsigned int ol_cfg_ipa_uc_offload_enabled(ol_pdev_handle pdev) +unsigned int ol_cfg_ipa_uc_offload_enabled(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return (unsigned int)cfg->ipa_uc_rsc.uc_offload_enabled; } -unsigned int ol_cfg_ipa_uc_tx_buf_size(ol_pdev_handle pdev) +unsigned int ol_cfg_ipa_uc_tx_buf_size(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->ipa_uc_rsc.tx_buf_size; } -unsigned int ol_cfg_ipa_uc_tx_max_buf_cnt(ol_pdev_handle pdev) +unsigned int ol_cfg_ipa_uc_tx_max_buf_cnt(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->ipa_uc_rsc.tx_max_buf_cnt; } -unsigned int ol_cfg_ipa_uc_rx_ind_ring_size(ol_pdev_handle pdev) +unsigned int ol_cfg_ipa_uc_rx_ind_ring_size(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->ipa_uc_rsc.rx_ind_ring_size; } -unsigned int ol_cfg_ipa_uc_tx_partition_base(ol_pdev_handle pdev) +unsigned int ol_cfg_ipa_uc_tx_partition_base(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->ipa_uc_rsc.tx_partition_base; } -void ol_cfg_set_ipa_uc_tx_partition_base(void *pdev, uint32_t val) +void ol_cfg_set_ipa_uc_tx_partition_base(struct cdp_cfg *cfg_pdev, uint32_t val) { - struct txrx_pdev_cfg_t *cfg = pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; cfg->ipa_uc_rsc.tx_partition_base = val; } #endif /* IPA_OFFLOAD */ @@ -383,8 +383,8 @@ void ol_cfg_set_ipa_uc_tx_partition_base(void *pdev, uint32_t val) * * Return: 1 - enabled, 0 - disabled */ -bool ol_cfg_is_ce_classify_enabled(ol_pdev_handle pdev) +bool ol_cfg_is_ce_classify_enabled(struct cdp_cfg *cfg_pdev) { - struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)pdev; + struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *)cfg_pdev; return cfg->ce_classify_enabled; } diff --git a/core/dp/txrx/ol_ctrl_txrx_api.h b/core/dp/txrx/ol_ctrl_txrx_api.h index 544ea9561476..7ec9c103ec6b 100644 --- a/core/dp/txrx/ol_ctrl_txrx_api.h +++ b/core/dp/txrx/ol_ctrl_txrx_api.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -39,7 +39,7 @@ #include /* ol_txrx_pdev_handle */ #include /* OL_TXRX_MAC_ADDR_LEN */ #include /* ieee80211_frame */ - +#include #ifdef SUPPORT_HOST_STATISTICS /** * @brief Update tx statistics * @details @@ -49,7 +49,8 @@ * @param vdev_id - ID of the virtual device that tx frame * @param had_error - whether there is error when tx */ -void ol_tx_statistics(ol_pdev_handle pdev, uint16_t vdev_id, int had_error); +void ol_tx_statistics(struct cdp_cfg *cfg_pdev, + uint16_t vdev_id, int had_error); #else #define ol_tx_statistics(pdev, vdev_id, had_error) #endif @@ -60,7 +61,7 @@ void ol_tx_statistics(ol_pdev_handle pdev, uint16_t vdev_id, int had_error); * @param wh - received frame * @param err_type - what kind of error occurred */ -void ol_rx_err_inv_peer_statistics(ol_pdev_handle pdev, +void ol_rx_err_inv_peer_statistics(struct cdp_cfg *cfg_pdev, struct ieee80211_frame *wh, enum ol_rx_err_type err_type); @@ -73,7 +74,7 @@ void ol_rx_err_inv_peer_statistics(ol_pdev_handle pdev, * @param sec_type - The cipher type the peer is using * @param is_mcast - whether this is one multi cast frame */ -void ol_rx_err_statistics(ol_pdev_handle pdev, +void ol_rx_err_statistics(struct cdp_cfg *cfg_pdev, uint8_t vdev_id, enum ol_rx_err_type err_type, enum ol_sec_type sec_type, int is_mcast); @@ -99,7 +100,7 @@ void ol_rx_err_statistics(ol_pdev_handle pdev, * @key_id - Key index octet received in IV of the frame */ void -ol_rx_err(ol_pdev_handle pdev, +ol_rx_err(struct cdp_cfg *cfg_pdev, uint8_t vdev_id, uint8_t *peer_mac_addr, int tid, @@ -132,7 +133,7 @@ enum ol_rx_notify_type { * @param rx_frame - the rx frame containing the special data */ void -ol_rx_notify(ol_pdev_handle pdev, +ol_rx_notify(struct cdp_cfg *cfg_pdev, uint8_t vdev_id, uint8_t *peer_mac_addr, int tid, diff --git a/core/dp/txrx/ol_rx.c b/core/dp/txrx/ol_rx.c index f7796146d960..6077ce97d12c 100644 --- a/core/dp/txrx/ol_rx.c +++ b/core/dp/txrx/ol_rx.c @@ -60,7 +60,7 @@ #include #include #include "pktlog_ac_fmt.h" - +#include #include void ol_rx_data_process(struct ol_txrx_peer_t *peer, @@ -779,7 +779,7 @@ static void transcap_nwifi_to_8023(qdf_nbuf_t msdu) } #endif -void ol_rx_notify(ol_pdev_handle pdev, +void ol_rx_notify(struct cdp_cfg *cfg_pdev, uint8_t vdev_id, uint8_t *peer_mac_addr, int tid, @@ -1571,8 +1571,9 @@ ol_rx_offload_paddr_deliver_ind_handler(htt_pdev_handle htt_pdev, * * Return: None */ -void ol_htt_mon_note_chan(ol_txrx_pdev_handle pdev, int mon_ch) +void ol_htt_mon_note_chan(struct cdp_pdev *ppdev, int mon_ch) { + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; htt_rx_mon_note_capture_channel(pdev->htt_pdev, mon_ch); } diff --git a/core/dp/txrx/ol_tx.c b/core/dp/txrx/ol_tx.c index 2f492b430c89..53c37a0546da 100644 --- a/core/dp/txrx/ol_tx.c +++ b/core/dp/txrx/ol_tx.c @@ -57,7 +57,7 @@ #include /* htc_endpoint */ #include #include - +#include int ce_send_fast(struct CE_handle *copyeng, qdf_nbuf_t msdu, unsigned int transfer_id, uint32_t download_len); #endif /* WLAN_FEATURE_FASTPATH */ @@ -203,9 +203,10 @@ qdf_nbuf_t ol_tx_data(void *data_vdev, qdf_nbuf_t skb) } #ifdef IPA_OFFLOAD -qdf_nbuf_t ol_tx_send_ipa_data_frame(void *vdev, qdf_nbuf_t skb) +qdf_nbuf_t ol_tx_send_ipa_data_frame(struct cdp_vdev *vdev, + qdf_nbuf_t skb) { - ol_txrx_pdev_handle pdev = cds_get_context(QDF_MODULE_ID_TXRX); + struct ol_txrx_pdev_t *pdev = cds_get_context(QDF_MODULE_ID_TXRX); qdf_nbuf_t ret; if (qdf_unlikely(!pdev)) { @@ -1137,7 +1138,7 @@ static inline uint8_t ol_txrx_tx_raw_subtype(enum ol_tx_spec tx_spec) } static qdf_nbuf_t -ol_tx_non_std_ll(ol_txrx_vdev_handle vdev, +ol_tx_non_std_ll(struct ol_txrx_vdev_t *vdev, enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list) { @@ -1682,7 +1683,7 @@ ol_tx_hl(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list) } static qdf_nbuf_t -ol_tx_non_std_hl(ol_txrx_vdev_handle vdev, +ol_tx_non_std_hl(struct ol_txrx_vdev_t *vdev, enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list) { @@ -1698,10 +1699,10 @@ ol_tx_non_std_hl(ol_txrx_vdev_handle vdev, } qdf_nbuf_t -ol_tx_non_std(void *pvdev, +ol_tx_non_std(struct cdp_vdev *pvdev, enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; if (vdev->pdev->cfg.is_high_latency) return ol_tx_non_std_hl(vdev, tx_spec, msdu_list); @@ -1710,22 +1711,22 @@ ol_tx_non_std(void *pvdev, } void -ol_txrx_data_tx_cb_set(void *pvdev, +ol_txrx_data_tx_cb_set(struct cdp_vdev *pvdev, ol_txrx_data_tx_cb callback, void *ctxt) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; pdev->tx_data_callback.func = callback; pdev->tx_data_callback.ctxt = ctxt; } void -ol_txrx_mgmt_tx_cb_set(void *ppdev, +ol_txrx_mgmt_tx_cb_set(struct cdp_pdev *ppdev, uint8_t type, ol_txrx_mgmt_tx_cb download_cb, ol_txrx_mgmt_tx_cb ota_ack_cb, void *ctxt) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; TXRX_ASSERT1(type < OL_TXRX_MGMT_NUM_TYPES); pdev->tx_mgmt.callbacks[type].download_cb = download_cb; pdev->tx_mgmt.callbacks[type].ota_ack_cb = ota_ack_cb; @@ -1773,11 +1774,12 @@ void ol_txrx_dump_frag_desc(char *msg, struct ol_tx_desc_t *tx_desc) #endif /* HELIUMPLUS_PADDR64 */ int -ol_txrx_mgmt_send_ext(void *pvdev, - qdf_nbuf_t tx_mgmt_frm, - uint8_t type, uint8_t use_6mbps, uint16_t chanfreq) +ol_txrx_mgmt_send_ext(struct cdp_vdev *pvdev, + qdf_nbuf_t tx_mgmt_frm, + uint8_t type, uint8_t use_6mbps, uint16_t chanfreq) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = + (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; struct ol_tx_desc_t *tx_desc; struct ol_txrx_msdu_info_t tx_msdu_info; diff --git a/core/dp/txrx/ol_tx.h b/core/dp/txrx/ol_tx.h index 4717530640c7..b2157f7b58e2 100644 --- a/core/dp/txrx/ol_tx.h +++ b/core/dp/txrx/ol_tx.h @@ -36,7 +36,7 @@ #include #include /* ol_txrx_vdev_t, etc. */ #include /* ol_tx_spec */ - +#include #include /* ol_tx_desc_t, ol_txrx_msdu_info_t */ #ifdef IPA_OFFLOAD @@ -47,7 +47,7 @@ * * Return: skb/ NULL is for success */ -qdf_nbuf_t ol_tx_send_ipa_data_frame(void *vdev, qdf_nbuf_t skb); +qdf_nbuf_t ol_tx_send_ipa_data_frame(struct cdp_vdev *vdev, qdf_nbuf_t skb); #endif qdf_nbuf_t ol_tx_ll(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list); @@ -117,7 +117,7 @@ ol_tx_hl(ol_txrx_vdev_handle vdev, qdf_nbuf_t msdu_list); * Return: null - success, skb - failure */ qdf_nbuf_t -ol_tx_non_std(void *pvdev, +ol_tx_non_std(struct cdp_vdev *pvdev, enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list); void ol_txrx_mgmt_tx_complete(void *ctxt, qdf_nbuf_t netbuf, int err); @@ -142,7 +142,7 @@ void ol_txrx_mgmt_tx_complete(void *ctxt, qdf_nbuf_t netbuf, int err); * for a given type of management frame. */ void -ol_txrx_mgmt_tx_cb_set(void *ppdev, +ol_txrx_mgmt_tx_cb_set(struct cdp_pdev *ppdev, uint8_t type, ol_txrx_mgmt_tx_cb download_cb, ol_txrx_mgmt_tx_cb ota_ack_cb, void *ctxt); @@ -165,7 +165,7 @@ ol_txrx_mgmt_tx_cb_set(void *ppdev, * 1 - the frame was not accepted */ int -ol_txrx_mgmt_send_ext(void *pvdev, +ol_txrx_mgmt_send_ext(struct cdp_vdev *pvdev, qdf_nbuf_t tx_mgmt_frm, uint8_t type, uint8_t use_6mbps, uint16_t chanfreq); diff --git a/core/dp/txrx/ol_tx_classify.c b/core/dp/txrx/ol_tx_classify.c index cff721f1daea..b8ca39fb20a6 100644 --- a/core/dp/txrx/ol_tx_classify.c +++ b/core/dp/txrx/ol_tx_classify.c @@ -43,7 +43,7 @@ #include #include /* ETHERTYPE_VLAN, etc. */ #include /* ieee80211_frame */ - +#include /* * In theory, this tx classify code could be used on the host or in the target. * Thus, this code uses generic OS primitives, that can be aliased to either @@ -350,7 +350,7 @@ struct ol_txrx_peer_t *ol_tx_tdls_peer_find(struct ol_txrx_pdev_t *pdev, struct ol_txrx_peer_t *peer = NULL; if (vdev->hlTdlsFlag) { - peer = ol_txrx_find_peer_by_addr(pdev, + peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, vdev->hl_tdls_ap_mac_addr.raw, peer_id); if (peer && (peer->peer_ids[0] == HTT_INVALID_PEER_ID)) { diff --git a/core/dp/txrx/ol_tx_desc.h b/core/dp/txrx/ol_tx_desc.h index e7c958fc2716..b39eda7a488f 100644 --- a/core/dp/txrx/ol_tx_desc.h +++ b/core/dp/txrx/ol_tx_desc.h @@ -209,7 +209,7 @@ ol_tx_desc_id(struct ol_txrx_pdev_t *pdev, struct ol_tx_desc_t *tx_desc) * @return void pointer to the beacon header for the given vdev */ -void *ol_ath_get_bcn_header(ol_pdev_handle pdev, A_UINT32 vdev_id); +void *ol_ath_get_bcn_header(struct cdp_cfg *cfg_pdev, A_UINT32 vdev_id); /* * @brief Free a tx descriptor, without freeing the matching frame. diff --git a/core/dp/txrx/ol_tx_queue.c b/core/dp/txrx/ol_tx_queue.c index d561be8acfca..66de1bb2f1ed 100644 --- a/core/dp/txrx/ol_tx_queue.c +++ b/core/dp/txrx/ol_tx_queue.c @@ -44,7 +44,7 @@ #include /* bool */ #include "cdp_txrx_flow_ctrl_legacy.h" #include - +#include #if defined(CONFIG_HL_SUPPORT) #ifndef offsetof @@ -577,9 +577,9 @@ ol_txrx_throttle_unpause(ol_txrx_pdev_handle pdev) } void -ol_txrx_vdev_pause(void *pvdev, uint32_t reason) +ol_txrx_vdev_pause(struct cdp_vdev *pvdev, uint32_t reason) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; struct ol_txrx_peer_t *peer; /* TO DO: log the queue pause */ @@ -600,9 +600,9 @@ ol_txrx_vdev_pause(void *pvdev, uint32_t reason) } -void ol_txrx_vdev_unpause(void *pvdev, uint32_t reason) +void ol_txrx_vdev_unpause(struct cdp_vdev *pvdev, uint32_t reason) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; struct ol_txrx_peer_t *peer; /* TO DO: log the queue unpause */ @@ -626,9 +626,9 @@ void ol_txrx_vdev_unpause(void *pvdev, uint32_t reason) TX_SCHED_DEBUG_PRINT("Leave %s\n", __func__); } -void ol_txrx_vdev_flush(void *pvdev) +void ol_txrx_vdev_flush(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; ol_tx_queue_vdev_flush(vdev->pdev, vdev); } @@ -818,10 +818,10 @@ ol_tx_bad_peer_update_tx_limit(struct ol_txrx_pdev_t *pdev, } void -ol_txrx_bad_peer_txctl_set_setting(void *ppdev, +ol_txrx_bad_peer_txctl_set_setting(struct cdp_pdev *ppdev, int enable, int period, int txq_limit) { - struct ol_txrx_pdev_t *pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; if (enable) pdev->tx_peer_bal.enabled = ol_tx_peer_bal_enable; else @@ -833,11 +833,11 @@ ol_txrx_bad_peer_txctl_set_setting(void *ppdev, } void -ol_txrx_bad_peer_txctl_update_threshold(void *ppdev, +ol_txrx_bad_peer_txctl_update_threshold(struct cdp_pdev *ppdev, int level, int tput_thresh, int tx_limit) { - struct ol_txrx_pdev_t *pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; /* Set the current settingl */ pdev->tx_peer_bal.ctl_thresh[level].tput_thresh = @@ -1692,9 +1692,9 @@ ol_tx_queues_display(struct ol_txrx_pdev_t *pdev) * will be paused. * */ -void ol_txrx_vdev_pause(void *pvdev, uint32_t reason) +void ol_txrx_vdev_pause(struct cdp_vdev *pvdev, uint32_t reason) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; /* TO DO: log the queue pause */ /* acquire the mutex lock, since we'll be modifying the queues */ @@ -1719,9 +1719,9 @@ void ol_txrx_vdev_pause(void *pvdev, uint32_t reason) * LL systems that use per-vdev tx queues for MCC or thermal throttling. * */ -void ol_txrx_vdev_unpause(void *pvdev, uint32_t reason) +void ol_txrx_vdev_unpause(struct cdp_vdev *pvdev, uint32_t reason) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; /* TO DO: log the queue unpause */ /* acquire the mutex lock, since we'll be modifying the queues */ TX_SCHED_DEBUG_PRINT("Enter %s\n", __func__); @@ -1756,9 +1756,9 @@ void ol_txrx_vdev_unpause(void *pvdev, uint32_t reason) * stale, and would need to be discarded. * */ -void ol_txrx_vdev_flush(void *pvdev) +void ol_txrx_vdev_flush(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; qdf_spin_lock_bh(&vdev->ll_pause.mutex); qdf_timer_stop(&vdev->ll_pause.timer); vdev->ll_pause.is_q_timer_on = false; @@ -1780,7 +1780,7 @@ void ol_txrx_vdev_flush(void *pvdev) #endif /* defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) */ #if (!defined(QCA_LL_LEGACY_TX_FLOW_CONTROL)) && (!defined(CONFIG_HL_SUPPORT)) -void ol_txrx_vdev_flush(void *data_vdev) +void ol_txrx_vdev_flush(struct cdp_vdev *data_vdev) { return; } @@ -1824,9 +1824,9 @@ ol_txrx_map_to_netif_reason_type(uint32_t reason) * * Return: none */ -void ol_txrx_vdev_pause(void *pvdev, uint32_t reason) +void ol_txrx_vdev_pause(struct cdp_vdev *pvdev, uint32_t reason) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; enum netif_reason_type netif_reason; @@ -1850,9 +1850,9 @@ void ol_txrx_vdev_pause(void *pvdev, uint32_t reason) * * Return: none */ -void ol_txrx_vdev_unpause(void *pvdev, uint32_t reason) +void ol_txrx_vdev_unpause(struct cdp_vdev *pvdev, uint32_t reason) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; enum netif_reason_type netif_reason; @@ -1888,7 +1888,8 @@ void ol_txrx_pdev_pause(struct ol_txrx_pdev_t *pdev, uint32_t reason) TAILQ_FOREACH_SAFE(vdev, &pdev->vdev_list, vdev_list_elem, tmp) { cdp_fc_vdev_pause( - cds_get_context(QDF_MODULE_ID_SOC), vdev, reason); + cds_get_context(QDF_MODULE_ID_SOC), + (struct cdp_vdev *)vdev, reason); } } @@ -1906,7 +1907,7 @@ void ol_txrx_pdev_unpause(struct ol_txrx_pdev_t *pdev, uint32_t reason) TAILQ_FOREACH_SAFE(vdev, &pdev->vdev_list, vdev_list_elem, tmp) { cdp_fc_vdev_unpause(cds_get_context(QDF_MODULE_ID_SOC), - vdev, reason); + (struct cdp_vdev *)vdev, reason); } } @@ -2071,9 +2072,9 @@ ol_tx_set_throttle_phase_time(struct ol_txrx_pdev_t *pdev, int level, int *ms) } #endif -void ol_tx_throttle_set_level(void *ppdev, int level) +void ol_tx_throttle_set_level(struct cdp_pdev *ppdev, int level) { - struct ol_txrx_pdev_t *pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; int ms = 0; if (level >= THROTTLE_LEVEL_MAX) { @@ -2094,10 +2095,10 @@ void ol_tx_throttle_set_level(void *ppdev, int level) qdf_timer_start(&pdev->tx_throttle.phase_timer, ms); } -void ol_tx_throttle_init_period(void *ppdev, int period, +void ol_tx_throttle_init_period(struct cdp_pdev *ppdev, int period, uint8_t *dutycycle_level) { - struct ol_txrx_pdev_t *pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; int i; /* Set the current throttle level */ @@ -2138,7 +2139,8 @@ void ol_tx_throttle_init(struct ol_txrx_pdev_t *pdev) dutycycle_level[i] = ol_cfg_throttle_duty_cycle_level(pdev->ctrl_pdev, i); - ol_tx_throttle_init_period(pdev, throttle_period, &dutycycle_level[0]); + ol_tx_throttle_init_period((struct cdp_pdev *)pdev, + throttle_period, &dutycycle_level[0]); qdf_timer_init(pdev->osdev, &pdev->tx_throttle.phase_timer, diff --git a/core/dp/txrx/ol_tx_queue.h b/core/dp/txrx/ol_tx_queue.h index 28388ff91215..4a80a6d8f992 100644 --- a/core/dp/txrx/ol_tx_queue.h +++ b/core/dp/txrx/ol_tx_queue.h @@ -241,13 +241,13 @@ ol_tx_queue_discard( } #endif /* defined(CONFIG_HL_SUPPORT) */ -void ol_txrx_vdev_flush(void *pvdev); +void ol_txrx_vdev_flush(struct cdp_vdev *pvdev); #if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) || \ (defined(QCA_LL_TX_FLOW_CONTROL_V2) && !defined(CONFIG_ICNSS)) || \ defined(CONFIG_HL_SUPPORT) -void ol_txrx_vdev_pause(void *pvdev, uint32_t reason); -void ol_txrx_vdev_unpause(void *pvdev, uint32_t reason); +void ol_txrx_vdev_pause(struct cdp_vdev *pvdev, uint32_t reason); +void ol_txrx_vdev_unpause(struct cdp_vdev *pvdev, uint32_t reason); #endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */ #if defined(CONFIG_HL_SUPPORT) && defined(QCA_BAD_PEER_TX_FLOW_CL) @@ -451,8 +451,8 @@ ol_tx_queues_display(struct ol_txrx_pdev_t *pdev) #define ol_tx_queue_decs_reinit(peer, peer_id) /* no-op */ #ifdef QCA_SUPPORT_TX_THROTTLE -void ol_tx_throttle_set_level(void *ppdev, int level); -void ol_tx_throttle_init_period(void *ppdev, int period, +void ol_tx_throttle_set_level(struct cdp_pdev *ppdev, int level); +void ol_tx_throttle_init_period(struct cdp_pdev *ppdev, int period, uint8_t *dutycycle_level); /** diff --git a/core/dp/txrx/ol_tx_sched.c b/core/dp/txrx/ol_tx_sched.c index 1f2511dd3cc3..126fd8aa5eab 100644 --- a/core/dp/txrx/ol_tx_sched.c +++ b/core/dp/txrx/ol_tx_sched.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -39,7 +39,7 @@ #include #include #include /* qdf_os_mem_alloc_consistent et al */ - +#include #if defined(CONFIG_HL_SUPPORT) #if defined(DEBUG_HL_LOGGING) @@ -438,7 +438,7 @@ ol_tx_sched_init_rr( } void -ol_txrx_set_wmm_param(void *data_pdev, +ol_txrx_set_wmm_param(struct cdp_pdev *data_pdev, struct ol_tx_wmm_param_t wmm_param) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_INFO_LOW, @@ -1057,10 +1057,10 @@ ol_tx_sched_init_wrr_adv( * settings of the scheduler, ie. VO, VI, BE, or BK. */ void -ol_txrx_set_wmm_param(void *data_pdev, +ol_txrx_set_wmm_param(struct cdp_pdev *pdev, struct ol_tx_wmm_param_t wmm_param) { - ol_txrx_pdev_handle data_pdev = pdata_pdev; + struct ol_txrx_pdev_t *data_pdev = (struct ol_txrx_pdev_t *)pdev; struct ol_tx_sched_wrr_adv_t def_cfg; struct ol_tx_sched_wrr_adv_t *scheduler = data_pdev->tx_sched.scheduler; diff --git a/core/dp/txrx/ol_tx_send.c b/core/dp/txrx/ol_tx_send.c index ad46c6ec945f..36d70de8c053 100644 --- a/core/dp/txrx/ol_tx_send.c +++ b/core/dp/txrx/ol_tx_send.c @@ -62,6 +62,7 @@ #include #include #include +#include #ifdef TX_CREDIT_RECLAIM_SUPPORT @@ -117,9 +118,9 @@ ol_tx_target_credit_incr_int(struct ol_txrx_pdev_t *pdev, int delta) #endif #if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) -void ol_txrx_flow_control_cb(void *pvdev, bool tx_resume) +void ol_txrx_flow_control_cb(struct cdp_vdev *pvdev, bool tx_resume) { - struct ol_txrx_vdev_t *vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; qdf_spin_lock_bh(&vdev->flow_control_lock); if ((vdev->osif_flow_control_cb) && (vdev->osif_fc_ctx)) vdev->osif_flow_control_cb(vdev->osif_fc_ctx, tx_resume); @@ -145,7 +146,8 @@ static void ol_tx_flow_ct_unpause_os_q(ol_txrx_pdev_handle pdev) if (pdev->tx_desc.num_free > vdev->tx_fl_hwm) { qdf_atomic_set(&vdev->os_q_paused, 0); qdf_spin_unlock(&pdev->tx_mutex); - ol_txrx_flow_control_cb(vdev, true); + ol_txrx_flow_control_cb((struct cdp_vdev *)vdev, + true); } else { qdf_spin_unlock(&pdev->tx_mutex); } @@ -910,9 +912,9 @@ ol_tx_inspect_handler(ol_txrx_pdev_handle pdev, * @details * @param interval - interval for stats computation */ -void ol_tx_set_compute_interval(void *ppdev, uint32_t interval) +void ol_tx_set_compute_interval(struct cdp_pdev *ppdev, uint32_t interval) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; pdev->tx_delay.avg_period_ticks = qdf_system_msecs_to_ticks(interval); } @@ -930,11 +932,11 @@ void ol_tx_set_compute_interval(void *ppdev, uint32_t interval) * @param out_packet_loss_count - number of packets lost */ void -ol_tx_packet_count(void *ppdev, +ol_tx_packet_count(struct cdp_pdev *ppdev, uint16_t *out_packet_count, uint16_t *out_packet_loss_count, int category) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; *out_packet_count = pdev->packet_count[category]; *out_packet_loss_count = pdev->packet_loss_count[category]; pdev->packet_count[category] = 0; @@ -959,11 +961,11 @@ static uint32_t ol_tx_delay_avg(uint64_t sum, uint32_t num) } void -ol_tx_delay(void *ppdev, +ol_tx_delay(struct cdp_pdev *ppdev, uint32_t *queue_delay_microsec, uint32_t *tx_delay_microsec, int category) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; int index; uint32_t avg_delay_ticks; struct ol_tx_delay_data *data; @@ -1006,10 +1008,10 @@ ol_tx_delay(void *ppdev, } void -ol_tx_delay_hist(void *ppdev, +ol_tx_delay_hist(struct cdp_pdev *ppdev, uint16_t *report_bin_values, int category) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; int index, i, j; struct ol_tx_delay_data *data; diff --git a/core/dp/txrx/ol_tx_send.h b/core/dp/txrx/ol_tx_send.h index 2a6c92b85c32..f507fe76652c 100644 --- a/core/dp/txrx/ol_tx_send.h +++ b/core/dp/txrx/ol_tx_send.h @@ -101,7 +101,7 @@ ol_tx_send_nonstd(struct ol_txrx_pdev_t *pdev, * * Return: NONE */ -void ol_tx_set_compute_interval(void *ppdev, uint32_t interval); +void ol_tx_set_compute_interval(struct cdp_pdev *ppdev, uint32_t interval); /** * ol_tx_packet_count() - Return the uplink (transmitted) packet counts @@ -119,7 +119,7 @@ void ol_tx_set_compute_interval(void *ppdev, uint32_t interval); * Return: NONE */ void -ol_tx_packet_count(void *ppdev, +ol_tx_packet_count(struct cdp_pdev *ppdev, uint16_t *out_packet_count, uint16_t *out_packet_loss_count, int category); @@ -133,7 +133,7 @@ ol_tx_packet_count(void *ppdev, * Return: NONE */ void -ol_tx_delay(void *ppdev, +ol_tx_delay(struct cdp_pdev *ppdev, uint32_t *queue_delay_microsec, uint32_t *tx_delay_microsec, int category); @@ -146,7 +146,7 @@ ol_tx_delay(void *ppdev, * Return: NONE */ void -ol_tx_delay_hist(void *ppdev, +ol_tx_delay_hist(struct cdp_pdev *ppdev, uint16_t *report_bin_values, int category); #endif /* QCA_COMPUTE_TX_DELAY */ @@ -157,6 +157,6 @@ ol_tx_delay_hist(void *ppdev, * * Return: none */ -void ol_txrx_flow_control_cb(void *vdev, bool tx_resume); +void ol_txrx_flow_control_cb(struct cdp_vdev *vdev, bool tx_resume); #endif /* _OL_TX_SEND__H_ */ diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 7f1e5744a596..b622ccac6fd0 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -85,20 +85,21 @@ #include #include "epping_main.h" #include - +#include #ifdef QCA_SUPPORT_TXRX_LOCAL_PEER_ID ol_txrx_peer_handle -ol_txrx_peer_find_by_local_id(struct ol_txrx_pdev_t *pdev, +ol_txrx_peer_find_by_local_id(struct cdp_pdev *pdev, uint8_t local_peer_id); #endif /* QCA_SUPPORT_TXRX_LOCAL_PEER_ID */ -QDF_STATUS ol_txrx_peer_state_update(struct ol_txrx_pdev_t *pdev, +QDF_STATUS ol_txrx_peer_state_update(struct cdp_pdev *pdev, uint8_t *peer_mac, enum ol_txrx_peer_state state); -static void ol_vdev_rx_set_intrabss_fwd(void *vdev, bool val); -int ol_txrx_get_tx_pending(void *pdev_handle); +static void ol_vdev_rx_set_intrabss_fwd(struct cdp_vdev *vdev, + bool val); +int ol_txrx_get_tx_pending(struct cdp_pdev *pdev_handle); extern void -ol_txrx_set_wmm_param(void *data_pdev, +ol_txrx_set_wmm_param(struct cdp_pdev *data_pdev, struct ol_tx_wmm_param_t wmm_param); extern void ol_txrx_get_pn_info(void *ppeer, uint8_t **last_pn_valid, @@ -114,9 +115,9 @@ extern void ol_txrx_get_pn_info(void *ppeer, uint8_t **last_pn_valid, * Return: None */ static void -ol_txrx_copy_mac_addr_raw(void *pvdev, uint8_t *bss_addr) +ol_txrx_copy_mac_addr_raw(struct cdp_vdev *pvdev, uint8_t *bss_addr) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; if (bss_addr && vdev->last_real_peer && !qdf_mem_cmp((u8 *)bss_addr, vdev->last_real_peer->mac_addr.raw, @@ -135,14 +136,16 @@ ol_txrx_copy_mac_addr_raw(void *pvdev, uint8_t *bss_addr) * Return: None */ static void -ol_txrx_add_last_real_peer(void *ppdev, void *pvdev, uint8_t *peer_id) +ol_txrx_add_last_real_peer(struct cdp_pdev *ppdev, + struct cdp_vdev *pvdev, uint8_t *peer_id) { - ol_txrx_pdev_handle pdev = ppdev; - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; ol_txrx_peer_handle peer; if (vdev->last_real_peer == NULL) { peer = NULL; - peer = ol_txrx_find_peer_by_addr(pdev, + peer = ol_txrx_find_peer_by_addr( + (struct cdp_pdev *)pdev, vdev->hl_tdls_ap_mac_addr.raw, peer_id); if (peer && (peer->peer_ids[0] != @@ -176,16 +179,16 @@ is_vdev_restore_last_peer(void *ppeer) * Return: None */ static void -ol_txrx_update_last_real_peer(void *ppdev, void *ppeer, +ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *ppeer, uint8_t *peer_id, bool restore_last_peer) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; struct ol_txrx_peer_t *peer = ppeer; struct ol_txrx_vdev_t *vdev; vdev = peer->vdev; if (restore_last_peer && (vdev->last_real_peer == NULL)) { peer = NULL; - peer = ol_txrx_find_peer_by_addr(pdev, + peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, vdev->hl_tdls_ap_mac_addr.raw, peer_id); if (peer && (peer->peer_ids[0] != HTT_INVALID_PEER_ID)) vdev->last_real_peer = peer; @@ -214,7 +217,7 @@ static void ol_tx_mark_first_wakeup_packet(uint8_t value) } u_int16_t -ol_tx_desc_pool_size_hl(ol_pdev_handle ctrl_pdev) +ol_tx_desc_pool_size_hl(struct cdp_cfg *ctrl_pdev) { u_int16_t desc_pool_size; u_int16_t steady_state_tx_lifetime_ms; @@ -291,11 +294,11 @@ uint8_t ol_tx_get_is_mgmt_over_wmi_enabled(void) #ifdef QCA_SUPPORT_TXRX_LOCAL_PEER_ID static void * -ol_txrx_find_peer_by_addr_and_vdev(void *ppdev, void *pvdev, - uint8_t *peer_addr, uint8_t *peer_id) +ol_txrx_find_peer_by_addr_and_vdev(struct cdp_pdev *ppdev, + struct cdp_vdev *pvdev, uint8_t *peer_addr, uint8_t *peer_id) { - ol_txrx_pdev_handle pdev = ppdev; - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_peer_t *peer; peer = ol_txrx_peer_vdev_find_hash(pdev, vdev, peer_addr, 0, 1); @@ -322,7 +325,7 @@ static QDF_STATUS ol_txrx_get_vdevid(void *ppeer, uint8_t *vdev_id) return QDF_STATUS_SUCCESS; } -static void *ol_txrx_get_vdev_by_sta_id(uint8_t sta_id) +static struct cdp_vdev *ol_txrx_get_vdev_by_sta_id(uint8_t sta_id) { struct ol_txrx_peer_t *peer = NULL; ol_txrx_pdev_handle pdev = NULL; @@ -340,21 +343,22 @@ static void *ol_txrx_get_vdev_by_sta_id(uint8_t sta_id) return NULL; } - peer = ol_txrx_peer_find_by_local_id(pdev, sta_id); + peer = ol_txrx_peer_find_by_local_id((struct cdp_pdev *)pdev, sta_id); if (!peer) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "PEER [%d] not found", sta_id); return NULL; } - return peer->vdev; + return (struct cdp_vdev *)peer->vdev; } -void *ol_txrx_find_peer_by_addr(ol_txrx_pdev_handle pdev, +void *ol_txrx_find_peer_by_addr(struct cdp_pdev *ppdev, uint8_t *peer_addr, uint8_t *peer_id) { struct ol_txrx_peer_t *peer; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; peer = ol_txrx_peer_find_hash_find(pdev, peer_addr, 0, 1); if (!peer) @@ -387,10 +391,11 @@ static uint16_t ol_txrx_local_peer_id(void *ppeer) * @return handle to the txrx peer object */ ol_txrx_peer_handle -ol_txrx_peer_find_by_local_id(struct ol_txrx_pdev_t *pdev, +ol_txrx_peer_find_by_local_id(struct cdp_pdev *ppdev, uint8_t local_peer_id) { struct ol_txrx_peer_t *peer; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; if ((local_peer_id == OL_TXRX_INVALID_LOCAL_PEER_ID) || (local_peer_id >= OL_TXRX_NUM_LOCAL_PEER_IDS)) { return NULL; @@ -850,9 +855,9 @@ ol_txrx_pdev_grp_stat_destroy(struct ol_txrx_pdev_t *pdev) * Return: None */ void -ol_txrx_hl_tdls_flag_reset(void *pvdev, bool flag) +ol_txrx_hl_tdls_flag_reset(struct cdp_vdev *pvdev, bool flag) { - struct ol_txrx_vdev_t *vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; vdev->hlTdlsFlag = flag; } #endif @@ -1098,11 +1103,10 @@ static void ol_txrx_tso_stats_deinit(ol_txrx_pdev_handle pdev) * Return: txrx pdev handle * NULL for failure */ -static void * -ol_txrx_pdev_attach(ol_txrx_soc_handle soc, void *pctrl_pdev, +static struct cdp_pdev * +ol_txrx_pdev_attach(ol_txrx_soc_handle soc, struct cdp_cfg *ctrl_pdev, HTC_HANDLE htc_pdev, qdf_device_t osdev, uint8_t pdev_id) { - ol_pdev_handle ctrl_pdev = pctrl_pdev; struct ol_txrx_pdev_t *pdev; int i; @@ -1150,7 +1154,7 @@ ol_txrx_pdev_attach(ol_txrx_soc_handle soc, void *pctrl_pdev, htt_register_rx_pkt_dump_callback(pdev->htt_pdev, ol_rx_pkt_dump_call); - return pdev; + return (struct cdp_pdev *)pdev; fail3: ol_txrx_peer_find_detach(pdev); @@ -1175,9 +1179,9 @@ fail0: * * Return: void */ -void htt_pkt_log_init(void *ppdev, void *scn) +void htt_pkt_log_init(struct cdp_pdev *ppdev, void *scn) { - struct ol_txrx_pdev_t *handle = ppdev; + struct ol_txrx_pdev_t *handle = (struct ol_txrx_pdev_t *)ppdev; if (handle->pkt_log_init) return; @@ -1207,8 +1211,9 @@ static void htt_pktlogmod_exit(struct ol_txrx_pdev_t *handle) handle->pkt_log_init = false; } } + #else -void htt_pkt_log_init(void *handle, void *ol_sc) { } +void htt_pkt_log_init(struct cdp_pdev *pdev_handle, void *ol_sc) { } static void htt_pktlogmod_exit(ol_txrx_pdev_handle handle) { } #endif @@ -1219,9 +1224,9 @@ static void htt_pktlogmod_exit(ol_txrx_pdev_handle handle) { } * Return: 0 for success */ int -ol_txrx_pdev_post_attach(void *ppdev) +ol_txrx_pdev_post_attach(struct cdp_pdev *ppdev) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; uint16_t i; uint16_t fail_idx = 0; int ret = 0; @@ -1702,9 +1707,9 @@ ol_attach_fail: * * Return: 0 - success 1 - failure */ -static A_STATUS ol_txrx_pdev_attach_target(void *ppdev) +static A_STATUS ol_txrx_pdev_attach_target(struct cdp_pdev *ppdev) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; return htt_attach_target(pdev->htt_pdev) == A_OK ? 0:1; } @@ -1722,9 +1727,9 @@ static A_STATUS ol_txrx_pdev_attach_target(void *ppdev) * (ol_txrx_vdev_detach) before the physical device itself is deleted. * */ -static void ol_txrx_pdev_detach(void *ppdev, int force) +static void ol_txrx_pdev_detach(struct cdp_pdev *ppdev, int force) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; int i; /*checking to ensure txrx pdev structure is not NULL */ @@ -1888,12 +1893,12 @@ ol_txrx_vdev_tx_desc_cnt_init(struct ol_txrx_vdev_t *vdev) * * Return: success: handle to new data vdev object, failure: NULL */ -static void * -ol_txrx_vdev_attach(void *ppdev, +static struct cdp_vdev * +ol_txrx_vdev_attach(struct cdp_pdev *ppdev, uint8_t *vdev_mac_addr, uint8_t vdev_id, enum wlan_op_mode op_mode) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; struct ol_txrx_vdev_t *vdev; QDF_STATUS qdf_status; @@ -1925,7 +1930,7 @@ ol_txrx_vdev_attach(void *ppdev, TAILQ_INIT(&vdev->peer_list); vdev->last_real_peer = NULL; - ol_txrx_hl_tdls_flag_reset(vdev, false); + ol_txrx_hl_tdls_flag_reset((struct cdp_vdev *)vdev, false); #ifdef QCA_IBSS_SUPPORT vdev->ibss_peer_num = 0; @@ -1972,7 +1977,7 @@ ol_txrx_vdev_attach(void *ppdev, */ htt_vdev_attach(pdev->htt_pdev, vdev_id, op_mode); - return (void *)vdev; + return (struct cdp_vdev *)vdev; } /** @@ -1994,11 +1999,11 @@ ol_txrx_vdev_attach(void *ppdev, * vdev objects, so the data SW can use the OS shim vdev handle * when passing rx data received by a vdev up to the OS shim. */ -static void ol_txrx_vdev_register(void *pvdev, - void *osif_vdev, - struct ol_txrx_ops *txrx_ops) +static void ol_txrx_vdev_register(struct cdp_vdev *pvdev, + void *osif_vdev, + struct ol_txrx_ops *txrx_ops) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; if (qdf_unlikely(!vdev) || qdf_unlikely(!txrx_ops)) { qdf_print("%s: vdev/txrx_ops is NULL!\n", __func__); qdf_assert(0); @@ -2080,10 +2085,10 @@ void ol_txrx_set_drop_unenc(ol_txrx_vdev_handle vdev, uint32_t val) * deletions have completed. */ static void -ol_txrx_vdev_detach(void *pvdev, +ol_txrx_vdev_detach(struct cdp_vdev *pvdev, ol_txrx_vdev_delete_cb callback, void *context) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; /* preconditions */ @@ -2221,7 +2226,8 @@ void ol_txrx_flush_cache_rx_queue(void) return; for (sta_id = 0; sta_id < WLAN_MAX_STA_COUNT; sta_id++) { - peer = ol_txrx_peer_find_by_local_id(pdev, sta_id); + peer = ol_txrx_peer_find_by_local_id((struct cdp_pdev *)pdev, + sta_id); if (!peer) continue; ol_txrx_flush_rx_frames(peer, 1); @@ -2252,9 +2258,9 @@ void ol_txrx_flush_cache_rx_queue(void) * fails */ static void * -ol_txrx_peer_attach(void *pvdev, uint8_t *peer_mac_addr) +ol_txrx_peer_attach(struct cdp_vdev *pvdev, uint8_t *peer_mac_addr) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_peer_t *peer; struct ol_txrx_peer_t *temp_peer; uint8_t i; @@ -2383,7 +2389,7 @@ ol_txrx_peer_attach(void *pvdev, uint8_t *peer_mac_addr) * progress to "auth" state once the authentication completes. */ peer->state = OL_TXRX_PEER_STATE_INVALID; - ol_txrx_peer_state_update(pdev, peer->mac_addr.raw, + ol_txrx_peer_state_update((struct cdp_pdev *)pdev, peer->mac_addr.raw, OL_TXRX_PEER_STATE_DISC); #ifdef QCA_SUPPORT_PEER_DATA_RX_RSSI @@ -2396,7 +2402,7 @@ ol_txrx_peer_attach(void *pvdev, uint8_t *peer_mac_addr) * No Tx in monitor mode, otherwise results in target assert. * Setting disable_intrabss_fwd to true */ - ol_vdev_rx_set_intrabss_fwd(vdev, true); + ol_vdev_rx_set_intrabss_fwd((struct cdp_vdev *)vdev, true); } ol_txrx_local_peer_id_alloc(pdev, peer); @@ -2476,9 +2482,9 @@ ol_txrx_get_pn_info(void *ppeer, uint8_t **last_pn_valid, * * Return: operation mode. */ -static int ol_txrx_get_opmode(void *pvdev) +static int ol_txrx_get_opmode(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; return vdev->opmode; } @@ -2500,10 +2506,10 @@ static int ol_txrx_get_peer_state(void *ppeer) * * Return: vdev handle from peer */ -static void *ol_txrx_get_vdev_for_peer(void *ppeer) +static struct cdp_vdev *ol_txrx_get_vdev_for_peer(void *ppeer) { ol_txrx_peer_handle peer = ppeer; - return (void *)peer->vdev; + return (struct cdp_vdev *)peer->vdev; } /** @@ -2513,9 +2519,9 @@ static void *ol_txrx_get_vdev_for_peer(void *ppeer) * Return: vdev mac address */ static uint8_t * -ol_txrx_get_vdev_mac_addr(void *pvdev) +ol_txrx_get_vdev_mac_addr(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; if (!vdev) return NULL; @@ -2556,11 +2562,11 @@ ol_txrx_pdev_handle ol_txrx_get_pdev_from_vdev(ol_txrx_vdev_handle vdev) * * Return: Handle to control pdev */ -static void * -ol_txrx_get_ctrl_pdev_from_vdev(void *pvdev) +static struct cdp_cfg * +ol_txrx_get_ctrl_pdev_from_vdev(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; - return (void *)vdev->pdev->ctrl_pdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; + return vdev->pdev->ctrl_pdev; } /** @@ -2570,9 +2576,9 @@ ol_txrx_get_ctrl_pdev_from_vdev(void *pvdev) * Return: Rx Fwd disabled status */ static uint8_t -ol_txrx_is_rx_fwd_disabled(void *pvdev) +ol_txrx_is_rx_fwd_disabled(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct txrx_pdev_cfg_t *cfg = (struct txrx_pdev_cfg_t *) vdev->pdev->ctrl_pdev; return cfg->rx_fwd_disabled; @@ -2587,10 +2593,10 @@ ol_txrx_is_rx_fwd_disabled(void *pvdev) * Return: -1 for failure or total peer nums after adjustment. */ static int16_t -ol_txrx_update_ibss_add_peer_num_of_vdev(void *pvdev, +ol_txrx_update_ibss_add_peer_num_of_vdev(struct cdp_vdev *pvdev, int16_t peer_num_delta) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; int16_t new_peer_num; new_peer_num = vdev->ibss_peer_num + peer_num_delta; @@ -2610,10 +2616,10 @@ ol_txrx_update_ibss_add_peer_num_of_vdev(void *pvdev, * * Return: Old timer value set in vdev. */ -static uint16_t ol_txrx_set_ibss_vdev_heart_beat_timer(void *pvdev, - uint16_t timer_value_sec) +static uint16_t ol_txrx_set_ibss_vdev_heart_beat_timer(struct cdp_vdev *pvdev, + uint16_t timer_value_sec) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; uint16_t old_timer_value = vdev->ibss_peer_heart_beat_timer; vdev->ibss_peer_heart_beat_timer = timer_value_sec; @@ -2632,11 +2638,11 @@ static uint16_t ol_txrx_set_ibss_vdev_heart_beat_timer(void *pvdev, * Return: NONE */ static void -ol_txrx_remove_peers_for_vdev(void *pvdev, +ol_txrx_remove_peers_for_vdev(struct cdp_vdev *pvdev, ol_txrx_vdev_peer_remove_cb callback, void *callback_context, bool remove_last_peer) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; ol_txrx_peer_handle peer, temp; /* remove all remote peers for vdev */ qdf_spin_lock_bh(&vdev->pdev->peer_ref_mutex); @@ -2681,11 +2687,11 @@ ol_txrx_remove_peers_for_vdev(void *pvdev, * Return: NONE */ static void -ol_txrx_remove_peers_for_vdev_no_lock(void *pvdev, +ol_txrx_remove_peers_for_vdev_no_lock(struct cdp_vdev *pvdev, ol_txrx_vdev_peer_remove_cb callback, void *callback_context) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; ol_txrx_peer_handle peer = NULL; TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) { @@ -2704,10 +2710,10 @@ ol_txrx_remove_peers_for_vdev_no_lock(void *pvdev, * * Return: NONE */ -static void ol_txrx_set_ocb_chan_info(void *pvdev, +static void ol_txrx_set_ocb_chan_info(struct cdp_vdev *pvdev, struct ol_txrx_ocb_set_chan ocb_set_chan) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; vdev->ocb_channel_info = ocb_set_chan.ocb_channel_info; vdev->ocb_channel_count = ocb_set_chan.ocb_channel_count; } @@ -2719,9 +2725,9 @@ static void ol_txrx_set_ocb_chan_info(void *pvdev, * Return: handle to struct ol_txrx_ocb_chan_info */ static struct ol_txrx_ocb_chan_info * -ol_txrx_get_ocb_chan_info(void *pvdev) +ol_txrx_get_ocb_chan_info(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; return vdev->ocb_channel_info; } @@ -2741,10 +2747,11 @@ ol_txrx_get_ocb_chan_info(void *pvdev) * * Return: QDF Status */ -QDF_STATUS ol_txrx_peer_state_update(struct ol_txrx_pdev_t *pdev, +QDF_STATUS ol_txrx_peer_state_update(struct cdp_pdev *ppdev, uint8_t *peer_mac, enum ol_txrx_peer_state state) { + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; struct ol_txrx_peer_t *peer; if (qdf_unlikely(!pdev)) { @@ -3118,10 +3125,10 @@ ol_txrx_clear_peer_internal(struct ol_txrx_peer_t *peer) * * Return: QDF Status */ -static QDF_STATUS ol_txrx_clear_peer(void *ppdev, uint8_t sta_id) +static QDF_STATUS ol_txrx_clear_peer(struct cdp_pdev *ppdev, uint8_t sta_id) { struct ol_txrx_peer_t *peer; - struct ol_txrx_pdev_t *pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; if (!pdev) { TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, "%s: Unable to find pdev!", @@ -3135,7 +3142,7 @@ static QDF_STATUS ol_txrx_clear_peer(void *ppdev, uint8_t sta_id) } - peer = ol_txrx_peer_find_by_local_id(pdev, sta_id); + peer = ol_txrx_peer_find_by_local_id((struct cdp_pdev *)pdev, sta_id); if (!peer) return QDF_STATUS_E_FAULT; @@ -3290,7 +3297,7 @@ static void ol_txrx_dump_tx_desc(ol_txrx_pdev_handle pdev_handle) */ static QDF_STATUS ol_txrx_wait_for_pending_tx(int timeout) { - ol_txrx_pdev_handle txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX); + struct ol_txrx_pdev_t *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX); if (txrx_pdev == NULL) { TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, @@ -3298,7 +3305,7 @@ static QDF_STATUS ol_txrx_wait_for_pending_tx(int timeout) return QDF_STATUS_E_FAULT; } - while (ol_txrx_get_tx_pending(txrx_pdev)) { + while (ol_txrx_get_tx_pending((struct cdp_pdev *)txrx_pdev)) { qdf_sleep(OL_ATH_TX_DRAIN_WAIT_DELAY); if (timeout <= 0) { TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, @@ -3327,11 +3334,11 @@ static QDF_STATUS ol_txrx_wait_for_pending_tx(int timeout) * * Return: QDF_STATUS */ -static QDF_STATUS ol_txrx_runtime_suspend(void *ppdev) +static QDF_STATUS ol_txrx_runtime_suspend(struct cdp_pdev *ppdev) { - ol_txrx_pdev_handle txrx_pdev = ppdev; + struct ol_txrx_pdev_t *txrx_pdev = (struct ol_txrx_pdev_t *)ppdev; - if (ol_txrx_get_tx_pending(txrx_pdev)) + if (ol_txrx_get_tx_pending((struct cdp_pdev *)txrx_pdev)) return QDF_STATUS_E_BUSY; else return QDF_STATUS_SUCCESS; @@ -3345,7 +3352,7 @@ static QDF_STATUS ol_txrx_runtime_suspend(void *ppdev) * * Return: QDF_STATUS_SUCCESS */ -static QDF_STATUS ol_txrx_runtime_resume(void *ppdev) +static QDF_STATUS ol_txrx_runtime_resume(struct cdp_pdev *ppdev) { return QDF_STATUS_SUCCESS; } @@ -3384,10 +3391,9 @@ static QDF_STATUS ol_txrx_bus_resume(void) * * Return: count of pending frames */ -int ol_txrx_get_tx_pending(void *ppdev) +int ol_txrx_get_tx_pending(struct cdp_pdev *ppdev) { - ol_txrx_pdev_handle pdev_handle = ppdev; - struct ol_txrx_pdev_t *pdev = (ol_txrx_pdev_handle) pdev_handle; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; uint32_t total; if (ol_cfg_is_high_latency(pdev->ctrl_pdev)) @@ -3465,10 +3471,10 @@ ol_txrx_fw_stats_cfg(ol_txrx_vdev_handle vdev, #endif static A_STATUS -ol_txrx_fw_stats_get(void *pvdev, struct ol_txrx_stats_req *req, +ol_txrx_fw_stats_get(struct cdp_vdev *pvdev, struct ol_txrx_stats_req *req, bool per_vdev, bool response_expected) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; struct ol_txrx_pdev_t *pdev = vdev->pdev; uint64_t cookie; struct ol_txrx_stats_req_internal *non_volatile_req; @@ -3820,7 +3826,9 @@ ol_txrx_stats(uint8_t vdev_id, char *buffer, unsigned buf_len) { uint32_t len = 0; - ol_txrx_vdev_handle vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + struct ol_txrx_vdev_t *vdev = + (struct ol_txrx_vdev_t *) + ol_txrx_get_vdev_from_vdev_id(vdev_id); if (!vdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: vdev is NULL", __func__); @@ -3969,9 +3977,9 @@ ol_txrx_peer_stats_copy(ol_txrx_pdev_handle pdev, } #endif /* QCA_ENABLE_OL_TXRX_PEER_STATS */ -static void ol_vdev_rx_set_intrabss_fwd(void *pvdev, bool val) +static void ol_vdev_rx_set_intrabss_fwd(struct cdp_vdev *pvdev, bool val) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; if (NULL == vdev) return; @@ -3987,7 +3995,9 @@ static void ol_vdev_rx_set_intrabss_fwd(void *pvdev, bool val) */ static void ol_txrx_update_mac_id(uint8_t vdev_id, uint8_t mac_id) { - ol_txrx_vdev_handle vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + struct ol_txrx_vdev_t *vdev = + (struct ol_txrx_vdev_t *) + ol_txrx_get_vdev_from_vdev_id(vdev_id); if (NULL == vdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, @@ -4024,7 +4034,7 @@ static ol_txrx_vdev_handle ol_txrx_get_vdev_from_sta_id(uint8_t sta_id) return NULL; } - peer = ol_txrx_peer_find_by_local_id(pdev, sta_id); + peer = ol_txrx_peer_find_by_local_id((struct cdp_pdev *)pdev, sta_id); if (!peer) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, @@ -4047,7 +4057,8 @@ static int ol_txrx_register_tx_flow_control(uint8_t vdev_id, ol_txrx_tx_flow_control_fp flowControl, void *osif_fc_ctx) { - ol_txrx_vdev_handle vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + struct ol_txrx_vdev_t *vdev = + (struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id(vdev_id); if (NULL == vdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: Invalid vdev_id %d", __func__, vdev_id); @@ -4069,7 +4080,8 @@ static int ol_txrx_register_tx_flow_control(uint8_t vdev_id, */ static int ol_txrx_deregister_tx_flow_control_cb(uint8_t vdev_id) { - ol_txrx_vdev_handle vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + struct ol_txrx_vdev_t *vdev = + (struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id(vdev_id); if (NULL == vdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: Invalid vdev_id", __func__); @@ -4134,7 +4146,8 @@ ol_txrx_get_tx_resource(uint8_t sta_id, static int ol_txrx_ll_set_tx_pause_q_depth(uint8_t vdev_id, int pause_q_depth) { - ol_txrx_vdev_handle vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + struct ol_txrx_vdev_t *vdev = + (struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id(vdev_id); if (NULL == vdev) { QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, "%s: Invalid vdev_id %d", __func__, vdev_id); @@ -4175,10 +4188,10 @@ ol_txrx_ll_set_tx_pause_q_depth(uint8_t vdev_id, int pause_q_depth) * Return: none */ static void -ol_txrx_ipa_uc_get_resource(void *ppdev, +ol_txrx_ipa_uc_get_resource(struct cdp_pdev *ppdev, struct ol_txrx_ipa_resources *ipa_res) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; htt_ipa_uc_get_resource(pdev->htt_pdev, &ipa_res->ce_sr_base_paddr, @@ -4209,11 +4222,11 @@ ol_txrx_ipa_uc_get_resource(void *ppdev, * Return: none */ static void -ol_txrx_ipa_uc_set_doorbell_paddr(void *ppdev, +ol_txrx_ipa_uc_set_doorbell_paddr(struct cdp_pdev *ppdev, qdf_dma_addr_t ipa_tx_uc_doorbell_paddr, qdf_dma_addr_t ipa_rx_uc_doorbell_paddr) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; htt_ipa_uc_set_doorbell_paddr(pdev->htt_pdev, ipa_tx_uc_doorbell_paddr, ipa_rx_uc_doorbell_paddr); @@ -4231,9 +4244,9 @@ ol_txrx_ipa_uc_set_doorbell_paddr(void *ppdev, * Return: none */ static void -ol_txrx_ipa_uc_set_active(void *ppdev, bool uc_active, bool is_tx) +ol_txrx_ipa_uc_set_active(struct cdp_pdev *ppdev, bool uc_active, bool is_tx) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; htt_h2t_ipa_uc_set_active(pdev->htt_pdev, uc_active, is_tx); } @@ -4244,9 +4257,9 @@ ol_txrx_ipa_uc_set_active(void *ppdev, bool uc_active, bool is_tx) * * Return: none */ -static void ol_txrx_ipa_uc_op_response(void *ppdev, uint8_t *op_msg) +static void ol_txrx_ipa_uc_op_response(struct cdp_pdev *ppdev, uint8_t *op_msg) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; if (pdev->ipa_uc_op_cb) { pdev->ipa_uc_op_cb(op_msg, pdev->osif_dev); } else { @@ -4266,10 +4279,10 @@ static void ol_txrx_ipa_uc_op_response(void *ppdev, uint8_t *op_msg) * Return: none */ static void -ol_txrx_ipa_uc_register_op_cb(void *ppdev, - ipa_uc_op_cb_type op_cb, void *osif_dev) +ol_txrx_ipa_uc_register_op_cb(struct cdp_pdev *ppdev, + ipa_uc_op_cb_type op_cb, void *osif_dev) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; pdev->ipa_uc_op_cb = op_cb; pdev->osif_dev = osif_dev; } @@ -4280,9 +4293,9 @@ ol_txrx_ipa_uc_register_op_cb(void *ppdev, * * Return: none */ -static void ol_txrx_ipa_uc_get_stat(void *ppdev) +static void ol_txrx_ipa_uc_get_stat(struct cdp_pdev *ppdev) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; htt_h2t_ipa_uc_get_stats(pdev->htt_pdev); } #endif /* IPA_UC_OFFLOAD */ @@ -4434,7 +4447,7 @@ static void ol_rx_data_cb(struct ol_txrx_pdev_t *pdev, /* Do not use peer directly. Derive peer from staid to * make sure that peer is valid. */ - peer = ol_txrx_peer_find_by_local_id(pdev, staid); + peer = ol_txrx_peer_find_by_local_id((struct cdp_pdev *)pdev, staid); if (!peer) goto free_buf; @@ -4616,7 +4629,8 @@ static QDF_STATUS ol_txrx_register_peer(struct ol_txrx_desc_type *sta_desc) return QDF_STATUS_E_INVAL; } - peer = ol_txrx_peer_find_by_local_id(pdev, sta_desc->sta_id); + peer = ol_txrx_peer_find_by_local_id((struct cdp_pdev *)pdev, + sta_desc->sta_id); if (!peer) return QDF_STATUS_E_FAULT; @@ -4667,7 +4681,8 @@ static QDF_STATUS ol_txrx_register_ocb_peer(void *cds_ctx, uint8_t *mac_addr, return QDF_STATUS_E_FAILURE; } - peer = ol_txrx_find_peer_by_addr(pdev, mac_addr, peer_id); + peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, + mac_addr, peer_id); if (!peer) { TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, "%s: Unable to find OCB peer!", __func__); @@ -4677,7 +4692,7 @@ static QDF_STATUS ol_txrx_register_ocb_peer(void *cds_ctx, uint8_t *mac_addr, ol_txrx_set_ocb_peer(pdev, peer); /* Set peer state to connected */ - ol_txrx_peer_state_update(pdev, peer->mac_addr.raw, + ol_txrx_peer_state_update((struct cdp_pdev *)pdev, peer->mac_addr.raw, OL_TXRX_PEER_STATE_AUTH); return QDF_STATUS_SUCCESS; @@ -4947,7 +4962,7 @@ bool ol_txrx_fwd_desc_thresh_check(struct ol_txrx_vdev_t *vdev) * Return: vdev handle * NULL if not found. */ -void *ol_txrx_get_vdev_from_vdev_id(uint8_t vdev_id) +struct cdp_vdev *ol_txrx_get_vdev_from_vdev_id(uint8_t vdev_id) { ol_txrx_pdev_handle pdev = cds_get_context(QDF_MODULE_ID_TXRX); ol_txrx_vdev_handle vdev = NULL; @@ -4960,7 +4975,7 @@ void *ol_txrx_get_vdev_from_vdev_id(uint8_t vdev_id) break; } - return (void *)vdev; + return (struct cdp_vdev *)vdev; } /** @@ -4970,9 +4985,9 @@ void *ol_txrx_get_vdev_from_vdev_id(uint8_t vdev_id) * * Return: QDF STATUS */ -static QDF_STATUS ol_txrx_set_wisa_mode(void *pvdev, bool enable) +static QDF_STATUS ol_txrx_set_wisa_mode(struct cdp_vdev *pvdev, bool enable) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; if (!vdev) return QDF_STATUS_E_INVAL; @@ -4987,9 +5002,9 @@ static QDF_STATUS ol_txrx_set_wisa_mode(void *pvdev, bool enable) * * Return: virtual interface id */ -static uint16_t ol_txrx_get_vdev_id(void *pvdev) +static uint16_t ol_txrx_get_vdev_id(struct cdp_vdev *pvdev) { - ol_txrx_vdev_handle vdev = pvdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; return vdev->vdev_id; } @@ -5067,11 +5082,11 @@ static void ol_txrx_soc_detach(void *soc) * * Return: noe */ -static void ol_txrx_pkt_log_con_service(void *ppdev, void *scn) +static void ol_txrx_pkt_log_con_service(struct cdp_pdev *ppdev, void *scn) { - ol_txrx_pdev_handle pdev = ppdev; + struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; - htt_pkt_log_init(pdev, scn); + htt_pkt_log_init((struct cdp_pdev *)pdev, scn); pktlog_htc_attach(); } @@ -5095,8 +5110,9 @@ static void ol_txrx_wrapper_flush_rx_frames(void *peer, bool drop) * * Return: virtual interface instance */ -static void *ol_txrx_wrapper_get_vdev_from_vdev_id(void *ppdev, - uint8_t vdev_id) +static +struct cdp_vdev *ol_txrx_wrapper_get_vdev_from_vdev_id(struct cdp_pdev *ppdev, + uint8_t vdev_id) { return ol_txrx_get_vdev_from_vdev_id(vdev_id); } @@ -5108,7 +5124,7 @@ static void *ol_txrx_wrapper_get_vdev_from_vdev_id(void *ppdev, * * Return: QDF STATUS */ -static QDF_STATUS ol_txrx_wrapper_register_peer(void *pdev, +static QDF_STATUS ol_txrx_wrapper_register_peer(struct cdp_pdev *pdev, struct ol_txrx_desc_type *sta_desc) { return ol_txrx_register_peer(sta_desc); @@ -5128,10 +5144,11 @@ static QDF_STATUS ol_txrx_wrapper_register_peer(void *pdev, * @return handle to the txrx peer object */ static void * -ol_txrx_wrapper_peer_find_by_local_id(void *pdev, uint8_t local_peer_id) +ol_txrx_wrapper_peer_find_by_local_id(struct cdp_pdev *pdev, + uint8_t local_peer_id) { return (void *)ol_txrx_peer_find_by_local_id( - (struct ol_txrx_pdev_t *)pdev, local_peer_id); + pdev, local_peer_id); } /** @@ -5141,9 +5158,9 @@ ol_txrx_wrapper_peer_find_by_local_id(void *pdev, uint8_t local_peer_id) * Return: 1 high latency bus * 0 low latency bus */ -static int ol_txrx_wrapper_cfg_is_high_latency(void *pdev) +static int ol_txrx_wrapper_cfg_is_high_latency(struct cdp_cfg *cfg_pdev) { - return ol_cfg_is_high_latency((ol_pdev_handle)pdev); + return ol_cfg_is_high_latency(cfg_pdev); } /** @@ -5161,10 +5178,10 @@ static int ol_txrx_wrapper_cfg_is_high_latency(void *pdev) * * Return: QDF Status */ -static QDF_STATUS ol_txrx_wrapper_peer_state_update(void *pdev, +static QDF_STATUS ol_txrx_wrapper_peer_state_update(struct cdp_pdev *pdev, uint8_t *peer_mac, enum ol_txrx_peer_state state) { - return ol_txrx_peer_state_update((struct ol_txrx_pdev_t *)pdev, + return ol_txrx_peer_state_update(pdev, peer_mac, state); } @@ -5176,10 +5193,10 @@ static QDF_STATUS ol_txrx_wrapper_peer_state_update(void *pdev, * * Return: peer instance pointer */ -static void *ol_txrx_wrapper_find_peer_by_addr(void *pdev, +static void *ol_txrx_wrapper_find_peer_by_addr(struct cdp_pdev *pdev, uint8_t *peer_addr, uint8_t *peer_id) { - return ol_txrx_find_peer_by_addr((ol_txrx_pdev_handle)pdev, + return ol_txrx_find_peer_by_addr(pdev, peer_addr, peer_id); } @@ -5191,10 +5208,11 @@ static void *ol_txrx_wrapper_find_peer_by_addr(void *pdev, * Return: none */ static void -ol_txrx_wrapper_set_flow_control_parameters(void *cfg_ctx, void *cfg_param) +ol_txrx_wrapper_set_flow_control_parameters(struct cdp_cfg *cfg_pdev, + void *cfg_param) { return ol_tx_set_flow_control_parameters( - (struct txrx_pdev_cfg_t *)cfg_ctx, + cfg_pdev, (struct txrx_pdev_cfg_param_t *)cfg_param); } diff --git a/core/dp/txrx/ol_txrx.h b/core/dp/txrx/ol_txrx.h index 546a249bba08..a5d1a6fa8f67 100644 --- a/core/dp/txrx/ol_txrx.h +++ b/core/dp/txrx/ol_txrx.h @@ -31,6 +31,7 @@ #include /* qdf_nbuf_t */ #include /* ol_txrx_vdev_t, etc. */ #include "cds_sched.h" +#include #include /* * Pool of tx descriptors reserved for @@ -39,7 +40,6 @@ */ #define OL_TX_NON_FWD_RESERVE 100 - void ol_txrx_peer_unref_delete(struct ol_txrx_peer_t *peer); /** @@ -49,7 +49,7 @@ void ol_txrx_peer_unref_delete(struct ol_txrx_peer_t *peer); * Return: allocated pool size */ u_int16_t -ol_tx_desc_pool_size_hl(ol_pdev_handle ctrl_pdev); +ol_tx_desc_pool_size_hl(struct cdp_cfg *ctrl_pdev); #ifndef OL_TX_AVG_FRM_BYTES #define OL_TX_AVG_FRM_BYTES 1000 @@ -76,18 +76,17 @@ ol_tx_desc_pool_size_hl(ol_pdev_handle ctrl_pdev); #if defined(CONFIG_HL_SUPPORT) && defined(FEATURE_WLAN_TDLS) void -ol_txrx_hl_tdls_flag_reset(void *vdev, bool flag); +ol_txrx_hl_tdls_flag_reset(struct cdp_vdev *vdev, bool flag); #else static inline void -ol_txrx_hl_tdls_flag_reset(void *vdev, bool flag) +ol_txrx_hl_tdls_flag_reset(struct cdp_vdev *vdev, bool flag) { return; } #endif -/** - * ol_txrx_dump_pkt() - display the data in buffer and buffer's address +/* * @nbuf: buffer which contains data to be displayed * @nbuf_paddr: physical address of the buffer * @len: defines the size of the data to be displayed @@ -118,11 +117,11 @@ ol_txrx_dump_pkt(qdf_nbuf_t nbuf, uint32_t nbuf_paddr, int len); */ bool ol_txrx_fwd_desc_thresh_check(struct ol_txrx_vdev_t *vdev); -void *ol_txrx_get_vdev_from_vdev_id(uint8_t vdev_id); +struct cdp_vdev *ol_txrx_get_vdev_from_vdev_id(uint8_t vdev_id); -void htt_pkt_log_init(void *handle, void *scn); -void *ol_txrx_find_peer_by_addr(ol_txrx_pdev_handle pdev, +void *ol_txrx_find_peer_by_addr(struct cdp_pdev *pdev, uint8_t *peer_addr, uint8_t *peer_id); +void htt_pkt_log_init(struct cdp_pdev *pdev_handle, void *scn); #endif /* _OL_TXRX__H_ */ diff --git a/core/dp/txrx/ol_txrx_flow_control.c b/core/dp/txrx/ol_txrx_flow_control.c index aeae6725076c..37fdeb5885fd 100644 --- a/core/dp/txrx/ol_txrx_flow_control.c +++ b/core/dp/txrx/ol_txrx_flow_control.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -47,7 +47,7 @@ #include /* OL_TX_ENCAP, etc */ #include #include - +#include #define INVALID_FLOW_ID 0xFF #define MAX_INVALID_BIN 3 @@ -560,9 +560,9 @@ static struct ol_tx_flow_pool_t *ol_tx_get_flow_pool(uint8_t flow_pool_id) static void ol_tx_flow_pool_vdev_map(struct ol_tx_flow_pool_t *pool, uint8_t vdev_id) { - ol_txrx_vdev_handle vdev; + struct ol_txrx_vdev_t *vdev; - vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + vdev = (struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id(vdev_id); if (!vdev) { TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, "%s: invalid vdev_id %d\n", @@ -588,9 +588,9 @@ static void ol_tx_flow_pool_vdev_map(struct ol_tx_flow_pool_t *pool, static void ol_tx_flow_pool_vdev_unmap(struct ol_tx_flow_pool_t *pool, uint8_t vdev_id) { - ol_txrx_vdev_handle vdev; + struct ol_txrx_vdev_t *vdev; - vdev = ol_txrx_get_vdev_from_vdev_id(vdev_id); + vdev = (struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id(vdev_id); if (!vdev) { TXRX_PRINT(TXRX_PRINT_LEVEL_ERR, "%s: invalid vdev_id %d\n", diff --git a/core/dp/txrx/ol_txrx_types.h b/core/dp/txrx/ol_txrx_types.h index 1cdd900779c2..ad4492556e31 100644 --- a/core/dp/txrx/ol_txrx_types.h +++ b/core/dp/txrx/ol_txrx_types.h @@ -537,7 +537,7 @@ struct ol_txrx_peer_id_map { */ struct ol_txrx_pdev_t { /* ctrl_pdev - handle for querying config info */ - ol_pdev_handle ctrl_pdev; + struct cdp_cfg *ctrl_pdev; /* osdev - handle for mem alloc / free, map / unmap */ qdf_device_t osdev; diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 542c15fae06c..7ae7ca4476fc 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -61,6 +61,7 @@ #include #include #include +#include /* These are needed to recognize WPA and RSN suite types */ #define HDD_WPA_OUI_SIZE 4 @@ -1440,7 +1441,8 @@ QDF_STATUS hdd_roam_deregister_sta(hdd_adapter_t *pAdapter, uint8_t staId) } qdf_status = cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_TXRX), staId); + (struct cdp_pdev *)cds_get_context(QDF_MODULE_ID_TXRX), + staId); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_err("cdp_clear_peer() failed for staID %d. Status(%d) [0x%08X]", staId, qdf_status, qdf_status); @@ -1761,7 +1763,8 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter, return QDF_STATUS_E_INVAL; } - peer = cdp_peer_find_by_local_id(soc, pdev, sta_id); + peer = cdp_peer_find_by_local_id(soc, + (struct cdp_pdev *)pdev, sta_id); if (!peer) return QDF_STATUS_E_FAULT; @@ -1808,8 +1811,8 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter, if (!rc) { hdd_notice("timeout waiting for sta_authorized_event"); } - vdev = cdp_peer_get_vdev(soc, peer); - cdp_fc_vdev_unpause(soc, vdev, + vdev = (void *)cdp_peer_get_vdev(soc, peer); + cdp_fc_vdev_unpause(soc, (struct cdp_vdev *)vdev, OL_TXQ_PAUSE_REASON_PEER_UNAUTHORIZED); #endif } @@ -1865,22 +1868,25 @@ QDF_STATUS hdd_roam_register_sta(hdd_adapter_t *pAdapter, qdf_mem_zero(&txrx_ops, sizeof(txrx_ops)); txrx_ops.rx.rx = hdd_rx_packet_cbk; - pAdapter->txrx_vdev = cdp_get_vdev_from_vdev_id(soc, pdev, - pAdapter->sessionId); + pAdapter->txrx_vdev = (void *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, + pAdapter->sessionId); if (!pAdapter->txrx_vdev) { hdd_err("%s find vdev fail", __func__); return QDF_STATUS_E_FAILURE; } txrx_ops.tx.tx = NULL; - cdp_vdev_register(soc, pAdapter->txrx_vdev, pAdapter, &txrx_ops); + cdp_vdev_register(soc, + (struct cdp_vdev *)pAdapter->txrx_vdev, pAdapter, &txrx_ops); if (!txrx_ops.tx.tx) { hdd_err("%s vdev register fail", __func__); return QDF_STATUS_E_FAILURE; } pAdapter->tx_fn = txrx_ops.tx.tx; - qdf_status = cdp_peer_register(soc, pdev, &staDesc); + qdf_status = cdp_peer_register(soc, + (struct cdp_pdev *)pdev, &staDesc); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_warn("cdp_peer_register() failed to register. Status=%d [0x%08X]", qdf_status, qdf_status); @@ -3533,12 +3539,14 @@ QDF_STATUS hdd_roam_register_tdlssta(hdd_adapter_t *pAdapter, qdf_mem_zero(&txrx_ops, sizeof(txrx_ops)); txrx_ops.rx.rx = hdd_rx_packet_cbk; cdp_vdev_register(soc, - cdp_get_vdev_from_vdev_id(soc, pdev, pAdapter->sessionId), + (struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, pAdapter->sessionId), pAdapter, &txrx_ops); pAdapter->tx_fn = txrx_ops.tx.tx; /* Register the Station with TL... */ - qdf_status = cdp_peer_register(soc, pdev, &staDesc); + qdf_status = cdp_peer_register(soc, + (struct cdp_pdev *)pdev, &staDesc); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_err("cdp_peer_register() failed to register. Status=%d [0x%08X]", qdf_status, qdf_status); @@ -3560,7 +3568,8 @@ static QDF_STATUS hdd_roam_deregister_tdlssta(hdd_adapter_t *pAdapter, { QDF_STATUS qdf_status; qdf_status = cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_TXRX), staId); + (struct cdp_pdev *)cds_get_context(QDF_MODULE_ID_TXRX), + staId); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_warn("cdp_clear_peer() failed for staID %d. Status=%d [0x%08X]", staId, qdf_status, qdf_status); diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 9eb174eb3139..6e185df30e4f 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -74,10 +74,10 @@ #include "sap_api.h" #include "csr_api.h" #include "pld_common.h" - #ifdef WLAN_UMAC_CONVERGENCE #include "wlan_cfg80211.h" #endif +#include #ifdef FEATURE_WLAN_EXTSCAN #include "wlan_hdd_ext_scan.h" @@ -3388,7 +3388,8 @@ static int __wlan_hdd_cfg80211_handle_wisa_cmd(struct wiphy *wiphy, } if (QDF_IS_STATUS_SUCCESS(status) || wisa_mode == false) cdp_set_wisa_mode(soc, - cdp_get_vdev_from_vdev_id(soc, pdev, + (struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, adapter->sessionId), wisa_mode); err: diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c index abb59dbd0693..77ce5f05cd0d 100644 --- a/core/hdd/src/wlan_hdd_driver_ops.c +++ b/core/hdd/src/wlan_hdd_driver_ops.c @@ -865,7 +865,8 @@ static int __wlan_hdd_runtime_suspend(struct device *dev) if (status) goto process_failure; - status = qdf_status_to_os_return(cdp_runtime_suspend(soc, txrx_pdev)); + status = qdf_status_to_os_return(cdp_runtime_suspend(soc, + (struct cdp_pdev *)txrx_pdev)); if (status) goto process_failure; @@ -895,7 +896,8 @@ resume_wma: resume_htc: QDF_BUG(!htc_runtime_resume(htc_ctx)); resume_txrx: - QDF_BUG(!qdf_status_to_os_return(cdp_runtime_resume(soc, txrx_pdev))); + QDF_BUG(!qdf_status_to_os_return(cdp_runtime_resume(soc, + (struct cdp_pdev *)txrx_pdev))); process_failure: hif_process_runtime_suspend_failure(hif_ctx); return status; @@ -941,7 +943,8 @@ static int __wlan_hdd_runtime_resume(struct device *dev) QDF_BUG(!hif_runtime_resume(hif_ctx)); QDF_BUG(!wma_runtime_resume()); QDF_BUG(!htc_runtime_resume(htc_ctx)); - QDF_BUG(!qdf_status_to_os_return(cdp_runtime_resume(soc, txrx_pdev))); + QDF_BUG(!qdf_status_to_os_return(cdp_runtime_resume(soc, + (struct cdp_pdev *)txrx_pdev))); hif_process_runtime_resume_success(hif_ctx); return 0; } diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 17dc48ab6159..66cde9a7c30d 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -58,7 +58,7 @@ #include "wal_rx_desc.h" #include "cdp_txrx_ipa.h" - +#include #define HDD_IPA_DESC_BUFFER_RATIO 4 #define HDD_IPA_IPV4_NAME_EXT "_ipv4" #define HDD_IPA_IPV6_NAME_EXT "_ipv6" @@ -1413,7 +1413,9 @@ static int hdd_ipa_uc_enable_pipes(struct hdd_ipa_priv *hdd_ipa) __func__, result); return result; } - cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, true, true); + cdp_ipa_set_active(soc, + (struct cdp_pdev *)cds_ctx->pdev_txrx_ctx, + true, true); /* ACTIVATE RX PIPE */ HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, @@ -1433,7 +1435,9 @@ static int hdd_ipa_uc_enable_pipes(struct hdd_ipa_priv *hdd_ipa) __func__, result); return result; } - cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, true, false); + cdp_ipa_set_active(soc, + (struct cdp_pdev *)cds_ctx->pdev_txrx_ctx, + true, false); hdd_ipa->ipa_pipes_down = false; return 0; } @@ -1551,9 +1555,13 @@ static void hdd_ipa_uc_handle_last_discon(struct hdd_ipa_priv *hdd_ipa) hdd_ipa->resource_unloading = true; HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "%s: Disable FW RX PIPE", __func__); - cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, false, false); + cdp_ipa_set_active(soc, + (struct cdp_pdev *)cds_ctx->pdev_txrx_ctx, + false, false); HDD_IPA_LOG(QDF_TRACE_LEVEL_INFO, "%s: Disable FW TX PIPE", __func__); - cdp_ipa_set_active(soc, cds_ctx->pdev_txrx_ctx, false, true); + cdp_ipa_set_active(soc, + (struct cdp_pdev *)cds_ctx->pdev_txrx_ctx, + false, true); } /** @@ -2188,12 +2196,14 @@ static QDF_STATUS hdd_ipa_uc_ol_init(hdd_context_t *hdd_ctx) (unsigned int)pipe_in.u.ul.rdy_ring_rp_pa, (unsigned int)ipa_ctxt->rx_ready_doorbell_paddr); - cdp_ipa_set_doorbell_paddr(soc, cds_ctx->pdev_txrx_ctx, + cdp_ipa_set_doorbell_paddr(soc, + (struct cdp_pdev *)cds_ctx->pdev_txrx_ctx, ipa_ctxt->tx_comp_doorbell_paddr, ipa_ctxt->rx_ready_doorbell_paddr); - cdp_ipa_register_op_cb(soc, cds_ctx->pdev_txrx_ctx, - hdd_ipa_uc_op_event_handler, (void *)hdd_ctx); + cdp_ipa_register_op_cb(soc, + (struct cdp_pdev *)cds_ctx->pdev_txrx_ctx, + hdd_ipa_uc_op_event_handler, (void *)hdd_ctx); for (i = 0; i < HDD_IPA_UC_OPCODE_MAX; i++) { hdd_ipa_init_uc_op_work(&ipa_ctxt->uc_op_work[i].work, @@ -3223,7 +3233,8 @@ static enum hdd_ipa_forward_type hdd_ipa_intrabss_forward( if ((desc & FW_RX_DESC_FORWARD_M)) { if (!ol_txrx_fwd_desc_thresh_check( - ol_txrx_get_vdev_from_vdev_id(adapter->sessionId))) { + (struct ol_txrx_vdev_t *)ol_txrx_get_vdev_from_vdev_id( + adapter->sessionId))) { /* Drop the packet*/ hdd_ipa->stats.num_tx_fwd_err++; kfree_skb(skb); @@ -3473,7 +3484,8 @@ static void hdd_ipa_send_pkt_to_tl( adapter->stats.tx_bytes += ipa_tx_desc->skb->len; skb = cdp_ipa_tx_send_data_frame(cds_get_context(QDF_MODULE_ID_SOC), - iface_context->tl_context, ipa_tx_desc->skb); + (struct cdp_vdev *)iface_context->tl_context, + ipa_tx_desc->skb); if (skb) { HDD_IPA_LOG(QDF_TRACE_LEVEL_DEBUG, "TLSHIM tx fail"); ipa_free_skb(ipa_tx_desc); @@ -4296,7 +4308,7 @@ static int hdd_ipa_setup_iface(struct hdd_ipa_priv *hdd_ipa, adapter->ipa_context = iface_context; iface_context->adapter = adapter; iface_context->sta_id = sta_id; - tl_context = cdp_peer_get_vdev_by_sta_id( + tl_context = (void *)cdp_peer_get_vdev_by_sta_id( cds_get_context(QDF_MODULE_ID_SOC), sta_id); if (tl_context == NULL) { HDD_IPA_LOG(QDF_TRACE_LEVEL_ERROR, @@ -5019,8 +5031,8 @@ static QDF_STATUS __hdd_ipa_init(hdd_context_t *hdd_ctx) hdd_ipa->hdd_ctx = hdd_ctx; hdd_ipa->num_iface = 0; cdp_ipa_get_resource(cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_TXRX), - &hdd_ipa->ipa_resource); + (struct cdp_pdev *)cds_get_context(QDF_MODULE_ID_TXRX), + &hdd_ipa->ipa_resource); if ((0 == hdd_ipa->ipa_resource.ce_sr_base_paddr) || (0 == hdd_ipa->ipa_resource.tx_comp_ring_base_paddr) || (0 == hdd_ipa->ipa_resource.rx_rdy_ring_base_paddr) || diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 252b31df69eb..58c0716bcb72 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -108,6 +108,7 @@ #include #include "wlan_hdd_object_manager.h" #include "cds_utils.h" +#include #ifdef MODULE #define WLAN_MODULE_NAME module_name(THIS_MODULE) @@ -3753,7 +3754,7 @@ QDF_STATUS hdd_stop_adapter(hdd_context_t *hdd_ctx, hdd_adapter_t *adapter, break; case QDF_OCB_MODE: cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_TXRX), + (struct cdp_pdev *)cds_get_context(QDF_MODULE_ID_TXRX), WLAN_HDD_GET_STATION_CTX_PTR(adapter)->conn_info.staId[0]); break; default: diff --git a/core/hdd/src/wlan_hdd_ocb.c b/core/hdd/src/wlan_hdd_ocb.c index a6f0bd5d27ee..1d8aa3fba789 100644 --- a/core/hdd/src/wlan_hdd_ocb.c +++ b/core/hdd/src/wlan_hdd_ocb.c @@ -41,7 +41,7 @@ #include "wma_api.h" #include #include - +#include /* Structure definitions for WLAN_SET_DOT11P_CHANNEL_SCHED */ #define AIFSN_MIN (2) #define AIFSN_MAX (15) @@ -269,11 +269,13 @@ static int hdd_ocb_register_sta(hdd_adapter_t *adapter) qdf_mem_zero(&txrx_ops, sizeof(txrx_ops)); txrx_ops.rx.rx = hdd_rx_packet_cbk; cdp_vdev_register(soc, - cdp_get_vdev_from_vdev_id(soc, pdev, adapter->sessionId), - adapter, &txrx_ops); + (struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, adapter->sessionId), + adapter, &txrx_ops); adapter->tx_fn = txrx_ops.tx.tx; - qdf_status = cdp_peer_register(soc, pdev, &sta_desc); + qdf_status = cdp_peer_register(soc, + (struct cdp_pdev *)pdev, &sta_desc); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_err("Failed to register. Status= %d [0x%08X]", qdf_status, qdf_status); diff --git a/core/hdd/src/wlan_hdd_softap_tx_rx.c b/core/hdd/src/wlan_hdd_softap_tx_rx.c index 3816c6f450ce..a36504ccddc6 100644 --- a/core/hdd/src/wlan_hdd_softap_tx_rx.c +++ b/core/hdd/src/wlan_hdd_softap_tx_rx.c @@ -45,6 +45,7 @@ #include #include #include +#include #ifdef IPA_OFFLOAD #include @@ -741,7 +742,8 @@ QDF_STATUS hdd_softap_deregister_sta(hdd_adapter_t *pAdapter, uint8_t staId) * station to this station. */ qdf_status = cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_TXRX), staId); + (struct cdp_pdev *)cds_get_context(QDF_MODULE_ID_TXRX), + staId); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_err("cdp_clear_peer failed for staID %d, Status=%d [0x%08X]", staId, qdf_status, qdf_status); @@ -814,13 +816,16 @@ QDF_STATUS hdd_softap_register_sta(hdd_adapter_t *pAdapter, qdf_mem_zero(&txrx_ops, sizeof(txrx_ops)); txrx_ops.rx.rx = hdd_softap_rx_packet_cbk; cdp_vdev_register(soc, - cdp_get_vdev_from_vdev_id(soc, pdev, pAdapter->sessionId), - pAdapter, &txrx_ops); - pAdapter->txrx_vdev = cdp_get_vdev_from_vdev_id(soc, pdev, + (struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, pAdapter->sessionId), + pAdapter, &txrx_ops); + pAdapter->txrx_vdev = (void *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, pAdapter->sessionId); pAdapter->tx_fn = txrx_ops.tx.tx; - qdf_status = cdp_peer_register(soc, pdev, &staDesc); + qdf_status = cdp_peer_register(soc, + (struct cdp_pdev *)pdev, &staDesc); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { hdd_err("cdp_peer_register() failed to register. Status = %d [0x%08X]", qdf_status, qdf_status); diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 2f640ab93ddc..fd447d2eab53 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -59,7 +59,7 @@ #include #include "wlan_hdd_nan_datapath.h" #include "pld_common.h" - +#include #ifdef QCA_LL_TX_FLOW_CONTROL_V2 /* * Mapping Linux AC interpretation to SME AC. @@ -1414,10 +1414,12 @@ int hdd_set_mon_rx_cb(struct net_device *dev) qdf_mem_zero(&txrx_ops, sizeof(txrx_ops)); txrx_ops.rx.rx = hdd_mon_rx_packet_cbk; cdp_vdev_register(soc, - cdp_get_vdev_from_vdev_id(soc, pdev, adapter->sessionId), - adapter, &txrx_ops); + (struct cdp_vdev *)cdp_get_vdev_from_vdev_id(soc, + (struct cdp_pdev *)pdev, adapter->sessionId), + adapter, &txrx_ops); /* peer is created wma_vdev_attach->wma_create_peer */ - qdf_status = cdp_peer_register(soc, pdev, &sta_desc); + qdf_status = cdp_peer_register(soc, + (struct cdp_pdev *)pdev, &sta_desc); if (QDF_STATUS_SUCCESS != qdf_status) { hdd_err("cdp_peer_register() failed to register. Status= %d [0x%08X]", qdf_status, qdf_status); diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index 6b129ccb66bd..a2e43ee6e27f 100644 --- a/core/wma/inc/wma.h +++ b/core/wma/inc/wma.h @@ -50,6 +50,7 @@ #include "dbglog.h" #include "cds_ieee80211_common.h" #include "wlan_objmgr_psoc_obj.h" +#include /* Platform specific configuration for max. no. of fragments */ #define QCA_OL_11AC_TX_MAX_FRAGS 2 @@ -1010,7 +1011,7 @@ typedef struct { struct wma_txrx_node { uint8_t addr[IEEE80211_ADDR_LEN]; uint8_t bssid[IEEE80211_ADDR_LEN]; - void *handle; + struct cdp_vdev *handle; struct beacon_info *beacon; vdev_restart_params_t vdev_restart_params; vdev_cli_config_t config; @@ -2300,8 +2301,8 @@ QDF_STATUS wma_add_wow_wakeup_event(tp_wma_handle wma, uint32_t vdev_id, uint32_t bitmap, bool enable); -QDF_STATUS wma_create_peer(tp_wma_handle wma, void *pdev, - void *vdev, u8 peer_addr[6], +QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev, + struct cdp_vdev *vdev, u8 peer_addr[6], u_int32_t peer_type, u_int8_t vdev_id, bool roam_synch_in_progress); diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index 2bba364cb622..82805e71518b 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -27,7 +27,7 @@ #ifndef WMA_INTERNAL_H #define WMA_INTERNAL_H - +#include #if !defined(REMOVE_PKT_LOG) #include "pktlog_ac.h" #endif @@ -446,7 +446,7 @@ static inline uint32_t wma_roam_scan_get_cckm_mode( * wma_dev_if.c functions declarations */ -void *wma_find_vdev_by_addr(tp_wma_handle wma, uint8_t *addr, +struct cdp_vdev *wma_find_vdev_by_addr(tp_wma_handle wma, uint8_t *addr, uint8_t *vdev_id); /** @@ -457,7 +457,8 @@ void *wma_find_vdev_by_addr(tp_wma_handle wma, uint8_t *addr, * Return: Returns vdev handle if given vdev id is valid. * Otherwise returns NULL. */ -static inline void *wma_find_vdev_by_id(tp_wma_handle wma, uint8_t vdev_id) +static inline +struct cdp_vdev *wma_find_vdev_by_id(tp_wma_handle wma, uint8_t vdev_id) { if (vdev_id > wma->max_bssid) return NULL; @@ -535,7 +536,7 @@ static inline uint8_t *wma_find_bssid_by_vdev_id(tp_wma_handle wma, return wma->interfaces[vdev_id].bssid; } -void *wma_find_vdev_by_bssid(tp_wma_handle wma, uint8_t *bssid, +struct cdp_vdev *wma_find_vdev_by_bssid(tp_wma_handle wma, uint8_t *bssid, uint8_t *vdev_id); QDF_STATUS wma_vdev_detach(tp_wma_handle wma_handle, @@ -552,8 +553,8 @@ void wma_remove_peer(tp_wma_handle wma, uint8_t *bssid, uint8_t vdev_id, void *peer, bool roam_synch_in_progress); -QDF_STATUS wma_create_peer(tp_wma_handle wma, void *pdev, - void *vdev, +QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev, + struct cdp_vdev *vdev, u8 peer_addr[IEEE80211_ADDR_LEN], uint32_t peer_type, uint8_t vdev_id, bool roam_synch_in_progress); @@ -561,7 +562,7 @@ QDF_STATUS wma_create_peer(tp_wma_handle wma, void *pdev, int wma_vdev_stop_resp_handler(void *handle, uint8_t *cmd_param_info, u32 len); -void *wma_vdev_attach(tp_wma_handle wma_handle, +struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle, struct add_sta_self_params *self_sta_req, uint8_t generateRsp); diff --git a/core/wma/src/wma_data.c b/core/wma/src/wma_data.c index d09f84d2695f..710aef5d9798 100644 --- a/core/wma/src/wma_data.c +++ b/core/wma/src/wma_data.c @@ -81,6 +81,7 @@ #include "wlan_objmgr_pdev_obj.h" #include "wlan_objmgr_vdev_obj.h" #include "wlan_objmgr_peer_obj.h" +#include typedef struct { int32_t rate; @@ -955,7 +956,7 @@ int wma_peer_state_change_event_handler(void *handle, { WMI_PEER_STATE_EVENTID_param_tlvs *param_buf; wmi_peer_state_event_fixed_param *event; - void *vdev; + struct cdp_vdev *vdev; tp_wma_handle wma_handle = (tp_wma_handle) handle; if (!event_buff) { @@ -976,7 +977,8 @@ int wma_peer_state_change_event_handler(void *handle, return -EINVAL; } - if ((cdp_get_opmode(cds_get_context(QDF_MODULE_ID_SOC), vdev) == + if ((cdp_get_opmode(cds_get_context(QDF_MODULE_ID_SOC), + vdev) == wlan_op_mode_sta) && event->state == WMI_PEER_STATE_AUTHORIZED) { /* @@ -1167,8 +1169,8 @@ QDF_STATUS wma_set_mcc_channel_time_quota */ void wma_set_linkstate(tp_wma_handle wma, tpLinkStateParams params) { - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; void *peer; void *soc = cds_get_context(QDF_MODULE_ID_SOC); uint8_t vdev_id, peer_id; @@ -1217,15 +1219,16 @@ void wma_set_linkstate(tp_wma_handle wma, tpLinkStateParams params) } else { WMA_LOGD("%s, vdev_id: %d, pausing tx_ll_queue for VDEV_STOP", __func__, vdev_id); - cdp_fc_vdev_pause(soc, wma->interfaces[vdev_id].handle, - OL_TXQ_PAUSE_REASON_VDEV_STOP); + cdp_fc_vdev_pause(soc, + wma->interfaces[vdev_id].handle, + OL_TXQ_PAUSE_REASON_VDEV_STOP); wma->interfaces[vdev_id].pause_bitmap |= (1 << PAUSE_TYPE_HOST); if (wmi_unified_vdev_stop_send(wma->wmi_handle, vdev_id)) { WMA_LOGP("%s: %d Failed to send vdev stop", __func__, __LINE__); } peer = cdp_peer_find_by_addr(soc, pdev, - params->bssid, &peer_id); + params->bssid, &peer_id); if (peer) { WMA_LOGP("%s: Deleting peer %pM vdev id %d", __func__, params->bssid, vdev_id); @@ -1258,7 +1261,8 @@ void wma_unpause_vdev(tp_wma_handle wma) /* When host resume, by default, unpause all active vdev */ if (wma->interfaces[vdev_id].pause_bitmap) { cdp_fc_vdev_unpause(cds_get_context(QDF_MODULE_ID_SOC), - wma->interfaces[vdev_id].handle, 0xffffffff); + wma->interfaces[vdev_id].handle, + 0xffffffff); wma->interfaces[vdev_id].pause_bitmap = 0; } #endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */ @@ -1513,19 +1517,22 @@ QDF_STATUS wma_tx_attach(tp_wma_handle wma_handle) (p_cds_contextType) (wma_handle->cds_context); /* Get the txRx Pdev handle */ - void *txrx_pdev = cds_handle->pdev_txrx_ctx; + struct cdp_pdev *txrx_pdev = cds_handle->pdev_txrx_ctx; void *soc = cds_get_context(QDF_MODULE_ID_SOC); /* Register for Tx Management Frames */ - cdp_mgmt_tx_cb_set(soc, txrx_pdev, GENERIC_NODOWLOAD_ACK_COMP_INDEX, - NULL, wma_mgmt_tx_ack_comp_hdlr, wma_handle); + cdp_mgmt_tx_cb_set(soc, txrx_pdev, + GENERIC_NODOWLOAD_ACK_COMP_INDEX, + NULL, wma_mgmt_tx_ack_comp_hdlr, wma_handle); - cdp_mgmt_tx_cb_set(soc, txrx_pdev, GENERIC_DOWNLD_COMP_NOACK_COMP_INDEX, - wma_mgmt_tx_dload_comp_hldr, NULL, wma_handle); + cdp_mgmt_tx_cb_set(soc, txrx_pdev, + GENERIC_DOWNLD_COMP_NOACK_COMP_INDEX, + wma_mgmt_tx_dload_comp_hldr, NULL, wma_handle); - cdp_mgmt_tx_cb_set(soc, txrx_pdev, GENERIC_DOWNLD_COMP_ACK_COMP_INDEX, - wma_mgmt_tx_dload_comp_hldr, - wma_mgmt_tx_ack_comp_hdlr, wma_handle); + cdp_mgmt_tx_cb_set(soc, txrx_pdev, + GENERIC_DOWNLD_COMP_ACK_COMP_INDEX, + wma_mgmt_tx_dload_comp_hldr, + wma_mgmt_tx_ack_comp_hdlr, wma_handle); /* Store the Mac Context */ wma_handle->mac_context = cds_handle->pMACContext; @@ -1551,7 +1558,7 @@ QDF_STATUS wma_tx_detach(tp_wma_handle wma_handle) (p_cds_contextType) (wma_handle->cds_context); /* Get the txRx Pdev handle */ - void *txrx_pdev = cds_handle->pdev_txrx_ctx; + struct cdp_pdev *txrx_pdev = cds_handle->pdev_txrx_ctx; if (!soc) { WMA_LOGE("%s:SOC context is NULL", __func__); @@ -1562,8 +1569,9 @@ QDF_STATUS wma_tx_detach(tp_wma_handle wma_handle) /* Deregister with TxRx for Tx Mgmt completion call back */ for (frame_index = 0; frame_index < FRAME_INDEX_MAX; frame_index++) { - cdp_mgmt_tx_cb_set(soc, txrx_pdev, frame_index, NULL, - NULL, txrx_pdev); + cdp_mgmt_tx_cb_set(soc, + txrx_pdev, + frame_index, NULL, NULL, txrx_pdev); } } @@ -1644,8 +1652,8 @@ int wma_mcc_vdev_tx_pause_evt_handler(void *handle, uint8_t *event, */ if (!wma->interfaces[vdev_id].pause_bitmap) cdp_fc_vdev_pause(soc, - wma->interfaces[vdev_id]. - handle, + wma-> + interfaces[vdev_id].handle, OL_TXQ_PAUSE_REASON_FW); wma->interfaces[vdev_id].pause_bitmap |= (1 << wmi_event->pause_type); @@ -1663,7 +1671,7 @@ int wma_mcc_vdev_tx_pause_evt_handler(void *handle, uint8_t *event, * UNPAUSE VDEV */ cdp_fc_vdev_unpause(soc, wma->interfaces[vdev_id] - .handle, + .handle, OL_TXQ_PAUSE_REASON_FW); } } @@ -1747,7 +1755,7 @@ QDF_STATUS wma_process_init_bad_peer_tx_ctl_info(tp_wma_handle wma, struct t_bad_peer_txtcl_config *config) { /* Parameter sanity check */ - void *curr_pdev; + struct cdp_pdev *curr_pdev; void *soc = cds_get_context(QDF_MODULE_ID_SOC); if (NULL == wma || NULL == config) { @@ -1771,7 +1779,8 @@ QDF_STATUS wma_process_init_bad_peer_tx_ctl_info(tp_wma_handle wma, if (config->enable) { int i = 0; - cdp_bad_peer_txctl_set_setting(soc, curr_pdev, + cdp_bad_peer_txctl_set_setting(soc, + curr_pdev, config->enable, config->period, config->txq_limit); @@ -1781,9 +1790,11 @@ QDF_STATUS wma_process_init_bad_peer_tx_ctl_info(tp_wma_handle wma, threshold = config->threshold[i].thresh[0]; limit = config->threshold[i].txlimit; - cdp_bad_peer_txctl_update_threshold(soc, curr_pdev, i, - threshold, - limit); + cdp_bad_peer_txctl_update_threshold(soc, + curr_pdev, + i, + threshold, + limit); } } @@ -1807,7 +1818,7 @@ QDF_STATUS wma_process_init_thermal_info(tp_wma_handle wma, t_thermal_mgmt *pThermalParams) { t_thermal_cmd_params thermal_params; - void *curr_pdev; + struct cdp_pdev *curr_pdev; if (NULL == wma || NULL == pThermalParams) { WMA_LOGE("TM Invalid input"); @@ -1932,7 +1943,7 @@ static void wma_set_thermal_level_ind(u_int8_t level) QDF_STATUS wma_process_set_thermal_level(tp_wma_handle wma, uint8_t thermal_level) { - void *curr_pdev; + struct cdp_pdev *curr_pdev; if (NULL == wma) { WMA_LOGE("TM Invalid input"); @@ -1967,7 +1978,8 @@ QDF_STATUS wma_process_set_thermal_level(tp_wma_handle wma, wma->thermal_mgmt_info.thermalCurrLevel = thermal_level; cdp_throttle_set_level(cds_get_context(QDF_MODULE_ID_SOC), - curr_pdev, thermal_level); + curr_pdev, + thermal_level); /* Send SME SET_THERMAL_LEVEL_IND message */ wma_set_thermal_level_ind(thermal_level); @@ -2058,7 +2070,7 @@ int wma_thermal_mgmt_evt_handler(void *handle, uint8_t *event, uint8_t thermal_level; t_thermal_cmd_params thermal_params; WMI_THERMAL_MGMT_EVENTID_param_tlvs *param_buf; - void *curr_pdev; + struct cdp_pdev *curr_pdev; if (NULL == event || NULL == handle) { WMA_LOGE("Invalid thermal mitigation event buffer"); @@ -2105,7 +2117,8 @@ int wma_thermal_mgmt_evt_handler(void *handle, uint8_t *event, /* Inform txrx */ cdp_throttle_set_level(cds_get_context(QDF_MODULE_ID_SOC), - curr_pdev, thermal_level); + curr_pdev, + thermal_level); /* Send SME SET_THERMAL_LEVEL_IND message */ wma_set_thermal_level_ind(thermal_level); @@ -2505,7 +2518,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen, int32_t status; QDF_STATUS qdf_status = QDF_STATUS_SUCCESS; int32_t is_high_latency; - void *txrx_vdev; + struct cdp_vdev *txrx_vdev; enum frame_index tx_frm_index = GENERIC_NODOWNLD_NOACK_COMP_INDEX; tpSirMacFrameCtl pFc = (tpSirMacFrameCtl) (qdf_nbuf_data(tx_frame)); uint8_t use_6mbps = 0; @@ -2520,7 +2533,7 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen, tpAniSirGlobal pMac; tpSirMacMgmtHdr mHdr; struct wmi_mgmt_params mgmt_param = {0}; - void *ctrl_pdev; + struct cdp_cfg *ctrl_pdev; void *soc = cds_get_context(QDF_MODULE_ID_SOC); struct ieee80211_frame *wh; struct wlan_objmgr_peer *peer = NULL; @@ -2736,11 +2749,15 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen, wma_handle->last_umac_data_nbuf = skb; /* Send the Data frame to TxRx in Non Standard Path */ - cdp_hl_tdls_flag_reset(soc, txrx_vdev, tdlsFlag); + cdp_hl_tdls_flag_reset(soc, + txrx_vdev, tdlsFlag); - ret = cdp_tx_non_std(soc, txrx_vdev, OL_TX_SPEC_NO_FREE, skb); + ret = cdp_tx_non_std(soc, + txrx_vdev, + OL_TX_SPEC_NO_FREE, skb); - cdp_hl_tdls_flag_reset(soc, txrx_vdev, false); + cdp_hl_tdls_flag_reset(soc, + txrx_vdev, false); if (ret) { WMA_LOGE("TxRx Rejected. Fail to do Tx"); @@ -2763,7 +2780,8 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen, return QDF_STATUS_SUCCESS; } - ctrl_pdev = cdp_get_ctrl_pdev_from_vdev(soc, txrx_vdev); + ctrl_pdev = cdp_get_ctrl_pdev_from_vdev(soc, + txrx_vdev); if (ctrl_pdev == NULL) { WMA_LOGE("ol_pdev_handle is NULL\n"); return QDF_STATUS_E_FAILURE; @@ -2884,8 +2902,9 @@ QDF_STATUS wma_tx_packet(void *wma_context, void *tx_frame, uint16_t frmLen, } } else { /* Hand over the Tx Mgmt frame to TxRx */ - status = cdp_mgmt_send_ext(soc, txrx_vdev, tx_frame, - tx_frm_index, use_6mbps, chanfreq); + status = cdp_mgmt_send_ext(soc, + txrx_vdev, tx_frame, + tx_frm_index, use_6mbps, chanfreq); } /* @@ -3082,7 +3101,8 @@ void wma_tx_abort(uint8_t vdev_id) WMA_LOGI("%s: vdevid %d bssid %pM", __func__, vdev_id, iface->bssid); iface->pause_bitmap |= (1 << PAUSE_TYPE_HOST); cdp_fc_vdev_pause(cds_get_context(QDF_MODULE_ID_SOC), - iface->handle, OL_TXQ_PAUSE_REASON_TX_ABORT); + iface->handle, + OL_TXQ_PAUSE_REASON_TX_ABORT); /* Flush all TIDs except MGMT TID for this peer in Target */ peer_tid_bitmap &= ~(0x1 << WMI_MGMT_TID); diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 9a9eae7eb8d7..a3b90b87ba43 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -76,6 +76,7 @@ #include "cds_concurrency.h" #include "wma_nan_datapath.h" #include "wlan_tgt_def_config.h" +#include /** * wma_find_vdev_by_addr() - find vdev_id from mac address @@ -85,7 +86,7 @@ * * Return: Returns vdev handle or NULL if mac address don't match */ -void *wma_find_vdev_by_addr(tp_wma_handle wma, uint8_t *addr, +struct cdp_vdev *wma_find_vdev_by_addr(tp_wma_handle wma, uint8_t *addr, uint8_t *vdev_id) { uint8_t i; @@ -166,7 +167,7 @@ bool wma_is_vdev_in_ibss_mode(tp_wma_handle wma, uint8_t vdev_id) * Return: fill vdev_id with appropriate vdev id and return vdev * handle or NULL if not found. */ -void *wma_find_vdev_by_bssid(tp_wma_handle wma, uint8_t *bssid, +struct cdp_vdev *wma_find_vdev_by_bssid(tp_wma_handle wma, uint8_t *bssid, uint8_t *vdev_id) { int i; @@ -472,7 +473,7 @@ static QDF_STATUS wma_self_peer_remove(tp_wma_handle wma_handle, uint8_t generate_vdev_rsp) { void *peer; - void *pdev; + struct cdp_pdev *pdev; uint8_t peer_id; uint8_t vdev_id = del_sta_self_req_param->session_id; struct wma_target_req *msg = NULL; @@ -489,8 +490,8 @@ static QDF_STATUS wma_self_peer_remove(tp_wma_handle wma_handle, } peer = cdp_peer_find_by_addr(soc, pdev, - del_sta_self_req_param->self_mac_addr, - &peer_id); + del_sta_self_req_param->self_mac_addr, + &peer_id); if (!peer) { WMA_LOGE("%s Failed to find peer %pM", __func__, del_sta_self_req_param->self_mac_addr); @@ -552,7 +553,8 @@ static QDF_STATUS wma_handle_vdev_detach(tp_wma_handle wma_handle, WMA_LOGE("vdev_id:%hu vdev_hdl:%p", vdev_id, iface->handle); if (!generate_rsp) { WMA_LOGE("Call txrx detach w/o callback for vdev %d", vdev_id); - cdp_vdev_detach(soc, iface->handle, NULL, NULL); + cdp_vdev_detach(soc, + iface->handle, NULL, NULL); iface->handle = NULL; wma_handle->interfaces[vdev_id].is_vdev_valid = false; goto out; @@ -581,7 +583,8 @@ static QDF_STATUS wma_handle_vdev_detach(tp_wma_handle wma_handle, wma_handle->wmi_cmd_rsp_runtime_lock); } WMA_LOGD("Call txrx detach with callback for vdev %d", vdev_id); - cdp_vdev_detach(soc, iface->handle, NULL, NULL); + cdp_vdev_detach(soc, + iface->handle, NULL, NULL); iface->handle = NULL; wma_handle->interfaces[vdev_id].is_vdev_valid = false; @@ -1145,7 +1148,8 @@ peer_detach: * * Return: QDF status */ -QDF_STATUS wma_create_peer(tp_wma_handle wma, void *pdev, void *vdev, +QDF_STATUS wma_create_peer(tp_wma_handle wma, struct cdp_pdev *pdev, + struct cdp_vdev *vdev, u8 peer_addr[IEEE80211_ADDR_LEN], uint32_t peer_type, uint8_t vdev_id, bool roam_synch_in_progress) @@ -1365,7 +1369,7 @@ int wma_vdev_stop_resp_handler(void *handle, uint8_t *cmd_param_info, WMI_VDEV_STOPPED_EVENTID_param_tlvs *param_buf; wmi_vdev_stopped_event_fixed_param *resp_event; struct wma_target_req *req_msg; - void *pdev; + struct cdp_pdev *pdev; struct wma_txrx_node *iface; int32_t status = 0; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -1528,12 +1532,12 @@ free_req_msg: * * Return: txrx vdev handle */ -void *wma_vdev_attach(tp_wma_handle wma_handle, +struct cdp_vdev *wma_vdev_attach(tp_wma_handle wma_handle, struct add_sta_self_params *self_sta_req, uint8_t generateRsp) { - void *txrx_vdev_handle = NULL; - void *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX); + struct cdp_vdev *txrx_vdev_handle = NULL; + struct cdp_pdev *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX); enum wlan_op_mode txrx_vdev_type; QDF_STATUS status = QDF_STATUS_SUCCESS; struct sAniSirGlobal *mac = cds_get_context(QDF_MODULE_ID_PE); @@ -1579,10 +1583,11 @@ void *wma_vdev_attach(tp_wma_handle wma_handle, goto end; } - txrx_vdev_handle = cdp_vdev_attach(soc, txrx_pdev, - self_sta_req->self_mac_addr, - self_sta_req->session_id, - txrx_vdev_type); + txrx_vdev_handle = cdp_vdev_attach(soc, + txrx_pdev, + self_sta_req->self_mac_addr, + self_sta_req->session_id, + txrx_vdev_type); wma_handle->interfaces[self_sta_req->session_id].pause_bitmap = 0; WMA_LOGD("vdev_id %hu, txrx_vdev_handle = %p", self_sta_req->session_id, @@ -2038,8 +2043,8 @@ QDF_STATUS wma_vdev_start(tp_wma_handle wma, WMA_LOGD("%s, vdev_id: %d, unpausing tx_ll_queue at VDEV_START", __func__, params.vdev_id); cdp_fc_vdev_unpause(cds_get_context(QDF_MODULE_ID_SOC), - wma->interfaces[params.vdev_id].handle, - 0xffffffff); + wma->interfaces[params.vdev_id].handle, + 0xffffffff); wma->interfaces[params.vdev_id].pause_bitmap = 0; } @@ -2418,7 +2423,7 @@ void wma_vdev_resp_timer(void *data) { tp_wma_handle wma; struct wma_target_req *tgt_req = (struct wma_target_req *)data; - void *pdev; + struct cdp_pdev *pdev; struct wma_target_req *msg; QDF_STATUS status = QDF_STATUS_SUCCESS; struct scheduler_msg sme_msg = { 0 }; @@ -2767,8 +2772,8 @@ wma_vdev_set_bss_params(tp_wma_handle wma, int vdev_id, */ static void wma_add_bss_ap_mode(tp_wma_handle wma, tpAddBssParams add_bss) { - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; struct wma_vdev_start_req req; void *peer; struct wma_target_req *msg; @@ -2807,7 +2812,8 @@ static void wma_add_bss_ap_mode(tp_wma_handle wma, tpAddBssParams add_bss) goto send_fail_resp; } - peer = cdp_peer_find_by_addr(soc, pdev, add_bss->bssId, &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev, + add_bss->bssId, &peer_id); if (!peer) { WMA_LOGE("%s Failed to find peer %pM", __func__, add_bss->bssId); @@ -2910,8 +2916,8 @@ send_fail_resp: */ static void wma_add_bss_ibss_mode(tp_wma_handle wma, tpAddBssParams add_bss) { - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; struct wma_vdev_start_req req; void *peer = NULL; struct wma_target_req *msg; @@ -2947,7 +2953,8 @@ static void wma_add_bss_ibss_mode(tp_wma_handle wma, tpAddBssParams add_bss) WMA_LOGA("IBSS BSS peer created with mac %pM", add_bss->selfMacAddr); - peer = cdp_peer_find_by_addr(soc, pdev, add_bss->selfMacAddr, &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev, + add_bss->selfMacAddr, &peer_id); if (!peer) { WMA_LOGE("%s Failed to find peer %pM", __func__, add_bss->selfMacAddr); @@ -3065,7 +3072,7 @@ send_fail_resp: */ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss) { - void *pdev; + struct cdp_pdev *pdev; struct wma_vdev_start_req req; struct wma_target_req *msg; uint8_t vdev_id = 0, peer_id; @@ -3132,8 +3139,9 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss) iface->shortSlotTimeSupported = add_bss->shortSlotTimeSupported; iface->nwType = add_bss->nwType; if (add_bss->nonRoamReassoc) { - peer = cdp_peer_find_by_addr(soc, pdev, add_bss->bssId, - &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, add_bss->bssId, + &peer_id); if (peer) { add_bss->staContext.staIdx = cdp_peer_get_local_peer_id(soc, peer); @@ -3142,11 +3150,13 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss) } if (add_bss->reassocReq) { #if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) || defined(QCA_LL_TX_FLOW_CONTROL_V2) - void *vdev; + struct cdp_vdev *vdev; #endif /* Called in preassoc state. BSSID peer is already added by set_linkstate */ - peer = cdp_peer_find_by_addr(soc, pdev, add_bss->bssId, - &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, + add_bss->bssId, + &peer_id); if (!peer) { WMA_LOGE("%s Failed to find peer %pM", __func__, add_bss->bssId); @@ -3238,7 +3248,7 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss) OL_TXRX_PEER_STATE_AUTH); } else { #if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) || defined(QCA_LL_TX_FLOW_CONTROL_V2) - void *vdev; + struct cdp_vdev *vdev; #endif WMA_LOGD("%s: Update peer(%pM) state into conn", __func__, add_bss->bssId); @@ -3246,7 +3256,7 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss) OL_TXRX_PEER_STATE_CONN); #if defined(QCA_LL_LEGACY_TX_FLOW_CONTROL) || defined(QCA_LL_TX_FLOW_CONTROL_V2) peer = cdp_peer_find_by_addr(soc, pdev, add_bss->bssId, - &peer_id); + &peer_id); if (!peer) { WMA_LOGE("%s:%d Failed to find peer %pM", __func__, __LINE__, add_bss->bssId); @@ -3315,7 +3325,7 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss) } send_bss_resp: cdp_peer_find_by_addr(soc, pdev, add_bss->bssId, - &add_bss->staContext.staIdx); + &add_bss->staContext.staIdx); add_bss->status = (add_bss->staContext.staIdx < 0) ? QDF_STATUS_E_FAILURE : QDF_STATUS_SUCCESS; add_bss->bssIdx = add_bss->staContext.smesessionId; @@ -3413,8 +3423,8 @@ void wma_add_bss(tp_wma_handle wma, tpAddBssParams params) static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) { enum ol_txrx_peer_state state = OL_TXRX_PEER_STATE_CONN; - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; void *peer; uint8_t peer_id; QDF_STATUS status; @@ -3454,7 +3464,7 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) iface = &wma->interfaces[add_sta->smesessionId]; peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, vdev, - add_sta->staMac, &peer_id); + add_sta->staMac, &peer_id); if (peer) { wma_remove_peer(wma, add_sta->staMac, add_sta->smesessionId, peer, false); @@ -3467,7 +3477,8 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) * exists on the pDev. As this peer belongs to other vDevs, just return * here. */ - peer = cdp_peer_find_by_addr(soc, pdev, add_sta->staMac, &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev, + add_sta->staMac, &peer_id); if (peer) { WMA_LOGE("%s: My vdev:%p, but Peer exists on other vdev with " "peer_addr %pM and peer_id %d", @@ -3486,8 +3497,9 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta) goto send_rsp; } - peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, vdev, - add_sta->staMac, &peer_id); + peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, + vdev, + add_sta->staMac, &peer_id); if (!peer) { WMA_LOGE("%s: Failed to find peer handle using peer mac %pM", __func__, add_sta->staMac); @@ -3627,8 +3639,8 @@ send_rsp: */ static void wma_add_tdls_sta(tp_wma_handle wma, tpAddStaParams add_sta) { - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; void *peer; uint8_t peer_id; QDF_STATUS status; @@ -3676,8 +3688,9 @@ static void wma_add_tdls_sta(tp_wma_handle wma, tpAddStaParams add_sta) goto send_rsp; } - peer = cdp_peer_find_by_addr(soc, pdev, add_sta->staMac, - &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev, + add_sta->staMac, + &peer_id); if (!peer) { WMA_LOGE("%s: addSta, failed to find peer handle for mac %pM", __func__, add_sta->staMac); @@ -3711,8 +3724,9 @@ static void wma_add_tdls_sta(tp_wma_handle wma, tpAddStaParams add_sta) } else { /* its a change sta request * */ peer = - cdp_peer_find_by_addr(soc, pdev, add_sta->staMac, - &peer_id); + cdp_peer_find_by_addr(soc, pdev, + add_sta->staMac, + &peer_id); if (!peer) { WMA_LOGE("%s: changeSta,failed to find peer handle for mac %pM", __func__, add_sta->staMac); @@ -3784,7 +3798,7 @@ send_rsp: */ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params) { - void *pdev; + struct cdp_pdev *pdev; QDF_STATUS status = QDF_STATUS_SUCCESS; void *peer; struct wma_txrx_node *iface; @@ -3817,7 +3831,9 @@ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params) __func__, params->staType); goto out; } - peer = cdp_peer_find_by_addr(soc, pdev, params->bssId, ¶ms->staIdx); + peer = cdp_peer_find_by_addr(soc, + pdev, + params->bssId, ¶ms->staIdx); if (peer == NULL) { WMA_LOGE("%s: Peer is not present vdev id %d for %pM", __func__, params->smesessionId, params->bssId); @@ -4032,7 +4048,7 @@ out: static void wma_delete_sta_req_ap_mode(tp_wma_handle wma, tpDeleteStaParams del_sta) { - void *pdev; + struct cdp_pdev *pdev; void *peer; struct wma_target_req *msg; uint8_t *peer_mac_addr; @@ -4046,7 +4062,8 @@ static void wma_delete_sta_req_ap_mode(tp_wma_handle wma, goto send_del_rsp; } - peer = cdp_peer_find_by_local_id(soc, pdev, del_sta->staIdx); + peer = cdp_peer_find_by_local_id(soc, + pdev, del_sta->staIdx); if (!peer) { WMA_LOGE("%s: Failed to get peer handle using peer id %d", __func__, del_sta->staIdx); @@ -4293,11 +4310,11 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta) */ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params) { - void *pdev; + struct cdp_pdev *pdev; void *peer = NULL; QDF_STATUS status = QDF_STATUS_SUCCESS; uint8_t peer_id; - void *txrx_vdev = NULL; + struct cdp_vdev *txrx_vdev = NULL; struct wma_txrx_node *iface; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -4308,7 +4325,9 @@ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params) goto fail_del_bss_ho_fail; } - peer = cdp_peer_find_by_addr(soc, pdev, params->bssid, &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, + params->bssid, &peer_id); if (!peer) { WMA_LOGP("%s: Failed to find peer %pM", __func__, params->bssid); @@ -4390,13 +4409,13 @@ fail_del_bss_ho_fail: */ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) { - void *pdev; + struct cdp_pdev *pdev; void *peer = NULL; struct wma_target_req *msg; QDF_STATUS status = QDF_STATUS_SUCCESS; uint8_t peer_id; uint8_t max_wait_iterations = 0; - void *txrx_vdev = NULL; + struct cdp_vdev *txrx_vdev = NULL; bool roam_synch_in_progress = false; struct wma_txrx_node *iface; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -4409,7 +4428,8 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) } if (wma_is_vdev_in_ibss_mode(wma, params->smesessionId)) /* in rome ibss case, self mac is used to create the bss peer */ - peer = cdp_peer_find_by_addr(soc, pdev, + peer = cdp_peer_find_by_addr(soc, + pdev, wma->interfaces[params->smesessionId].addr, &peer_id); else if (WMA_IS_VDEV_IN_NDI_MODE(wma->interfaces, @@ -4419,8 +4439,9 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) wma->interfaces[params->smesessionId].addr, &peer_id); else - peer = cdp_peer_find_by_addr(soc, pdev, params->bssid, - &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev, + params->bssid, + &peer_id); if (!peer) { WMA_LOGP("%s: Failed to find peer %pM", __func__, @@ -4498,8 +4519,9 @@ void wma_delete_bss(tp_wma_handle wma, tpDeleteBssParams params) WMA_LOGD("%s, vdev_id: %d, pausing tx_ll_queue for VDEV_STOP (del_bss)", __func__, params->smesessionId); iface->pause_bitmap |= (1 << PAUSE_TYPE_HOST); - cdp_fc_vdev_pause(soc, wma->interfaces[params->smesessionId].handle, - OL_TXQ_PAUSE_REASON_VDEV_STOP); + cdp_fc_vdev_pause(soc, + wma->interfaces[params->smesessionId].handle, + OL_TXQ_PAUSE_REASON_VDEV_STOP); iface->pause_bitmap |= (1 << PAUSE_TYPE_HOST); if (wmi_unified_vdev_stop_send(wma->wmi_handle, params->smesessionId)) { @@ -4555,7 +4577,7 @@ int32_t wma_find_vdev_by_type(tp_wma_handle wma, int32_t type) void wma_set_vdev_intrabss_fwd(tp_wma_handle wma_handle, tpDisableIntraBssFwd pdis_intra_fwd) { - void *txrx_vdev; + struct cdp_vdev *txrx_vdev; WMA_LOGD("%s:intra_fwd:vdev(%d) intrabss_dis=%s", __func__, pdis_intra_fwd->sessionId, (pdis_intra_fwd->disableintrabssfwd ? "true" : "false")); diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index 41087462c253..826d6a691486 100644 --- a/core/wma/src/wma_features.c +++ b/core/wma/src/wma_features.c @@ -69,7 +69,7 @@ #include "radar_filters.h" #include "wma_internal.h" #include "wma_nan_datapath.h" - +#include #ifndef ARRAY_LENGTH #define ARRAY_LENGTH(a) (sizeof(a) / sizeof((a)[0])) #endif @@ -4868,7 +4868,7 @@ static QDF_STATUS wma_set_tsm_interval(tAddTsParams *req) * */ uint32_t interval_milliseconds; - void *pdev = cds_get_context(QDF_MODULE_ID_TXRX); + struct cdp_pdev *pdev = cds_get_context(QDF_MODULE_ID_TXRX); if (NULL == pdev) { WMA_LOGE("%s: Failed to get pdev", __func__); return QDF_STATUS_E_FAILURE; @@ -4877,7 +4877,8 @@ static QDF_STATUS wma_set_tsm_interval(tAddTsParams *req) interval_milliseconds = (req->tsm_interval * 1024) / 1000; cdp_tx_set_compute_interval(cds_get_context(QDF_MODULE_ID_SOC), - pdev, interval_milliseconds); + pdev, + interval_milliseconds); return QDF_STATUS_SUCCESS; } #else @@ -5057,7 +5058,7 @@ QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, * than required by TSM, hence different (6) size array used */ uint16_t bin_values[QCA_TX_DELAY_HIST_REPORT_BINS] = { 0, }; - void *pdev = cds_get_context(QDF_MODULE_ID_TXRX); + struct cdp_pdev *pdev = cds_get_context(QDF_MODULE_ID_TXRX); void *soc = cds_get_context(QDF_MODULE_ID_SOC); if (NULL == pdev) { @@ -5067,9 +5068,17 @@ QDF_STATUS wma_process_tsm_stats_req(tp_wma_handle wma_handler, } /* get required values from data path APIs */ - cdp_tx_delay(soc, pdev, &queue_delay_microsec, &tx_delay_microsec, tid); - cdp_tx_delay_hist(soc, pdev, bin_values, tid); - cdp_tx_packet_count(soc, pdev, &packet_count, &packet_loss_count, tid); + cdp_tx_delay(soc, + pdev, + &queue_delay_microsec, + &tx_delay_microsec, tid); + cdp_tx_delay_hist(soc, + pdev, + bin_values, tid); + cdp_tx_packet_count(soc, + pdev, + &packet_count, + &packet_loss_count, tid); pTsmRspParams = qdf_mem_malloc(sizeof(*pTsmRspParams)); if (NULL == pTsmRspParams) { @@ -5578,7 +5587,7 @@ QDF_STATUS wma_process_get_peer_info_req uint16_t len; wmi_buf_t buf; int32_t vdev_id; - void *pdev; + struct cdp_pdev *pdev; void *peer; void *soc = cds_get_context(QDF_MODULE_ID_SOC); uint8_t peer_mac[IEEE80211_ADDR_LEN]; @@ -5610,7 +5619,8 @@ QDF_STATUS wma_process_get_peer_info_req qdf_mem_copy(peer_mac, bcast_mac, IEEE80211_ADDR_LEN); } else { /*get info for a single peer */ - peer = cdp_peer_find_by_local_id(soc, pdev, pReq->staIdx); + peer = cdp_peer_find_by_local_id(soc, + pdev, pReq->staIdx); if (!peer) { WMA_LOGE("%s: Failed to get peer handle using peer id %d", __func__, pReq->staIdx); @@ -7152,7 +7162,7 @@ int wma_update_tdls_peer_state(WMA_HANDLE handle, { tp_wma_handle wma_handle = (tp_wma_handle) handle; uint32_t i; - void *pdev; + struct cdp_pdev *pdev; uint8_t peer_id; void *peer; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -7213,9 +7223,10 @@ int wma_update_tdls_peer_state(WMA_HANDLE handle, goto end_tdls_peer_state; } - peer = cdp_peer_find_by_addr(soc, pdev, - peerStateParams->peerMacAddr, - &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, + peerStateParams->peerMacAddr, + &peer_id); if (!peer) { WMA_LOGE("%s: Failed to get peer handle using peer mac %pM", __func__, peerStateParams->peerMacAddr); @@ -7238,8 +7249,9 @@ int wma_update_tdls_peer_state(WMA_HANDLE handle, peerStateParams->vdevId); wma_remove_peer(wma_handle, peer_mac_addr, peerStateParams->vdevId, peer, false); - cdp_peer_update_last_real_peer(soc, pdev, peer, &peer_id, - restore_last_peer); + cdp_peer_update_last_real_peer(soc, + pdev, peer, &peer_id, + restore_last_peer); } end_tdls_peer_state: diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index d55b3a89fa5b..e1d4e248b484 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -84,6 +84,7 @@ #include "target_if.h" +#include #define WMA_LOG_COMPLETION_TIMER 10000 /* 10 seconds */ #define WMI_TLV_HEADROOM 128 @@ -745,14 +746,15 @@ static int32_t wma_set_priv_cfg(tp_wma_handle wma_handle, case WMA_VDEV_TXRX_GET_IPA_UC_FW_STATS_CMDID: { - void *pdev; + struct cdp_pdev *pdev; pdev = cds_get_context(QDF_MODULE_ID_TXRX); if (!pdev) { WMA_LOGE("pdev NULL for uc stat"); return -EINVAL; } - cdp_ipa_get_stat(cds_get_context(QDF_MODULE_ID_SOC), pdev); + cdp_ipa_get_stat(cds_get_context(QDF_MODULE_ID_SOC), + pdev); } break; @@ -917,7 +919,7 @@ static void wma_process_cli_set_cmd(tp_wma_handle wma, break; case GEN_CMD: { - void *vdev = NULL; + struct cdp_vdev *vdev = NULL; struct wma_txrx_node *intr = wma->interfaces; vdev = wma_find_vdev_by_id(wma, privcmd->param_vdev_id); @@ -3218,7 +3220,8 @@ QDF_STATUS wma_stop(void *cds_ctx, uint8_t reason) wma_handle->interfaces[i].vdev_up) { cdp_fc_vdev_flush( cds_get_context(QDF_MODULE_ID_SOC), - wma_handle->interfaces[i].handle); + wma_handle-> + interfaces[i].handle); } } qdf_status = wma_tx_detach(wma_handle); @@ -3785,16 +3788,16 @@ static inline void wma_update_target_services(tp_wma_handle wh, if (WMI_SERVICE_IS_ENABLED(wh->wmi_service_bitmap, WMI_SERVICE_TX_MSDU_ID_NEW_PARTITION_SUPPORT)) { cdp_ipa_set_uc_tx_partition_base( - cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_CFG), - HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN); + cds_get_context(QDF_MODULE_ID_SOC), + (struct cdp_cfg *)cds_get_context(QDF_MODULE_ID_CFG), + HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN); WMA_LOGI("%s: TX_MSDU_ID_NEW_PARTITION=%d", __func__, HTT_TX_IPA_NEW_MSDU_ID_SPACE_BEGIN); } else { cdp_ipa_set_uc_tx_partition_base( - cds_get_context(QDF_MODULE_ID_SOC), - cds_get_context(QDF_MODULE_ID_CFG), - HTT_TX_IPA_MSDU_ID_SPACE_BEGIN); + cds_get_context(QDF_MODULE_ID_SOC), + (struct cdp_cfg *)cds_get_context(QDF_MODULE_ID_CFG), + HTT_TX_IPA_MSDU_ID_SPACE_BEGIN); WMA_LOGI("%s: TX_MSDU_ID_OLD_PARTITION=%d", __func__, HTT_TX_IPA_MSDU_ID_SPACE_BEGIN); } @@ -6251,7 +6254,7 @@ QDF_STATUS wma_mc_process_msg(void *cds_context, struct scheduler_msg *msg) { QDF_STATUS qdf_status = QDF_STATUS_SUCCESS; tp_wma_handle wma_handle; - void *txrx_vdev_handle = NULL; + struct cdp_vdev *txrx_vdev_handle = NULL; extern uint8_t *mac_trace_get_wma_msg_string(uint16_t wmaMsg); void *soc = cds_get_context(QDF_MODULE_ID_SOC); diff --git a/core/wma/src/wma_mgmt.c b/core/wma/src/wma_mgmt.c index 896d70e475a6..d971d3249ffa 100644 --- a/core/wma/src/wma_mgmt.c +++ b/core/wma/src/wma_mgmt.c @@ -76,7 +76,7 @@ #include "wlan_objmgr_pdev_obj.h" #include "wlan_objmgr_vdev_obj.h" #include "wlan_lmac_if_api.h" - +#include /** * wma_send_bcn_buf_ll() - prepare and send beacon buffer to fw for LL @@ -88,7 +88,7 @@ * Return: none */ static void wma_send_bcn_buf_ll(tp_wma_handle wma, - void *pdev, + struct cdp_pdev *pdev, uint8_t vdev_id, WMI_HOST_SWBA_EVENTID_param_tlvs *param_buf) { @@ -247,7 +247,7 @@ int wma_beacon_swba_handler(void *handle, uint8_t *event, uint32_t len) WMI_HOST_SWBA_EVENTID_param_tlvs *param_buf; wmi_host_swba_event_fixed_param *swba_event; uint32_t vdev_map; - void *pdev; + struct cdp_pdev *pdev; uint8_t vdev_id = 0; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -269,7 +269,7 @@ int wma_beacon_swba_handler(void *handle, uint8_t *event, uint32_t len) if (!(vdev_map & 0x1)) continue; if (!cdp_cfg_is_high_latency(soc, - cds_get_context(QDF_MODULE_ID_CFG))) + (struct cdp_cfg *)cds_get_context(QDF_MODULE_ID_CFG))) wma_send_bcn_buf_ll(wma, pdev, vdev_id, param_buf); break; } @@ -295,7 +295,7 @@ int wma_peer_sta_kickout_event_handler(void *handle, u8 *event, u32 len) wmi_peer_sta_kickout_event_fixed_param *kickout_event = NULL; uint8_t vdev_id, peer_id, macaddr[IEEE80211_ADDR_LEN]; void *peer; - void *pdev; + struct cdp_pdev *pdev; tpDeleteStaContext del_sta_ctx; tpSirIbssPeerInactivityInd p_inactivity; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -309,7 +309,7 @@ int wma_peer_sta_kickout_event_handler(void *handle, u8 *event, u32 len) return -EINVAL; } WMI_MAC_ADDR_TO_CHAR_ARRAY(&kickout_event->peer_macaddr, macaddr); - peer = cdp_peer_find_by_addr(soc, pdev, macaddr, &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev, macaddr, &peer_id); if (!peer) { WMA_LOGE("PEER [%pM] not found", macaddr); return -EINVAL; @@ -781,7 +781,7 @@ static inline uint8_t wma_parse_mpdudensity(uint8_t mpdudensity) */ static void wma_unified_peer_state_update( - void *pdev, + struct cdp_pdev *pdev, uint8_t *sta_mac, uint8_t *bss_addr, uint8_t sta_type) @@ -799,7 +799,7 @@ wma_unified_peer_state_update( static inline void wma_unified_peer_state_update( - void *pdev, + struct cdp_pdev *pdev, uint8_t *sta_mac, uint8_t *bss_addr, uint8_t sta_type) @@ -825,7 +825,7 @@ QDF_STATUS wma_send_peer_assoc(tp_wma_handle wma, tSirNwType nw_type, tpAddStaParams params) { - void *pdev; + struct cdp_pdev *pdev; struct peer_assoc_params *cmd; int32_t ret, max_rates, i; uint8_t rx_stbc, tx_stbc; @@ -1536,7 +1536,7 @@ void wma_set_bsskey(tp_wma_handle wma_handle, tpSetBssKeyParams key_info) uint32_t i; uint32_t def_key_idx = 0; uint32_t wlan_opmode; - void *txrx_vdev; + struct cdp_vdev *txrx_vdev; uint8_t *mac_addr; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -1573,7 +1573,8 @@ void wma_set_bsskey(tp_wma_handle wma_handle, tpSetBssKeyParams key_info) wma_handle->interfaces[key_info->smesessionId].bssid, IEEE80211_ADDR_LEN); } else { - mac_addr = cdp_get_vdev_mac_addr(soc, txrx_vdev); + mac_addr = cdp_get_vdev_mac_addr(soc, + txrx_vdev); if (mac_addr == NULL) { WMA_LOGE("%s: mac_addr is NULL for vdev with id %d", __func__, key_info->smesessionId); @@ -1681,7 +1682,7 @@ void wma_adjust_ibss_heart_beat_timer(tp_wma_handle wma, uint8_t vdev_id, int8_t peer_num_delta) { - void *vdev; + struct cdp_vdev *vdev; int16_t new_peer_num; uint16_t new_timer_value_sec; uint32_t new_timer_value_ms; @@ -1700,8 +1701,8 @@ void wma_adjust_ibss_heart_beat_timer(tp_wma_handle wma, } /* adjust peer numbers */ - new_peer_num = cdp_peer_update_ibss_add_peer_num_of_vdev(soc, vdev, - peer_num_delta); + new_peer_num = cdp_peer_update_ibss_add_peer_num_of_vdev(soc, + vdev, peer_num_delta); if (OL_TXRX_INVALID_NUM_PEERS == new_peer_num) { WMA_LOGE("new peer num %d out of valid boundary", new_peer_num); return; @@ -1721,7 +1722,8 @@ void wma_adjust_ibss_heart_beat_timer(tp_wma_handle wma, return; } if (new_timer_value_sec == - cdp_set_ibss_vdev_heart_beat_timer(soc, vdev, new_timer_value_sec)) { + cdp_set_ibss_vdev_heart_beat_timer(soc, + vdev, new_timer_value_sec)) { WMA_LOGD("timer value %d stays same, no need to notify target", new_timer_value_sec); return; @@ -1758,7 +1760,7 @@ static void wma_set_ibsskey_helper(tp_wma_handle wma_handle, QDF_STATUS status = QDF_STATUS_SUCCESS; uint32_t i; uint32_t def_key_idx = 0; - void *txrx_vdev; + struct cdp_vdev *txrx_vdev; int opmode; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -1842,8 +1844,8 @@ void wma_set_stakey(tp_wma_handle wma_handle, tpSetStaKeyParams key_info) { int32_t i; QDF_STATUS status = QDF_STATUS_SUCCESS; - void *txrx_pdev; - void *txrx_vdev; + struct cdp_pdev *txrx_pdev; + struct cdp_vdev *txrx_vdev; void *peer; uint8_t num_keys = 0, peer_id; struct wma_set_key_params key_params; @@ -1862,8 +1864,8 @@ void wma_set_stakey(tp_wma_handle wma_handle, tpSetStaKeyParams key_info) } peer = cdp_peer_find_by_addr(soc, txrx_pdev, - key_info->peer_macaddr.bytes, - &peer_id); + key_info->peer_macaddr.bytes, + &peer_id); if (!peer) { WMA_LOGE("%s:Invalid peer for key setting", __func__); key_info->status = QDF_STATUS_E_FAILURE; @@ -1979,7 +1981,7 @@ QDF_STATUS wma_process_update_edca_param_req(WMA_HANDLE handle, wmi_wmm_vparams wmm_param[WME_NUM_AC]; tSirMacEdcaParamRecord *edca_record; int ac; - void *pdev; + struct cdp_pdev *pdev; struct ol_tx_wmm_param_t ol_tx_wmm_param; uint8_t vdev_id; QDF_STATUS status; @@ -2020,7 +2022,8 @@ QDF_STATUS wma_process_update_edca_param_req(WMA_HANDLE handle, pdev = cds_get_context(QDF_MODULE_ID_TXRX); if (pdev) - cdp_set_wmm_param(soc, pdev, ol_tx_wmm_param); + cdp_set_wmm_param(soc, (struct cdp_pdev *)pdev, + ol_tx_wmm_param); else QDF_ASSERT(0); @@ -2328,7 +2331,7 @@ static int wma_p2p_go_set_beacon_ie(t_wma_handle *wma_handle, void wma_send_probe_rsp_tmpl(tp_wma_handle wma, tpSendProbeRespParams probe_rsp_info) { - void *vdev; + struct cdp_vdev *vdev; uint8_t vdev_id; tpAniProbeRspStruct probe_rsp; @@ -2372,7 +2375,7 @@ void wma_send_probe_rsp_tmpl(tp_wma_handle wma, */ void wma_send_beacon(tp_wma_handle wma, tpSendbeaconParams bcn_info) { - void *vdev; + struct cdp_vdev *vdev; uint8_t vdev_id; QDF_STATUS status; uint8_t *p2p_ie; @@ -2803,8 +2806,10 @@ void wma_hidden_ssid_vdev_restart(tp_wma_handle wma_handle, /* vdev stop -> vdev restart -> vdev up */ WMA_LOGD("%s, vdev_id: %d, pausing tx_ll_queue for VDEV_STOP", __func__, pReq->sessionId); - cdp_fc_vdev_pause(soc, wma_handle->interfaces[pReq->sessionId].handle, - OL_TXQ_PAUSE_REASON_VDEV_STOP); + cdp_fc_vdev_pause(soc, + wma_handle-> + interfaces[pReq->sessionId].handle, + OL_TXQ_PAUSE_REASON_VDEV_STOP); wma_handle->interfaces[pReq->sessionId].pause_bitmap |= (1 << PAUSE_TYPE_HOST); if (wmi_unified_vdev_stop_send(wma_handle->wmi_handle, pReq->sessionId)) { @@ -2871,8 +2876,8 @@ static bool wma_is_ccmp_pn_replay_attack(void *cds_ctx, struct ieee80211_frame *wh, uint8_t *ccmp_ptr) { - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; void *peer; uint8_t vdev_id, peer_id; uint8_t *last_pn_valid; @@ -2893,8 +2898,8 @@ wma_is_ccmp_pn_replay_attack(void *cds_ctx, struct ieee80211_frame *wh, } /* Retrieve the peer based on vdev and addr */ - peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, vdev, wh->i_addr2, - &peer_id); + peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, + vdev, wh->i_addr2, &peer_id); if (NULL == peer) { WMA_LOGE("%s: Failed to find peer, Not able to validate PN", @@ -3071,7 +3076,7 @@ static bool wma_is_pkt_drop_candidate(tp_wma_handle wma_handle, uint8_t *peer_addr, uint8_t subtype) { void *peer; - void *pdev_ctx; + struct cdp_pdev *pdev_ctx; uint8_t peer_id; bool should_drop = false; qdf_time_t *ptr; @@ -3096,7 +3101,8 @@ static bool wma_is_pkt_drop_candidate(tp_wma_handle wma_handle, goto end; } - peer = cdp_peer_find_by_addr(soc, pdev_ctx, peer_addr, &peer_id); + peer = cdp_peer_find_by_addr(soc, pdev_ctx, + peer_addr, &peer_id); if (!peer) { if (SIR_MAC_MGMT_ASSOC_REQ != subtype) { WMA_LOGI( diff --git a/core/wma/src/wma_nan_datapath.c b/core/wma/src/wma_nan_datapath.c index f743a30b610c..eb9e0134775d 100644 --- a/core/wma/src/wma_nan_datapath.c +++ b/core/wma/src/wma_nan_datapath.c @@ -34,7 +34,7 @@ #include "cdp_txrx_peer_ops.h" #include "cdp_txrx_tx_delay.h" #include "cdp_txrx_misc.h" - +#include /** * wma_handle_ndp_initiator_req() - NDP initiator request handler * @wma_handle: wma handle @@ -977,7 +977,7 @@ void wma_ndp_wow_event_callback(void *handle, void *event, uint32_t len, */ void wma_add_bss_ndi_mode(tp_wma_handle wma, tpAddBssParams add_bss) { - void *pdev; + struct cdp_pdev *pdev; struct wma_vdev_start_req req; void *peer = NULL; struct wma_target_req *msg; @@ -1000,7 +1000,9 @@ void wma_add_bss_ndi_mode(tp_wma_handle wma, tpAddBssParams add_bss) wma_set_bss_rate_flags(&wma->interfaces[vdev_id], add_bss); - peer = cdp_peer_find_by_addr(soc, pdev, add_bss->selfMacAddr, &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, + add_bss->selfMacAddr, &peer_id); if (!peer) { WMA_LOGE("%s Failed to find peer %pM", __func__, add_bss->selfMacAddr); @@ -1088,8 +1090,8 @@ QDF_STATUS wma_register_ndp_cb(QDF_STATUS (*pe_ndp_event_handler) void wma_add_sta_ndi_mode(tp_wma_handle wma, tpAddStaParams add_sta) { enum ol_txrx_peer_state state = OL_TXRX_PEER_STATE_CONN; - void *pdev; - void *vdev; + struct cdp_pdev *pdev; + struct cdp_vdev *vdev; void *peer; void *soc = cds_get_context(QDF_MODULE_ID_SOC); u_int8_t peer_id; @@ -1115,8 +1117,9 @@ void wma_add_sta_ndi_mode(tp_wma_handle wma, tpAddStaParams add_sta) WMA_LOGD(FL("vdev: %d, peer_mac_addr: "MAC_ADDRESS_STR), add_sta->smesessionId, MAC_ADDR_ARRAY(add_sta->staMac)); - peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, vdev, add_sta->staMac, - &peer_id); + peer = cdp_peer_find_by_addr_and_vdev(soc, + pdev, vdev, + add_sta->staMac, &peer_id); if (peer) { WMA_LOGE(FL("NDI peer already exists, peer_addr %pM"), add_sta->staMac); @@ -1131,10 +1134,13 @@ void wma_add_sta_ndi_mode(tp_wma_handle wma, tpAddStaParams add_sta) * exists on the pDev. As this peer belongs to other vDevs, just return * here. */ - peer = cdp_peer_find_by_addr(soc, pdev, add_sta->staMac, &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, + add_sta->staMac, &peer_id); if (peer) { WMA_LOGE(FL("vdev:%d, peer exists on other vdev with peer_addr %pM and peer_id %d"), - cdp_get_vdev_id(soc, vdev), add_sta->staMac, peer_id); + cdp_get_vdev_id(soc, vdev), + add_sta->staMac, peer_id); add_sta->status = QDF_STATUS_E_EXISTS; goto send_rsp; } @@ -1148,8 +1154,9 @@ void wma_add_sta_ndi_mode(tp_wma_handle wma, tpAddStaParams add_sta) goto send_rsp; } - peer = cdp_peer_find_by_addr_and_vdev(soc, pdev, vdev, add_sta->staMac, - &peer_id); + peer = cdp_peer_find_by_addr_and_vdev(soc, + pdev, vdev, + add_sta->staMac, &peer_id); if (!peer) { WMA_LOGE(FL("Failed to find peer handle using peer mac %pM"), add_sta->staMac); @@ -1183,7 +1190,7 @@ send_rsp: void wma_delete_sta_req_ndi_mode(tp_wma_handle wma, tpDeleteStaParams del_sta) { - void *pdev; + struct cdp_pdev *pdev; void *peer; void *soc = cds_get_context(QDF_MODULE_ID_SOC); diff --git a/core/wma/src/wma_ocb.c b/core/wma/src/wma_ocb.c index 7ecf92ff032c..eeafb9af3c0e 100644 --- a/core/wma/src/wma_ocb.c +++ b/core/wma/src/wma_ocb.c @@ -35,6 +35,7 @@ #include "wmi_unified_api.h" #include "cds_utils.h" #include +#include /** * wma_ocb_resp() - send the OCB set config response via callback @@ -58,7 +59,7 @@ int wma_ocb_set_config_resp(tp_wma_handle wma_handle, uint8_t status) */ if (status == QDF_STATUS_SUCCESS && vdev && req) { ocb_set_chan.ocb_channel_info = cdp_get_ocb_chan_info(soc, - vdev); + (struct cdp_vdev *)vdev); if (ocb_set_chan.ocb_channel_info) qdf_mem_free(ocb_set_chan.ocb_channel_info); ocb_set_chan.ocb_channel_count = @@ -84,7 +85,9 @@ int wma_ocb_set_config_resp(tp_wma_handle wma_handle, uint8_t status) ocb_set_chan.ocb_channel_info = 0; ocb_set_chan.ocb_channel_count = 0; } - cdp_set_ocb_chan_info(soc, vdev, ocb_set_chan); + cdp_set_ocb_chan_info(soc, + (struct cdp_vdev *)vdev, + ocb_set_chan); } /* Free the configuration that was saved in wma_ocb_set_config. */ diff --git a/core/wma/src/wma_power.c b/core/wma/src/wma_power.c index d0b4fdcf37ee..8ea484941859 100644 --- a/core/wma/src/wma_power.c +++ b/core/wma/src/wma_power.c @@ -349,19 +349,19 @@ void wma_set_tx_power(WMA_HANDLE handle, tp_wma_handle wma_handle = (tp_wma_handle) handle; uint8_t vdev_id; QDF_STATUS ret = QDF_STATUS_E_FAILURE; - void *pdev; + struct cdp_vdev *vdev; if (tx_pwr_params->dev_mode == QDF_SAP_MODE || tx_pwr_params->dev_mode == QDF_P2P_GO_MODE) { - pdev = wma_find_vdev_by_addr(wma_handle, + vdev = wma_find_vdev_by_addr(wma_handle, tx_pwr_params->bssId.bytes, &vdev_id); } else { - pdev = wma_find_vdev_by_bssid(wma_handle, + vdev = wma_find_vdev_by_bssid(wma_handle, tx_pwr_params->bssId.bytes, &vdev_id); } - if (!pdev) { + if (!vdev) { WMA_LOGE("vdev handle is invalid for %pM", tx_pwr_params->bssId.bytes); qdf_mem_free(tx_pwr_params); @@ -425,18 +425,18 @@ void wma_set_max_tx_power(WMA_HANDLE handle, tp_wma_handle wma_handle = (tp_wma_handle) handle; uint8_t vdev_id; QDF_STATUS ret = QDF_STATUS_E_FAILURE; - void *pdev; + struct cdp_vdev *vdev; int8_t prev_max_power; - pdev = wma_find_vdev_by_addr(wma_handle, tx_pwr_params->bssId.bytes, + vdev = wma_find_vdev_by_addr(wma_handle, tx_pwr_params->bssId.bytes, &vdev_id); - if (pdev == NULL) { + if (vdev == NULL) { /* not in SAP array. Try the station/p2p array */ - pdev = wma_find_vdev_by_bssid(wma_handle, + vdev = wma_find_vdev_by_bssid(wma_handle, tx_pwr_params->bssId.bytes, &vdev_id); } - if (!pdev) { + if (!vdev) { WMA_LOGE("vdev handle is invalid for %pM", tx_pwr_params->bssId.bytes); qdf_mem_free(tx_pwr_params); diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index cb1ceeddc14a..ec602da25055 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -71,7 +71,7 @@ #include "wlan_tgt_def_config.h" /* This is temporary, should be removed */ #include "ol_htt_api.h" - +#include #define WMA_MCC_MIRACAST_REST_TIME 400 #define WMA_SCAN_ID_MASK 0x0fff @@ -2847,7 +2847,7 @@ void wma_set_channel(tp_wma_handle wma, tpSwitchChannelParams params) QDF_STATUS status = QDF_STATUS_SUCCESS; uint8_t vdev_id, peer_id; void *peer; - void *pdev; + struct cdp_pdev *pdev; struct wma_txrx_node *intr = wma->interfaces; struct sir_hw_mode_params hw_mode = {0}; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -2866,7 +2866,9 @@ void wma_set_channel(tp_wma_handle wma, tpSwitchChannelParams params) goto send_resp; } - peer = cdp_peer_find_by_addr(soc, pdev, intr[vdev_id].bssid, &peer_id); + peer = cdp_peer_find_by_addr(soc, + pdev, + intr[vdev_id].bssid, &peer_id); qdf_mem_zero(&req, sizeof(req)); req.vdev_id = vdev_id; @@ -5316,7 +5318,7 @@ QDF_STATUS wma_extscan_get_capabilities(tp_wma_handle wma, QDF_STATUS wma_ipa_offload_enable_disable(tp_wma_handle wma, struct sir_ipa_offload_enable_disable *ipa_offload) { - void *vdev; + struct cdp_vdev *vdev; int32_t intra_bss_fwd = 0; struct ipa_offload_control_params params = {0}; QDF_STATUS status; diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c index 75c11a949728..e14e9da04b77 100644 --- a/core/wma/src/wma_utils.c +++ b/core/wma/src/wma_utils.c @@ -66,7 +66,7 @@ #include "cds_concurrency.h" #include "wmi_unified_param.h" #include "linux/ieee80211.h" - +#include /* MCS Based rate table */ /* HT MCS parameters with Nss = 1 */ static struct index_data_rate_type mcs_nss1[] = { @@ -2149,7 +2149,7 @@ int32_t wma_txrx_fw_stats_reset(tp_wma_handle wma_handle, uint8_t vdev_id, uint32_t value) { struct ol_txrx_stats_req req; - void *vdev; + struct cdp_vdev *vdev; void *soc = cds_get_context(QDF_MODULE_ID_SOC); if (!soc) { @@ -2164,8 +2164,7 @@ int32_t wma_txrx_fw_stats_reset(tp_wma_handle wma_handle, } qdf_mem_zero(&req, sizeof(req)); req.stats_type_reset_mask = value; - cdp_fw_stats_get(soc, vdev, &req, - false, false); + cdp_fw_stats_get(soc, vdev, &req, false, false); return 0; } @@ -2216,7 +2215,7 @@ int32_t wma_set_txrx_fw_stats_level(tp_wma_handle wma_handle, uint8_t vdev_id, uint32_t value) { struct ol_txrx_stats_req req; - void *vdev; + struct cdp_vdev *vdev; uint32_t l_up_mask; void *soc = cds_get_context(QDF_MODULE_ID_SOC); @@ -2241,8 +2240,7 @@ int32_t wma_set_txrx_fw_stats_level(tp_wma_handle wma_handle, l_up_mask = 1 << (value - 1); req.stats_type_upload_mask = l_up_mask; - cdp_fw_stats_get(soc, vdev, &req, - false, true); + cdp_fw_stats_get(soc, vdev, &req, false, true); return 0; }