Graphe des révisions

3148 Révisions

Auteur SHA1 Message Date
Rajeev Kumar
5ab8052a25 qcacmn: Add ext service ready data structures in header file
In order to access ext service ready data from psoc object define
ext service ready data structures in common psoc (ext)service ready
header file.

Change-Id: I74e4759a7fd76a69d84b49539167af9ccc180828
CRs-Fixed: 2001291
2017-02-23 18:10:11 -08:00
Rajeev Kumar
b9ed6cc1cf qcacmn: Add service ready data structures in header file
In order to access service ready data from psoc object define
service ready data structures in common psoc (ext)service ready
header file.

Change-Id: I61d5ec4e2863723f788a87578b88b688dc979912
CRs-fixed: 2001259
2017-02-23 18:10:09 -08:00
Rajeev Kumar
1cc78deb3c qcacmn: Add files for (ext)service ready data access in psoc
Add header and source files for storing (ext)service ready data
in common psoc object. All public APIs to access (ext)service ready
data from psoc object needs to be added in this file.

Change-Id: Icf2ebd99116b34a4ac8acc1c24592d61b17d1c9f
CRs-Fixed: 2001232
2017-02-23 18:10:08 -08:00
Rajeev Kumar
1ef07b917b qcacmn: Clean up comment text in psoc obj source file
Clean up comment text in psoc obj source file as per kernel
coding guidelines.

Change-Id: I4ab8f2f55d487117ac447eda1b43add14ff64170
CRs-Fixed: 2010425
2017-02-23 16:41:44 -08:00
Tushnim Bhattacharyya
fbce077792 qcacmn: Add ID for policy manager component
Add policy manager ID for object manager registration & logging

Change-Id: I5d665352598d84218522bf1d8a44538e4cad0368
CRs-Fixed: 2009818
2017-02-23 15:04:01 -08:00
Vivek
3e5a3ba077 qcacmn: Define os private structure in pdev object
-Define OS private memory structure and provide pointer
 to store the private data of each umac module's os specific data
-Initialize pdev's os private structure member 'wiphy'.
-Move vendor command definition to common project.

Change-Id: I2033bfbf0fe38e82c3a14942ac9f9bfda45e2c6c
CRs-Fixed: 2002991
2017-02-23 03:06:53 -08:00
Krunal Soni
c336de23c9 qcacmn: Fix type of parameter passed to serialization timeout callback
By mistake, current serialization is passing component's command pointer
instead passing serialization's command pointer which leads to confusion
and incorrect behavior. Fix by passing correct parameters.

When serialization module's callback to activate the command fails, it
doesn't give callback to release the memory which will lead to memory
leak. Fix by calling release memory callback.

CRs-Fixed: 2000032
Change-Id: Ic08e00fd1a815674f54c16593baeb0dd6d14d033
2017-02-22 15:10:33 -08:00
Mukul Sharma
d10b269500 qcacmn: Set VDEV SELF PEER and BSS peer to NULL on peer detach
Currently, On peer attach object manager set self peer
and bss peer. But on peer detach it does not clear
SELF PEER and BSS peer to NULL hence in race conditions
other components are accessing invalid BSS peer.
As a part of the fix, Set them to NULL on vdev peer detach.

Change-Id: I9a2bbfed8665dcb3bf2509f124dba2a5f3de8c55
CRs-Fixed: 2007748
2017-02-22 12:33:30 -08:00
Soumya Bhat
e2e544267e qcacmn: Global lmac_if
Add global lmac interface which can be used by all the
modules parallel to UMAC to communicate with LMAC

Change-Id: Iaf121c7411a22e3697881405360caa5dc745298a
CRs-Fixed: 2006686
2017-02-22 11:53:58 -08:00
Rajeev Kumar
22d1abffe1 qcacmn: WMI service ready convergence changes
Converge on common WMI event handling for (ext)service ready
such that common PSOC object can be populated after common parsing.
Legacy (ext)service ready handlers continue to co-exist to support
legacy modules. Legacy service ready handlers can be removed once
legacy modules are also componentized and start using new object
model of PSOC, PDEV, VDEV and PEER.

To support multiple SoCs register for various psoc objects via legacy
callback registration routine during psoc probe and populate common
psoc object once WMI (ext)service ready event is parsed.

CRs-Fixed: 1110768
Change-Id: I966b8f7c775a19ac6e51ad5217a2dd0287acfada
2017-02-21 15:44:05 -08:00
Mukul Sharma
d1e5de57f2 qcacmn: Add PMO ID in obj mgr reference debug id
Add PMO ID in obj mgr reference debug id.

Change-Id: I3defda665043182311ccd8cfcf00dc6172b61577
CRs-Fixed: 2009121
2017-02-21 04:02:28 -08:00
Sandeep Puligilla
2e1088dd4b qcacmn: Scan module init and deinit
Scan module init and deinit

Change-Id: Id3f4b88796c1145f487c02785084320ee8b21037
CRs-Fixed: 2008137
2017-02-20 07:29:17 -08:00
Anish Nataraj
a60ad827cf qcacmn: Implement serialization command rules and processing logic
Initialize rules callback handlers for different components,
Add serialization command processing logic, which calls
component info callback handler to get information about component
state. Component info then is passed to apply rules logic callback
to either deny or enqueue the serialization command

Change-Id: I59be9c5ee71e57fb5737558654222346bea4f1f8
CRs-Fixed: 2000032
2017-02-20 05:21:28 -08:00
Om Prakash Tripathi
7e3f45da3c qcacmn: scan convergence - initial set of files
Add initial set of scan files, structure definitions
and API proto type.

Change-Id: Ibfaef8bb09d51e12bde773fcea69e273eff3bb41
CRs-Fixed: 1095299
2017-02-20 01:03:21 -08:00
Krunal Soni
0bb803fb7e qcacmn: Fix compilation error caused by object manager API change
Object manager's API definition has been changed which causes
compilation error in serialization module. Fix the compilation.

Change-Id: I89cd20c12579f927984ca4c94cf6155ea567b9d7
CRs-Fixed: 2000032
2017-02-18 18:55:14 -08:00
Krunal Soni
16641b145a qcacmn: Provide implementation of command queue operations
Provide the implementation to enqueue, dequeue, cancel,
remove, flush operation of command.

Change-Id: Id62cf320fa0936ed3ddb1264464d35ab5c60e95a
CRs-Fixed: 2000032
2017-02-18 18:55:12 -08:00
Krunal Soni
8a583437e7 qcacmn: Fix bugs in serialization module reported by reviewer
Few issues are observed and reported in serialization module, fix
them.

Change-Id: I11929f086a5f7ef227b8b8fa62d0cf8c1b5f0b9c
CRs-Fixed: 2000032
2017-02-18 18:55:11 -08:00
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