From 7c2f97528ef756a90d9ce2168046f3e306463270 Mon Sep 17 00:00:00 2001 From: Srinivas Pitla Date: Thu, 5 Jan 2017 13:11:40 +0530 Subject: [PATCH] qcacmn: Public APIs to get/set members of objects 1) inline APIs to get/set peer state from peer object 2) inline API to get pdev os private pointer 3) inline API to get vdev os private pointer 4) inline API to set/get max vdev count of pdev 5) Changed internal header files inclusions 6) Moved psoc_obj_attach() prototypes to gloabl_obj_i.h Change-Id: I088d6d24dd60982af8e42b0bed0ccfaf45e219bd CRs-Fixed: 1107371 --- .../obj_mgr/inc/wlan_objmgr_pdev_obj.h | 59 ++++++++++++++++++ .../obj_mgr/inc/wlan_objmgr_peer_obj.h | 51 ++++++++++++++++ .../obj_mgr/inc/wlan_objmgr_psoc_obj.h | 15 +++++ .../obj_mgr/inc/wlan_objmgr_vdev_obj.h | 60 +++++++++++++++++++ .../obj_mgr/src/wlan_objmgr_global_obj.c | 2 +- .../obj_mgr/src/wlan_objmgr_global_obj_i.h | 25 +++++++- .../obj_mgr/src/wlan_objmgr_pdev_obj.c | 6 +- .../obj_mgr/src/wlan_objmgr_peer_obj.c | 10 ++-- .../obj_mgr/src/wlan_objmgr_psoc_obj.c | 7 ++- .../obj_mgr/src/wlan_objmgr_psoc_obj_i.h | 27 +-------- .../obj_mgr/src/wlan_objmgr_vdev_obj.c | 8 +-- 11 files changed, 228 insertions(+), 42 deletions(-) diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h index 1397637d2197..266f095f09ef 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_pdev_obj.h @@ -382,6 +382,7 @@ static inline void wlan_pdev_obj_unlock(struct wlan_objmgr_pdev *pdev) 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; } @@ -399,6 +400,7 @@ static inline struct wlan_objmgr_psoc *wlan_pdev_get_psoc( 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; } @@ -416,6 +418,7 @@ static inline void wlan_pdev_set_psoc(struct wlan_objmgr_pdev *pdev, 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; } @@ -433,6 +436,7 @@ static inline void wlan_pdev_nif_fw_cap_set(struct wlan_objmgr_pdev *pdev, 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; } @@ -450,6 +454,7 @@ static inline void wlan_pdev_nif_fw_cap_clear(struct wlan_objmgr_pdev *pdev, 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; } @@ -467,6 +472,7 @@ static inline uint8_t wlan_pdev_nif_fw_cap_get(struct wlan_objmgr_pdev *pdev, 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; } @@ -484,6 +490,7 @@ static inline void wlan_pdev_nif_feat_cap_set(struct wlan_objmgr_pdev *pdev, 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; } @@ -501,6 +508,7 @@ static inline void wlan_pdev_nif_feat_cap_clear(struct wlan_objmgr_pdev *pdev, 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; } @@ -518,6 +526,7 @@ static inline uint8_t *wlan_pdev_get_hw_macaddr(struct wlan_objmgr_pdev *pdev) { struct wlan_objmgr_psoc *psoc = wlan_pdev_get_psoc(pdev); + /* This API is invoked with lock acquired, do not add log prints */ return wlan_psoc_get_hw_macaddr(psoc); } @@ -537,9 +546,59 @@ static inline void wlan_pdev_set_hw_macaddr(struct wlan_objmgr_pdev *pdev, { struct wlan_objmgr_psoc *psoc = wlan_pdev_get_psoc(pdev); + /* This API is invoked with lock acquired, do not add log prints */ if (psoc != NULL) wlan_psoc_set_hw_macaddr(psoc, macaddr); } +/** + * wlan_pdev_get_ospriv() - get os priv pointer + * @pdev: PDEV object + * + * API to get OS private pointer from PDEV + * + * Caller need to acquire lock with wlan_pdev_obj_lock() + * + * Return: ospriv - private pointer + */ +static inline void *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; +} +/** + * wlan_pdev_set_max_vdev_count() - set pdev max vdev count + * @pdev: PDEV object + * @vdev count: Max vdev count + * + * 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; +} + +/** + * wlan_pdev_get_max_vdev_count() - get pdev max vdev count + * @pdev: PDEV object + * + * 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; +} #endif /* _WLAN_OBJMGR_PDEV_H_*/ diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_peer_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_peer_obj.h index c7838c5a46d7..7fb02cde9864 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_peer_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_peer_obj.h @@ -381,6 +381,7 @@ static inline struct wlan_objmgr_peer *wlan_psoc_peer_list_peek_head( struct wlan_objmgr_peer *peer; qdf_list_node_t *psoc_node = NULL; + /* This API is invoked with lock acquired, do not add log prints */ if (qdf_list_peek_front(peer_list, &psoc_node) != QDF_STATUS_SUCCESS) return NULL; @@ -405,6 +406,7 @@ static inline struct wlan_objmgr_peer *wlan_vdev_peer_list_peek_head( struct wlan_objmgr_peer *peer; qdf_list_node_t *vdev_node = NULL; + /* This API is invoked with lock acquired, do not add log prints */ if (qdf_list_peek_front(peer_list, &vdev_node) != QDF_STATUS_SUCCESS) return NULL; @@ -430,6 +432,7 @@ static inline struct wlan_objmgr_peer *wlan_peer_get_next_peer_of_vdev( qdf_list_node_t *node; qdf_list_node_t *next_node = NULL; + /* This API is invoked with lock acquired, do not add log prints */ if (peer == NULL) return NULL; @@ -457,6 +460,7 @@ static inline struct wlan_objmgr_peer *wlan_peer_get_next_peer_of_vdev( static inline void wlan_peer_set_next_peer_of_vdev(qdf_list_t *peer_list, struct wlan_objmgr_peer *new_peer) { + /* This API is invoked with lock acquired, do not add log prints */ /* set next peer with new peer */ qdf_list_insert_back(peer_list, &new_peer->vdev_peer); return; @@ -480,6 +484,7 @@ static inline struct wlan_objmgr_peer *wlan_peer_get_next_peer_of_psoc( qdf_list_node_t *node = NULL; qdf_list_node_t *next_node = NULL; + /* This API is invoked with lock acquired, do not add log prints */ if (peer == NULL) return NULL; @@ -507,6 +512,7 @@ static inline struct wlan_objmgr_peer *wlan_peer_get_next_peer_of_psoc( static inline void wlan_peer_set_next_peer_of_psoc(qdf_list_t *peer_list, struct wlan_objmgr_peer *new_peer) { + /* This API is invoked with lock acquired, do not add log prints */ /* set next peer with new peer */ qdf_list_insert_back(peer_list, &new_peer->psoc_peer); return; @@ -526,6 +532,7 @@ static inline void wlan_peer_set_next_peer_of_psoc(qdf_list_t *peer_list, 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; } @@ -543,6 +550,7 @@ static inline void wlan_peer_set_peer_type(struct wlan_objmgr_peer *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; } @@ -560,6 +568,7 @@ static inline enum wlan_peer_type wlan_peer_get_peer_type( static inline void wlan_peer_set_macaddr(struct wlan_objmgr_peer *peer, uint8_t *macaddr) { + /* This API is invoked with lock acquired, do not add log prints */ WLAN_ADDR_COPY(peer->macaddr, macaddr); } @@ -576,6 +585,7 @@ static inline void wlan_peer_set_macaddr(struct wlan_objmgr_peer *peer, */ static inline uint8_t *wlan_peer_get_macaddr(struct wlan_objmgr_peer *peer) { + /* This API is invoked with lock acquired, do not add log prints */ return peer->macaddr; } @@ -593,6 +603,7 @@ static inline uint8_t *wlan_peer_get_macaddr(struct wlan_objmgr_peer *peer) 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; } @@ -610,6 +621,7 @@ static inline struct wlan_objmgr_vdev *wlan_peer_get_vdev( 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; } @@ -627,6 +639,7 @@ static inline void wlan_peer_set_vdev(struct wlan_objmgr_peer *peer, 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; } @@ -644,6 +657,7 @@ static inline void wlan_peer_mlme_flag_set(struct wlan_objmgr_peer *peer, 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; } @@ -661,6 +675,43 @@ static inline void wlan_peer_mlme_flag_clear(struct wlan_objmgr_peer *peer, 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; } + +/** + * wlan_peer_mlme_set_state() - peer mlme state + * @peer: PEER object + * @state: enum wlan_peer_state + * + * 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; +} + +/** + * wlan_peer_mlme_get_state() - peer mlme state + * @peer: PEER object + * + * 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; +} #endif /* _WLAN_OBJMGR_PEER_OBJ_H_*/ diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h index 23675869471a..25a8c47d6399 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_psoc_obj.h @@ -518,6 +518,7 @@ static inline void wlan_psoc_obj_unlock(struct wlan_objmgr_psoc *psoc) 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; } @@ -534,6 +535,7 @@ static inline void wlan_psoc_set_nif_phy_version(struct wlan_objmgr_psoc *psoc, 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; @@ -553,6 +555,7 @@ static inline uint32_t wlan_psoc_get_nif_phy_version( 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; } @@ -569,6 +572,7 @@ static inline void wlan_psoc_set_dev_type(struct wlan_objmgr_psoc *psoc, 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; @@ -588,6 +592,7 @@ static inline WLAN_DEV_TYPE wlan_objmgr_psoc_get_dev_type( 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; } @@ -605,6 +610,7 @@ static inline void wlan_psoc_nif_fw_cap_set(struct wlan_objmgr_psoc *psoc, 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; } @@ -622,6 +628,7 @@ static inline void wlan_psoc_nif_fw_cap_clear(struct wlan_objmgr_psoc *psoc, 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; } @@ -639,6 +646,7 @@ static inline uint8_t wlan_psoc_nif_fw_cap_get(struct wlan_objmgr_psoc *psoc, 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; } @@ -656,6 +664,7 @@ static inline void wlan_psoc_nif_fw_ext_cap_set(struct wlan_objmgr_psoc *psoc, 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; } @@ -673,6 +682,7 @@ static inline void wlan_psoc_nif_fw_ext_cap_clear(struct wlan_objmgr_psoc *psoc, 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; } @@ -690,6 +700,7 @@ static inline uint8_t wlan_psoc_nif_fw_ext_cap_get( 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; } @@ -707,6 +718,7 @@ static inline void wlan_psoc_nif_feat_cap_set(struct wlan_objmgr_psoc *psoc, 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; } @@ -724,6 +736,7 @@ static inline void wlan_psoc_nif_feat_cap_clear(struct wlan_objmgr_psoc *psoc, 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; } @@ -741,6 +754,7 @@ static inline uint8_t wlan_psoc_nif_feat_cap_get(struct wlan_objmgr_psoc *psoc, static inline void wlan_psoc_set_hw_macaddr(struct wlan_objmgr_psoc *psoc, uint8_t *macaddr) { + /* This API is invoked with lock acquired, do not add log prints */ if (psoc != NULL) WLAN_ADDR_COPY(psoc->soc_nif.soc_hw_macaddr, macaddr); } @@ -757,6 +771,7 @@ static inline void wlan_psoc_set_hw_macaddr(struct wlan_objmgr_psoc *psoc, */ 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; diff --git a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h index ea80dd199b4b..085caf7b0b4c 100644 --- a/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h +++ b/umac/cmn_services/obj_mgr/inc/wlan_objmgr_vdev_obj.h @@ -489,6 +489,7 @@ void *wlan_objmgr_vdev_get_comp_private_obj( 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; } @@ -509,6 +510,7 @@ static inline struct wlan_objmgr_vdev *wlan_pdev_vdev_list_peek_head( struct wlan_objmgr_vdev *vdev; qdf_list_node_t *vdev_node = NULL; + /* This API is invoked with lock acquired, do not add log prints */ if (qdf_list_peek_front(vdev_list, &vdev_node) != QDF_STATUS_SUCCESS) return NULL; @@ -535,6 +537,7 @@ static inline struct wlan_objmgr_vdev *wlan_vdev_get_next_vdev_of_pdev( qdf_list_node_t *node = &vdev->vdev_node; qdf_list_node_t *next_node = NULL; + /* This API is invoked with lock acquired, do not add log prints */ if (node == NULL) return NULL; @@ -561,6 +564,7 @@ static inline struct wlan_objmgr_vdev *wlan_vdev_get_next_vdev_of_pdev( static inline void wlan_vdev_set_pdev(struct wlan_objmgr_vdev *vdev, struct wlan_objmgr_pdev *pdev) { + /* This API is invoked with lock acquired, do not add log prints */ vdev->vdev_objmgr.wlan_pdev = pdev; } @@ -579,6 +583,7 @@ static inline struct wlan_objmgr_psoc *wlan_vdev_get_psoc( { struct wlan_objmgr_pdev *pdev; + /* This API is invoked with lock acquired, do not add log prints */ pdev = wlan_vdev_get_pdev(vdev); if (pdev == NULL) return NULL; @@ -600,6 +605,7 @@ static inline struct wlan_objmgr_psoc *wlan_vdev_get_psoc( 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; } @@ -617,6 +623,7 @@ static inline void wlan_vdev_mlme_set_opmode(struct wlan_objmgr_vdev *vdev, 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; } @@ -634,6 +641,7 @@ static inline enum tQDF_ADAPTER_MODE wlan_vdev_mlme_get_opmode( static inline void wlan_vdev_mlme_set_macaddr(struct wlan_objmgr_vdev *vdev, uint8_t *macaddr) { + /* This API is invoked with lock acquired, do not add log prints */ WLAN_ADDR_COPY(vdev->vdev_mlme.macaddr, macaddr); } @@ -650,6 +658,7 @@ static inline void wlan_vdev_mlme_set_macaddr(struct wlan_objmgr_vdev *vdev, */ static inline uint8_t *wlan_vdev_mlme_get_macaddr(struct wlan_objmgr_vdev *vdev) { + /* This API is invoked with lock acquired, do not add log prints */ return vdev->vdev_mlme.macaddr; } @@ -667,6 +676,7 @@ static inline uint8_t *wlan_vdev_mlme_get_macaddr(struct wlan_objmgr_vdev *vdev) static inline void wlan_vdev_mlme_set_mataddr(struct wlan_objmgr_vdev *vdev, uint8_t *mataddr) { + /* This API is invoked with lock acquired, do not add log prints */ WLAN_ADDR_COPY(vdev->vdev_mlme.mataddr, mataddr); } @@ -683,6 +693,7 @@ static inline void wlan_vdev_mlme_set_mataddr(struct wlan_objmgr_vdev *vdev, */ static inline uint8_t *wlan_vdev_mlme_get_mataddr(struct wlan_objmgr_vdev *vdev) { + /* This API is invoked with lock acquired, do not add log prints */ return vdev->vdev_mlme.mataddr; } @@ -699,6 +710,7 @@ static inline uint8_t *wlan_vdev_mlme_get_mataddr(struct wlan_objmgr_vdev *vdev) */ 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; } @@ -717,6 +729,7 @@ static inline uint8_t *wlan_vdev_get_hw_macaddr(struct wlan_objmgr_vdev *vdev) { struct wlan_objmgr_pdev *pdev = wlan_vdev_get_pdev(vdev); + /* This API is invoked with lock acquired, do not add log prints */ if (pdev != NULL) { return wlan_pdev_get_hw_macaddr(pdev); } else { @@ -742,6 +755,7 @@ static inline QDF_STATUS wlan_vdev_mlme_set_ssid( struct wlan_objmgr_vdev *vdev, const uint8_t *ssid, uint8_t ssid_len) { + /* This API is invoked with lock acquired, do not add log prints */ if (ssid_len < WLAN_SSID_MAX_LEN) { qdf_mem_copy(vdev->vdev_mlme.ssid, ssid, ssid_len); vdev->vdev_mlme.ssid_len = ssid_len; @@ -770,6 +784,7 @@ static inline QDF_STATUS wlan_vdev_mlme_get_ssid( struct wlan_objmgr_vdev *vdev, uint8_t *ssid, uint8_t *ssid_len) { + /* This API is invoked with lock acquired, do not add log prints */ if (vdev->vdev_mlme.ssid_len > 0) { *ssid_len = vdev->vdev_mlme.ssid_len; qdf_mem_copy(ssid, vdev->vdev_mlme.ssid, *ssid_len); @@ -820,6 +835,7 @@ static inline void wlan_vdev_obj_unlock(struct wlan_objmgr_vdev *vdev) 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; } @@ -837,6 +853,7 @@ static inline void wlan_vdev_mlme_set_bss_chan(struct wlan_objmgr_vdev *vdev, 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; } @@ -854,6 +871,7 @@ static inline struct wlan_channel *wlan_vdev_mlme_get_bss_chan( 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; } @@ -871,6 +889,7 @@ static inline void wlan_vdev_mlme_set_des_chan(struct wlan_objmgr_vdev *vdev, 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; } @@ -888,6 +907,7 @@ static inline struct wlan_channel *wlan_vdev_mlme_get_des_chan( 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; } @@ -905,6 +925,7 @@ static inline void wlan_vdev_mlme_set_nss(struct wlan_objmgr_vdev *vdev, 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; } @@ -922,6 +943,7 @@ static inline uint8_t wlan_vdev_mlme_get_nss( static inline void wlan_vdev_mlme_set_chainmask(struct wlan_objmgr_vdev *vdev, uint8_t chainmask) { + /* This API is invoked with lock acquired, do not add log prints */ vdev->vdev_mlme.chainmask = chainmask; } @@ -939,6 +961,7 @@ static inline void wlan_vdev_mlme_set_chainmask(struct wlan_objmgr_vdev *vdev, static inline uint8_t wlan_vdev_mlme_get_chainmask( struct wlan_objmgr_vdev *vdev) { + /* This API is invoked with lock acquired, do not add log prints */ return vdev->vdev_mlme.chainmask; } @@ -956,6 +979,7 @@ static inline uint8_t wlan_vdev_mlme_get_chainmask( 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; } @@ -973,6 +997,7 @@ static inline void wlan_vdev_mlme_set_txpower(struct wlan_objmgr_vdev *vdev, 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; } @@ -990,6 +1015,7 @@ static inline uint8_t wlan_vdev_mlme_get_txpower( 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; } @@ -1007,6 +1033,7 @@ static inline void wlan_vdev_mlme_set_maxrate(struct wlan_objmgr_vdev *vdev, 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; } @@ -1024,6 +1051,7 @@ static inline uint32_t wlan_vdev_mlme_get_maxrate( 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; } @@ -1041,6 +1069,7 @@ static inline void wlan_vdev_mlme_set_txmgmtrate(struct wlan_objmgr_vdev *vdev, 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; } @@ -1058,6 +1087,7 @@ static inline uint32_t wlan_vdev_mlme_get_txmgmtrate( 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; } @@ -1075,6 +1105,7 @@ static inline void wlan_vdev_mlme_feat_cap_set(struct wlan_objmgr_vdev *vdev, 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; } @@ -1093,6 +1124,7 @@ static inline void wlan_vdev_mlme_feat_cap_clear(struct wlan_objmgr_vdev *vdev, 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; } @@ -1111,6 +1143,7 @@ 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; } @@ -1129,6 +1162,7 @@ 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; } @@ -1148,6 +1182,7 @@ 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; } @@ -1165,6 +1200,7 @@ static inline uint8_t wlan_vdev_mlme_feat_ext_cap_get( 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; } @@ -1182,6 +1218,7 @@ static inline void wlan_vdev_mlme_cap_set(struct wlan_objmgr_vdev *vdev, 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; } @@ -1200,6 +1237,7 @@ static inline void wlan_vdev_mlme_cap_clear(struct wlan_objmgr_vdev *vdev, 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; } @@ -1216,6 +1254,7 @@ static inline uint8_t wlan_vdev_mlme_cap_get(struct wlan_objmgr_vdev *vdev, 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; } @@ -1233,6 +1272,7 @@ static inline enum wlan_vdev_state wlan_vdev_mlme_get_state( 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; } @@ -1251,6 +1291,7 @@ static inline void wlan_vdev_mlme_set_state(struct wlan_objmgr_vdev *vdev, 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; } @@ -1268,6 +1309,7 @@ static inline void wlan_vdev_set_selfpeer(struct wlan_objmgr_vdev *vdev, 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; } @@ -1285,6 +1327,7 @@ static inline struct wlan_objmgr_peer *wlan_vdev_get_selfpeer( 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; } @@ -1302,6 +1345,23 @@ static inline void wlan_vdev_set_bsspeer(struct wlan_objmgr_vdev *vdev, 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; } + +/** + * wlan_vdev_get_ospriv() - get os priv pointer + * @vdev: VDEV object + * + * API to get OS private pointer from VDEV + * + * Caller need to acquire lock with wlan_vdev_obj_lock() + * + * Return: ospriv - private pointer + */ +static inline void *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; +} #endif /* _WLAN_OBJMGR_VDEV_OBJ_H_*/ diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj.c index 350d89079979..0075d8b420d7 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj.c @@ -19,7 +19,7 @@ * DOC: Public APIs to perform operations on Global objects */ -#include +#include "wlan_objmgr_global_obj_i.h" #include #include "qdf_mem.h" diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj_i.h b/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj_i.h index 7206e4e66535..ffcfad3b625c 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj_i.h +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_global_obj_i.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -97,4 +97,27 @@ struct wlan_objmgr_global { extern struct wlan_objmgr_global *g_umac_glb_obj; +/** + * wlan_objmgr_psoc_object_attach() - attach psoc to global object + * @psoc - PSOC object + * + * attaches PSOC to global psoc list + * + * Return: SUCCESS + * Failure (Max supported PSOCs exceeded) + */ +QDF_STATUS wlan_objmgr_psoc_object_attach( + struct wlan_objmgr_psoc *psoc); + +/** + * wlan_objmgr_psoc_object_detach() - detach psoc from global object + * @psoc - PSOC object + * + * detaches PSOC from global psoc list + * + * Return: SUCCESS + * Failure (if list is empty and PSOC is not present) + */ +QDF_STATUS wlan_objmgr_psoc_object_detach( + struct wlan_objmgr_psoc *psoc); #endif /* _WLAN_OBJMGR_GLOBAL_OBJ_I_H_ */ diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_pdev_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_pdev_obj.c index 1201a743a51e..4894d5ac1209 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_pdev_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_pdev_obj.c @@ -20,14 +20,14 @@ */ #include #include -#include #include #include #include #include -#include -#include #include +#include "wlan_objmgr_global_obj_i.h" +#include "wlan_objmgr_psoc_obj_i.h" +#include "wlan_objmgr_pdev_obj_i.h" /** diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_peer_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_peer_obj.c index 27e2e17b266d..dbfca3e341f2 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_peer_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_peer_obj.c @@ -20,15 +20,15 @@ */ #include #include -#include #include #include #include #include -#include -#include -#include #include +#include "wlan_objmgr_global_obj_i.h" +#include "wlan_objmgr_psoc_obj_i.h" +#include "wlan_objmgr_pdev_obj_i.h" +#include "wlan_objmgr_vdev_obj_i.h" /** @@ -100,6 +100,8 @@ struct wlan_objmgr_peer *wlan_objmgr_peer_obj_create( wlan_peer_set_peer_type(peer, type); /* set mac address of peer */ wlan_peer_set_macaddr(peer, macaddr); + /* initialize peer state */ + wlan_peer_mlme_set_state(peer, WLAN_INIT_STATE); /* Attach peer to psoc, psoc maintains the node table for the device */ if (wlan_objmgr_psoc_peer_attach(psoc, peer) != QDF_STATUS_SUCCESS) { diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c index 10ec3d778209..823240b04b1c 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c @@ -21,14 +21,14 @@ #include #include -#include #include #include #include #include -#include -#include #include +#include "wlan_objmgr_global_obj_i.h" +#include "wlan_objmgr_psoc_obj_i.h" +#include "wlan_objmgr_pdev_obj_i.h" /** ** APIs to Create/Delete Global object APIs @@ -446,6 +446,7 @@ QDF_STATUS wlan_objmgr_iterate_obj_list( return QDF_STATUS_SUCCESS; } +EXPORT_SYMBOL(wlan_objmgr_iterate_obj_list); static void wlan_objmgr_psoc_peer_delete(struct wlan_objmgr_psoc *psoc, void *obj, void *args) diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj_i.h b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj_i.h index f36487d615e7..7871037e29af 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj_i.h +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj_i.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -98,29 +98,4 @@ QDF_STATUS wlan_objmgr_psoc_peer_attach(struct wlan_objmgr_psoc *psoc, */ QDF_STATUS wlan_objmgr_psoc_peer_detach(struct wlan_objmgr_psoc *psoc, struct wlan_objmgr_peer *peer); - -/** - * wlan_objmgr_psoc_object_attach() - attach psoc to global object - * @psoc - PSOC object - * - * attaches PSOC to global psoc list - * - * Return: SUCCESS - * Failure (Max supported PSOCs exceeded) - */ -QDF_STATUS wlan_objmgr_psoc_object_attach( - struct wlan_objmgr_psoc *psoc); - -/** - * wlan_objmgr_psoc_object_detach() - detach psoc from global object - * @psoc - PSOC object - * - * detaches PSOC from global psoc list - * - * Return: SUCCESS - * Failure (if list is empty and PSOC is not present) - */ -QDF_STATUS wlan_objmgr_psoc_object_detach( - struct wlan_objmgr_psoc *psoc); - #endif /* _WLAN_OBJMGR_PSOC_OBJ_I_H_ */ diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_vdev_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_vdev_obj.c index ad997776e085..b6d75be55935 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_vdev_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_vdev_obj.c @@ -20,15 +20,15 @@ */ #include #include -#include #include #include #include -#include #include -#include -#include #include +#include "wlan_objmgr_global_obj_i.h" +#include "wlan_objmgr_psoc_obj_i.h" +#include "wlan_objmgr_pdev_obj_i.h" +#include "wlan_objmgr_vdev_obj_i.h" /** ** APIs to Create/Delete Global object APIs