Commit Graph

375 Commitit

Tekijä SHA1 Viesti Päivämäärä
Asutosh Mohapatra
c0f37ee9ac qcacld-3.0: Add INI to exclude self tx time from cca busy time
Add new INI support to deduct self tx time from cca busy time.

Change-Id: I3e113a859321c31c31c92e8aa2f6c3f014a7376b
CRs-Fixed: 3576927
2023-09-26 05:24:53 -07:00
Jeff Johnson
52dcf788de qcacld-3.0: Fix reg_db.h include path
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
2023-05-22 16:45:51 -07:00
Jeff Johnson
463ddf6870 qcacld-3.0: Remove use of WLAN_OPEN_SOURCE
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
2023-04-29 09:11:22 -07:00
Yu Wang
2f754dba7c qcacld-3.0: skip debug domain transition if system is rebooting
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
2023-04-28 19:03:25 -07:00
Venkateswara Naralasetty
3259b29030 qcacld-3.0: compile ol rx thread code only for legacy targets
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
2023-04-25 19:50:23 -07:00
Balaji Pothunoori
fb4d033d9c qcacld-3.0: Add rx thread status API for HL targets
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
2023-04-04 19:51:24 -07:00
Jeff Johnson
a091adb461 qcacld-3.0: Remove cds_context::dp_mem_pre_alloc_ctx
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
2023-03-10 22:48:30 -08:00
Jeff Johnson
e050889528 qcacld-3.0: Fix core/cds documentation
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
2023-01-24 11:38:52 -08:00
Ashish Kumar Dhanotiya
7df2e56639 qcacld-3.0: Update band capability as well in feature set info
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
2022-10-06 18:28:17 -07:00
Jeff Johnson
c7562ff81b qcacld-3.0: core: cds: Fix misspellings
Fix misspellings in core/cds/...

Change-Id: Ia0a4185fd54550618eb9266b24c0b59609ed56bd
CRs-Fixed: 3303629
2022-10-05 11:27:39 -07:00
Ashish Kumar Dhanotiya
77f4615eac qcacld-3.0: Add ini to get wifi features from fw
Based on new requirement add an INI to enable/disable
get wifi features support.

Change-Id: I45ec54ac781724c2eaffa657f203db3abae2b74e
CRs-Fixed: 3266164
2022-08-12 18:55:21 -07:00
Ashish Kumar Dhanotiya
2490a83a25 qcacld-3.0: Add support to get feature set info
Based on the new requirement, add support to get requested
feature set info from different feature components.

Change-Id: I1bfc097c8ae8c4ab678d4dc07b7932cf3272d851
CRs-Fixed: 3262868
2022-08-12 18:55:15 -07:00
Amit Mehta
e5e83b4185 qcacld-3.0: Update HDD to use DP component APIs
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
2022-07-18 03:21:04 -07:00
Sheenam Monga
5b97861ce5 qcacld-3.0: define single enum for reg_domain and country_code
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
2022-07-11 03:58:56 -07:00
Ashish
aa31fd94c1 qcacld-3.0: Add support for new config item ConDTIMSkipping_MaxTime
With this change add support for new ini ConDTIMSkipping_MaxTime
to set max modulated DTIM in ms.

Change-Id: I89ce2b5074ce75a1701365b5d09d8ed0244aeeef
CRs-Fixed: 3038346
2022-06-01 01:44:51 -07:00
Karthik Kantamneni
6bbad18fde Revert "qcacld-3.0: Update HDD to use DP component APIs"
This reverts commit I02fd36c45ec247fbd4fe79e035c1176cba3ebcec.

Change-Id: I26758565ac783b9c76b59eee6c2a526c68646fa5
CRs-Fixed: 3196571
2022-05-16 18:57:59 -07:00
Karthik Kantamneni
2df27526fc qcacld-3.0: Update HDD to use DP component APIs
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
2022-05-11 13:20:47 -07:00
Jianmin Zhu
683bc95375 qcacld-3.0: Change tx retries unit from msdu to mpdu
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
2022-01-04 11:39:55 -08:00
Amit Mehta
eba64c70d7 qcacld-3.0: Update tx Failed Count
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
2021-10-29 10:22:56 -07:00
Arun Kumar Khandavalli
7b9d985091 qcacld-3.0: Optimize the driver transition checks for cds
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
2021-10-21 07:30:57 -07:00
Yu Wang
a4791d8279 qcacld-3.0: add build flag for network package timestamping
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
2021-09-10 15:36:13 -07:00
Arun Kumar Khandavalli
add1f46a2b qcacld-3.0: Remove obselete wma_needShutdown code
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
2021-05-19 14:37:49 -07:00
Aditya Kodukula
b619f021fc qcacld-3.0: Remove INI parameter gReorderOffloadSupported
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
2021-04-12 13:04:16 -07:00
Vevek Venkatesan
f78f8a32dd qcacld-3.0: add CDS API to check if driver state module stop
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
2021-04-01 20:33:57 -07:00
Gururaj Pandurangi
9996bc7175 qcacld-3.0: Remove feature flag WLAN_FEATURE_11W for pmf
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
2021-03-18 00:39:42 -07:00
Karthik Kantamneni
7983966ef5 qcacld-3.0: Add RX refill thread infra to replenish RX buffers
Add Rx refill thread infrastructure to replenish RX buffer pool

Change-Id: I2553e0e35d251cf72e741321a2389f741f1bb485
CRs-Fixed: 2869355
2021-02-10 12:31:37 -08:00
Yu Tian
af6eb602d0 qcacld-3.0: Change BAR frame ctrl and sequence format
BAR frame is parsed incorrectly, change to correct format

