Commit Graph

1831 Commits

Author SHA1 Message Date
Soumya Bhat
c430e1081f qcacmn: Add new obj manager API
Add API to return node in logically deleted state

Change-Id: I7a922c9378533c1aff59aa89af039946a8ddbdd7
CRs-Fixed: 2007625
2017-02-17 20:24:05 -08:00
Wu Gao
f482dea2a7 qcacmn: Initialization of P2P component
Defines main APIs and data structures. Initial basic frame work of
P2P component.

Change-Id: I08d2e2cec734ddc535d88996f7d5ece5ef3d270a
CRs-Fixed: 1099441
2017-02-17 17:34:25 -08:00
Soumya Bhat
394a0f6e40 qcacmn: Object Manager change
Add change to update the max number of devices to 3

Change-Id: Iad1d3f0b1c6c56c39dc301039b7520e5b44ec0c8
CRs-Fixed: 2006510
2017-02-17 09:20:11 -08:00
Himanshu Agarwal
009eee1dbb qcacmn: Change signature of mgmt rx frame related APIs
Change signature of tgt_mgmt_txrx_rx_frame_handler API
and mgmt_frame_rx_callback by replacing rx params of type
void pointer with that of struct mgmt_rx_event_params
pointer.

Change-Id: Idfa54f1c9bfec22a2cf2e98740765dcd797513df
CRs-Fixed: 1103247
2017-02-16 13:07:10 -08:00
Selvaraj, Sridhar
b7bc7e789b qcacmn: Add ref cnt enumeration for new modules
Add ref count debug enumeration for legacy modules.

Change-Id: Id1d4026d65b16c31bf6c131450d5802a5673e09a
CRs-Fixed: 2001058
2017-02-15 01:48:46 -08:00
Srinivas Pitla
2f8f8b5add qcacmn: Add support for Ref count debug mechanism
This debug framework maintains module/API level counters and increments on
get_ref and decrements on release, on release if the caller count is 0
exception would be thrown.

This would help to identify any caller is releasing the reference more times
or not releaseing the reference

Change-Id: Ib3bc0dd5fb28587033142291a785c20f8775f9a0
CRS-Fixed: 1096009
2017-02-15 01:48:45 -08:00
Srinivas Pitla
10aa60c11f qcacmn: Add reference count support to PSOC/PDEV/VDEV/PEER objects
This change implements ref count mechanism, before accessing/storing object,
its ref count has to be incremented to avoid "use after free" scenarios.

1) Increments ref count of each object on its creation
2) Increments parent object on creation of child object (ex: on peer creation
	vdev object ref count gets incremented)
3) On get_obj() API, caller will be returned object after incrementing ref cnt

Change-Id: Ic01cb3217881d269cc451f0e63358e1e4decaaa7
CRS-Fixed: 1096009
2017-02-15 01:48:43 -08:00
Mukul Sharma
d8fd144d95 qcacmn: Add PMO qdf and component module ID
Add PMO qdf and component module ID's.

Change-Id: Icbd5ea96a4164dce600d5382b3bce0d38babd201
CRs-Fixed: 1115147
2017-02-14 02:53:58 -08:00
Mukul Sharma
45223f3b60 qcacmn: Add WMI reference in PSOC and PSoc reference in WMI
Add WMI reference in PSOC and PSoc reference in WMI.

Change-Id: I6841bec1748447c6c98a81417365cf6e8d228b54
CRs-Fixed: 2002025
2017-02-08 04:43:36 -08:00
Krunal Soni
c4e3592bbf qcacmn: Serialization Init and DeInit
Define folder and file structure for
Serialization UMAC convergence component.
Define the changes for initializing and de-initializing
the serialization component

Change-Id: I1074091a74bba8aa7426345f6fb1a5df127f1a59
CRs-Fixed: 2000032
2017-02-03 18:06:19 -08:00
Krunal Soni
748e6b76a1 qcacmn: Create serialization component's public API
Define the public APIs for serialization component for other
components to use.

