Currently in cds_regdomain.h the following file is included:
"../../qca-wifi-host-cmn/umac/regulatory/core/src/reg_db.h"
While transitioning to the Bazel DDK build system this results in a
build error because the build is done in a sandbox with the root at
the qcacld-3.0 folder, and hence there is no way to access
"../qca-wifi-host-cmn."
To address this issue add the following -I path to the Kbuild:
qcacld-3.0/cmn/umac/regulatory/core/src
And then cds_regdomain.h can just include "reg_db.h".
Change-Id: Ib33300f3593e39caeace1238f2b40c819539ff10
CRs-Fixed: 3497251
The WLAN_OPEN_SOURCE flag is a legacy flag which had a specific use
that is no longer applicable. So remove all usage of that flag.
Change-Id: If51b9421717bc82b3c200c6412a87b0e46a77476
CRs-Fixed: 3464926
Considering the case as below:
System shutdown comes when ndo_open is waiting for cnss power
up complete.
cnss shutdown handler completes all of the completions, and so
ndo_open continues.
while at the same time, cnss driver is processing firmware ready
event and trying to start cld modules, which will change debug
domain from INIT to ACTIVE, then it may hit debug domain mismatch
assertion:
It allocates some memory in ndo_open context when debug domain is
INIT, but when trying to free the memory, the debug domain is ACTIVE.
To fix this issue, when system reboot is in progress, skip debug
domain transition, and also skip modules start to avoid state mismatch
between cnss driver and CLD driver.
Change-Id: Ibc411e13e48269c66ec71aba6304578c9049f798
CRs-Fixed: 3470170
Currently ol rx thread code is under QCA_CONFIG_SMP macro, which is
enabled for all the targets. But LI, BE and RH family targets don't
use this ol rx thread implementation. Hence, compile out ol rx thread
code for LI, BE and RH targets.
Change-Id: I1a1dfd09f5364ddb519c846e6c456d10f81e369c
CRs-Fixed: 3468499
For HL targets, frames are queued to ol_rx_thread_queue
during WoW suspend in progress. At this time ol_rx_thread_queue
is in SUSPEND state and these frames can't deliver to Linux
Stack.
for ICMP case, if no other frames come to wake up
system and ICMP timeout will happen.
This change is to add rx thread status check API for HL
targets.
Change-Id: I3d37e6d6ce8f7f6edaf5f78bf5cef77bee6ed523
CRs-Fixed: 3407169
The dp_mem_pre_alloc_ctx was added to struct cds_context by the
following patch:
qcacld-3.0: Add support to pre-allocate DP SRNG mem
Change-Id I1f814f9f18d482eb5f55e0b157606d1792e665f8
However, that patch didn't actually use the member, and it hasn't been
used since, so remove it.
Change-Id: I8799e11cb753432b8433782990be6c259a785271
CRs-Fixed: 3428230
There are quite a few documentation issues in core/cds:
- Documentation using legacy Doxygen format instead of kernel-doc format
- Documentation of implementations instead of interfaces
- Duplicate documentation
- Syntactically incorrect kernel-doc
Fix all of these issues.
Change-Id: I7ffdea9027278c75975a826466da2d7204a25d0c
CRs-Fixed: 3386190
Currently host does not update band capability to fw as
part of feature set info.
With this change update band capability as well as part of
feature set info.
Change-Id: Ieb6d800c1c88a56bf72fac6e105f3498eb22ab58
CRs-Fixed: 3302989
Based on new requirement add an INI to enable/disable
get wifi features support.
Change-Id: I45ec54ac781724c2eaffa657f203db3abae2b74e
CRs-Fixed: 3266164
Based on the new requirement, add support to get requested
feature set info from different feature components.
Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.
Changes were backed out because of association issue
introduced by MLO adapter to DP interface mapping issue
and to avoid any further regression.
Re-introduce changes after preforming complete sanity
to vet out any regression which might be introduced
by these changes.
Change-Id: I377aecc4343e75dd17d279a2eb84fc49e737e784
CRs-Fixed: 3198619
Currently, separate reg_domain and country_code are defined for
qcacmn and qcld.
Define reg_domain and country_code in reg_db.h and include
reg_db.h to avoid multiple definitions.
Change-Id: Ic5b2f1e9612fd7cbb4a8944daa17ada87ee7a7a7
CRs-Fixed: 3212421
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.
Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
All the DP specific code logic is moved out of HDD to
new DP component. So update HDD module to use newly
introduced DP component APIs for DP specific operations.
Change-Id: I02fd36c45ec247fbd4fe79e035c1176cba3ebcec
CRs-Fixed: 3172570
Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.
Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.
CRs-Fixed: 3102117
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a
Currently, we are updating tx failed based upon
MPDU tx fail count received from FW.
In addition to the fail count received from FW
add MPDU tx retries done in case of successful
transmission to tx failed.
Change-Id: Ib993c71a99dd4d59df116a454336716352122a8e
CRs-Fixed: 3058364
Currently there are multiple driver calls in per packet path
w.r.t recovery, bad state, load/unload which is leading tput impact.
Move all the cds driver checks into one function to avoid multiple
calls.
Change-Id: I70f4fcc6bfbd1df32ae17ce6a0485fa3f55ca561
CRs-Fixed: 3057573
Network package timestamping is optional for TSF feature,
to make it configurable, add a new build flag
WLAN_FEATURE_TSF_PLUS_SOCK_TS.
This flag will be set only when CONFIG_WLAN_SYNC_TSF_PLUS
is enabled and CONFIG_WLAN_SYNC_TSF_PLUS_DISABLE_SOCK_TS
is not.
Change-Id: I413e85fadf93264cd41c2739b6d870aa08d60efb
CRs-Fixed: 3027378
wma_needShutdown related code is now obselete, during the cds_preenable
failure, this is obselete code is being invoked which is setting
wma->needShutdown. If the same is set the wma_close will not be
inokved resulting in the reference leak of of pdev object.
Remove obselete wma_needShutdown code.
Change-Id: Ia1463c9197593165eb5844e154f78fe3fe278fbd
CRs-Fixed: 2947133
As part of WiFi ini clean-up FR, the ini gReorderOffloadSupported,
is identified as an obsolete parameter. Hence it is deprecated and
all instances of the config CFG_DP_REORDER_OFFLOAD_SUPPORT is
replaced by default value of ini.
Change-Id: I738406fb740f414fb6ad70603dfc95b9bf137ac4
CRs-Fixed: 2916527
Add a CDS API to check if the driver state is module stop and
also register for QDF wrapper for the same.
Change-Id: I99fbdda593ca229ef8db956c609735ae6509d511
CRs-Fixed: 2912747
Remove all of the conditional compilation for pmf since this
feature is mandatory for future scope from protocol point
of view.
Change-Id: Id3a2127e9ecb343ad2a0354dcbc331c22167d7fb
CRs-Fixed: 2852630
Currently dp thread and peer cleanup execution is done in
different context due to this there is possiblity of dp thread
processing packets which doesn't have active peer and vdev.
To fix this during peer unmap wait for current peer packets
which are processed in dp thread to complete.
Change-Id: I5a2b1568b961be257c4ce058a63e5c0e61d27f2b
CRs-Fixed: 2797316
Add caller function name to cds_get_context() to log incase
of error. Hence calling functions can avoid logging in case if
cds_get_context() returns NULL. This reduces logging and
thereby memory foot print.
Change-Id: I2fce65c020ccd0e8545c38ca2528392ccfd3bd92
CRs-Fixed: 2795670
Add logic to pre-allocate DP consistent memory and reuse later.
Only SRNG memory is preallocated. This is useful to prevent memory
allocation failures due to fragmentation over cycles of WLAN ON/OFF.
Change-Id: I1f814f9f18d482eb5f55e0b157606d1792e665f8
CRs-Fixed: 2740424
Add changes to send roam scan mode over RSO start/stop/update_cfg
from connection manager. Update the roaming params and roam scan
params to new structure.
Refine send_roam_scan_offload_mode_cmd_tlv().
Change-Id: I6adce2e8a24ece93a079032d0e66760393fcdccd
CRs-Fixed: 2766023
Register STA tx completion callback with dp as part of
vdev registration to update successful ack stats.
Change-Id: I27f36336f0e37d43cc2cdff204c0217667a48b13
CRs-Fixed: 2682020
Replace wlan_reg_is_24ghz_ch with wlan_reg_is_24ghz_ch_freq.
Replace channel with frequency in cds_get_vendor_reg_flags.
Change-Id: I72ffc5550e45be1edf460f9619fead8889cf2967
CRs-Fixed: 2714723
In cds_trigger_recovery_handler, Host driver first set flag recovering
before cds_force_assert_target. For Rome, ol_target_failure run when
FW crash, Self-Recovery stop when detect flag recoverying be set
Add CDS_DRIVER_STATE_ASSERTING_TARGET to record Host asserting in
cds_force_assert_target. Skip recovering check in ol_target_failure
if detect this flag.
Change-Id: I290e2f21bd0bca6dc6d76de43de4f8dd801d7ff5
Presently whenever the control path is allocating the skb it is
passing the filename rather than than the function name required
by the qdf nbuf framework which is not much useful since when the
absolute path of the filename is considered and that can be truncated
leaving with only linenumber to understand the issue.
Pass the function name so it would help in root-causing the issue.
Change-Id: I998a88a3d22354500f3d01d09c91f0367755a179
CRs-Fixed: 2659490
The QDF framework for triggering self recovery is undergoing changes to
include support for multiple psoc driver. As the MCL host is still
multiple psoc agnostic, create dummy wrappers over the
cds_trigger_recovery so as to maintain compatibility with modified
qdf_trigger_self_recovery
Change-Id: I42163879c3e786a2b9ab2f9f5785be5531754e77
CRs-Fixed: 2617709
Currently many layers store the datapath handles i.e.
pdev and vdev handles and use them for passing as an
argument to the CDP APIs. This gives way to possible
race conditions, where the datapath handle provided by
the outer layer might be a stale pointer, which in turn
leads to unexpected results.
Remove the storage and usage of all the datapath handles
from the layers currently using them.
- cds_context
- vdev objmgr
- pdev objmgr
Change-Id: Icf24bd3792af203d1a06e153f0badd6e7405559f
CRs-Fixed: 2602199
Modify the max tx power value from 30db to 24db
to pass certification test cases.
Change-Id: Idf9c3ca10d3216f0f4b1cf78f87586c6bd3c2c39
CRs-Fixed: 2601405
There might be race condition when doing RX GRO flush between dp_rx_thread
and vdev detach thread.
Only doing RX GRO flush in the dp_rx_thread context, and use the events to
sync with dp_rx_thread and vdev detach thread.
Change-Id: I2dbf92c2c11e950ca790dd7429c8bb235c239d0c
CRs-Fixed: 2601826
Create a mon thread to process the packets for pktcapture
mode only if packet capture mode is enabled.
Change-Id: I64e3687d08acd0d27019ed9e11b5b92b13fcd878
CRs-Fixed: 2528545
Update packet capture mode param in the HDD context
after reading the INI parameter.
Change-Id: I3ea88e376f1ad8ebc96715d08395331470c23d4a
CRs-Fixed: 2528536
Currently cdp ops are given pdev/vdev/peer
handle as its arguments which is directly
accessed in those APIs. This can cause a
race-condition in access of the respective
handles if it has been deleted in parallel.
Hence as a part of cdp convergence, pass only
the pdev_id or vdev_id or peer mac address,
which will be used to get the respective handles,
and hence avoiding the unwanted access of the
handles if it has been deleted.
- txrx_data_tx_cb_set
- txrx_mgmt_tx_cb_set
- txrx_mgmt_send_ext
- txrx_pdev_attach_target
- txrx_pdev_detach
- txrx_vdev_attach
- txrx_vdev_register
- txrx_vdev_detach
- txrx_peer_create
- txrx_peer_delete
- txrx_peer_delete_sync
- txrx_fw_stats_get
- txrx_get_vdev_from_vdev_id
- txrx_pdev_set_ctrl_pdev
- txrx_pdev_attach
- txrx_get_vdev_mac_addr
- txrx_pdev_post_attach
- txrx_pdev_pre_detach
- txrx_get_ctrl_pdev_from_vdev
- txrx_get_mon_vdev_from_pdev
Change-Id: Ib8b0b1edd63e7c3f8813b11ca26b50ec121fe255
CRs-Fixed: 2541459
On some platforms with TQM, target don't know packet number of
successfully transmitted after more than one retransmission attempt,
and after TQM retry, host data path will be notified.
Adjust tx retries stats number from data path, and indicate to upper
layer when query by wlan_hdd_cfg80211_get_station() on these platforms,
other platforms keep tx retries from wmi vdev stats.
Change-Id: Ie4b9a9f3b9241a59452e3f21f68757f3638b1a19
CRs-Fixed: 2574368
During uplink traffic, affine RX thread to big cluster if
throughput is high and rx_packet counts above threshold.
Change-Id: I34034e79ee07c229966a279919acc11d1942b890
CRs-Fixed: 2557745
Send vdev create to firmware when the mlme vdev create handler
is invoked as part of the vdev object create.
Change-Id: Ibba02f6b5885d7b3a62529ef51768f520395513e
CRs-Fixed: 2555943