Change-Id: I399d6be49834229bba5f8eccf71f4002d2d48e16
CRs-Fixed: 2804140
2020-10-27 20:54:42 -07:00
Karthik Kantamneni
1b3e987a50 qcacld-3.0: During peer unmap wait for dp thread processing
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
2020-10-21 05:18:51 -07:00
Srinivas Girigowda
c590a15c17 qcacld-3.0: Add caller function name to cds_get_context()
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
2020-10-14 03:25:00 -07:00
Jinwei Chen
9406c02ec4 qcacld-3.0: Add support to pre-allocate DP SRNG mem
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
2020-09-10 21:00:33 -07:00
Pragaspathi Thilagaraj
170c20e443 qcacld-3.0: Add support for roam scan mode command in connection mgr
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
2020-09-01 18:14:21 -07:00
Yeshwanth Sriram Guntuka
e0fe1711e5 qcacld-3.0: Register STA tx completion cb to update stats
Register STA tx completion callback with dp as part of
vdev registration to update successful ack stats.

Change-Id: I27f36336f0e37d43cc2cdff204c0217667a48b13
CRs-Fixed: 2682020
2020-07-22 11:55:20 -07:00
Jianmin Zhu
faf92193d4 qcacld-3.0: Replace channel with frequency for 6G
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
2020-06-23 04:01:03 -07:00
Baowei Liu
78aa7bdfc1 qcacld-3.0: Skip recovering check if host assert target
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
2020-05-28 21:07:32 -07:00
Abhishek Singh
3f29b6c7f2 qcacld-3.0: Use crypto API to fill and validate mmie
Use crypto API to fill and validate mmie for BC frames.

Change-Id: Ibe420f974c1f8fb3796168e6db976061f904d520
CRs-Fixed: 2664276
2020-05-04 03:50:06 -07:00
Arun Kumar Khandavalli
c12256416b qcacld-3.0: Pass the function name for control path skb allocation
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
2020-04-28 10:31:44 -07:00
Sourav Mohapatra
9eb8bc01a0 qcacld-3.0: Modify cds_trigger_recovery as per modified QDF framework
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
2020-03-27 10:17:47 -07:00
Dundi Raviteja
56eec3d519 qcacld-3.0: Remove packet capture ini's in cds
Remove packet capture ini's in cds.

Change-Id: Ice4765c7eb697743b1dccc8a70be1b7ce766e037
CRs-Fixed: 2619322
2020-02-20 16:23:37 -08:00
Vulupala Shashank Reddy
a7e26ef49f qcacld-3.0: Resume/suspend of mon thread for packet capture
Resume/suspend of mon thread for packet capture mode.

Change-Id: Ib814de13f82181aef923bdc739d018027ea9a173
CRs-Fixed: 2618657
2020-02-16 04:01:45 -08:00
Rakesh Pillai
ed73605fe2 qcacld-3.0: Remove usage of datapath handles in outer layers
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
2020-01-23 14:27:28 -08:00
Abhinav Kumar
58f72636d0 qcacld-3.0: Update proper copyright years
Update proper copyright years in
core/cds/inc/cds_regdomain.h

Change-Id: Ia013943c33d6143c58def6a5ed5e3126a2e412da
CRs-Fixed: 2605822
2020-01-23 07:55:32 -08:00
Abhinav Kumar
30874c3ac7 qcacld-3.0: Modify the MAX_TX_PWR_CAP to 24dbm
Modify the max tx power value from 30db to 24db
to pass certification test cases.

Change-Id: Idf9c3ca10d3216f0f4b1cf78f87586c6bd3c2c39
CRs-Fixed: 2601405
2020-01-15 01:29:42 -08:00
Tiger Yu
0da98c48ee qcacld-3.0: Refine RX GRO flush when detach the vdev device
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
2020-01-14 02:01:44 -08:00
Alok Kumar
f1d581361d qcacld-3.0: Open a mon thread for packet capture mode
Create a mon thread to process the packets for pktcapture
mode only if packet capture mode is enabled.

Change-Id: I64e3687d08acd0d27019ed9e11b5b92b13fcd878
CRs-Fixed: 2528545
2020-01-10 02:46:55 -08:00
Alok Kumar
45b9e9c730 qcacld-3.0: Add CDS API to update parameter for pkt capture mode
Update packet capture mode param in the HDD context
after reading the INI parameter.

Change-Id: I3ea88e376f1ad8ebc96715d08395331470c23d4a
CRs-Fixed: 2528536
2020-01-08 23:38:43 -08:00
Vevek Venkatesan
0ac759fc1c qcacld-3.0: cdp: Converge cdp_cmn_ops
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
2019-12-27 03:24:09 -08:00
Mohit Khanna
6c21d623e2 qcacld-3.0: Add 80211 BAR frame
Add IEEE 80211 Block ACK frame format.

CRs-Fixed: 2583857
Change-Id: Ib697a3146389c7d787df18a8c21cccc658ef383d
2019-12-13 20:39:05 -08:00
Will Huang
136ca8d298 qcacld-3.0: Adjust tx retries stats on some platforms
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
2019-12-06 07:15:37 -08:00
Alok Kumar
68127f6594 qcacld-3.0: Affine RX thread to big cluster during uplink
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
2019-12-05 18:05:10 -08:00
Arun Kumar Khandavalli
4f6a5bd519 qcacld-3.0: Send vdev create to fw from object create notification
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
2019-11-21 09:13:20 -08:00