Since refined second part of LFR INIs, apply these changes in
SME/MAC/WMA layer.
Change-Id: I7994a9038d5bd094ce23bcd525ef8f5282974bfc
CRs-Fixed: 2346790
There are currently multiple issues with sme_send_flush_logs_cmd_to_fw()
- Although this is an SME API the prototype is exposed in a CDS header
file
- The API is defined to take a mac context parameter which is unused
- Although the function returns QDF_STATUS, the only caller treats the
return value as an int errno
To address these issues
- Relocate the prototype to SME
- Remove the unused parameter
- Properly treat the return value as QDF_STATUS
Change-Id: Ia511565ee0b77148ee7cb1bf221e99a5b26ed446
CRs-Fixed: 2353530
QCA_CONFIG_SMP defined to support some thread scheduling features on
SMP target, while some variants defined only for SMP purpose are
referred out of this MACRO, like is_ol_rx_thread_suspended,
ol_rx_event_flag and ol_suspend_rx_event.
Defines separate functions for SMP/UP target to avoid it.
Change-Id: I01884644b7b77e55514cf00426609643386480e8
CRs-Fixed: 2344683
In __wlan_hdd_cfg80211_suspend_wlan(), suspend process is bailed out
if hdd_suspend_wlan() < 0 due to which RX thread waits for completion
of ol_resume_rx_event.
Do completion of ol_resume_rx_event in __wlan_hdd_cfg80211_suspend_wlan
for error path to resume RX thread.
Change-Id: I8bf056f82d80e063b2e32a1a6573d7a36ced67dc
CRs-Fixed: 2327238
Since refined PMO configures based on converged cfg component, apply
PMO configurations, remove related legacy codes.
Change-Id: I2cdf18c1000d8cc923c80c00bf530b2b0c60563e
CRs-Fixed: 2322185
Resume wlan threads during wlan shutdown process before adapter reset
because adapter reset triggers vdev destroy and vdev destroy sends
del sta self message to lower layers and in absence of wlan threads
this message will not be processed leading to timeout and vdev peer
object leak. Hence add fix to make sure wlan threads are resumed
before resetting adapters during wlan shutdown process.
Change-Id: Idc31b7e41e5d9734b5f6b96fba24948dbfb45c3d
CRs-Fixed: 2321503
If modem crashed during wlan driver unloading, icnss driver
will call driver uevent callback to set FW down status in
driver side when it receives BEFORE_SHUTDOWN notification.
If wlan driver is de-initialized just before the callback
is called, kernel will panic as driver's context is freed.
This can be avoid by not setting FW status in host driver.
Instead, icnss driver provides an API to host driver to
check FW status and host driver calls this API before any timeout
assert or accessing HW registers.
CRs-Fixed: 2161431
Change-Id: I8331367dd41dd0cedfa65c63f1bb3ffcb535e1c9
Remove the legacy ini config values defined in hdd_cfg.
Call the mlme cfg get api to retrieve chainmask config values.
Remove the tx_chainmask_cck from cds_config as mlme object is
not initialized during cds_open. Call mlme cfg api during
wma_open to populate the tx_chainmask_cck value.
Change-Id: If48aeb62cf35e2e604be2b72845b8e98c5c313dc
CRs-Fixed: 2310382
cds_is_module_state_transitioning() is effectively a partial
re-implementation of wlan_hdd_validate_context(). Instead of having
multiple copies of this logic, register a new callback in QDF which
simply calls wlan_hdd_validate_context() instead.
Change-Id: If533d72725b4cc9dbe5e4b9c25e499657c8e1376
CRs-Fixed: 2308771
Add support for DP RX Threads as a part of the FR. Multiple RX threads
can be enabled from the ini. The code is added in a new DP module
outside of the cmn project.
Change-Id: Ief6ee955f13c5e527986307371b8e45677cb9700
CRs-Fixed: 2256446
To speed up recovery trigger debugging, pass the caller's function name
and line number, such that the group needing to do the initial triage
can be easily identified via the panic message.
Change-Id: Ibac141a62a990adf7a781d7ef64544d92ff4e31b
CRs-Fixed: 2298194
Update driver to use NAN config params based converged CFG
component. Cleanup hdd config references to nan ini params.
Change-Id: I5af85d68ee53ad557e64523f7a1719e328536926
CRs-fixed: 2290360
The mac_start() API currently specifies a void pointer for the "start
params" parameter. But both mac_start() and its caller must agree on
the type of this structure, so replace the void pointer with the
actual struct pointer. In the process rename that struct to comply
with the coding style and relocate it to be a part of the MAC Init
API.
Change-Id: I7fc62abbb17d214551ca6ff0cda8b76d218280e3
CRs-Fixed: 2290807
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.
Change-Id: Id808fef623b82cec38fc31071ef384f3ff0c92da
CRs-Fixed: 2278874
Map all enter/exit log macros to enter/exit QDF TRACE macro
to provide option to compile out enter/exit logs if required.
Change-Id: I0c6cd633705e820fcfeb47e3f81a3522c9ef1974
CRs-Fixed: 2274850
Add INI option to specify CPU mask for Rx_thread and affine
Find current online cores.
During high TPUT,
1) If user INI configured cores, affine to those cores
2) Otherwise perf cores.
3) Otherwise to all cores.
During low TPUT, set affinity to any core, let system decide.
Change-Id: I10e906d484e300bb32491d7d60d717e92b92aaef
CRs-Fixed: 2185186
As CDS is not usable by WIN, add callbacks that are registered
in QDF and correct the module dependencies.
Also rearrange the header file inclusion, due to in cmn project,
the qdf_self_recovery_callback() is moved from qdf_event.h to
qdf_platform.h.
Change-Id: I6d03a1a8df01df4c67a933a11d86147384b656fd
CRs-fixed: 2263625
In implementation of Android Packet Filter, functions, variables,
definitions are named after BPF, which stands for Berkely Packet
Filter. The term was more appropriate for Link Layer packet
filters implemented in the Linux kernel, known as Linux Socket
Filters.
The term BPF is obsolete now, so rename it with the
appropriate acronym, APF.
Change-Id: I9e02edbc580ffb2c559c8e864f54d255fc2d51a3
CRs-Fixed: 2191530
new INI gNumVdevs is added to allow number of VDEV support
for both Host and FW. Also Updated logic to calculate num_peers
and num_tids.
Change-Id: Ife5ff24e9594c8986913c06899ac5e41c83fc75c
CRs-Fixed: 2245506
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers pModuleContext & ppModuleContext.
Change-Id: Ib0c37fa2ec295da24cfcdfbf903c6ba121dec04b
CRs-Fixed: 2251989
Per the Linux coding style "mixed-case names are frowned upon" so
rename identifiers moduleID & moduleId.
Change-Id: I1bda5cb9d0d57a5af072ed0eb61c7d8125dfd3cd
CRs-Fixed: 2251987
Per the Linux coding style "mixed-case names are frowned upon" so
rename field wmaCompleteEvent in struct cds_context.
Change-Id: I0b56daf9e387bbc96ddd2b0539ddefb16c82cca2
CRs-Fixed: 2250673
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pHIFContext in struct cds_context.
Change-Id: I023d61b0a26a6f4f35a46e5c04ab63b83182b846
CRs-Fixed: 2250672
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pWMAContext in struct cds_context.
Change-Id: Ia8fa98366d57ab2bf81549570ef7b1766e579a00
CRs-Fixed: 2250671
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pMACContext in struct cds_context.
Change-Id: I50007d80d12276b682237d728435203e455a18c9
CRs-Fixed: 2250670
Per the Linux coding style "mixed-case names are frowned upon" so
rename field pHDDContext in struct cds_context.
Change-Id: I483c5fa09127753770ec644527989902d842af0e
CRs-Fixed: 2250669
The pVContext field of struct _cds_sched_context is written but never
read, hence it is unused, so remove it.
Change-Id: I38a6491fb8581df00af59f7f2bc3f5f88c65b7e5
CRs-Fixed: 2250668
To align with the Linux Kernel coding style replace typedefs
cds_context_type and p_cds_contextType with a reference to the
underlying struct.
Change-Id: Ifc85a9bbecd29614835ed9e61ab143d0387e82b0
CRs-Fixed: 2250667
Currently struct _cds_context_type is poorly named and poorly defined.
Rename it to struct cds_context to better align with expected naming,
and define it separately from the typedefs which reference it in
anticipation of removing those typedefs in the near future.
Change-Id: Icd096b7e99f13402fb7dab53493e6c55dda4d764
CRs-Fixed: 2250666
The sys-probe feature has been removed. Remove related unused function
cds_sys_probe_thread_cback() as well.
Change-Id: Idb1f090a40c255812e9e8b573cd239503dddac49
CRs-Fixed: 2250488
Address the following issue in the core/cds folder:
CHECK: 'couter' may be misspelled - perhaps 'counter'?
CHECK: 'defintions' may be misspelled - perhaps 'definitions'?
CHECK: 'endianess' may be misspelled - perhaps 'endianness'?
CHECK: 'extention' may be misspelled - perhaps 'extension'?
CHECK: 'independant' may be misspelled - perhaps 'independent'?
CHECK: 'initilize' may be misspelled - perhaps 'initialize'?
CHECK: 'minumum' may be misspelled - perhaps 'minimum'?
CHECK: 'recieve' may be misspelled - perhaps 'receive'?
Change-Id: I8586ee1aa0a2ab59faa064ff534148511e662615
CRs-Fixed: 2241940
CCMP and GCMP both have different lengths of their MIC part. MIC
length for CCMP is 8 bytes whereas it is 16 bytes for GCMP. When
encryption type is GCMP/GCMP-256, sending packets with CCMP MIC
length causes fw to drop the GCMP encrypted management packets
leading to connection issues.
Send GCMP encrypted frames with GCMP MIC length.
Change-Id: Ia83fa6ffde880fe69e5e4c3e3c3ce9c62ad8fa3c
CRs-Fixed: 2203224
Track connectivity stats for data rx packets through a
callback function hdd_tx_rx_collect_connectivity_stats_info().
Change-Id: I045ba694495876273691373a9d0a8995d4aa9c34
CRs-Fixed: 2161889
Extend to collect connectivity check stats other
than ARP such as DNS, TCP SYN/SYN-ACK/ACK, and Ipv4.
Add extra attributes in existing vendor command(set/reset
and get NUD debug stats) for above connectvitiy stats.
CRs-Fixed: 2161889
Change-Id: I037c4ec29b181a0b3117ae2abbc7a2229b373ac2
Currently even if IPA HW support is not there during load
HOST is checking for SMMU enable status which returns error.
As a result driver load fails. So check for IPA HW support
before checking for SMMU enable status.
Change-Id: I5705f98f88d495b100af7cb2b3d2ad40e7030a8d
CRs-Fixed: 2185620
Update WLAN-IPA datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by IPA
module before accessing them.
Change-Id: I6b24cde7b7805395053a8fd8f9afbad202e6105f
CRS-Fixed: 2072960
Add compilation flag to compile out HTC credit History
feature cleanly from the cld-3.2 driver binary.
Change-Id: I5f5e73e430d282c99d3077fb82ed1cb8eb79715a
CRs-Fixed: 2190545
Recent changes in Power Management and Offload (PMO) have removed the
need for a configurable maximum number of WoW filters. Remove the
following relevant fields:
* maxWoWFilters
* CFG_MAX_WOW_FILTERS_MAX
* WMA_STA_WOW_DEFAULT_PTRN_MAX
* max_wow_filters
* ol_ini_info
Change-Id: I99cc74731d6373258dc65473a8342bda0ab2786b
CRs-Fixed: 2199452
Change to collect arp packet stats along with
existing hdd stats to debug arp packet related
issues.
Change-Id: Idce70799bd3698dc8a8ecd8cfc8ef7d9bf1f5764
CRs-Fixed: 2019787
qcacld-2.0 to qcacld-3.0 propagation.
Validate the avoid frequency channel list of
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY command and update the
driver's unsafe channel list with the channels received in the command.
Change-Id: I1a10e668bf6fe6dbb22f7f2f8aef929fc6e7fc65
CRs-Fixed: 2187477
Before VDEV_STOP is initiated by host, sometimes there are
outstanding mgmt tx pkts left in FW. need wait all tx
complete, or peer vdev ref count keep held. In P2P GO/SAP mode,
no wait since wma->interfaces[session_id].delay_before_vdev_stop
is 0, ini relative cfg isn't passed to wma at all.
Change-Id: I1c3d137bb08624e30cc220e0fa0e31e6d6fc8a9d
CRs-Fixed: 2184096