Add HE Mac, PHY , MCS , OP & PPET in peer_assoc_params
structure. Add HE PHY & PPET in wmi_host_mac_phy_caps
structure. Populate HE params while sending WMI Peer
assoc commands.Parse HE Phy & PPET while parsing Mac
Phy TLV in Service ready extension event.Add required
changes in psoc_service_ready header files.
Change-Id: Ia2fc7f54634a7a0c98996e361e38b11b3b74a7a0
CRs-Fixed: 2009118
In order to move old legacy to new mechanism, provide new serialization
APIs and message types.
CRs-Fixed: 2000032
Change-Id: Ifc0a54837ab85f1cc1156a5592f409c9e95ebd8e
The fix addresses following issues.
1) Add legacy SME ID in object manager reference debug id.
2) Add legacy SME message enum to serialization module.
3) Make cmd_id from uint16_t to uint32_t for compatiblity.
4) Adjust the cmd_type check as there are more cmd_types available.
5) Add some logging to make debugging easier.
6) Don't take the spin lock while iterating through pdevs
7) Add supporting APIs to check if command is present in queues
CRs-Fixed: 2000032
Change-Id: I43ed80c2a4d63940d8d6db29f1132373545cd4ab
Add changes to populate service and ext service ready parsed data in
psoc object.
Change-Id: I2079faa0480969976caaa393872da82c1d2534e6
CRs-Fixed: 2001326
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
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
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
-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
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
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
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
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
Object manager's API definition has been changed which causes
compilation error in serialization module. Fix the compilation.
Change-Id: I89cd20c12579f927984ca4c94cf6155ea567b9d7
CRs-Fixed: 2000032
Provide the implementation to enqueue, dequeue, cancel,
remove, flush operation of command.
Change-Id: Id62cf320fa0936ed3ddb1264464d35ab5c60e95a
CRs-Fixed: 2000032
Defines main APIs and data structures. Initial basic frame work of
P2P component.
Change-Id: I08d2e2cec734ddc535d88996f7d5ece5ef3d270a
CRs-Fixed: 1099441
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
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
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
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
Define the public APIs for serialization component for other
components to use.
Change-Id: I66c8fd2c85aaf7b78f98ea6a273784fa253969b6
CRs-Fixed: 2000032
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
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
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
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
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
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
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
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
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
Add support for Tx path and TX completion path
for mgmt_txrx for the converged umac.
Change-Id: I964ee78ae4f6ff1fc5f26a6f7d16ae6b4e50bbee
CRS Fixed: 1103247
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
Initialization/deinitialization of mgmt txrx context,
mgmt desc pool, declaration of APIs for sending and
receiving mgmt. frames.
Change-Id: Icc1f181761721387bcd1f134c937204bfd3b645f
CRs-Fixed: 1103247
Add framework in UMAC to access LMAC and to be accessed
by LMAC through callback APIs
Change-Id: Ie829f3ba90fbc399d993d862dbf5f9ad348e3bbd
CRs-Fixed: 1096016
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