Merge "qcacmn: fix skb cb corruption issue"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
2584ae5d53
@@ -120,7 +120,7 @@ const int dp_stats_mapping_table[][STATS_TYPE_MAX] = {
|
||||
{TXRX_FW_STATS_INVALID, TXRX_RX_HOST_STATS},
|
||||
};
|
||||
|
||||
/**
|
||||
/*
|
||||
* dp_setup_srng - Internal function to setup SRNG rings used by data path
|
||||
*/
|
||||
static int dp_srng_setup(struct dp_soc *soc, struct dp_srng *srng,
|
||||
@@ -158,11 +158,26 @@ static int dp_srng_setup(struct dp_soc *soc, struct dp_srng *srng,
|
||||
ring_params.msi_data = 0;
|
||||
ring_params.msi_addr = 0;
|
||||
|
||||
/* TODO: Setup interrupt timer and batch counter thresholds for
|
||||
/*
|
||||
* Setup interrupt timer and batch counter thresholds for
|
||||
* interrupt mitigation based on ring type
|
||||
*/
|
||||
ring_params.intr_timer_thres_us = 8;
|
||||
ring_params.intr_batch_cntr_thres_entries = 1;
|
||||
if (ring_type == REO_DST) {
|
||||
ring_params.intr_timer_thres_us =
|
||||
wlan_cfg_get_int_timer_threshold_rx(soc->wlan_cfg_ctx);
|
||||
ring_params.intr_batch_cntr_thres_entries =
|
||||
wlan_cfg_get_int_batch_threshold_rx(soc->wlan_cfg_ctx);
|
||||
} else if (ring_type == WBM2SW_RELEASE && (ring_num < 3)) {
|
||||
ring_params.intr_timer_thres_us =
|
||||
wlan_cfg_get_int_timer_threshold_tx(soc->wlan_cfg_ctx);
|
||||
ring_params.intr_batch_cntr_thres_entries =
|
||||
wlan_cfg_get_int_batch_threshold_tx(soc->wlan_cfg_ctx);
|
||||
} else {
|
||||
ring_params.intr_timer_thres_us =
|
||||
wlan_cfg_get_int_timer_threshold_other(soc->wlan_cfg_ctx);
|
||||
ring_params.intr_batch_cntr_thres_entries =
|
||||
wlan_cfg_get_int_timer_threshold_other(soc->wlan_cfg_ctx);
|
||||
}
|
||||
|
||||
/* TODO: Currently hal layer takes care of endianness related settings.
|
||||
* See if these settings need to passed from DP layer
|
||||
@@ -3382,6 +3397,32 @@ dp_get_host_peer_stats(struct cdp_pdev *pdev_handle, char *mac_addr)
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_enable_enhanced_stats()- API to enable enhanced statistcs
|
||||
* @pdev_handle: DP_PDEV handle
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void
|
||||
dp_enable_enhanced_stats(struct cdp_pdev *pdev_handle)
|
||||
{
|
||||
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||
pdev->enhanced_stats_en = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_disable_enhanced_stats()- API to disable enhanced statistcs
|
||||
* @pdev_handle: DP_PDEV handle
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void
|
||||
dp_disable_enhanced_stats(struct cdp_pdev *pdev_handle)
|
||||
{
|
||||
struct dp_pdev *pdev = (struct dp_pdev *)pdev_handle;
|
||||
pdev->enhanced_stats_en = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* dp_get_fw_peer_stats()- function to print peer stats
|
||||
* @pdev_handle: DP_PDEV handle
|
||||
@@ -3854,6 +3895,8 @@ static struct cdp_mon_ops dp_ops_mon = {
|
||||
static struct cdp_host_stats_ops dp_ops_host_stats = {
|
||||
.txrx_per_peer_stats = dp_get_host_peer_stats,
|
||||
.get_fw_peer_stats = dp_get_fw_peer_stats,
|
||||
.txrx_enable_enhanced_stats = dp_enable_enhanced_stats,
|
||||
.txrx_disable_enhanced_stats = dp_disable_enhanced_stats,
|
||||
/* TODO */
|
||||
};
|
||||
|
||||
|
@@ -350,8 +350,8 @@ dp_rx_intrabss_fwd(struct dp_soc *soc,
|
||||
if (da_peer->vdev == sa_peer->vdev && !da_peer->bss_peer) {
|
||||
memset(nbuf->cb, 0x0, sizeof(nbuf->cb));
|
||||
len = qdf_nbuf_len(nbuf);
|
||||
qdf_nbuf_set_fctx_type(nbuf, (void *)NULL,
|
||||
CB_FTYPE_INTRABSS_FWD);
|
||||
qdf_nbuf_set_ftype(nbuf, CB_FTYPE_INTRABSS_FWD);
|
||||
|
||||
if (!dp_tx_send(sa_peer->vdev, nbuf)) {
|
||||
DP_STATS_INC_PKT(sa_peer, rx.intra_bss.pkts,
|
||||
1, len);
|
||||
@@ -378,8 +378,8 @@ dp_rx_intrabss_fwd(struct dp_soc *soc,
|
||||
return false;
|
||||
memset(nbuf_copy->cb, 0x0, sizeof(nbuf_copy->cb));
|
||||
len = qdf_nbuf_len(nbuf_copy);
|
||||
qdf_nbuf_set_fctx_type(nbuf_copy, (void *)NULL,
|
||||
CB_FTYPE_INTRABSS_FWD);
|
||||
qdf_nbuf_set_ftype(nbuf_copy, CB_FTYPE_INTRABSS_FWD);
|
||||
|
||||
if (dp_tx_send(sa_peer->vdev, nbuf_copy)) {
|
||||
DP_STATS_INC_PKT(sa_peer, rx.intra_bss.fail, 1, len);
|
||||
qdf_nbuf_free(nbuf_copy);
|
||||
@@ -1123,6 +1123,8 @@ done:
|
||||
continue;
|
||||
}
|
||||
|
||||
pdev = vdev->pdev;
|
||||
|
||||
sgi = hal_rx_msdu_start_sgi_get(rx_tlv_hdr);
|
||||
mcs = hal_rx_msdu_start_rate_mcs_get(rx_tlv_hdr);
|
||||
tid = hal_rx_mpdu_start_tid_get(rx_tlv_hdr);
|
||||
@@ -1279,10 +1281,12 @@ done:
|
||||
DP_STATS_INCC_PKT(peer, rx.multicast, 1, pkt_len,
|
||||
hal_rx_msdu_end_da_is_mcbc_get(
|
||||
rx_tlv_hdr));
|
||||
|
||||
DP_STATS_INC_PKT(peer, rx.to_stack, 1,
|
||||
pkt_len);
|
||||
|
||||
if (hal_rx_attn_first_mpdu_get(rx_tlv_hdr)) {
|
||||
if ((pdev->enhanced_stats_en) &&
|
||||
hal_rx_attn_first_mpdu_get(rx_tlv_hdr)) {
|
||||
if (soc->cdp_soc.ol_ops->update_dp_stats) {
|
||||
soc->cdp_soc.ol_ops->update_dp_stats(
|
||||
vdev->pdev->osif_pdev,
|
||||
|
@@ -1802,6 +1802,7 @@ static inline void dp_tx_comp_process_tx_status(struct dp_tx_desc_s *tx_desc,
|
||||
struct dp_soc *soc = NULL;
|
||||
struct dp_vdev *vdev = tx_desc->vdev;
|
||||
struct dp_peer *peer = NULL;
|
||||
struct dp_pdev *pdev = NULL;
|
||||
uint8_t comp_status = 0;
|
||||
qdf_mem_zero(&ts, sizeof(struct hal_tx_completion_status));
|
||||
hal_tx_comp_get_status(&tx_desc->comp, &ts);
|
||||
@@ -1931,15 +1932,19 @@ static inline void dp_tx_comp_process_tx_status(struct dp_tx_desc_s *tx_desc,
|
||||
/* TODO: This call is temporary.
|
||||
* Stats update has to be attached to the HTT PPDU message
|
||||
*/
|
||||
if (soc->cdp_soc.ol_ops->update_dp_stats)
|
||||
soc->cdp_soc.ol_ops->update_dp_stats(vdev->pdev->osif_pdev,
|
||||
&peer->stats, ts.peer_id, UPDATE_PEER_STATS);
|
||||
|
||||
out:
|
||||
pdev = vdev->pdev;
|
||||
|
||||
if (pdev->enhanced_stats_en && soc->cdp_soc.ol_ops->update_dp_stats) {
|
||||
if (peer) {
|
||||
soc->cdp_soc.ol_ops->update_dp_stats(pdev->osif_pdev,
|
||||
&peer->stats, ts.peer_id,
|
||||
UPDATE_PEER_STATS);
|
||||
}
|
||||
dp_aggregate_vdev_stats(tx_desc->vdev);
|
||||
if (soc->cdp_soc.ol_ops->update_dp_stats)
|
||||
soc->cdp_soc.ol_ops->update_dp_stats(vdev->pdev->osif_pdev,
|
||||
&vdev->stats, vdev->vdev_id, UPDATE_VDEV_STATS);
|
||||
}
|
||||
fail:
|
||||
return;
|
||||
}
|
||||
|
@@ -779,7 +779,7 @@ struct dp_pdev {
|
||||
enum htt_pkt_type rx_decap_mode;
|
||||
|
||||
/* Enhanced Stats is enabled */
|
||||
bool ap_stats_tx_cal_enable;
|
||||
bool enhanced_stats_en;
|
||||
|
||||
qdf_atomic_t num_tx_outstanding;
|
||||
|
||||
|
@@ -866,10 +866,17 @@ static inline void hal_srng_src_hw_init(struct hal_soc *hal,
|
||||
* if level mode is required
|
||||
*/
|
||||
reg_val = 0;
|
||||
|
||||
/*
|
||||
* WAR - Hawkeye v1 has a hardware bug which requires timer value to be
|
||||
* programmed in terms of 1us resolution instead of 8us resolution as
|
||||
* given in MLD.
|
||||
*/
|
||||
if (srng->intr_timer_thres_us) {
|
||||
reg_val |= SRNG_SM(SRNG_SRC_FLD(CONSUMER_INT_SETUP_IX0,
|
||||
INTERRUPT_TIMER_THRESHOLD),
|
||||
srng->intr_timer_thres_us >> 3);
|
||||
srng->intr_timer_thres_us);
|
||||
/* For HK v2 this should be (srng->intr_timer_thres_us >> 3) */
|
||||
}
|
||||
|
||||
if (srng->intr_batch_cntr_thres_entries) {
|
||||
|
@@ -38,8 +38,8 @@ static const struct nla_policy
|
||||
vendor_attr_policy[QCA_WLAN_VENDOR_ATTR_NDP_PARAMS_MAX + 1] = {
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_SUBCMD] = { .type = NLA_U32 },
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_TRANSACTION_ID] = { .type = NLA_U16 },
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR] = { .type = NLA_STRING,
|
||||
.len = IFNAMSIZ },
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_IFACE_STR] = { .type = NLA_NUL_STRING,
|
||||
.len = IFNAMSIZ - 1 },
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_SERVICE_INSTANCE_ID] = { .type = NLA_U32 },
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL] = { .type = NLA_U32 },
|
||||
[QCA_WLAN_VENDOR_ATTR_NDP_PEER_DISCOVERY_MAC_ADDR] = {
|
||||
|
@@ -72,9 +72,7 @@ static void wlan_p2p_rx_callback(void *user_data,
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!osif_priv) {
|
||||
cfg80211_err("osif_priv is null");
|
||||
goto fail;
|
||||
@@ -148,9 +146,7 @@ static void wlan_p2p_action_tx_cnf_callback(void *user_data,
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!osif_priv) {
|
||||
cfg80211_err("osif_priv is null");
|
||||
goto fail;
|
||||
@@ -207,9 +203,7 @@ static void wlan_p2p_lo_event_callback(void *user_data,
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!osif_priv) {
|
||||
cfg80211_err("osif_priv is null");
|
||||
goto fail;
|
||||
@@ -278,9 +272,7 @@ static void wlan_p2p_event_callback(void *user_data,
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!osif_priv) {
|
||||
cfg80211_err("osif_priv is null");
|
||||
goto fail;
|
||||
@@ -360,10 +352,8 @@ int wlan_cfg80211_roc(struct wlan_objmgr_vdev *vdev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
cfg80211_err("psoc handle is NULL");
|
||||
return -EINVAL;
|
||||
@@ -399,9 +389,7 @@ int wlan_cfg80211_cancel_roc(struct wlan_objmgr_vdev *vdev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
cfg80211_err("psoc handle is NULL");
|
||||
return -EINVAL;
|
||||
@@ -431,10 +419,8 @@ int wlan_cfg80211_mgmt_tx(struct wlan_objmgr_vdev *vdev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
cfg80211_err("psoc handle is NULL");
|
||||
return -EINVAL;
|
||||
@@ -485,9 +471,7 @@ int wlan_cfg80211_mgmt_tx_cancel(struct wlan_objmgr_vdev *vdev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
cfg80211_err("psoc handle is NULL");
|
||||
return -EINVAL;
|
||||
|
@@ -135,17 +135,13 @@ static void wlan_cfg80211_pno_callback(struct wlan_objmgr_vdev *vdev,
|
||||
|
||||
cfg80211_info("vdev id = %d", event->vdev_id);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!pdev) {
|
||||
cfg80211_err("pdev is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
pdev_ospriv = wlan_pdev_get_ospriv(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!pdev_ospriv) {
|
||||
cfg80211_err("pdev_ospriv is NULL");
|
||||
return;
|
||||
@@ -169,11 +165,9 @@ static QDF_STATUS wlan_cfg80211_is_pno_allowed(struct wlan_objmgr_vdev *vdev)
|
||||
enum tQDF_ADAPTER_MODE vdev_opmode;
|
||||
uint8_t vdev_id;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_opmode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
state = wlan_vdev_mlme_get_state(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
cfg80211_notice("dev_mode=%d, state=%d vdev id %d",
|
||||
vdev_opmode, state, vdev_id);
|
||||
@@ -286,9 +280,7 @@ int wlan_cfg80211_sched_scan_start(struct wlan_objmgr_pdev *pdev,
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
req->networks_cnt = request->n_match_sets;
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
req->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if ((!req->networks_cnt) ||
|
||||
(req->networks_cnt > SCAN_PNO_MAX_SUPP_NETWORKS)) {
|
||||
@@ -420,6 +412,7 @@ int wlan_cfg80211_sched_scan_start(struct wlan_objmgr_pdev *pdev,
|
||||
req->fast_scan_period, req->fast_scan_max_cycles,
|
||||
req->slow_scan_period);
|
||||
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
ucfg_scan_register_pno_cb(psoc,
|
||||
wlan_cfg80211_pno_callback, NULL);
|
||||
ucfg_scan_get_pno_def_params(vdev, req);
|
||||
@@ -863,9 +856,7 @@ QDF_STATUS wlan_cfg80211_scan_priv_init(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
wlan_scan_requester req_id;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
req_id = ucfg_scan_register_requester(psoc, "CFG",
|
||||
wlan_cfg80211_scan_done_callback, NULL);
|
||||
@@ -892,10 +883,8 @@ QDF_STATUS wlan_cfg80211_scan_priv_deinit(struct wlan_objmgr_pdev *pdev)
|
||||
struct osif_scan_pdev *scan_priv;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
osif_priv = wlan_pdev_get_ospriv(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
scan_priv = osif_priv->osif_scan;
|
||||
osif_priv->osif_scan = NULL;
|
||||
@@ -922,9 +911,7 @@ void wlan_cfg80211_cleanup_scan_queue(struct wlan_objmgr_pdev *pdev)
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
osif_priv = wlan_pdev_get_ospriv(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
scan_priv = osif_priv->osif_scan;
|
||||
qdf_mutex_acquire(&scan_priv->scan_req_q_lock);
|
||||
|
@@ -78,9 +78,7 @@ void hdd_notify_teardown_tdls_links(struct wlan_objmgr_vdev *vdev)
|
||||
if (!vdev)
|
||||
return;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
tdls_priv = osif_priv->osif_tdls;
|
||||
|
||||
@@ -160,12 +158,9 @@ int wlan_cfg80211_tdls_add_peer(struct wlan_objmgr_pdev *pdev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
tdls_priv = osif_priv->osif_tdls;
|
||||
|
||||
add_peer_req->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
qdf_mem_copy(add_peer_req->peer_addr, mac, QDF_MAC_ADDR_SIZE);
|
||||
|
||||
@@ -374,12 +369,9 @@ int wlan_cfg80211_tdls_update_peer(struct wlan_objmgr_pdev *pdev,
|
||||
}
|
||||
wlan_cfg80211_tdls_extract_params(req_info, params);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
tdls_priv = osif_priv->osif_tdls;
|
||||
|
||||
req_info->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
qdf_mem_copy(req_info->peer_addr, mac, QDF_MAC_ADDR_SIZE);
|
||||
|
||||
reinit_completion(&tdls_priv->tdls_add_peer_comp);
|
||||
@@ -516,10 +508,8 @@ int wlan_cfg80211_tdls_oper(struct wlan_objmgr_pdev *pdev,
|
||||
}
|
||||
break;
|
||||
case NL80211_TDLS_DISABLE_LINK:
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
tdls_priv = osif_priv->osif_tdls;
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
reinit_completion(&tdls_priv->tdls_del_peer_comp);
|
||||
status = ucfg_tdls_oper(vdev, peer, cmd);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
@@ -573,9 +563,7 @@ void wlan_cfg80211_tdls_rx_callback(void *user_data,
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!osif_priv) {
|
||||
cfg80211_err("osif_priv is null");
|
||||
goto fail;
|
||||
@@ -637,9 +625,7 @@ int wlan_cfg80211_tdls_mgmt(struct wlan_objmgr_pdev *pdev,
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
osif_priv = wlan_vdev_get_ospriv(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
tdls_priv = osif_priv->osif_tdls;
|
||||
|
||||
@@ -742,9 +728,7 @@ wlan_cfg80211_tdls_indicate_discovery(struct tdls_osif_indication *ind)
|
||||
{
|
||||
struct vdev_osif_priv *osif_vdev;
|
||||
|
||||
wlan_vdev_obj_lock(ind->vdev);
|
||||
osif_vdev = wlan_vdev_get_ospriv(ind->vdev);
|
||||
wlan_vdev_obj_unlock(ind->vdev);
|
||||
|
||||
cfg80211_info("Implicit TDLS, request Send Discovery request");
|
||||
cfg80211_tdls_oper_request(osif_vdev->wdev->netdev,
|
||||
@@ -757,9 +741,7 @@ wlan_cfg80211_tdls_indicate_setup(struct tdls_osif_indication *ind)
|
||||
{
|
||||
struct vdev_osif_priv *osif_vdev;
|
||||
|
||||
wlan_vdev_obj_lock(ind->vdev);
|
||||
osif_vdev = wlan_vdev_get_ospriv(ind->vdev);
|
||||
wlan_vdev_obj_unlock(ind->vdev);
|
||||
|
||||
cfg80211_info("Indication to request TDLS setup");
|
||||
cfg80211_tdls_oper_request(osif_vdev->wdev->netdev,
|
||||
@@ -772,9 +754,7 @@ wlan_cfg80211_tdls_indicate_teardown(struct tdls_osif_indication *ind)
|
||||
{
|
||||
struct vdev_osif_priv *osif_vdev;
|
||||
|
||||
wlan_vdev_obj_lock(ind->vdev);
|
||||
osif_vdev = wlan_vdev_get_ospriv(ind->vdev);
|
||||
wlan_vdev_obj_unlock(ind->vdev);
|
||||
|
||||
cfg80211_info("Teardown reason %d", ind->reason);
|
||||
cfg80211_tdls_oper_request(osif_vdev->wdev->netdev,
|
||||
@@ -793,10 +773,8 @@ void wlan_cfg80211_tdls_event_callback(void *user_data,
|
||||
cfg80211_err("ind: %p", ind);
|
||||
return;
|
||||
}
|
||||
wlan_vdev_obj_lock(ind->vdev);
|
||||
osif_vdev = wlan_vdev_get_ospriv(ind->vdev);
|
||||
tdls_priv = osif_vdev->osif_tdls;
|
||||
wlan_vdev_obj_unlock(ind->vdev);
|
||||
|
||||
switch (type) {
|
||||
case TDLS_EVENT_MGMT_TX_ACK_CNF:
|
||||
|
@@ -61,9 +61,7 @@ static inline enum tQDF_ADAPTER_MODE pmo_get_vdev_opmode(
|
||||
{
|
||||
enum tQDF_ADAPTER_MODE opmode;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
opmode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return opmode;
|
||||
}
|
||||
@@ -186,9 +184,7 @@ static inline enum tQDF_ADAPTER_MODE pmo_core_get_vdev_op_mode(
|
||||
|
||||
if (!vdev)
|
||||
return op_mode;
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
op_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return op_mode;
|
||||
}
|
||||
@@ -361,9 +357,7 @@ bool pmo_is_vdev_up(struct wlan_objmgr_vdev *vdev)
|
||||
pmo_err("vdev context is invalid!");
|
||||
return false;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
state = wlan_vdev_mlme_get_state(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return state == WLAN_VDEV_S_RUN;
|
||||
}
|
||||
|
@@ -59,9 +59,7 @@ pmo_vdev_get_id(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
uint8_t vdev_id;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
QDF_BUG(vdev_id < WLAN_UMAC_PSOC_MAX_VDEVS);
|
||||
|
||||
@@ -141,9 +139,7 @@ pmo_psoc_get_priv(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct pmo_psoc_priv_obj *psoc_priv;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv = pmo_psoc_get_priv_nolock(psoc);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
QDF_BUG(psoc_priv);
|
||||
|
||||
@@ -157,9 +153,7 @@ pmo_pdev_get_psoc(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
QDF_BUG(psoc);
|
||||
|
||||
@@ -179,9 +173,7 @@ pmo_vdev_get_priv(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct pmo_vdev_priv_obj *vdev_priv;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_priv = pmo_vdev_get_priv_nolock(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
QDF_BUG(vdev_priv);
|
||||
|
||||
@@ -193,9 +185,7 @@ pmo_vdev_get_pdev(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
QDF_BUG(pdev);
|
||||
|
||||
|
@@ -156,10 +156,8 @@ uint8_t pmo_core_get_vdev_dtim_period(struct wlan_objmgr_vdev *vdev)
|
||||
QDF_ASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
/* TODO */
|
||||
/* dtim_period = wlan_vdev_mlme_get_dtim_period(vdev); */
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return dtim_period;
|
||||
}
|
||||
@@ -180,10 +178,8 @@ uint16_t pmo_core_get_vdev_beacon_interval(struct wlan_objmgr_vdev *vdev)
|
||||
QDF_ASSERT(0);
|
||||
return 0;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
/* TODO */
|
||||
/* beacon_interval = wlan_vdev_mlme_get_beacon_interval(vdev); */
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return beacon_interval;
|
||||
}
|
||||
|
@@ -85,14 +85,11 @@ QDF_STATUS pmo_get_vdev_bss_peer_mac_addr(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
pmo_err("peer is null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
qdf_mem_copy(bss_peer_mac_address->bytes, wlan_peer_get_macaddr(peer),
|
||||
@@ -124,17 +121,13 @@ bool pmo_core_is_vdev_connected(struct wlan_objmgr_vdev *vdev)
|
||||
struct wlan_objmgr_peer *peer;
|
||||
enum wlan_peer_state peer_state;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!peer) {
|
||||
pmo_err("peer is null");
|
||||
return false;
|
||||
}
|
||||
wlan_peer_obj_lock(peer);
|
||||
peer_state = wlan_peer_mlme_get_state(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
if (peer_state != WLAN_ASSOC_STATE) {
|
||||
pmo_err("peer is not associated.peer state: %d",
|
||||
|
@@ -559,6 +559,12 @@ qdf_nbuf_set_vdev_ctx(qdf_nbuf_t buf, void *vdev_ctx)
|
||||
__qdf_nbuf_set_vdev_ctx(buf, vdev_ctx);
|
||||
}
|
||||
|
||||
static inline void
|
||||
qdf_nbuf_set_ftype(qdf_nbuf_t buf, uint8_t type)
|
||||
{
|
||||
__qdf_nbuf_set_ftype(buf, type);
|
||||
}
|
||||
|
||||
static inline void
|
||||
qdf_nbuf_set_fctx_type(qdf_nbuf_t buf, void *ctx, uint8_t type)
|
||||
{
|
||||
|
@@ -196,9 +196,9 @@ struct qdf_nbuf_cb {
|
||||
} trace; /* 4 bytes */
|
||||
uint32_t submit_ts;
|
||||
} u;
|
||||
uint8_t ftype;
|
||||
void *fctx;
|
||||
void *vdev_ctx;
|
||||
uint8_t ftype;
|
||||
} win; /* 21 bytes*/
|
||||
struct {
|
||||
uint32_t data_attr; /* 4 bytes */
|
||||
@@ -220,7 +220,8 @@ struct qdf_nbuf_cb {
|
||||
priv:31;
|
||||
} ipa; /* 4 */
|
||||
uint16_t desc_id; /* 2 bytes */
|
||||
} mcl;/* 14 bytes*/
|
||||
uint8_t ftype; /*1 byte */
|
||||
} mcl;/* 15 bytes*/
|
||||
} dev;
|
||||
} tx; /* 40 bytes */
|
||||
} u;
|
||||
@@ -309,8 +310,6 @@ struct qdf_nbuf_cb {
|
||||
#define QDF_NBUF_CB_TX_IPA_PRIV(skb) \
|
||||
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.mcl.ipa.priv)
|
||||
|
||||
#define QDF_NBUF_CB_TX_FTYPE(skb) \
|
||||
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.ftype)
|
||||
|
||||
#define QDF_NBUF_CB_TX_FCTX(skb) \
|
||||
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.fctx)
|
||||
@@ -360,6 +359,8 @@ struct qdf_nbuf_cb {
|
||||
#define QDF_NBUF_CB_SET_MCAST(skb) \
|
||||
(((struct qdf_nbuf_cb *) \
|
||||
((skb)->cb))->u.tx.dev.mcl.trace.is_mcast = true)
|
||||
#define QDF_NBUF_CB_TX_FTYPE(skb) \
|
||||
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.mcl.ftype)
|
||||
|
||||
#else
|
||||
|
||||
@@ -416,6 +417,9 @@ struct qdf_nbuf_cb {
|
||||
#define QDF_NBUF_CB_SET_MCAST(skb) \
|
||||
(((struct qdf_nbuf_cb *) \
|
||||
((skb)->cb))->u.tx.dev.win.u.trace.is_mcast = true)
|
||||
|
||||
#define QDF_NBUF_CB_TX_FTYPE(skb) \
|
||||
(((struct qdf_nbuf_cb *)((skb)->cb))->u.tx.dev.win.ftype)
|
||||
#endif
|
||||
|
||||
/* assume the OS provides a single fragment */
|
||||
@@ -492,6 +496,11 @@ typedef void (*qdf_nbuf_free_t)(__qdf_nbuf_t);
|
||||
#define __qdf_nbuf_get_vdev_ctx(skb) \
|
||||
QDF_NBUF_CB_TX_VDEV_CTX((skb))
|
||||
|
||||
#define __qdf_nbuf_set_ftype(skb, type) \
|
||||
do { \
|
||||
QDF_NBUF_CB_TX_FTYPE((skb)) = (type); \
|
||||
} while (0)
|
||||
|
||||
#define __qdf_nbuf_set_fctx_type(skb, ctx, type) \
|
||||
do { \
|
||||
QDF_NBUF_CB_TX_FCTX((skb)) = (ctx); \
|
||||
|
@@ -78,9 +78,7 @@ static int target_if_dfs_cac_complete_event_handler(
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!pdev) {
|
||||
target_if_err("null pdev");
|
||||
ret = -EINVAL;
|
||||
@@ -180,9 +178,7 @@ static QDF_STATUS target_if_dfs_register_event_handler(
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
target_if_err("null psoc");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
@@ -40,10 +40,8 @@ QDF_STATUS target_if_pmo_send_arp_offload_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -39,10 +39,8 @@ QDF_STATUS target_if_pmo_send_gtk_offload_req(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -77,10 +75,8 @@ QDF_STATUS target_if_pmo_send_gtk_response_req(struct wlan_objmgr_vdev *vdev)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -40,10 +40,8 @@ QDF_STATUS target_if_pmo_set_mc_filter_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -72,10 +70,8 @@ QDF_STATUS target_if_pmo_clear_mc_filter_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -40,10 +40,8 @@ QDF_STATUS target_if_pmo_send_ns_offload_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -39,10 +39,8 @@ QDF_STATUS target_if_pmo_send_pkt_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -80,10 +78,8 @@ QDF_STATUS target_if_pmo_clear_pkt_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -39,10 +39,8 @@ QDF_STATUS target_if_pmo_send_ra_filter_req(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -70,10 +68,8 @@ QDF_STATUS target_if_pmo_send_action_frame_patterns(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -100,10 +96,8 @@ QDF_STATUS target_if_pmo_send_enhance_mc_offload_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -42,10 +42,8 @@ QDF_STATUS target_if_pmo_send_vdev_update_param_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -87,10 +85,8 @@ QDF_STATUS target_if_pmo_send_vdev_ps_param_req(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -39,10 +39,8 @@ QDF_STATUS target_if_pmo_enable_wow_wakeup_event(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -68,10 +66,8 @@ QDF_STATUS target_if_pmo_disable_wow_wakeup_event(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -100,10 +96,8 @@ QDF_STATUS target_if_pmo_send_wow_patterns_to_fw(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
target_if_err("psoc handle is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -30,13 +30,9 @@ bool son_ol_is_peer_inact(struct wlan_objmgr_peer *peer)
|
||||
struct wlan_objmgr_pdev *pdev = NULL;
|
||||
struct wlan_objmgr_vdev *vdev = NULL;
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
vdev = wlan_peer_get_vdev(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return cdp_peer_is_inact(ol_if_pdev_get_soc_txhandle(pdev),
|
||||
(void *)(ol_if_peer_get_txrx_handle(peer)));
|
||||
@@ -91,9 +87,7 @@ QDF_STATUS son_ol_send_null(struct wlan_objmgr_pdev *pdev,
|
||||
struct stats_request_params param = {0};
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
if( !psoc)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
@@ -346,8 +346,9 @@ QDF_STATUS wlan_crypto_setkey(struct wlan_objmgr_vdev *vdev,
|
||||
req_key->flags |= WLAN_CRYPTO_KEY_GROUP;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
qdf_mem_copy(macaddr, wlan_vdev_mlme_get_macaddr(vdev), WLAN_ALEN);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
if (!psoc) {
|
||||
@@ -384,9 +385,7 @@ QDF_STATUS wlan_crypto_setkey(struct wlan_objmgr_vdev *vdev,
|
||||
key = crypto_priv->key[req_key->keyix];
|
||||
}
|
||||
if (vdev_mode == QDF_STA_MODE) {
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!peer) {
|
||||
qdf_print("%s[%d] peer is null\n",
|
||||
__func__, __LINE__);
|
||||
@@ -2135,10 +2134,8 @@ QDF_STATUS wlan_crypto_set_peer_wep_keys(struct wlan_objmgr_vdev *vdev,
|
||||
|
||||
if (!vdev)
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
opmode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!psoc) {
|
||||
qdf_print("%s[%d] psoc NULL\n", __func__, __LINE__);
|
||||
|
@@ -27,10 +27,8 @@
|
||||
static inline void *wlan_get_vdev_crypto_obj(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
void *crypto_priv;
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
crypto_priv = wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_CRYPTO);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return crypto_priv;
|
||||
}
|
||||
@@ -38,10 +36,8 @@ static inline void *wlan_get_vdev_crypto_obj(struct wlan_objmgr_vdev *vdev)
|
||||
static inline void *wlan_get_peer_crypto_obj(struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
void *crypto_priv;
|
||||
wlan_peer_obj_lock(peer);
|
||||
crypto_priv = wlan_objmgr_peer_get_comp_private_obj(peer,
|
||||
WLAN_UMAC_COMP_CRYPTO);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
return crypto_priv;
|
||||
}
|
||||
|
@@ -384,8 +384,6 @@ struct wlan_objmgr_vdev *wlan_objmgr_get_vdev_by_macaddr_from_pdev_no_state(
|
||||
*
|
||||
* API to get component private object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void *ptr on SUCCESS
|
||||
* NULL on Failure
|
||||
*/
|
||||
@@ -428,15 +426,12 @@ static inline void wlan_pdev_obj_unlock(struct wlan_objmgr_pdev *pdev)
|
||||
*
|
||||
* API to get the psoc object from PDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @psoc: PSOC object
|
||||
*/
|
||||
static inline struct wlan_objmgr_psoc *wlan_pdev_get_psoc(
|
||||
struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return pdev->pdev_objmgr.wlan_psoc;
|
||||
}
|
||||
|
||||
@@ -447,14 +442,11 @@ static inline struct wlan_objmgr_psoc *wlan_pdev_get_psoc(
|
||||
*
|
||||
* API to set the psoc object from PDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_set_psoc(struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_objmgr.wlan_psoc = psoc;
|
||||
}
|
||||
|
||||
@@ -465,14 +457,11 @@ static inline void wlan_pdev_set_psoc(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to set fw caps in pdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_nif_fw_cap_set(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_nif.pdev_fw_caps |= cap;
|
||||
}
|
||||
|
||||
@@ -483,14 +472,11 @@ static inline void wlan_pdev_nif_fw_cap_set(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to clear fw caps in pdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_nif_fw_cap_clear(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_nif.pdev_fw_caps &= ~cap;
|
||||
}
|
||||
|
||||
@@ -501,14 +487,11 @@ static inline void wlan_pdev_nif_fw_cap_clear(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to know, whether particular fw caps flag is set in pdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: 1 (for set) or 0 (for not set)
|
||||
*/
|
||||
static inline uint8_t wlan_pdev_nif_fw_cap_get(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (pdev->pdev_nif.pdev_fw_caps & cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -519,14 +502,11 @@ static inline uint8_t wlan_pdev_nif_fw_cap_get(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to set feat caps in pdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_nif_feat_cap_set(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_nif.pdev_feature_caps |= cap;
|
||||
}
|
||||
|
||||
@@ -537,14 +517,11 @@ static inline void wlan_pdev_nif_feat_cap_set(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to clear feat caps in pdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_nif_feat_cap_clear(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_nif.pdev_feature_caps &= ~cap;
|
||||
}
|
||||
|
||||
@@ -555,14 +532,11 @@ static inline void wlan_pdev_nif_feat_cap_clear(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to know, whether particular feat caps flag is set in pdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: 1 (for set) or 0 (for not set)
|
||||
*/
|
||||
static inline uint8_t wlan_pdev_nif_feat_cap_get(struct wlan_objmgr_pdev *pdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (pdev->pdev_nif.pdev_feature_caps & cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -611,14 +585,11 @@ static inline void wlan_pdev_set_hw_macaddr(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to get OS private pointer from PDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: ospriv - private pointer
|
||||
*/
|
||||
static inline struct pdev_osif_priv *wlan_pdev_get_ospriv(
|
||||
struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return pdev->pdev_nif.pdev_ospriv;
|
||||
}
|
||||
|
||||
@@ -628,13 +599,10 @@ static inline struct pdev_osif_priv *wlan_pdev_get_ospriv(
|
||||
*
|
||||
* API to reset OS private pointer in PDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_reset_ospriv(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_nif.pdev_ospriv = NULL;
|
||||
}
|
||||
|
||||
@@ -645,14 +613,11 @@ static inline void wlan_pdev_reset_ospriv(struct wlan_objmgr_pdev *pdev)
|
||||
*
|
||||
* API to set Max vdev count
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_pdev_set_max_vdev_count(struct wlan_objmgr_pdev *pdev,
|
||||
uint8_t max_vdev_count)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev->pdev_objmgr.max_vdev_count = max_vdev_count;
|
||||
}
|
||||
|
||||
@@ -662,14 +627,11 @@ static inline void wlan_pdev_set_max_vdev_count(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to set Max vdev count
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: @vdev count: Max vdev count
|
||||
*/
|
||||
static inline uint8_t wlan_pdev_get_max_vdev_count(
|
||||
struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return pdev->pdev_objmgr.max_vdev_count;
|
||||
}
|
||||
|
||||
@@ -756,14 +718,11 @@ void wlan_objmgr_pdev_release_ref(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to get pdev id from pdev object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: @pdev id
|
||||
*/
|
||||
static inline
|
||||
uint8_t wlan_objmgr_pdev_get_pdev_id(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return pdev->pdev_objmgr.wlan_pdev_id;
|
||||
}
|
||||
|
||||
@@ -794,13 +753,10 @@ static inline void wlan_pdev_set_tgt_if_handle(struct wlan_objmgr_pdev *pdev,
|
||||
*
|
||||
* API to get target interface handle from pdev object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_pdev_obj_lock()
|
||||
*
|
||||
* Return: target interface handle
|
||||
*/
|
||||
static inline void *wlan_pdev_get_tgt_if_handle(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (pdev == NULL)
|
||||
return NULL;
|
||||
|
||||
|
@@ -296,8 +296,6 @@ QDF_STATUS wlan_objmgr_trigger_peer_comp_priv_object_deletion(
|
||||
*
|
||||
* API to get component private object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void *ptr on SUCCESS
|
||||
* NULL on Failure
|
||||
*/
|
||||
@@ -563,14 +561,11 @@ static inline void wlan_peer_set_next_peer_of_psoc(qdf_list_t *peer_list,
|
||||
*
|
||||
* API to set peer type
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_peer_set_peer_type(struct wlan_objmgr_peer *peer,
|
||||
enum wlan_peer_type type)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
peer->peer_mlme.peer_type = type;
|
||||
}
|
||||
|
||||
@@ -580,15 +575,12 @@ static inline void wlan_peer_set_peer_type(struct wlan_objmgr_peer *peer,
|
||||
*
|
||||
* API to get peer type
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @peer_type: type of PEER
|
||||
*/
|
||||
static inline enum wlan_peer_type wlan_peer_get_peer_type(
|
||||
struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return peer->peer_mlme.peer_type;
|
||||
}
|
||||
|
||||
@@ -633,15 +625,12 @@ static inline uint8_t *wlan_peer_get_macaddr(struct wlan_objmgr_peer *peer)
|
||||
*
|
||||
* API to get peer's vdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @vdev: VDEV object
|
||||
*/
|
||||
static inline struct wlan_objmgr_vdev *wlan_peer_get_vdev(
|
||||
struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return peer->peer_objmgr.vdev;
|
||||
}
|
||||
|
||||
@@ -652,14 +641,11 @@ static inline struct wlan_objmgr_vdev *wlan_peer_get_vdev(
|
||||
*
|
||||
* API to set peer's vdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_peer_set_vdev(struct wlan_objmgr_peer *peer,
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
peer->peer_objmgr.vdev = vdev;
|
||||
}
|
||||
|
||||
@@ -670,14 +656,11 @@ static inline void wlan_peer_set_vdev(struct wlan_objmgr_peer *peer,
|
||||
*
|
||||
* API to set flag in peer
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_peer_mlme_flag_set(struct wlan_objmgr_peer *peer,
|
||||
uint32_t flag)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
peer->peer_mlme.peer_flags |= flag;
|
||||
}
|
||||
|
||||
@@ -688,14 +671,11 @@ static inline void wlan_peer_mlme_flag_set(struct wlan_objmgr_peer *peer,
|
||||
*
|
||||
* API to clear flag in peer
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_peer_mlme_flag_clear(struct wlan_objmgr_peer *peer,
|
||||
uint32_t flag)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
peer->peer_mlme.peer_flags &= ~flag;
|
||||
}
|
||||
|
||||
@@ -706,14 +686,11 @@ static inline void wlan_peer_mlme_flag_clear(struct wlan_objmgr_peer *peer,
|
||||
*
|
||||
* API to know, whether particular flag is set in peer
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: 1 (for set) or 0 (for not set)
|
||||
*/
|
||||
static inline uint8_t wlan_peer_mlme_flag_get(struct wlan_objmgr_peer *peer,
|
||||
uint32_t flag)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (peer->peer_mlme.peer_flags & flag) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -724,15 +701,12 @@ static inline uint8_t wlan_peer_mlme_flag_get(struct wlan_objmgr_peer *peer,
|
||||
*
|
||||
* API to update the current peer state
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_peer_mlme_set_state(
|
||||
struct wlan_objmgr_peer *peer,
|
||||
enum wlan_peer_state state)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
peer->peer_mlme.state = state;
|
||||
}
|
||||
|
||||
@@ -743,15 +717,12 @@ static inline void wlan_peer_mlme_set_state(
|
||||
*
|
||||
* API to update the current peer auth state
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_peer_mlme_set_auth_state(
|
||||
struct wlan_objmgr_peer *peer,
|
||||
bool is_authenticated)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
peer->peer_mlme.is_authenticated = is_authenticated;
|
||||
}
|
||||
|
||||
@@ -761,14 +732,11 @@ static inline void wlan_peer_mlme_set_auth_state(
|
||||
*
|
||||
* API to get peer state
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: enum wlan_peer_state
|
||||
*/
|
||||
static inline enum wlan_peer_state wlan_peer_mlme_get_state(
|
||||
struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return peer->peer_mlme.state;
|
||||
}
|
||||
|
||||
@@ -778,14 +746,11 @@ static inline enum wlan_peer_state wlan_peer_mlme_get_state(
|
||||
*
|
||||
* API to get peer auth state
|
||||
*
|
||||
* Caller need to acquire lock with wlan_peer_obj_lock()
|
||||
*
|
||||
* Return: auth state true/false
|
||||
*/
|
||||
static inline bool wlan_peer_mlme_get_auth_state(
|
||||
struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return peer->peer_mlme.is_authenticated;
|
||||
}
|
||||
|
||||
|
@@ -759,14 +759,11 @@ static inline void wlan_psoc_obj_unlock(struct wlan_objmgr_psoc *psoc)
|
||||
*
|
||||
* API to set nif phy version in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_set_nif_phy_version(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t phy_ver)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.phy_version = phy_ver;
|
||||
}
|
||||
|
||||
@@ -776,16 +773,14 @@ static inline void wlan_psoc_set_nif_phy_version(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to set nif phy version in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: @phy_ver: phy version
|
||||
*/
|
||||
static inline uint32_t wlan_psoc_get_nif_phy_version(
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return (uint32_t)-1;
|
||||
|
||||
return psoc->soc_nif.phy_version;
|
||||
}
|
||||
|
||||
@@ -796,14 +791,11 @@ static inline uint32_t wlan_psoc_get_nif_phy_version(
|
||||
*
|
||||
* API to set dev type in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_set_dev_type(struct wlan_objmgr_psoc *psoc,
|
||||
WLAN_DEV_TYPE phy_type)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.phy_type = phy_type;
|
||||
}
|
||||
|
||||
@@ -813,16 +805,14 @@ static inline void wlan_psoc_set_dev_type(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to get dev type in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: phy type (OL/DA)
|
||||
*/
|
||||
static inline WLAN_DEV_TYPE wlan_objmgr_psoc_get_dev_type(
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return (uint32_t)-1;
|
||||
|
||||
return psoc->soc_nif.phy_type;
|
||||
}
|
||||
|
||||
@@ -833,14 +823,11 @@ static inline WLAN_DEV_TYPE wlan_objmgr_psoc_get_dev_type(
|
||||
*
|
||||
* API to set fw caps in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_nif_fw_cap_set(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.soc_fw_caps |= cap;
|
||||
}
|
||||
|
||||
@@ -851,14 +838,11 @@ static inline void wlan_psoc_nif_fw_cap_set(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to clear fw caps in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_nif_fw_cap_clear(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.soc_fw_caps &= ~cap;
|
||||
}
|
||||
|
||||
@@ -869,14 +853,11 @@ static inline void wlan_psoc_nif_fw_cap_clear(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to know, whether particular fw caps flag is set in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: 1 (for set) or 0 (for not set)
|
||||
*/
|
||||
static inline uint8_t wlan_psoc_nif_fw_cap_get(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (psoc->soc_nif.soc_fw_caps & cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -887,14 +868,11 @@ static inline uint8_t wlan_psoc_nif_fw_cap_get(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to set fw ext caps in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_nif_fw_ext_cap_set(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t ext_cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.soc_fw_ext_caps |= ext_cap;
|
||||
}
|
||||
|
||||
@@ -905,14 +883,11 @@ static inline void wlan_psoc_nif_fw_ext_cap_set(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to clear fw ext caps in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_nif_fw_ext_cap_clear(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t ext_cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.soc_fw_ext_caps &= ~ext_cap;
|
||||
}
|
||||
|
||||
@@ -923,14 +898,11 @@ static inline void wlan_psoc_nif_fw_ext_cap_clear(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to know, whether particular fw caps flag is set in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: 1 (for set) or 0 (for not set)
|
||||
*/
|
||||
static inline uint8_t wlan_psoc_nif_fw_ext_cap_get(
|
||||
struct wlan_objmgr_psoc *psoc, uint32_t ext_cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (psoc->soc_nif.soc_fw_ext_caps & ext_cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -941,14 +913,11 @@ static inline uint8_t wlan_psoc_nif_fw_ext_cap_get(
|
||||
*
|
||||
* API to set feature caps in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_nif_feat_cap_set(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t feat_cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.soc_feature_caps |= feat_cap;
|
||||
}
|
||||
|
||||
@@ -959,14 +928,11 @@ static inline void wlan_psoc_nif_feat_cap_set(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to clear feature caps in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_nif_feat_cap_clear(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t feat_cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
psoc->soc_nif.soc_feature_caps &= ~feat_cap;
|
||||
}
|
||||
|
||||
@@ -977,14 +943,11 @@ static inline void wlan_psoc_nif_feat_cap_clear(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to know, whether particular feature cap flag is set in psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: 1 (for set) or 0 (for not set)
|
||||
*/
|
||||
static inline uint8_t wlan_psoc_nif_feat_cap_get(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t feat_cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (psoc->soc_nif.soc_feature_caps & feat_cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -1013,15 +976,13 @@ static inline void wlan_psoc_set_hw_macaddr(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to set hw macaddr of psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: hw macaddr
|
||||
*/
|
||||
static inline uint8_t *wlan_psoc_get_hw_macaddr(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return NULL;
|
||||
|
||||
return psoc->soc_nif.soc_hw_macaddr;
|
||||
}
|
||||
|
||||
@@ -1033,8 +994,6 @@ static inline uint8_t *wlan_psoc_get_hw_macaddr(struct wlan_objmgr_psoc *psoc)
|
||||
* This API is used to get the component private object pointer tied to the
|
||||
* corresponding psoc object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: Component private object
|
||||
*/
|
||||
void *wlan_objmgr_psoc_get_comp_private_obj(struct wlan_objmgr_psoc *psoc,
|
||||
@@ -1045,13 +1004,10 @@ void *wlan_objmgr_psoc_get_comp_private_obj(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to get number of pdev's attached to the psoc
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: number of pdev's
|
||||
*/
|
||||
static inline uint8_t wlan_psoc_get_pdev_count(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return 0;
|
||||
|
||||
@@ -1065,16 +1021,14 @@ static inline uint8_t wlan_psoc_get_pdev_count(struct wlan_objmgr_psoc *psoc)
|
||||
*
|
||||
* API to set target interface handle in psoc object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline void wlan_psoc_set_tgt_if_handle(struct wlan_objmgr_psoc *psoc,
|
||||
void *tgt_if_handle)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return;
|
||||
|
||||
psoc->tgt_if_handle = tgt_if_handle;
|
||||
}
|
||||
|
||||
@@ -1084,15 +1038,13 @@ static inline void wlan_psoc_set_tgt_if_handle(struct wlan_objmgr_psoc *psoc,
|
||||
*
|
||||
* API to get target interface handle from psoc object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: target interface handle
|
||||
*/
|
||||
static inline void *wlan_psoc_get_tgt_if_handle(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return NULL;
|
||||
|
||||
return psoc->tgt_if_handle;
|
||||
}
|
||||
|
||||
@@ -1102,14 +1054,11 @@ static inline void *wlan_psoc_get_tgt_if_handle(struct wlan_objmgr_psoc *psoc)
|
||||
*
|
||||
* API to get qdf device from psoc object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: qdf_device_t
|
||||
*/
|
||||
static inline qdf_device_t wlan_psoc_get_qdf_dev(
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return NULL;
|
||||
|
||||
@@ -1123,15 +1072,12 @@ static inline qdf_device_t wlan_psoc_get_qdf_dev(
|
||||
*
|
||||
* API to set qdf device from psoc object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_psoc_obj_lock()
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
static inline void wlan_psoc_set_qdf_dev(
|
||||
struct wlan_objmgr_psoc *psoc,
|
||||
qdf_device_t dev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return;
|
||||
|
||||
@@ -1232,7 +1178,6 @@ QDF_STATUS wlan_objmgr_psoc_set_user_config(struct wlan_objmgr_psoc *psoc,
|
||||
static inline uint32_t wlan_objmgr_psoc_get_dual_mac_disable(
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return 0;
|
||||
return psoc->soc_nif.user_config.dual_mac_feature_disable;
|
||||
@@ -1248,7 +1193,6 @@ static inline uint32_t wlan_objmgr_psoc_get_dual_mac_disable(
|
||||
static inline uint8_t wlan_objmgr_psoc_get_band_capability(
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (psoc == NULL)
|
||||
return 0;
|
||||
|
||||
|
@@ -494,8 +494,6 @@ QDF_STATUS wlan_objmgr_trigger_vdev_comp_priv_object_deletion(
|
||||
*
|
||||
* API to get component private object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void *ptr on SUCCESS
|
||||
* NULL on Failure
|
||||
*/
|
||||
@@ -511,14 +509,11 @@ void *wlan_objmgr_vdev_get_comp_private_obj(
|
||||
*
|
||||
* API to get pdev object pointer from vdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: pdev object pointer
|
||||
*/
|
||||
static inline struct wlan_objmgr_pdev *wlan_vdev_get_pdev(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_objmgr.wlan_pdev;
|
||||
}
|
||||
|
||||
@@ -603,8 +598,6 @@ static inline void wlan_vdev_set_pdev(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get pdev object pointer from vdev
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: psoc object pointer
|
||||
*/
|
||||
static inline struct wlan_objmgr_psoc *wlan_vdev_get_psoc(
|
||||
@@ -613,7 +606,6 @@ static inline struct wlan_objmgr_psoc *wlan_vdev_get_psoc(
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
if (pdev == NULL)
|
||||
return NULL;
|
||||
@@ -630,14 +622,11 @@ static inline struct wlan_objmgr_psoc *wlan_vdev_get_psoc(
|
||||
*
|
||||
* API to set opmode in vdev object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_opmode(struct wlan_objmgr_vdev *vdev,
|
||||
enum tQDF_ADAPTER_MODE mode)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_opmode = mode;
|
||||
}
|
||||
|
||||
@@ -647,15 +636,12 @@ static inline void wlan_vdev_mlme_set_opmode(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to set opmode of vdev object
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @mode: VDEV op mode
|
||||
*/
|
||||
static inline enum tQDF_ADAPTER_MODE wlan_vdev_mlme_get_opmode(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.vdev_opmode;
|
||||
}
|
||||
|
||||
@@ -735,14 +721,11 @@ static inline uint8_t *wlan_vdev_mlme_get_mataddr(struct wlan_objmgr_vdev *vdev)
|
||||
*
|
||||
* API to get vdev id
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @id: vdev id
|
||||
*/
|
||||
static inline uint8_t wlan_vdev_get_id(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_objmgr.vdev_id;
|
||||
}
|
||||
|
||||
@@ -861,14 +844,11 @@ static inline void wlan_vdev_obj_unlock(struct wlan_objmgr_vdev *vdev)
|
||||
*
|
||||
* API to set the BSS channel
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_bss_chan(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_channel *bss_chan)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.bss_chan = bss_chan;
|
||||
}
|
||||
|
||||
@@ -878,15 +858,12 @@ static inline void wlan_vdev_mlme_set_bss_chan(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the BSS channel
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @bss_chan: Channel
|
||||
*/
|
||||
static inline struct wlan_channel *wlan_vdev_mlme_get_bss_chan(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.bss_chan;
|
||||
}
|
||||
|
||||
@@ -897,14 +874,11 @@ static inline struct wlan_channel *wlan_vdev_mlme_get_bss_chan(
|
||||
*
|
||||
* API to set the desired channel
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_des_chan(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_channel *des_chan)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.des_chan = des_chan;
|
||||
}
|
||||
|
||||
@@ -914,15 +888,12 @@ static inline void wlan_vdev_mlme_set_des_chan(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the desired channel
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @des_chan: Channel configured by user
|
||||
*/
|
||||
static inline struct wlan_channel *wlan_vdev_mlme_get_des_chan(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.des_chan;
|
||||
}
|
||||
|
||||
@@ -933,14 +904,11 @@ static inline struct wlan_channel *wlan_vdev_mlme_get_des_chan(
|
||||
*
|
||||
* API to set the Number of Spatial streams
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_nss(struct wlan_objmgr_vdev *vdev,
|
||||
uint8_t nss)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.nss = nss;
|
||||
}
|
||||
|
||||
@@ -950,15 +918,12 @@ static inline void wlan_vdev_mlme_set_nss(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the Number of Spatial Streams
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @nss: nss value
|
||||
*/
|
||||
static inline uint8_t wlan_vdev_mlme_get_nss(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.nss;
|
||||
}
|
||||
|
||||
@@ -969,14 +934,11 @@ static inline uint8_t wlan_vdev_mlme_get_nss(
|
||||
*
|
||||
* API to set the Tx chainmask
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_txchainmask(struct wlan_objmgr_vdev *vdev,
|
||||
uint8_t chainmask)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.tx_chainmask = chainmask;
|
||||
}
|
||||
|
||||
@@ -986,15 +948,12 @@ static inline void wlan_vdev_mlme_set_txchainmask(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the Tx chainmask
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @chainmask : Tx chainmask either configured by user or max supported
|
||||
*/
|
||||
static inline uint8_t wlan_vdev_mlme_get_txchainmask(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.tx_chainmask;
|
||||
}
|
||||
|
||||
@@ -1005,14 +964,11 @@ static inline uint8_t wlan_vdev_mlme_get_txchainmask(
|
||||
*
|
||||
* API to set the Rx chainmask
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_rxchainmask(struct wlan_objmgr_vdev *vdev,
|
||||
uint8_t chainmask)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.rx_chainmask = chainmask;
|
||||
}
|
||||
|
||||
@@ -1022,8 +978,6 @@ static inline void wlan_vdev_mlme_set_rxchainmask(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the Rx chainmask
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @chainmask : Rx chainmask either configured by user or max supported
|
||||
*/
|
||||
@@ -1041,14 +995,11 @@ static inline uint8_t wlan_vdev_mlme_get_rxchainmask(
|
||||
*
|
||||
* API to set the tx power
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_txpower(struct wlan_objmgr_vdev *vdev,
|
||||
uint8_t txpow)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.tx_power = txpow;
|
||||
}
|
||||
|
||||
@@ -1058,15 +1009,12 @@ static inline void wlan_vdev_mlme_set_txpower(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the tx power
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @txpow: tx power either configured by used or max allowed
|
||||
*/
|
||||
static inline uint8_t wlan_vdev_mlme_get_txpower(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.tx_power;
|
||||
}
|
||||
|
||||
@@ -1077,14 +1025,11 @@ static inline uint8_t wlan_vdev_mlme_get_txpower(
|
||||
*
|
||||
* API to set the max rate the vdev supports
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_maxrate(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t maxrate)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.max_rate = maxrate;
|
||||
}
|
||||
|
||||
@@ -1094,15 +1039,12 @@ static inline void wlan_vdev_mlme_set_maxrate(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the max rate the vdev supports
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @maxrate: configured by used or based on configured mode
|
||||
*/
|
||||
static inline uint32_t wlan_vdev_mlme_get_maxrate(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.max_rate;
|
||||
}
|
||||
|
||||
@@ -1113,14 +1055,11 @@ static inline uint32_t wlan_vdev_mlme_get_maxrate(
|
||||
*
|
||||
* API to set Mgmt Tx rate
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_txmgmtrate(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t txmgmtrate)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.tx_mgmt_rate = txmgmtrate;
|
||||
}
|
||||
|
||||
@@ -1130,15 +1069,12 @@ static inline void wlan_vdev_mlme_set_txmgmtrate(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get Mgmt Tx rate
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @txmgmtrate: Tx Mgmt rate
|
||||
*/
|
||||
static inline uint32_t wlan_vdev_mlme_get_txmgmtrate(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.tx_mgmt_rate;
|
||||
}
|
||||
|
||||
@@ -1149,14 +1085,11 @@ static inline uint32_t wlan_vdev_mlme_get_txmgmtrate(
|
||||
*
|
||||
* API to set MLME feature capabilities
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_feat_cap_set(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_feat_caps |= cap;
|
||||
}
|
||||
|
||||
@@ -1167,14 +1100,11 @@ static inline void wlan_vdev_mlme_feat_cap_set(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to clear MLME feature capabilities
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_feat_cap_clear(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_feat_caps &= ~cap;
|
||||
}
|
||||
|
||||
@@ -1185,15 +1115,12 @@ static inline void wlan_vdev_mlme_feat_cap_clear(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to know MLME feature capability is set or not
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: 1 -- if capabilities set
|
||||
* 0 -- if capabilities clear
|
||||
*/
|
||||
static inline uint8_t wlan_vdev_mlme_feat_cap_get(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (vdev->vdev_mlme.vdev_feat_caps & cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -1204,15 +1131,12 @@ static inline uint8_t wlan_vdev_mlme_feat_cap_get(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to set the MLME extensive feature capabilities
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_feat_ext_cap_set(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_feat_ext_caps |= cap;
|
||||
}
|
||||
|
||||
@@ -1223,15 +1147,12 @@ static inline void wlan_vdev_mlme_feat_ext_cap_set(
|
||||
*
|
||||
* API to clear the MLME extensive feature capabilities
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_feat_ext_cap_clear(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_feat_ext_caps &= ~cap;
|
||||
}
|
||||
|
||||
@@ -1242,8 +1163,6 @@ static inline void wlan_vdev_mlme_feat_ext_cap_clear(
|
||||
*
|
||||
* API to know MLME ext feature capability is set or not
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: 1 -- if capabilities set
|
||||
* 0 -- if capabilities clear
|
||||
*/
|
||||
@@ -1251,7 +1170,6 @@ static inline uint8_t wlan_vdev_mlme_feat_ext_cap_get(
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (vdev->vdev_mlme.vdev_feat_ext_caps & cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -1262,14 +1180,11 @@ static inline uint8_t wlan_vdev_mlme_feat_ext_cap_get(
|
||||
*
|
||||
* API to set the MLME capabilities
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_cap_set(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_caps |= cap;
|
||||
}
|
||||
|
||||
@@ -1280,14 +1195,11 @@ static inline void wlan_vdev_mlme_cap_set(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to clear the MLME capabilities
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_cap_clear(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_mlme.vdev_caps &= ~cap;
|
||||
}
|
||||
|
||||
@@ -1298,15 +1210,12 @@ static inline void wlan_vdev_mlme_cap_clear(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to know MLME capability is set or not
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: 1 -- if capabilities set
|
||||
* 0 -- if capabilities clear
|
||||
*/
|
||||
static inline uint8_t wlan_vdev_mlme_cap_get(struct wlan_objmgr_vdev *vdev,
|
||||
uint32_t cap)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return (vdev->vdev_mlme.vdev_caps & cap) ? 1 : 0;
|
||||
}
|
||||
|
||||
@@ -1316,14 +1225,11 @@ static inline uint8_t wlan_vdev_mlme_cap_get(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get MLME state
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: state of MLME
|
||||
*/
|
||||
static inline enum wlan_vdev_state wlan_vdev_mlme_get_state(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_mlme.mlme_state;
|
||||
}
|
||||
|
||||
@@ -1334,14 +1240,11 @@ static inline enum wlan_vdev_state wlan_vdev_mlme_get_state(
|
||||
*
|
||||
* API to set MLME state
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_mlme_set_state(struct wlan_objmgr_vdev *vdev,
|
||||
enum wlan_vdev_state state)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
if (state < WLAN_VDEV_S_MAX)
|
||||
vdev->vdev_mlme.mlme_state = state;
|
||||
}
|
||||
@@ -1353,14 +1256,11 @@ static inline void wlan_vdev_mlme_set_state(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to set the self peer of VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_set_selfpeer(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_objmgr.self_peer = peer;
|
||||
}
|
||||
|
||||
@@ -1370,15 +1270,12 @@ static inline void wlan_vdev_set_selfpeer(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the self peer of VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @peer: peer pointer
|
||||
*/
|
||||
static inline struct wlan_objmgr_peer *wlan_vdev_get_selfpeer(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_objmgr.self_peer;
|
||||
}
|
||||
|
||||
@@ -1389,14 +1286,11 @@ static inline struct wlan_objmgr_peer *wlan_vdev_get_selfpeer(
|
||||
*
|
||||
* API to set the BSS peer of VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_set_bsspeer(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_objmgr_peer *peer)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_objmgr.bss_peer = peer;
|
||||
}
|
||||
|
||||
@@ -1406,15 +1300,12 @@ static inline void wlan_vdev_set_bsspeer(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get the BSS peer of VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return:
|
||||
* @peer: BSS peer pointer
|
||||
*/
|
||||
static inline struct wlan_objmgr_peer *wlan_vdev_get_bsspeer(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_objmgr.bss_peer;
|
||||
}
|
||||
|
||||
@@ -1424,14 +1315,11 @@ static inline struct wlan_objmgr_peer *wlan_vdev_get_bsspeer(
|
||||
*
|
||||
* API to get OS private pointer from VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: ospriv - private pointer
|
||||
*/
|
||||
static inline struct vdev_osif_priv *wlan_vdev_get_ospriv(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_nif.osdev;
|
||||
}
|
||||
|
||||
@@ -1441,13 +1329,10 @@ static inline struct vdev_osif_priv *wlan_vdev_get_ospriv(
|
||||
*
|
||||
* API to reset OS private pointer in VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_reset_ospriv(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_nif.osdev = NULL;
|
||||
}
|
||||
|
||||
@@ -1457,13 +1342,10 @@ static inline void wlan_vdev_reset_ospriv(struct wlan_objmgr_vdev *vdev)
|
||||
*
|
||||
* API to get OS private pointer from VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: peer_count - vdev's peer count
|
||||
*/
|
||||
static inline uint16_t wlan_vdev_get_peer_count(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_objmgr.wlan_peer_count;
|
||||
}
|
||||
|
||||
@@ -1542,14 +1424,11 @@ void wlan_objmgr_vdev_release_ref(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to set max peer count of VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_vdev_set_max_peer_count(struct wlan_objmgr_vdev *vdev,
|
||||
uint16_t count)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
vdev->vdev_objmgr.max_peer_count = count;
|
||||
}
|
||||
|
||||
@@ -1559,14 +1438,11 @@ static inline void wlan_vdev_set_max_peer_count(struct wlan_objmgr_vdev *vdev,
|
||||
*
|
||||
* API to get max peer count of VDEV
|
||||
*
|
||||
* Caller need to acquire lock with wlan_vdev_obj_lock()
|
||||
*
|
||||
* Return: max peer count
|
||||
*/
|
||||
static inline uint16_t wlan_vdev_get_max_peer_count(
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
/* This API is invoked with lock acquired, do not add log prints */
|
||||
return vdev->vdev_objmgr.max_peer_count;
|
||||
}
|
||||
#endif /* _WLAN_OBJMGR_VDEV_OBJ_H_*/
|
||||
|
@@ -775,8 +775,6 @@ void *wlan_objmgr_pdev_get_comp_private_obj(
|
||||
{
|
||||
void *comp_priv_obj;
|
||||
|
||||
/* This API is invoked with lock acquired, don't add any debug prints */
|
||||
|
||||
/* component id is invalid */
|
||||
if (id >= WLAN_UMAC_MAX_COMPONENTS) {
|
||||
QDF_BUG(0);
|
||||
|
@@ -537,8 +537,6 @@ void *wlan_objmgr_peer_get_comp_private_obj(
|
||||
{
|
||||
void *comp_priv_obj;
|
||||
|
||||
/* This API is invoked with lock acquired, don't add any debug prints */
|
||||
|
||||
/* component id is invalid */
|
||||
if (id >= WLAN_UMAC_MAX_COMPONENTS) {
|
||||
QDF_BUG(0);
|
||||
|
@@ -1609,8 +1609,6 @@ void *wlan_objmgr_psoc_get_comp_private_obj(struct wlan_objmgr_psoc *psoc,
|
||||
{
|
||||
void *comp_private_obj;
|
||||
|
||||
/* This API is invoked with lock acquired, don't add any debug prints */
|
||||
|
||||
/* component id is invalid */
|
||||
if (id >= WLAN_UMAC_MAX_COMPONENTS) {
|
||||
QDF_BUG(0);
|
||||
|
@@ -374,6 +374,7 @@ QDF_STATUS wlan_objmgr_vdev_component_obj_detach(
|
||||
/* component id is invalid */
|
||||
if (id >= WLAN_UMAC_MAX_COMPONENTS)
|
||||
return QDF_STATUS_MAXCOMP_FAIL;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
/* If there is a valid entry, return failure */
|
||||
if (vdev->vdev_comp_priv_obj[id] != comp_priv_obj) {
|
||||
@@ -686,8 +687,6 @@ void *wlan_objmgr_vdev_get_comp_private_obj(
|
||||
{
|
||||
void *comp_priv_obj;
|
||||
|
||||
/* This API is invoked with lock acquired, don't add any debug prints */
|
||||
|
||||
/* component id is invalid */
|
||||
if (id >= WLAN_UMAC_MAX_COMPONENTS) {
|
||||
QDF_BUG(0);
|
||||
|
@@ -2448,9 +2448,7 @@ bool policy_mgr_is_dnsc_set(struct wlan_objmgr_vdev *vdev)
|
||||
return false;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
roffchan = wlan_vdev_mlme_cap_get(vdev, WLAN_VDEV_C_RESTRICT_OFFCHAN);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
policy_mgr_debug("Restrict offchannel:%s",
|
||||
roffchan ? "set" : "clear");
|
||||
|
@@ -509,10 +509,8 @@ struct wlan_serialization_psoc_priv_obj *wlan_serialization_get_psoc_priv_obj(
|
||||
struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wlan_serialization_psoc_priv_obj *ser_soc_obj;
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
ser_soc_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_SERIALIZATION);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
return ser_soc_obj;
|
||||
}
|
||||
@@ -521,10 +519,8 @@ struct wlan_serialization_pdev_priv_obj *wlan_serialization_get_pdev_priv_obj(
|
||||
struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_serialization_pdev_priv_obj *obj;
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
obj = wlan_objmgr_pdev_get_comp_private_obj(pdev,
|
||||
WLAN_UMAC_COMP_SERIALIZATION);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
@@ -37,10 +37,8 @@ struct dfs_to_mlme global_dfs_to_mlme;
|
||||
struct wlan_dfs *wlan_pdev_get_dfs_obj(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_dfs *dfs;
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
dfs = wlan_objmgr_pdev_get_comp_private_obj(pdev,
|
||||
WLAN_UMAC_COMP_DFS);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
return dfs;
|
||||
}
|
||||
@@ -158,9 +156,7 @@ QDF_STATUS wlan_dfs_pdev_obj_create_notification(struct wlan_objmgr_pdev *pdev,
|
||||
global_dfs_to_mlme.pdev_component_obj_attach(pdev,
|
||||
WLAN_UMAC_COMP_DFS, (void *)dfs, QDF_STATUS_SUCCESS);
|
||||
dfs->dfs_pdev_obj = pdev;
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
DFS_PRINTK("%s: null psoc\n", __func__);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
@@ -39,9 +39,7 @@ void lmac_get_caps(struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -64,9 +62,7 @@ uint64_t lmac_get_tsf64(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
uint64_t tsf64 = 0;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -81,9 +77,7 @@ void lmac_dfs_disable(struct wlan_objmgr_pdev *pdev, int no_cac)
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -96,9 +90,7 @@ int lmac_get_dfsdomain(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
enum dfs_reg dfsdomain;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
wlan_reg_get_dfs_region(psoc, &dfsdomain);
|
||||
|
||||
@@ -120,9 +112,7 @@ void lmac_dfs_enable(struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -153,9 +143,7 @@ void lmac_dfs_get_thresholds(struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -177,9 +165,7 @@ bool lmac_is_mode_offload(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
bool is_offload = false;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -195,9 +181,7 @@ uint16_t lmac_get_ah_devid(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
uint16_t devid = 0;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -213,9 +197,7 @@ uint32_t lmac_get_ext_busy(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
uint32_t ext_chan_busy = 0;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -231,9 +213,7 @@ bool lmac_is_countryCode_KOREA_ROC3(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
bool ctry_korea = false;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -250,9 +230,7 @@ void lmac_set_use_cac_prssi(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -266,9 +244,7 @@ uint32_t lmac_get_target_type(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
uint32_t target_type = 0;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -284,9 +260,7 @@ bool lmac_is_countryCode_CHINA(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
bool country_china = false;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
@@ -303,9 +277,7 @@ uint32_t lmac_get_phymode_info(struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_lmac_if_dfs_tx_ops *dfs_tx_ops;
|
||||
uint32_t mode_info = 0;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
dfs_tx_ops = &psoc->soc_cb.tx_ops.dfs_tx_ops;
|
||||
|
||||
|
@@ -437,9 +437,7 @@ static void utils_dfs_get_chan_list(struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
uint32_t conn_count = 0;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
*num_chan = 0;
|
||||
DFS_PRINTK("%s: null psoc\n", __func__);
|
||||
@@ -491,9 +489,7 @@ QDF_STATUS dfs_get_random_channel(
|
||||
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
||||
|
||||
*target_chan = 0;
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
DFS_PRINTK("%s: null psoc\n", __func__);
|
||||
goto random_chan_error;
|
||||
@@ -564,9 +560,7 @@ void dfs_init_nol(struct wlan_objmgr_pdev *pdev)
|
||||
int len;
|
||||
|
||||
dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev);
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!dfs || !psoc) {
|
||||
DFS_PRINTK("%s: dfs %p, psoc %p\n", __func__, dfs, psoc);
|
||||
return;
|
||||
@@ -611,9 +605,7 @@ void dfs_save_nol(struct wlan_objmgr_pdev *pdev)
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
DFS_PRINTK("%s: null psoc\n", __func__);
|
||||
return;
|
||||
|
@@ -41,9 +41,7 @@ struct nan_vdev_priv_obj *nan_get_vdev_priv_obj(
|
||||
nan_err("vdev is null");
|
||||
return NULL;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
obj = wlan_objmgr_vdev_get_comp_private_obj(vdev, WLAN_UMAC_COMP_NAN);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return obj;
|
||||
}
|
||||
@@ -57,9 +55,7 @@ struct nan_psoc_priv_obj *nan_get_psoc_priv_obj(
|
||||
nan_err("psoc is null");
|
||||
return NULL;
|
||||
}
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
obj = wlan_objmgr_psoc_get_comp_private_obj(psoc, WLAN_UMAC_COMP_NAN);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
@@ -194,9 +194,7 @@ static QDF_STATUS p2p_vdev_obj_create_notification(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
p2p_debug("vdev mode:%d", mode);
|
||||
if (mode != QDF_P2P_GO_MODE) {
|
||||
p2p_debug("won't create p2p vdev private object if it is not GO");
|
||||
@@ -251,9 +249,7 @@ static QDF_STATUS p2p_vdev_obj_destroy_notification(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
p2p_debug("vdev mode:%d", mode);
|
||||
if (mode != QDF_P2P_GO_MODE) {
|
||||
p2p_debug("no p2p vdev private object if it is not GO");
|
||||
@@ -310,19 +306,13 @@ static QDF_STATUS p2p_peer_obj_create_notification(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
vdev = wlan_peer_get_vdev(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
p2p_vdev_obj = wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_P2P);
|
||||
wlan_peer_obj_lock(peer);
|
||||
peer_type = wlan_peer_get_peer_type(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
if ((peer_type == WLAN_PEER_STA) && p2p_vdev_obj) {
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (mode == QDF_P2P_GO_MODE) {
|
||||
p2p_vdev_obj->non_p2p_peer_count++;
|
||||
p2p_debug("Non P2P peer count: %d",
|
||||
@@ -359,26 +349,18 @@ static QDF_STATUS p2p_peer_obj_destroy_notification(
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
vdev = wlan_peer_get_vdev(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
p2p_vdev_obj = wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_P2P);
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!p2p_vdev_obj || !psoc) {
|
||||
p2p_err("p2p_vdev_obj:%p psoc:%p", p2p_vdev_obj, psoc);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
peer_type = wlan_peer_get_peer_type(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
if ((peer_type == WLAN_PEER_STA) && (mode == QDF_P2P_GO_MODE)) {
|
||||
|
||||
@@ -387,9 +369,7 @@ static QDF_STATUS p2p_peer_obj_destroy_notification(
|
||||
if (!p2p_vdev_obj->non_p2p_peer_count &&
|
||||
(p2p_vdev_obj->noa_status == false)) {
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (ucfg_p2p_set_noa(psoc, vdev_id,
|
||||
false) == QDF_STATUS_SUCCESS)
|
||||
@@ -502,13 +482,9 @@ static QDF_STATUS process_peer_for_noa(struct wlan_objmgr_vdev *vdev,
|
||||
p2p_err("p2p_vdev_obj:%p", p2p_vdev_obj);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
peer_type = wlan_peer_get_peer_type(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
disable_noa = ((mode == QDF_P2P_GO_MODE)
|
||||
&& p2p_vdev_obj->non_p2p_peer_count
|
||||
@@ -516,9 +492,7 @@ static QDF_STATUS process_peer_for_noa(struct wlan_objmgr_vdev *vdev,
|
||||
|
||||
if (disable_noa && (peer_type == WLAN_PEER_STA)) {
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (ucfg_p2p_set_noa(psoc, vdev_id,
|
||||
true) == QDF_STATUS_SUCCESS) {
|
||||
@@ -987,9 +961,7 @@ QDF_STATUS p2p_process_noa(struct p2p_noa_event *noa_event)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
p2p_debug("vdev mode:%d", mode);
|
||||
if (mode != QDF_P2P_GO_MODE) {
|
||||
p2p_err("invalid p2p vdev mode:%d", mode);
|
||||
@@ -1030,9 +1002,7 @@ void p2p_peer_authorized(struct wlan_objmgr_vdev *vdev, uint8_t *mac_addr)
|
||||
p2p_err("vdev:%p", vdev);
|
||||
return;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
p2p_err("psoc:%p", psoc);
|
||||
return;
|
||||
|
@@ -95,9 +95,7 @@ static QDF_STATUS p2p_vdev_check_valid(struct tx_action_context *tx_ctx)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
p2p_debug("vdev mode:%d", mode);
|
||||
|
||||
/* drop probe response for sta, go, sap */
|
||||
@@ -272,9 +270,7 @@ static struct p2p_noa_info *p2p_get_vdev_noa_info(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
p2p_debug("vdev mode:%d", mode);
|
||||
if (mode != QDF_P2P_GO_MODE) {
|
||||
p2p_debug("invalid p2p vdev mode:%d", mode);
|
||||
|
@@ -207,16 +207,12 @@ QDF_STATUS tgt_p2p_mgmt_frame_rx_cb(struct wlan_objmgr_psoc *psoc,
|
||||
vdev_id = roc_ctx->vdev_id;
|
||||
}
|
||||
} else {
|
||||
wlan_peer_obj_lock(peer);
|
||||
vdev = wlan_peer_get_vdev(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
if (!vdev) {
|
||||
p2p_err("vdev is NULL in peer, drop this frame");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
}
|
||||
|
||||
rx_mgmt_event = qdf_mem_malloc(sizeof(*rx_mgmt_event));
|
||||
|
@@ -203,10 +203,8 @@ QDF_STATUS ucfg_p2p_cleanup_roc(struct wlan_objmgr_vdev *vdev)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = (uint32_t)wlan_vdev_get_id(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
p2p_err("null psoc");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
@@ -1784,11 +1784,9 @@ static void reg_propagate_mas_chan_list_to_pdev(struct wlan_objmgr_psoc *psoc,
|
||||
enum direction *dir = arg;
|
||||
struct wlan_lmac_if_reg_tx_ops *reg_tx_ops;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = (struct wlan_regulatory_psoc_priv_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("psoc priv obj is NULL");
|
||||
@@ -2059,10 +2057,8 @@ QDF_STATUS wlan_regulatory_psoc_obj_destroyed_notification(
|
||||
QDF_STATUS status;
|
||||
struct wlan_regulatory_psoc_priv_obj *soc_reg;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
soc_reg = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == soc_reg) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2252,11 +2248,9 @@ QDF_STATUS wlan_regulatory_pdev_obj_created_notification(
|
||||
parent_psoc = wlan_pdev_get_psoc(pdev);
|
||||
pdev_id = wlan_objmgr_pdev_get_pdev_id(pdev);
|
||||
|
||||
wlan_psoc_obj_lock(parent_psoc);
|
||||
psoc_priv_obj = (struct wlan_regulatory_psoc_priv_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(parent_psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(parent_psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2371,9 +2365,7 @@ QDF_STATUS reg_11d_vdev_created_update(struct wlan_objmgr_vdev *vdev)
|
||||
enum tQDF_ADAPTER_MODE op_mode;
|
||||
uint8_t i;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
op_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
parent_pdev = wlan_vdev_get_pdev(vdev);
|
||||
parent_psoc = wlan_pdev_get_psoc(parent_pdev);
|
||||
@@ -2433,9 +2425,7 @@ QDF_STATUS reg_11d_vdev_delete_update(struct wlan_objmgr_vdev *vdev)
|
||||
uint32_t vdev_id;
|
||||
uint8_t i;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
op_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
parent_pdev = wlan_vdev_get_pdev(vdev);
|
||||
parent_psoc = wlan_pdev_get_psoc(parent_pdev);
|
||||
@@ -2539,10 +2529,8 @@ void reg_update_nol_ch(struct wlan_objmgr_pdev *pdev,
|
||||
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2580,11 +2568,9 @@ static void reg_change_pdev_for_config(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_regulatory_psoc_priv_obj *psoc_priv_obj;
|
||||
struct wlan_regulatory_pdev_priv_obj *pdev_priv_obj;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = (struct wlan_regulatory_psoc_priv_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("psoc priv obj is NULL");
|
||||
@@ -2618,11 +2604,9 @@ QDF_STATUS reg_set_config_vars(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_regulatory_psoc_priv_obj *psoc_priv_obj;
|
||||
QDF_STATUS status;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = (struct wlan_regulatory_psoc_priv_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("psoc priv obj is NULL");
|
||||
@@ -2665,10 +2649,8 @@ bool reg_is_regdb_offloaded(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wlan_regulatory_psoc_priv_obj *psoc_priv_obj;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2689,10 +2671,8 @@ void reg_program_mas_chan_list(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t count;
|
||||
enum direction dir;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2736,10 +2716,8 @@ void reg_register_chan_change_callback(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t count;
|
||||
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2766,10 +2744,8 @@ void reg_unregister_chan_change_callback(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_regulatory_psoc_priv_obj *psoc_priv_obj;
|
||||
uint32_t count;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
@@ -2794,10 +2770,8 @@ enum country_src reg_get_cc_and_src(struct wlan_objmgr_psoc *psoc,
|
||||
{
|
||||
struct wlan_regulatory_psoc_priv_obj *psoc_priv_obj;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
psoc_priv_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_REGULATORY);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (NULL == psoc_priv_obj) {
|
||||
reg_err("reg psoc private obj is NULL");
|
||||
|
@@ -790,9 +790,7 @@ qdf_list_t *scm_get_scan_result(struct wlan_objmgr_pdev *pdev,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
scm_err("psoc is NULL");
|
||||
return NULL;
|
||||
@@ -875,9 +873,7 @@ scm_iterate_scan_db(struct wlan_objmgr_pdev *pdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
scm_err("psoc is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -968,9 +964,7 @@ QDF_STATUS scm_flush_results(struct wlan_objmgr_pdev *pdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
scm_err("psoc is NULL");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
@@ -1032,9 +1026,7 @@ void scm_filter_valid_channel(struct wlan_objmgr_pdev *pdev,
|
||||
return;
|
||||
}
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
if (!psoc) {
|
||||
scm_err("psoc is NULL");
|
||||
return;
|
||||
|
@@ -162,9 +162,7 @@ wlan_pdev_get_scan_db(struct wlan_objmgr_psoc *psoc,
|
||||
scm_err("pdev is NULL");
|
||||
return NULL;
|
||||
}
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
pdev_id = wlan_objmgr_pdev_get_pdev_id(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
return wlan_pdevid_get_scan_db(psoc, pdev_id);
|
||||
}
|
||||
|
@@ -54,10 +54,8 @@ QDF_STATUS wlan_scan_psoc_destroyed_notification(
|
||||
void *scan_obj = NULL;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
scan_obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_SCAN);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
if (!scan_obj) {
|
||||
scm_err("Failed to detach scan in psoc ctx");
|
||||
@@ -107,10 +105,8 @@ QDF_STATUS wlan_scan_vdev_destroyed_notification(
|
||||
void *scan_vdev_obj = NULL;
|
||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
scan_vdev_obj = wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_SCAN);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!scan_vdev_obj) {
|
||||
scm_err("Failed to detach scan in vdev ctx");
|
||||
|
@@ -374,11 +374,9 @@ wlan_psoc_get_scan_obj(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wlan_scan_obj *scan_obj;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
scan_obj = (struct wlan_scan_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_SCAN);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
return scan_obj;
|
||||
}
|
||||
@@ -394,9 +392,7 @@ wlan_pdev_get_scan_obj(struct wlan_objmgr_pdev *pdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
psoc = wlan_pdev_get_psoc(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
return wlan_psoc_get_scan_obj(psoc);
|
||||
}
|
||||
@@ -412,9 +408,7 @@ wlan_vdev_get_scan_obj(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return wlan_pdev_get_scan_obj(pdev);
|
||||
}
|
||||
@@ -430,11 +424,9 @@ wlan_get_vdev_scan_obj(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct scan_vdev_obj *scan_vdev_obj;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
scan_vdev_obj = (struct scan_vdev_obj *)
|
||||
wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_SCAN);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return scan_vdev_obj;
|
||||
}
|
||||
@@ -450,9 +442,7 @@ wlan_scan_vdev_get_pdev_id(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return wlan_objmgr_pdev_get_pdev_id(pdev);
|
||||
}
|
||||
@@ -471,9 +461,7 @@ wlan_pdev_get_pdev_scan_ev_handlers(struct wlan_objmgr_pdev *pdev)
|
||||
struct wlan_scan_obj *scan;
|
||||
struct pdev_scan_ev_handler *pdev_ev_handler;
|
||||
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
pdevid = wlan_objmgr_pdev_get_pdev_id(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
|
||||
scan = wlan_pdev_get_scan_obj(pdev);
|
||||
|
||||
@@ -495,9 +483,7 @@ wlan_vdev_get_pdev_scan_ev_handlers(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_pdev *pdev;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return wlan_pdev_get_pdev_scan_ev_handlers(pdev);
|
||||
}
|
||||
@@ -540,9 +526,7 @@ wlan_vdev_get_def_scan_params(struct wlan_objmgr_vdev *vdev)
|
||||
scm_err("null vdev");
|
||||
return NULL;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return wlan_scan_psoc_get_def_params(psoc);
|
||||
}
|
||||
|
@@ -364,9 +364,7 @@ scm_scan_start_req(struct scheduler_msg *msg)
|
||||
SCAN_TIMEOUT_GRACE_PERIOD;
|
||||
cmd.vdev = req->vdev;
|
||||
|
||||
wlan_vdev_obj_lock(cmd.vdev);
|
||||
psoc = wlan_vdev_get_psoc(cmd.vdev);
|
||||
wlan_vdev_obj_unlock(cmd.vdev);
|
||||
/*
|
||||
* Temp Hack to disable Serialization Timer
|
||||
* Modified Serialization module to ignore timeout of 0 value
|
||||
|
@@ -44,9 +44,7 @@ wlan_vdev_get_scan_txops(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return wlan_psoc_get_scan_txops(psoc);
|
||||
}
|
||||
@@ -56,9 +54,7 @@ wlan_vdev_get_scan_rxops(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = NULL;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return &((psoc->soc_cb.rx_ops.scan));
|
||||
}
|
||||
@@ -71,9 +67,7 @@ QDF_STATUS tgt_scan_pno_start(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_lmac_if_scan_tx_ops *scan_ops;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
scan_ops = wlan_psoc_get_scan_txops(psoc);
|
||||
/* invoke wmi_unified_pno_start_cmd() */
|
||||
@@ -90,9 +84,7 @@ QDF_STATUS tgt_scan_pno_stop(struct wlan_objmgr_vdev *vdev,
|
||||
struct wlan_lmac_if_scan_tx_ops *scan_ops;
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
scan_ops = wlan_psoc_get_scan_txops(psoc);
|
||||
/* invoke wmi_unified_pno_stop_cmd() */
|
||||
@@ -111,9 +103,7 @@ tgt_scan_start(struct scan_start_request *req)
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_objmgr_vdev *vdev = req->vdev;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
scan_ops = wlan_psoc_get_scan_txops(psoc);
|
||||
/* invoke wmi_unified_scan_start_cmd_send() */
|
||||
@@ -132,9 +122,7 @@ tgt_scan_cancel(struct scan_cancel_request *req)
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
struct wlan_objmgr_vdev *vdev = req->vdev;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
scan_ops = wlan_psoc_get_scan_txops(psoc);
|
||||
/* invoke wmi_unified_scan_stop_cmd_send() */
|
||||
|
@@ -445,9 +445,7 @@ ucfg_scan_cancel_sync(struct scan_cancel_request *req)
|
||||
qdf_event_reset(&cancel_scan_event);
|
||||
|
||||
if (cancel_pdev) {
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
while ((ucfg_scan_get_pdev_status(pdev) !=
|
||||
SCAN_NOT_IN_PROGRESS) && max_wait_iterations) {
|
||||
scm_debug("wait for all pdev scan to get complete");
|
||||
@@ -1097,9 +1095,7 @@ ucfg_scan_cancel_pdev_scan(struct wlan_objmgr_pdev *pdev)
|
||||
}
|
||||
req->vdev = vdev;
|
||||
req->cancel_req.scan_id = INVAL_SCAN_ID;
|
||||
wlan_pdev_obj_lock(pdev);
|
||||
req->cancel_req.pdev_id = wlan_objmgr_pdev_get_pdev_id(pdev);
|
||||
wlan_pdev_obj_unlock(pdev);
|
||||
req->cancel_req.vdev_id = INVAL_VDEV_ID;
|
||||
req->cancel_req.req_type = WLAN_SCAN_CANCEL_PDEV_ALL;
|
||||
status = ucfg_scan_cancel_sync(req);
|
||||
|
@@ -142,16 +142,13 @@ static QDF_STATUS tdls_pe_add_peer(struct tdls_add_peer_request *req)
|
||||
addstareq->tdls_oper = TDLS_OPER_ADD;
|
||||
addstareq->transaction_id = 0;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
addstareq->session_id = wlan_vdev_get_id(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = wlan_objmgr_peer_try_get_ref(peer, WLAN_TDLS_NB_ID);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
tdls_err("can't get bss peer");
|
||||
@@ -210,16 +207,13 @@ QDF_STATUS tdls_pe_del_peer(struct tdls_del_peer_request *req)
|
||||
|
||||
delstareq->transaction_id = 0;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
delstareq->session_id = wlan_vdev_get_id(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = wlan_objmgr_peer_try_get_ref(peer, WLAN_TDLS_NB_ID);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
tdls_err("can't get bss peer");
|
||||
@@ -281,16 +275,13 @@ static QDF_STATUS tdls_pe_update_peer(struct tdls_update_peer_request *req)
|
||||
addstareq->tdls_oper = TDLS_OPER_UPDATE;
|
||||
addstareq->transaction_id = 0;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
addstareq->session_id = wlan_vdev_get_id(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!peer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto error;
|
||||
}
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = wlan_objmgr_peer_try_get_ref(peer, WLAN_TDLS_NB_ID);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
tdls_err("can't get bss peer");
|
||||
@@ -1477,9 +1468,7 @@ QDF_STATUS tdls_process_del_peer_rsp(struct tdls_del_sta_rsp *rsp)
|
||||
QDF_MAC_ADDR_ARRAY(macaddr),
|
||||
curr_peer->link_status);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (TDLS_IS_LINK_CONNECTED(curr_peer)) {
|
||||
soc_obj->tdls_dereg_tl_peer(
|
||||
@@ -1573,14 +1562,13 @@ tdls_update_uapsd(struct wlan_objmgr_psoc *psoc, struct wlan_objmgr_vdev *vdev,
|
||||
tdls_debug("No need to configure auto trigger:psb is 0");
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
bsspeer = wlan_vdev_get_bsspeer(vdev);
|
||||
if (!bsspeer) {
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
tdls_err("bss peer is NULL");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
qdf_mem_copy(macaddr,
|
||||
wlan_peer_get_macaddr(bsspeer), QDF_MAC_ADDR_SIZE);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
@@ -1663,9 +1651,7 @@ QDF_STATUS tdls_process_enable_link(struct tdls_oper_request *req)
|
||||
tdls_set_peer_link_status(peer, TDLS_LINK_CONNECTED,
|
||||
TDLS_LINK_SUCCESS);
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
status = soc_obj->tdls_reg_tl_peer(soc_obj->tdls_tl_peer_data,
|
||||
id, mac, peer->sta_id,
|
||||
peer->signature, peer->qos);
|
||||
@@ -1744,9 +1730,7 @@ static QDF_STATUS tdls_config_force_peer(
|
||||
QDF_MAC_ADDR_ARRAY(macaddr));
|
||||
|
||||
vdev = req->vdev;
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
pdev = wlan_vdev_get_pdev(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
vdev_obj = wlan_vdev_get_tdls_vdev_obj(vdev);
|
||||
soc_obj = wlan_vdev_get_tdls_soc_obj(vdev);
|
||||
if (!pdev || !vdev_obj || !soc_obj) {
|
||||
@@ -1784,9 +1768,7 @@ static QDF_STATUS tdls_config_force_peer(
|
||||
/* Update the peer mac to firmware, so firmware could update the
|
||||
* connection table
|
||||
*/
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer_update_param->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
qdf_mem_copy(peer_update_param->peer_macaddr,
|
||||
macaddr, QDF_MAC_ADDR_SIZE);
|
||||
peer_update_param->peer_state = TDLS_PEER_ADD_MAC_ADDR;
|
||||
@@ -1951,9 +1933,7 @@ QDF_STATUS tdls_process_remove_force_peer(struct tdls_oper_request *req)
|
||||
goto error;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer_update_param->vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
qdf_mem_copy(peer_update_param->peer_macaddr,
|
||||
macaddr, QDF_MAC_ADDR_SIZE);
|
||||
peer_update_param->peer_state = TDLS_PEER_REMOVE_MAC_ADDR;
|
||||
|
@@ -32,18 +32,14 @@ bool tdls_is_vdev_connected(struct wlan_objmgr_vdev *vdev)
|
||||
struct wlan_objmgr_peer *peer;
|
||||
enum wlan_peer_state peer_state;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!peer) {
|
||||
tdls_err("peer is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
peer_state = wlan_peer_mlme_get_state(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
if (peer_state != WLAN_ASSOC_STATE) {
|
||||
tdls_err("peer state: %d", peer_state);
|
||||
@@ -58,18 +54,14 @@ bool tdls_is_vdev_authenticated(struct wlan_objmgr_vdev *vdev)
|
||||
struct wlan_objmgr_peer *peer;
|
||||
bool is_authenticated = false;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
peer = wlan_vdev_get_bsspeer(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (!peer) {
|
||||
tdls_err("peer is null");
|
||||
return false;
|
||||
}
|
||||
|
||||
wlan_peer_obj_lock(peer);
|
||||
is_authenticated = wlan_peer_mlme_get_auth_state(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
|
||||
return is_authenticated;
|
||||
}
|
||||
|
@@ -430,9 +430,7 @@ QDF_STATUS tdls_get_vdev_objects(struct wlan_objmgr_vdev *vdev,
|
||||
if (NULL == (*tdls_soc_obj))
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
device_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
if (device_mode != QDF_STA_MODE &&
|
||||
device_mode != QDF_P2P_CLIENT_MODE)
|
||||
|
@@ -375,19 +375,15 @@ wlan_vdev_get_tdls_soc_obj(struct wlan_objmgr_vdev *vdev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
if (!psoc) {
|
||||
tdls_err("can't get psoc");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
soc_obj = (struct tdls_soc_priv_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_TDLS);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
return soc_obj;
|
||||
}
|
||||
@@ -406,11 +402,9 @@ wlan_psoc_get_tdls_soc_obj(struct wlan_objmgr_psoc *psoc)
|
||||
tdls_err("NULL psoc");
|
||||
return NULL;
|
||||
}
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
soc_obj = (struct tdls_soc_priv_obj *)
|
||||
wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_TDLS);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
return soc_obj;
|
||||
}
|
||||
@@ -431,11 +425,9 @@ wlan_vdev_get_tdls_vdev_obj(struct wlan_objmgr_vdev *vdev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_obj = (struct tdls_vdev_priv_obj *)
|
||||
wlan_objmgr_vdev_get_comp_private_obj(vdev,
|
||||
WLAN_UMAC_COMP_TDLS);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
|
||||
return vdev_obj;
|
||||
}
|
||||
|
@@ -315,9 +315,7 @@ struct tdls_peer *tdls_is_progress(struct tdls_vdev_priv_obj *vdev_obj,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
wlan_vdev_obj_lock(vdev_obj->vdev);
|
||||
psoc = wlan_vdev_get_psoc(vdev_obj->vdev);
|
||||
wlan_vdev_obj_unlock(vdev_obj->vdev);
|
||||
if (!psoc) {
|
||||
tdls_err("invalid psoc");
|
||||
return NULL;
|
||||
@@ -395,10 +393,8 @@ static void tdls_determine_channel_opclass(struct tdls_soc_priv_obj *soc_obj,
|
||||
if (!(TDLS_IS_OFF_CHANNEL_ENABLED(
|
||||
soc_obj->tdls_configs.tdls_feature_flags)) ||
|
||||
soc_obj->tdls_fw_off_chan_mode != ENABLE_CHANSWITCH) {
|
||||
wlan_vdev_obj_lock(vdev_obj->vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev_obj->vdev);
|
||||
opmode = wlan_vdev_mlme_get_opmode(vdev_obj->vdev);
|
||||
wlan_vdev_obj_unlock(vdev_obj->vdev);
|
||||
|
||||
*channel = policy_mgr_get_channel(soc_obj->soc,
|
||||
opmode, &vdev_id);
|
||||
@@ -482,9 +478,7 @@ void tdls_extract_peer_state_param(struct tdls_peer_update_state *peer_param,
|
||||
}
|
||||
|
||||
qdf_mem_zero(peer_param, sizeof(*peer_param));
|
||||
wlan_vdev_obj_lock(vdev_obj->vdev);
|
||||
peer_param->vdev_id = wlan_vdev_get_id(vdev_obj->vdev);
|
||||
wlan_vdev_obj_unlock(vdev_obj->vdev);
|
||||
|
||||
qdf_mem_copy(peer_param->peer_macaddr,
|
||||
peer->peer_mac.bytes, QDF_MAC_ADDR_SIZE);
|
||||
|
@@ -244,21 +244,15 @@ QDF_STATUS tgt_tdls_mgmt_frame_process_rx_cb(
|
||||
tdls_err("current tdls vdev is null, can't get vdev id");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_TDLS_SB_ID);
|
||||
} else {
|
||||
wlan_peer_obj_lock(peer);
|
||||
vdev = wlan_peer_get_vdev(peer);
|
||||
wlan_peer_obj_unlock(peer);
|
||||
if (!vdev) {
|
||||
tdls_err("vdev is NULL in peer, drop this frame");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
}
|
||||
|
||||
rx_mgmt_event = qdf_mem_malloc(sizeof(*rx_mgmt_event));
|
||||
|
@@ -256,10 +256,8 @@ static void wifi_pos_populate_vdev_info(struct wlan_objmgr_psoc *psoc,
|
||||
{
|
||||
struct app_reg_rsp_vdev_info *vdev_info = arg;
|
||||
|
||||
wlan_vdev_obj_lock(vdev);
|
||||
vdev_info[vdev_idx].dev_mode = wlan_vdev_mlme_get_opmode(vdev);
|
||||
vdev_info[vdev_idx].vdev_id = wlan_vdev_get_id(vdev);
|
||||
wlan_vdev_obj_unlock(vdev);
|
||||
vdev_idx++;
|
||||
}
|
||||
|
||||
|
@@ -67,10 +67,8 @@ struct wifi_pos_psoc_priv_obj *wifi_pos_get_psoc_priv_obj(
|
||||
{
|
||||
struct wifi_pos_psoc_priv_obj *obj;
|
||||
|
||||
wlan_psoc_obj_lock(psoc);
|
||||
obj = wlan_objmgr_psoc_get_comp_private_obj(psoc,
|
||||
WLAN_UMAC_COMP_WIFI_POS);
|
||||
wlan_psoc_obj_unlock(psoc);
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
@@ -31,6 +31,48 @@
|
||||
* For now, all these configuration parameters are hardcoded.
|
||||
* Many of these should actually be coming from dts file/ini file
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_MCL
|
||||
#define WLAN_CFG_PER_PDEV_RX_RING 0
|
||||
#define NUM_RXDMA_RINGS_PER_PDEV 2
|
||||
#define WLAN_LRO_ENABLE 1
|
||||
|
||||
/* Tx Descriptor and Tx Extension Descriptor pool sizes */
|
||||
#define WLAN_CFG_NUM_TX_DESC 1024
|
||||
#define WLAN_CFG_NUM_TX_EXT_DESC 1024
|
||||
|
||||
/* Interrupt Mitigation - Batch threshold in terms of number of frames */
|
||||
#define WLAN_CFG_INT_BATCH_THRESHOLD_TX 1
|
||||
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX 1
|
||||
#define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER 1
|
||||
|
||||
/* Interrupt Mitigation - Timer threshold in us */
|
||||
#define WLAN_CFG_INT_TIMER_THRESHOLD_TX 8
|
||||
#define WLAN_CFG_INT_TIMER_THRESHOLD_RX 8
|
||||
#define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER 8
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WIN
|
||||
#define WLAN_CFG_PER_PDEV_RX_RING 1
|
||||
#define NUM_RXDMA_RINGS_PER_PDEV 1
|
||||
#define WLAN_LRO_ENABLE 0
|
||||
|
||||
/* Tx Descriptor and Tx Extension Descriptor pool sizes */
|
||||
#define WLAN_CFG_NUM_TX_DESC (16 << 10)
|
||||
#define WLAN_CFG_NUM_TX_EXT_DESC (8 << 10)
|
||||
|
||||
/* Interrupt Mitigation - Batch threshold in terms of number of frames */
|
||||
#define WLAN_CFG_INT_BATCH_THRESHOLD_TX 256
|
||||
#define WLAN_CFG_INT_BATCH_THRESHOLD_RX 128
|
||||
#define WLAN_CFG_INT_BATCH_THRESHOLD_OTHER 1
|
||||
|
||||
/* Interrupt Mitigation - Timer threshold in us */
|
||||
#define WLAN_CFG_INT_TIMER_THRESHOLD_TX 1000
|
||||
#define WLAN_CFG_INT_TIMER_THRESHOLD_RX 500
|
||||
#define WLAN_CFG_INT_TIMER_THRESHOLD_OTHER 8
|
||||
#endif
|
||||
|
||||
#define WLAN_CFG_INT_NUM_CONTEXTS 4
|
||||
|
||||
#define RXDMA_BUF_RING_SIZE 2048
|
||||
@@ -38,7 +80,6 @@
|
||||
#define RXDMA_MONITOR_DEST_RING_SIZE 2048
|
||||
#define RXDMA_MONITOR_STATUS_RING_SIZE 2048
|
||||
|
||||
|
||||
#ifdef TX_PER_PDEV_DESC_POOL
|
||||
#define WLAN_CFG_NUM_TX_DESC_POOL MAX_PDEV_CNT
|
||||
#define WLAN_CFG_NUM_TXEXT_DESC_POOL MAX_PDEV_CNT
|
||||
@@ -47,7 +88,6 @@
|
||||
#define WLAN_CFG_NUM_TXEXT_DESC_POOL 3
|
||||
#endif /* TX_PER_PDEV_DESC_POOL */
|
||||
|
||||
|
||||
#define WLAN_CFG_TX_RING_MASK_0 0x1
|
||||
#define WLAN_CFG_TX_RING_MASK_1 0x2
|
||||
#define WLAN_CFG_TX_RING_MASK_2 0x4
|
||||
@@ -91,20 +131,6 @@
|
||||
#define WLAN_CFG_HTT_PKT_TYPE 2
|
||||
#define WLAN_CFG_MAX_PEER_ID 64
|
||||
|
||||
#ifdef CONFIG_MCL
|
||||
#define WLAN_CFG_PER_PDEV_RX_RING 0
|
||||
#define NUM_RXDMA_RINGS_PER_PDEV 2
|
||||
#define WLAN_LRO_ENABLE 1
|
||||
#define WLAN_CFG_NUM_TX_DESC 1024
|
||||
#define WLAN_CFG_NUM_TX_EXT_DESC 1024
|
||||
#else
|
||||
#define WLAN_CFG_PER_PDEV_RX_RING 1
|
||||
#define NUM_RXDMA_RINGS_PER_PDEV 1
|
||||
#define WLAN_LRO_ENABLE 0
|
||||
#define WLAN_CFG_NUM_TX_DESC (16 << 10)
|
||||
#define WLAN_CFG_NUM_TX_EXT_DESC (8 << 10)
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_RX_HASH
|
||||
#define WLAN_RX_HASH_ENABLE 1
|
||||
#else
|
||||
@@ -187,6 +213,12 @@ struct wlan_cfg_dp_soc_ctxt {
|
||||
int num_tx_ext_desc;
|
||||
int max_peer_id;
|
||||
int htt_packet_type;
|
||||
int int_batch_threshold_tx;
|
||||
int int_timer_threshold_tx;
|
||||
int int_batch_threshold_rx;
|
||||
int int_timer_threshold_rx;
|
||||
int int_batch_threshold_other;
|
||||
int int_timer_threshold_other;
|
||||
int int_tx_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS];
|
||||
int int_rx_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS];
|
||||
int int_rx_mon_ring_mask[WLAN_CFG_INT_NUM_CONTEXTS];
|
||||
@@ -244,6 +276,15 @@ struct wlan_cfg_dp_soc_ctxt *wlan_cfg_soc_attach()
|
||||
wlan_cfg_ctx->htt_packet_type = WLAN_CFG_HTT_PKT_TYPE;
|
||||
wlan_cfg_ctx->max_peer_id = WLAN_CFG_MAX_PEER_ID;
|
||||
|
||||
wlan_cfg_ctx->int_batch_threshold_tx = WLAN_CFG_INT_BATCH_THRESHOLD_TX;
|
||||
wlan_cfg_ctx->int_timer_threshold_tx = WLAN_CFG_INT_TIMER_THRESHOLD_TX;
|
||||
wlan_cfg_ctx->int_batch_threshold_rx = WLAN_CFG_INT_BATCH_THRESHOLD_RX;
|
||||
wlan_cfg_ctx->int_timer_threshold_rx = WLAN_CFG_INT_TIMER_THRESHOLD_RX;
|
||||
wlan_cfg_ctx->int_batch_threshold_other =
|
||||
WLAN_CFG_INT_BATCH_THRESHOLD_OTHER;
|
||||
wlan_cfg_ctx->int_timer_threshold_other =
|
||||
WLAN_CFG_INT_TIMER_THRESHOLD_OTHER;
|
||||
|
||||
for (i = 0; i < WLAN_CFG_INT_NUM_CONTEXTS; i++) {
|
||||
wlan_cfg_ctx->int_tx_ring_mask[i] = tx_ring_mask[i];
|
||||
wlan_cfg_ctx->int_rx_ring_mask[i] = rx_ring_mask[i];
|
||||
@@ -504,3 +545,33 @@ void wlan_cfg_set_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg, int nss_cfg)
|
||||
{
|
||||
cfg->nss_cfg = nss_cfg;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_int_batch_threshold_tx(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->int_batch_threshold_tx;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_int_timer_threshold_tx(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->int_timer_threshold_tx;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_int_batch_threshold_rx(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->int_batch_threshold_rx;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_int_timer_threshold_rx(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->int_timer_threshold_rx;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_int_batch_threshold_other(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->int_batch_threshold_other;
|
||||
}
|
||||
|
||||
int wlan_cfg_get_int_timer_threshold_other(struct wlan_cfg_dp_soc_ctxt *cfg)
|
||||
{
|
||||
return cfg->int_timer_threshold_other;
|
||||
}
|
||||
|
@@ -371,4 +371,53 @@ int wlan_cfg_get_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
*
|
||||
*/
|
||||
void wlan_cfg_set_dp_soc_nss_cfg(struct wlan_cfg_dp_soc_ctxt *cfg, int nss_cfg);
|
||||
|
||||
|
||||
/*
|
||||
* wlan_cfg_get_int_batch_threshold_tx - Get interrupt mitigation cfg for Tx
|
||||
* @wlan_cfg_soc_ctx
|
||||
*
|
||||
* Return: Batch threshold
|
||||
*/
|
||||
int wlan_cfg_get_int_batch_threshold_tx(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/*
|
||||
* wlan_cfg_get_int_timer_threshold_tx - Get interrupt mitigation cfg for Tx
|
||||
* @wlan_cfg_soc_ctx
|
||||
*
|
||||
* Return: Timer threshold
|
||||
*/
|
||||
int wlan_cfg_get_int_timer_threshold_tx(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/*
|
||||
* wlan_cfg_get_int_batch_threshold_rx - Get interrupt mitigation cfg for Rx
|
||||
* @wlan_cfg_soc_ctx
|
||||
*
|
||||
* Return: Batch threshold
|
||||
*/
|
||||
int wlan_cfg_get_int_batch_threshold_rx(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/*
|
||||
* wlan_cfg_get_int_batch_threshold_rx - Get interrupt mitigation cfg for Rx
|
||||
* @wlan_cfg_soc_ctx
|
||||
*
|
||||
* Return: Timer threshold
|
||||
*/
|
||||
int wlan_cfg_get_int_timer_threshold_rx(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/*
|
||||
* wlan_cfg_get_int_batch_threshold_tx - Get interrupt mitigation cfg for other srngs
|
||||
* @wlan_cfg_soc_ctx
|
||||
*
|
||||
* Return: Batch threshold
|
||||
*/
|
||||
int wlan_cfg_get_int_batch_threshold_other(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
|
||||
/*
|
||||
* wlan_cfg_get_int_batch_threshold_tx - Get interrupt mitigation cfg for other srngs
|
||||
* @wlan_cfg_soc_ctx
|
||||
*
|
||||
* Return: Timer threshold
|
||||
*/
|
||||
int wlan_cfg_get_int_timer_threshold_other(struct wlan_cfg_dp_soc_ctxt *cfg);
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user