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
If SAP receive unicast data from a non-assoc STA, SAP should send
deauth mgmt frame to this STA, add this part logic to serve data path.
Change-Id: I47346e751b89eda77f6d6450218e2b70fe6b4953
CRs-Fixed: 2298550
The error handling in cds_open(), in the event that the call to
dispatcher_psoc_open() fails, is currently empty. Add appropriate error
handing for this case by referencing cds_open() and cds_close().
Change-Id: I2b0d328e365efd67099bb8e6b529720c7b1904c5
CRs-Fixed: 2303785
The error handling in cds_open(), in the event that the call to
mac_open() fails, is currently stubbed out. Add appropriate error
handling for this case by referencing cds_open() and cds_close().
Change-Id: I6103050d5f2323250c9254a5a3add01fd0d34de3
CRs-Fixed: 2302968
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
In cds_trigger_recovery(), we avoid recovery if the wlan driver is
unloading. While this is ideal for production devices, we would like to
panic in debug builds for offline analysis. Move the check to see if the
wlan driver is unloading to immediately after the check to see if we
should panic or not.
Change-Id: I07cc624295416ca555eb4d847f709cf30e6672bb
CRs-Fixed: 2299903
QDF_DEBUG_PANIC() is stubbed out for PERF builds, leading to a warning
in cds_trigger_recovery() because @call_info is unused. Extract the
trigger recovery handling into its own function with proper types
instead of void*, and make cds_trigger_recovery_work() a thin wrapper
over this to do the type conversion. This will address the unused
variable warning, and provide stronger type checks via the compiler.
Change-Id: Idf712bdf30d2c6c338219a0327221fe6a0b0b27a
CRs-Fixed: 2299813
Add the basic infra for MLME CFG items and the APIs to be used from
other components.
Change-Id: I39654de8f7266089d574b85437a19e8d21f91249
CRs-Fixed: 2293825
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
Revert I457c20f6ba908cac32cfc9b27fbaf980f1ec174d, which removes the
check to ensure recovery has been enabled via configuration before
starting the recovery process. This is a critical feature for internal
debugging. The check was moved into cds_trigger_recovery() to prevent
callers from bypassing this configuration and unconditionally asserting
the target firmware. Restore that check now.
Change-Id: Ieb347cfcd0eecd24f005d374c0fead07c34f3705
CRs-Fixed: 2296038
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
Add a conditional compilation QCA6390_HEADERS_DEF flag to compile
htt_rx_restitch_mpdu_from_msdus.
Change-Id: I6b526f2dd5d56338e520ec138512b7cf2d849d0c
CRs-Fixed: 2275699
When host F/W out of sync issue is found in driver, assert
command is needed to send to firmware to collect firmware dump
even self recovery isn't enabled on Rome, or no enough
firmware info for debug.
Change-Id: I457c20f6ba908cac32cfc9b27fbaf980f1ec174d
CRs-Fixed: 2289539
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
Reduce the number of logs during the SMMU mapping process in
cds_smmu_mem_map_setup by refactoring the logic to reduce the number of
branches.
Change-Id: I1a8b0ece31ab51eaf6f96232b284b61d77c83084
CRs-Fixed: 2291034
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
There are multiple places where a tHalStopType parameter is passed but
unused. This is a historical artifact, so remove all instances of it.
Change-Id: Iebcbbac580495a376b7456b3a2901f33c2474f83
CRs-Fixed: 2283460
As part of DP-CP interaction convergence register common
converged target if ops for DP control ops.
Change-Id: Ifbe5d20e32262782016c3b0c20a7d2e149a071c3
CRs-fixed: 2273037
Clean up issues identified in wlan_hdd_power.h:
- Make sure all APIs have documentation
- Make sure all APIs adhere to the coding standard
Change-Id: I955b2eaec5f583d8d558df1dac7708b7b455e089
CRs-Fixed: 2275266
As part of DP CP interaction UMAC pdev objmgr handle is
passed at dp pdev attach. But in legacy DP config handle
is passed which leads to compilation issue. In this change
handle compilation issue by type casing handles.
Change-Id: I40986c8fd07d007aced91621f338f31332be6782
CRs-Fixed: 2260753
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
While processing the WMA_ROAM_OFFLOAD_SYNCH_IND event, The
driver takes nearly 150 to 200 msec time to just write fatal,
error and info messages to the kmsg log buffer. Also to get
tx power supplicant runs another thread while roaming. These
cause more latency(300ms) to send WMA_ROAM_OFFLOAD_SYNCH_CNF
message to fw. To decrease roam latency, the driver should
write the only necessary error message to kmsg buffer.
The fix is to change irrelevant fatal, error and info message
type to debug add a check in __wlan_hdd_cfg80211_get_txpower
to reject the request to get Tx power while roaming in progress
otherwise driver will process this and will increase the roaming
latency.
Change-Id: I6c31637f21991b5b29c1e2dd2c2935ae7d4fc3d0
CRs-Fixed: 2251824
In cds_open() the call to mac_open() currently passes a pointer to the
gp_cds_context->mac_context field. This is a void * field but
mac_open() expects a mac_handle_t * (aka tHalHandle *). This currently
compiles because mac_handle_t is itself a void *. But in the future
the underlying type of mac_handle_t will change, so pass a pointer to
an object of the correct type to mac_open().
Change-Id: Ie3e54c5288bc7d1e9287f30d997b005a5c8dc2ef
CRs-Fixed: 2268813
The tSirRetStatus definitions are obsolete, so replace them with
QDF_STATUS definitions in the cds folder.
Change-Id: I689e80fefa0068980a2bf78d2eff13d0892f8d95
CRs-Fixed: 2266521
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
During wlan unloading, target failure is ignored, no recovery
will happen, refer function ol_target_failure
During wlan unloading, cds_cfg may be freed, can't get
cds_is_self_recovery_enabled state correctly
Change-Id: I321d4029f299ef2eb7a6316faaed90f62e091b4e
CRs-Fixed: 2224058
In the function cds_is_gmac_mmie_valid, there is uninitialized
use of mic array elements that are passed into the function
qdf_crypto_aes_gmac which causes error report in coverty.
Initialize mic array before it is passed to qdf_crypto_aes_gmac.
Change-Id: I8650cc18d32f297f659ffaac0a514e183823f042
CRs-Fixed: 2233863
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
ol_tx_update_connectivity_stats() in tx completion
path updates connectivity stats referenced from tx_desc.
In cases when vdev has gone down and tx completion are received
leads to NULL vdev access. So, add check before accessing vdev.
Change-Id: I402d740ab3ecd923aa1b632bd0c59447599c17df
CRs-Fixed: 2225053
Reset the soc before htc_stop when failure in the cds_pre_enable to stop
the copy engine which might continue deliver the data to host after
cleaning up the destination ring buffers to avoid the poison overwritten.
Change-Id: I2ef111926af4a889f1ee005681d68eafba7e5564
CRs-Fixed: 2250860
The CDS module currently has a mixture of directly using QDF_TRACE
(with an assortment of module IDs) along with using its own CDS
logging APIs. Update the module to consistently use just the CDS
logging APIs.
Change-Id: I5581c960d2b3c973246b44bda3b5bbb740ac3bf3
CRs-Fixed: 2251991
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 pGpModContext & pModContext.
Change-Id: I077cd7b7b3415c14549f02bb166ec31e79712b7b
CRs-Fixed: 2251988
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