Change-Id: I66c8fd2c85aaf7b78f98ea6a273784fa253969b6
CRs-Fixed: 2000032
2017-02-03 18:06:17 -08:00
Sandeep Puligilla
7225a3b99b qcacmn: Merge Scan manager and scan database umac id
Scan module is single component containing scan manager
services and scan database services so merge Scan manager
and scan database umac component id's.

Change-Id: I02f946824e34bb68c979b6ef3d2026aeb4cd1447
CRs-Fixed: 1113735
2017-01-31 19:36:39 -08:00
Debasis Das
c4c2ac4121 qcacmn: Inline funcs for mgmt_txrx southbound API's
Use inline functions to access the mgmt_txrx southbound API's.
CRS Fixed: 1110551
Change-Id: I50f71261618fd6812265738597bd6f2968cef692
2017-01-24 02:28:43 -08:00
Debasis Das
4411a492ae qcacmn: Use relative path for internal header files
The internal header file included by mgmt_txrx
dispatcher files can be included through relative
path.The kbuild need not have an entry for this
in the inclusion path.

Change-Id: Ie47351c8f69d8dbd08d665282e7827dc9c98458e
CR's Fixed:1110532
2017-01-16 23:57:26 -08:00
Srinivas Pitla
7c2f97528e 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
2017-01-12 02:34:16 -08:00
Srinivas Pitla
eb76bcde26 qcacmn: API to find peer with mac address and bssid
Multiple peers can have same mac address in QWRAP, in those scenarios BSSID
should also match to get the peer. This API takes mac address and BSSID as
input params

Change-Id: I741dd78c7662a63106685f53cc51041f320e2d56
CRs-Fixed: 1107371
2017-01-12 02:34:15 -08:00
Himanshu Agarwal
ca307114d1 qcacmn: Add logic to handle reg/dereg of multiple rx callbacks
Add logic to handle registration and deregistration of rx callbacks
for multiple frames in a single call of corresponding func.

Change-Id: I09479988f0c55f6d358ef503417dcfb46f2a0565
CRs-Fixed: 1103247
2017-01-10 03:05:46 -08:00
Soumya Bhat
ff3cac3135 qcacmn: Return from lmac_if_open appropriately
Add change in wlan_lmac_if_open() to return success
if device type is valid, else return invalid and handle
failure appropriately in caller.

Change-Id: I77a0620d4d64b18e28ce2cef7b5fb3dc7fb844ba
CRs-Fixed: 1096016
2017-01-09 14:13:14 -08:00
Srinivas Pitla
24ca6c9ed7 qcacmn: Fix the return status in psoc_pdev_detach()
Return QDF_STATUS_SUCCESS if pdev is detached properly

Change-Id: I81c3c92acc4baece650c8b4ea6a506a0579bff3d
CRs-Fixed: 1107371
2017-01-06 09:20:31 -08:00
Srinivas Pitla
1a2ef8c613 qcacmn: Add APIs to get component private object for pdev/vdev/peer
Add APIs to get component private object pointer. The caller has
to acquired its object lock, before calling this function, and
the lock has to be released after returning

Change-Id: I93b1001d936ba35af557b78edf45a11d58ae5308
CRs-Fixed: 1107371
2017-01-06 08:44:04 -08:00
Selvaraj, Sridhar
afd3a5b6f3 qcacmn: Add API to retrieve component private object from psoc
Add API to retrieve component private object from psoc for respective
umac component id. In addition, the following changes are also done:
 1) Add IBSS Peer type.
 2) Define UMAC VDEV ID Max.
 3) Define Psoc, pdev, vdev create timeout values.
 3) Fix compilation issues of object manager.

Change-Id: I418dad89fe641c0b536549222eb391546975e66b
CRs-Fixed: 1097225
2017-01-03 22:39:40 -08:00
Soumya Bhat
be6cc1703d qcacmn: Refine wlan_objmgr_cmn.h
Separate macro/enum definitions from wlan_objmgr_cmn.h
which are generic to several modules into a different file.

