TWT componentization code is converged. Remove WLAN_TWT_CONV_SUPPORTED,
leaving just WLAN_SUPPORT_TWT to enable the feature code.
Change-Id: Ic7f7b1dac43e78b454bab0267dd4a58a56ab2c48
CRs-Fixed: 3285181
Add infra to support Dedicated Bluetooth Antenna Mode (DBAM)
feature. It is used to switch between dedicated antenna for
BT and shared antenna for WLAN and BT.
Change-Id: I21688093674ef9b63ee811df9168a31bd71c56b5
CRs-Fixed: 3239895
When SAP off and psoc idle shutdown happens before NOL timeout,
DFS pdev obj is destroyed, NOL timer is cleared, NOL channel
is failed to clear for regulatory pdev obj is freed already.
To fix it, let NOL timer and NOL be cleared in dispatcher_pdev_close,
before pdev destroy and regulatory pdev obj destroyed.
Change-Id: I5818f8a0284a6c45e8a435ac59269df73507deeb
CRs-Fixed: 3151099
Add interface for sending mlo link set active cmd and
register the response handler.
Change-Id: Icd7cf3294cddec1aa4a417e29a22fcd6fbea0dfb
CRs-Fixed: 3036846
Add parameter 'bool sync' for wlan_cfg80211_crypto_add_key()
to indicate whether or not to add key synchronously.
If it's set to true, wait until install key complete event
is received.
Change-Id: I9a69d486665fb3f65a5720ccfbfb638c09329418
CRs-Fixed: 2865832
Add support for processing the start scan response
WMI event. FW provides the necessary information to
segregate FFT bins to pri80, 5 MHz and sec80 in
160/165 MHz. Also, cfreq2 and the channel width is
provided to FW via WMI command.
CRs-Fixed: 2672081
Change-Id: I666b6c18a63d5d01117aa9cbd611691c6f8b2793
Add initial set of coex files, implement the basic functions.
Coex component is used to process coex related configurations.
CRs-Fixed: 2565088
Change-Id: I8b9600809691b808f97c621cb329a6ab9941814c
When loading wlan host, memory alloc takes too long when registering
spectral to direct buffer rx component and affect wmi ready event
handling. So avoid to register spectral to dbr when loading wlan.
Change-Id: If48aab2cf424c41af1427f350734690918291d69
CRs-Fixed: 2558477
During pdev create callback, pdev reference cannot be taken. Hence,
channel change callbacks cannot be called during pdev create. So
call the callbacks during regulatory_pdev_open. Also dont check
if regulatory_pdev_open fails.
Change-Id: I9d444f952418be983e4ac2182581d03bba02b198
CRs-Fixed: 2572487
Regulatory module calls registered callbacks when channel list is changed.
But channel list may not have been received when path for callbacks is
reached. So keep a track if channel list has been received. If not, do
not call the callbacks.
Change-Id: I2e1a6e442b0d5c79e786806e00b1c50c9491dae0
CRs-Fixed: 2563759
Use new macro "SPECTRAL_MODULIZED_ENABLE" to replace "CONFIG_MCL" and
"CONFIG_WIN" in spectral scan component.
Change-Id: Ib0167fa7b7cb08efde8d690f24eff85dd21897a1
CRs-Fixed: 2444204
In psoc open, driver try to get the number of PDEV and
allocate memory for number of timers. But during psoc open number of
pdev are 0, thus timers are not allocated for non scan active queues.
Now if all scan active queues are full and a non scan command is
activated, it tries to find empty timer, which is not found, as
all timers are used by scan commands. Thus timer is not started for
this command and when this command is aborted the timer destroy API
return failure and thus the command is not removed from the active
queue.
Allocate the timer during psoc enable where pdevs are already created
and driver can get the number of pdev and print error if start timer
fails for a command.
Change-Id: Ia5b22e2849c58992a7d3d4097becc257ac673157
CRs-Fixed: 2389157
Add INI support to disable spectral feature and do not process the spectral
user commands if spectral feature is disabled.
Change-Id: Id353131675454652d59fd5d5f8fd3d732a07b777
Acked-by: Shashikala Prabhu <pshashik@codeaurora.org>
CRs-Fixed: 2343947
TDLS component used in CLD only and needn't in hostcmn. So there
is requirement to move it from hostcmn to CLD. This change removes
policy mgr related files/codes from hostcmn.
Change-Id: Ifeaf1447e74f83a17072d08c4a0ff62a13e91518
CRs-Fixed: 2361584
Policy mgr component used in CLD only and needn't in hostcmn. So there
is requirement to move policy mgr component from hostcmn to cld. This
change removes policy mgr related files/codes from hostcmn.
Change-Id: Ie774d526cd4aa91b16afe6e01919141b570324c4
CRs-Fixed: 2361566
P2P component used in CLD only, and needn't in hostcmn. So move P2P
component from hostcmn to cld. This change remove P2P related/codes
files from hostcmn.
Change-Id: I351ee153588bbcdb62041b4626370d451a3f56bb
CRs-Fixed: 2361487
NAN will not be needed in CMN codebase, to reduce the
unnecessary lines of code all the NAN related files have
been merged into CLD. Remove all those files from CMN,
remove NAN related API's and structures from init-deinit,
target if and lmac components.
Remove NAN component and related files from CMN.
Change-Id: I8fa22b84aff30cfbb7a8cd0a573acf6e0a9d8744
CRs-Fixed: 2338061
This change defines VDEV MLME object, and registers with object manager to
be notified on creation/destroy, and also initializes MLME SM
Change-Id: I75bb7de7326e4bbed21ef9653427c4e0694c3ffc
CRs-Fixed: 2307722
Enable the configuration component in dispatcher, by calling the
cfg_dispatcher_init() and cfg_dispatcher_deinit() functions.
Change-Id: I1aa0d79729f35be422457280700cf1121a1873bf
CRs-Fixed: 2258230
Add spectral scan feature flag which can be
used to control the feature through build options.
Change-Id: Ic56416fc99b521174cccb3af27cc841bfb2ad27d
CRs-Fixed: 2244334
Address the following issue in the init_deinit folder:
CHECK: 'thier' may be misspelled - perhaps 'their'?
Change-Id: I1208f8cf7756c702c3d6cc6d0972fad75ea12c24
CRs-Fixed: 2241578
Add support for cp stats component initialization
and deinitization, and invoke cp stats for psoc open,
close, enable and disable
CRs-Fixed: 2192386
Change-Id: I6295f86d3c9570815fe9648b3320e1d31d79bbef
In the current code, mgmt tx rx descriptors nubfs per pdev,
which are in use when driver is unloaded,
are tried to be freed in dispatcher_psoc_disable,
by iterating through the pdevs which ideally should not be available.
And in ideal conditions, there are no pdevs during psoc_disable,
there was no attempt to free the nbuf
of pdevs mgmt tx rx descriptors in use,
which could have resulted in leaks but no assert.
In some cases, by the time dispatcher_psoc_disable was called,
and pdev count was non zero, we were seeing some issue accessing
the pdev or pdev mgmt tx rx context and it was causing assert.
The mgmt tx rx descriptors nubfs
which are in use when the driver is unloaded,
should be freed in dispcatcher pdev close and
not in dispatcher psoc close.
Change-Id: Ia6ac0b2ceeb017221153dab92bf014481eca2a5b
CR's Fixed: 2187890
Process spectral summary and search fft report for
gen3 spectral HW. Add the frame work to register to
Direct dma module.
CRs-Fixed: 2184019
Change-Id: I4e2869d9c2887767d58685533265cc93c908b697
Regulatory component takes pdev reference count in pdev create handler by
invoking reg_send_scheduler_msg_sb() to call registered callback functions
to notify current channel change. We cannot take ref count in creation
handler of that pdev object since the object creation is not completed and
ref count initialization might be incomplete in some cases. For example,
if any component releases ref count, it will lead to object deletion.
If any component object fails to create, it requires complete object to be
cleaned up. That leads to leaking the object due to object reference
is held by another component.
Define dispatcher_pdev_open() and call it after creating the PDEV object.
Invoke reg_send_scheduler_msg_sb() from dispatcher_pdev_open() instead of
calling it from pdev create handler.
Change-Id: I0b000f5bbd56045abef3706182c208f63dea69aa
CRs-Fixed: 2168027
Add new WMI EVENT, SW FILS Discovery Alert Event, to get
firmware trigger to transmit FILS Discovery Frames.
Add WMI command to send FD frame buffer to firwmare.
Add WMI command to set FD period interval in mili seconds.
Change-Id: I8cb6279ec4431b9236bd32c548228a0dc6598664
CRs-Fixed: 2118098
Direct buffer rx framework is cleaned up to have the following
changes -
1. Init and deinit during target interface open and close to avoid
multiple inits and deinits in case of multi-SOC chipsets
2. Register WMI events required for the framework through PSOC
enable and disable
3. Rename API that attaches hal soc and osdev objects to psoc object
4. Module ID numbering starts from 0. Modify usage to adhere to it
5. Add API to get LMAC IF tx ops from psoc
Change-Id: Ieceeb6c0e1a89c32f23b9c252e74671cd5c4a69b
CRs-Fixed: 2167614
A commonly used and robust life-cycle pattern consists of the following
4 steps:
1) create (allocate resources)
2) start (mark resources as safe for use)
3) stop (mark resources as unsafe for use)
4) destroy (deallocate resources)
This pattern effectively prevents access to uninitialized and freed
resources. While the dispatcher psoc life-cycle follows this pattern,
the global life-cycle is condensed into steps 1 and 4. Unsurprisingly,
this led to uninitialized and freed resource access problems, especially
in regards to the scheduler thread.
Split the scheduler init and deinit life-cycle functions into init,
enable, disable, and deinit. Create new global enable and disable
dispatcher functions, and call the new scheduler APIs as appropriate.
This brings the global dispatcher life-cycle in line with the existing
psoc life-cycle, and prevents many scheduler related resource access
issues.
Change-Id: I58b65be0611f48e48354f28c221185f6f490f30c
CRs-Fixed: 2153283