Change-Id: I884b26fd74c08e0f35512b073a7222fff9b9f88c
CRs-Fixed: 1096009
2016-12-30 16:32:42 -08:00
Soumya Bhat
dd73487ad6 qcacmn: Rename variable for readability
Rename instance of comp_obj referred in code to comp_priv_obj,
as these instances are private to individual components

Change-Id: I895362261e5b7e06a46c2bd92942a972c75f192b
CRs-Fixed: 1096009
2016-12-30 01:09:28 -08:00
Himanshu Agarwal
290e3408b8 qcacmn: Decrease the peer ref count after use
Decrease the ref count for peer when peer is no longer
needed in case of mgmt tx and rx frame handling.

Change-Id: I1e0599271a05add0a2e6f06d3809a1d2e54732e3
CRs-Fixed: 1103247
2016-12-29 11:09:34 -08:00
Himanshu Agarwal
c68d5a1acf qcacmn: Fix compilation errors in mgmt txrx component
Fix compilation errors in mgmt txrx component in
wlan_mgmt_txrx_mgmt_frame_tx function.

Change-Id: Ie09fba5924778a7e774b896bef7849d1ac77b21f
CRs-Fixed: 1103247
2016-12-29 11:09:32 -08:00
Himanshu Agarwal
f8641b9a4e qcacmn: Changes for mgmt txrx component to interact with southbound
Define mgmt txrx tx and rx ops in lmac if layer and register rx ops
with mgmt txrx layer statically inside wlan_lmac_if_register_rx_handlers.

Change-Id: I4f59f69ed0e8b702b8d3c93e4b732891d50c1555
CRs-Fixed: 1103247
2016-12-27 11:11:25 -08:00
Himanshu Agarwal
f0d971512c qcacmn: Add support for TX path for mgmt_txrx
Add support for Tx path and TX completion path
for mgmt_txrx for the converged umac.

Change-Id: I964ee78ae4f6ff1fc5f26a6f7d16ae6b4e50bbee
CRS Fixed: 1103247
2016-12-27 11:11:24 -08:00
Himanshu Agarwal
b7388515b9 qcacmn: Rx frame handling in umac converged mgmt txrx component
Do handling of mgmt rx frames as:
1) Query peer from object manager.
2) Parse the frame to get frame type and call the
   corresponding rx cb registered by the components.

Change-Id: I2816e4b337508784515faa7a3d0fe7f9923ae962
CRs-Fixed: 1103247
2016-12-27 11:11:22 -08:00
Himanshu Agarwal
74782880c8 qcacmn: Init/deinit of mgmt txrx converged component
Initialization/deinitialization of mgmt txrx context,
mgmt desc pool, declaration of APIs for sending and
receiving mgmt. frames.

Change-Id: Icc1f181761721387bcd1f134c937204bfd3b645f
CRs-Fixed: 1103247
2016-12-27 11:11:21 -08:00
Soumya Bhat
604dae04f4 qcacmn: Framework for umac south-bound interface
Add framework in UMAC to access LMAC and to be accessed
by LMAC through callback APIs

Change-Id: Ie829f3ba90fbc399d993d862dbf5f9ad348e3bbd
CRs-Fixed: 1096016
2016-12-20 03:57:44 -08:00
Srinivas Pitla
fa5290fe30 qcacmn: Initial version of UMAC object manager
Define object manager framework. The object manager framework implements
the management of UMAC objects(PSOC/PDEV/VDEV/PEER). All components of UMAC
have to register their APIs with object manager to be invoked on object
creation/deletion.

It also provides public APIs to retrieve objects.

CRS-Fixed: 1096009
Change-Id: If1465aed8b5e05e23ee0e1d9c9818dbf92fbe55a
2016-12-17 11:05:36 -08:00