提交線圖

13799 次程式碼提交

作者 SHA1 備註 日期
Utkarsh Bhatnagar
ade78b2c55 qcacmn: Add legacy cb in service ready ext2 handler
Add wmi service ready legacy cb for service ready ext2
event.

Change-Id: I610d21bfc62f8e0ba3d1787802603fe05bcf0d27
CRs-Fixed: 3073215
2021-11-17 02:36:41 -08:00
Wu Gao
8a7de8863d qcacmn: Add chip type QCA6490 & QCA6750 in cfr meta data header
There is wrong chip type in cfr meta data header if run CFR/CSI with
HSP since doesn't fill it for QCA6490 & QCA6750.

Change-Id: I932c065d33c5eaa33f66ec8a92470f5820472d7b
CRs-Fixed: 3073865
2021-11-17 00:42:48 -08:00
Yue Ma
41ab344f9e qcacmn: Add CONFIG_CNSS_OUT_OF_TREE flag for QDF prealloc
Use CONFIG_CNSS_OUT_OF_TREE to control if CNSS prealloc driver is
built from in-kernel-tree source or out-of-kernel-tree source since
the exposed header file will be in different paths. This is also for
backward compatibility. Use internal flag CNSS_MEM_PRE_ALLOC instead
of CONFIG_WCNSS_MEM_PRE_ALLOC which will not be defined from kernel
defconfig for out-of-kernel-tree CNSS prealloc driver. CNSS_MEM_PRE_
ALLOC will be defined in the driver Kbuild no matter where CONFIG_
WCNSS_MEM_PRE_ALLOC gets defined.

Change-Id: I6e35f3e859fb429584e83665fe0290ffeb314312
CRs-fixed: 3074638
2021-11-16 23:30:35 -08:00
Edayilliam Jayadev
0e6f860632 qcacmn: Mark aged out frames in the reorder list
Mark aged out frames in the reorder list so that they
can be released by subsequent calls of release entries
function.

Change-Id: I56983a4f0b93ac66707b216a2c6246912eacfbee
CRs-Fixed: 3062532
2021-11-16 23:30:30 -08:00
Edayilliam Jayadev
2a905d2ecb qcacmn: Optimize the spin lock usage in mgmt rx reo release function
Optimize the usage of spin lock in the API to release
frames to the upper layer. The spin lock to protect the
reorder list is released as soon as the frame from the
head of the list is removed. This would reduce the
contention duration for other users of this spin lock.
A new spin lock is added to ensure that frame delivery
happens sequentially.

CRs-Fixed: 3062471
Change-Id: Ibabe6bc965febe28a2182c7235ab2d67232e24e6
2021-11-16 23:30:23 -08:00
Rakesh Pillai
b2e3fdcdef qcacmn: Disable intra-bss forwarding for NDI interface
Disable intra-bss forwarding for NDI interface.

Change-Id: I0f3276547795defbd6c0f1f387b5e0018ef11048
CRs-Fixed: 3073451
2021-11-16 23:30:18 -08:00
Jinwei Chen
db033fdb9f qcacmn: Fix incorrect tcp_proto value from hal_rx_get_proto_params
tcp_proto is not set correctly from hal_rx_get_proto_params() API,
currently it is using HAL_RX_TLV_GET_IP_OFFSET, use
HAL_RX_TLV_GET_TCP_PROTO to fix it.

Change-Id: I1f3c6aa4b8f5420f176bda4aff158dcfa2a7ef5a
CRs-Fixed: 3073794
2021-11-16 22:14:33 -08:00
Krishna Rao
5f1d4dd7fb qcacmn: Add API to get link ID from Basic Variant ML element
Add API to get the link identifier from a given Basic variant
Multi-Link element or element fragment sequence, of the AP that
transmits the Multi-Link element/element fragment sequence or the
nontransmitted BSSID in the same multiple BSSID set as the AP that
transmits the Multi-Link element/element fragment sequence and that is
affiliated with the MLD that is described in the Multi-Link element.

Change-Id: I45039a6ed8ccd9403eae9514c60bcd8d694d2a31
CRs-Fixed: 3040407
2021-11-16 20:58:00 -08:00
Bapiraju Alla
430a5f423e qcacmn: Fix 11BE compilations when kernel doesn't support 11be
Along with 11BE feature macro, check for Kernel 11be macro to avoid
compilation issues when kernel doesn't support 11be.

Change-Id: I11c8287725a25b6b4e3234a38ae61d50f293cc96
CRs-Fixed: 3066178
2021-11-16 20:57:54 -08:00
Lincoln Tran
7ffc4a761b qcacmn: Fix compilation issue with mon_register_intr_ops
Some platforms don't have mon_register_intr_ops enabled so add
a similar macro around dp_mon_register_intr_ops to resolve
compilation issues.

Change-Id: Id9c7bb45d965005d4dd0dde3a08f254464244147
CRs-fixed: 3075651
2021-11-16 19:52:16 -08:00
Lincoln Tran
632f919086 qcacmn: Fix compilation issues related to MLO disconnect
When the WLAN_FEATURE_11BE_MLO_ADV_FEATURE macro is enabled,
some functions are not reachable or defined. Move the
definitions accordingly to fix compilation issues.

Change-Id: I698f290e69f0acc9b72d60081849bce093d05741
CRs-fixed: 3075650
2021-11-16 14:53:29 -08:00
Krishna Rao
77e686b250 qcacmn: Add API to get MLD address from Basic Variant ML element
Add API to get the MLD MAC address from a given Basic variant
Multi-Link element or element fragment sequence.

CRs-Fixed: 3053521
Change-Id: I96cf893ae4a089c20bd2d8b783c4e3d1d4eb3e4a
2021-11-16 12:21:57 -08:00
Vignesh U
422905b63c qcacmn: Handle NULL regulatory_psoc_priv_obj
The reg_get_psoc_obj() may return NULL for invalid psoc object.

The wlan_regulatory_psoc_priv_obj becomes NULL in case of NULL psoc object.
This scenario is not considered in reg_get_reg_rules_for_pdev() and its
callers. Handle the NULL regulatory_psoc_priv_obj scenarios.

Change-Id: I5b039d362a76985995e0d4d4a95cd1a00b1f0991
CRs-Fixed: 3040335
2021-11-16 01:17:13 -08:00
Yeshwanth Sriram Guntuka
adb3b9f91d qcacmn: Update ipa_enabled config during cfg_soc_attach
ipa_enabled cfg parameter is updated in DP post soc_attach
and soc_init and the default value of ipa_enabled in soc
cfg context is 0. ipa_enabled cfg is used in soc_attach
and soc_init for tx and tx completion ring configurations
and could potentially cause issues when ipa is enabled.

Fix is to update ipa_enabled config as part of dp soc
ipa_config_attach.

Change-Id: Ia797d8feed8aff619b0f7f63ba7ec5823c82458c
CRs-Fixed: 3075076
2021-11-15 22:14:02 -08:00
Shikha Bakshi
eaf287ec84 qcacmn: Avoid updating tid for non-mscs station
Check of Invalid QOS tag which can be set for non-mscs clients
connected on same VAP as MSCS clients. TID override needs to be
avoided for those clients

Change-Id: I651a354e740fe6aee74f94b59ac2e6f154a80c6d
2021-11-15 20:37:26 -08:00
Aakanksha Doda
2a3e9f756f qcacmn: Increase the time to reap FW commands in lowmem profiles
Change the vdev response timers to reap all the FW commands
in case of lowmem profiles.

Change-Id: I21f2db3f1f36c2e97d7a456a9302b276509ffa21
2021-11-14 13:10:34 -08:00
Krishna Rao
b5253e0f65 qcacmn: Add API to get the variant of the given ML element
Add API to get the variant of the given Multi-Link element or element
fragment sequence.

Change-Id: I09b10c8e14e1a7e7b500116782f07d9fde7a78e1
CRs-Fixed: 3040403
2021-11-14 07:07:39 -08:00
Shwetha G K
926430802a qcacmn: Register DBR & Diag events on new CE
Waikiki facilitates a dedicated CE (CE14) for
direct DMA & diag handling purpose. Changes to
register the respective service handler to process
DBR and DIAG events from the target.

CRs-Fixed: 3057986
Change-Id: I4ae1d5676ac702d1f28f3e4031b47ffcd1d2ad7e
2021-11-14 01:46:03 -08:00
Pragaspathi Thilagaraj
b9b1b7f8ef qcacmn: Fill WTC duration in roam stats event
Currently the WTC duration is not filled from the roam stats
event. This causes the WTC duration to be always 0.

Fill WTC duration from Roam stats event.

Change-Id: Ie616ea1e9a61168f918dc2ac1b5a217901795405
CRs-Fixed: 3073673
2021-11-13 03:46:48 -08:00
Pavankumar Nandeshwar
e3d4f6b095 qcacmn: remove mec_fw_offload assert
remove the assert when HTT_TX_FW2WBM_TX_STATUS_MEC_NOTIFY
is received and mec_fw_offload is enabled.

Change-Id: I1b9c876822e3e9c05b5035af82afa484106e880a
2021-11-13 00:22:22 -08:00
Yeshwanth Sriram Guntuka
299b26a366 qcacmn: Featurize support for grp irq affinity
Add a feature flag for grp irq affinity support
changes.

Change-Id: I0a97dd85369aae66450e4869b591c7af74a66960
CRs-Fixed: 3070324
2021-11-12 22:52:21 -08:00
Himanshu Batra
08de35c5d2 qcacmn: Add support for host only MLO node
Add support for host only MLO node

Change-Id: I795d90a05d8bb2ed1a27f477fa991e93b7dc41d6
2021-11-12 21:16:07 -08:00
Krishna Rao
f0b40c96d7 qcacmn: Add API to find Multi-Link element
Add API to find the first Multi-Link element or the start of the first
Multi-Link element fragment sequence in a given buffer containing
elements, if a Multi-Link element or element fragment sequence exists
in the given buffer.

Change-Id: I3dbd0f9053e3a1e20b47c182b5258f49b1e2c409
CRs-Fixed: 3040400
2021-11-12 18:06:25 -08:00
Jinwei Chen
9b26ed4fbf qcacmn: Avoid SW AST table accessing for MC/BC frame
For DA MC/BC RX frame, host should not use da_idx to access soc->ast_table
as this da_idx is not valid, OB accessing might happen.

Change-Id: I5c78d869e32536effe2635e561cb6881cdc97c38
CRs-Fixed: 3072841
2021-11-12 16:37:12 -08:00
Yu Wang
0c8f452ae6 qcacmn: move API for getting ML vdev list out of WLAN_MLO_MULTI_CHIP
mlo_get_ml_vdev_list() is a common API, it should not be
embraced by macro WLAN_MLO_MULTI_CHIP.

Change-Id: Icf22de20fdeca374d674109d10b4887b833fa346
CRs-Fixed: 3073916
2021-11-12 15:07:14 -08:00
Amit Mehta
8410d24e7b qcacmn: Remove csum_enabled flag and related changes
As part of code change we are removing csum_enabled flag check.
In that case, csum_enabled becomes redundant since we are not using it
in the code base, So remove redundant code as part of the cleanup.

Change-Id: Iac411b20f06436053b1969a1af9e3b3ee418c34c
CRs-Fixed: 3070858
2021-11-12 11:32:48 -08:00
Amit Mehta
eaa0e3776e qcacmn: Remove csum_enabled flag check
Currently, to set checksum enable flags in Tx descriptor
we are checking the csum_enabled flag along with stack checksum
offload request. In case of roaming from latency-critical connection
to non-latency critical connection we request stack to calculate
checksum and set csum_enabled flag to 0. For some packets which
are already queued where the stack has not calculated checksum and
csum_enabled flag is set to 0, we will not set the checksum enable
flags in Tx descriptors for those packets.

To fix the issue remove the csum_enabled flag check and directly
check if the stack has calculated checksum for those packets or not.

Change-Id: I8d7754afc3d0a33315b85b0113cd3062e5783e28
CRs-Fixed: 3070858
2021-11-12 11:32:43 -08:00
Srinivas Pitla
cc7d98b794 qcacmn: MLO Peer changes
This change implements timer based msgq processing to defer
the context for MLO peer. It also fixes some of the issues in
MLO peer path, It adds utils APIs for MLO params

Change-Id: I94384c91adfb8785d833bff1ba5541dc98cfc383
CRs-Fixed: 3059837
2021-11-12 11:32:39 -08:00
Himanshu Batra
8096fd4cbf qcacmn: Register monitor interrupt ops after monitor object creation
Register monitor interrupt ops after monitor object creation

CRs-Fixed: 3060183
Change-Id: Ia1936d2b124ede3f2082360140ab923f8b21fb43
2021-11-12 08:53:05 -08:00
Edayilliam Jayadev
83edce7ac2 qcacmn: Log info about incoming management frames
Log necessary information about the management frames entering the
reorder algorithm.

CRs-Fixed: 3060516
Change-Id: I7b5e3520f1a152b9b9ceb92ed5a2e0b6c8a6ccb5
2021-11-12 06:20:16 -08:00
Lincoln Tran
2f9ac643f6 qcacmn: Don't update channel if it is disabled
If a channel is disabled when changing the band settings, a subsequent
function such as modifying for indoor channels can override this state.
Add a check in the indoor channel modification to make sure channel is
not disabled first, before proceeding.

Change-Id: Ic47391ca2ceaee7dc0909e0c81b06b81d49d3893
CRs-fixed: 3071801
2021-11-12 06:20:12 -08:00
Subrat Mishra
813d7d9a43 qcacmn: Define cdp interface APIs to fetch delay and jitter stats
Define a new cdp interface to fetch peer delay stats.
Define a new cdp interface to fetch peer jitter stats.

These interface APIs will be used by upper layers to fetch delay and
jitter stats per peer for telemetry stats feature.

Change-Id: I96ee6a861fa2626e7e1fba3df7df9ec64ff7e946
CRs-Fixed: 3071493
2021-11-12 06:20:07 -08:00
Chaithanya Garrepalli
41fda10bc5 qcacmn: In WBM err process read peer_id from peer_meta_data
In WBM error processing read peer_id from peer_meta_data
instead of sw_peer_id.

This changes is needed because we need to process Rx packet
on ML peer. But in MLO case sw_peer_id field contains
link_peer_id where as peer_meta_data has ml_peer_id.

Change-Id: I3f469adfdf7efa88cb081e94fa9fe0c54c1fb078
2021-11-12 04:46:16 -08:00
Chaithanya Garrepalli
0edc443d5a qcacmn: Fix for tx buffer leak without monitor module
When monitor KO not loaded Return QDF_STATUS_E_FAILURE
from dp_monitor_tx_add_to_comp_queue() so that caller
will free the buffer

Change-Id: Idebcf81121767ccd93d95308433241fcf0a93c93
2021-11-12 03:13:27 -08:00
Amit Mehta
08f31818b9 qcacmn: Extend tid_lock in rx defrag store fragment path
Currently, we are Flushing fragments for peer as part of rx defrag
clean up. There is the possibility that frag flush is called while
we are accessing frags in rx defrag store fragment path in parallel.
Which will cause access after the free issue.

Extending lock in rx defrag store fragment path to avoid any
parallel flush while accessing the frags.

Change-Id: I1e897b195f61d80ea6738e9a93f7bcaaa04adc97
CRs-Fixed: 3065414
2021-11-12 03:13:21 -08:00
Ananya Gupta
182d1268cc qcacmn: Unlock tid_lock after status check
There is a race condition as tid_lock is unlocked early in
dp_rx_defrag_store_fragment and descriptors are replenished
from dp_peer_flush_frags and same descriptor is again
being replenished in fragmented path.
To resolve this, extending lock period till all the operations
on tid.head_frag_desc are done.

Change-Id: I6d2abb2119e3bebf739de9e41334d58ba87ee391
CRs-Fixed: 3068165
2021-11-12 03:13:16 -08:00
Himanshu Batra
b21d96305e qcacmn: Modify MLO disconnect handling
Modify MLO disconnect handling to issue disconnect on all links in
parallel
Also modify connect resp to accommodate ml info in connect resp

Change-Id: I57575c6ce7c8ebff7770f862dc81e7dfd20aa42d
2021-11-11 00:37:03 -08:00
Will Huang
7581cd6d12 qcacmn: Add QCA vendor attribute to configure ARP/NS offload feature
Add a QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_ARP_NS_OFFLOAD to
configure ARP/NS offload feature.

Change-Id: I976ed866272c7c82ff12593339bd2d551af6741b
CRs-Fixed: 3062895
2021-11-10 23:02:47 -08:00
Jinwei Chen
7e267e17b1 qcacmn: support MLO intra-bss forwarding
Support MLO intra-bss forwarding

Change-Id: I7ffd54bbead3e56c7811e88aef935867b0ee4fd6
CRs-Fixed: 3066899
2021-11-10 03:56:09 -08:00
Yeshwanth Sriram Guntuka
5bd622de1a qcacmn: Use a max of 5 WBM2SW rings for HSP to address wcov failure
The maximum WBM2SW rings in whunt for HSP is 5 and
the same could be 4 in wlan code which will result
in wcov failure for HSP. Use a maximum of 5 WBM2SW
rings for HSP based on FW_SIM config flag to address
this failure.

Change-Id: I8340cd094eb1e0cf842894e5c89174d410729028
CRs-Fixed: 3071662
2021-11-10 03:56:03 -08:00
Rachit Kankane
5a066678c6 qcacmn: add reason code
Add new reason code REASON_HOST_TRIGGERED_SILENT_DEAUTH to silently
deauthenticate the peer STA

Change-Id: Ibb4b81562f6802cadb1a9c9fa1452f0875f02ded
CRs-Fixed: 3070895
2021-11-10 00:57:38 -08:00
Edayilliam Jayadev
c194d157aa qcacmn: Simulation debug support for reo
Debug frame work to simulate the generation of management
frames by HW, processing of management frames by FW and Host.
This would help in exercising the management Rx reorder
algorithm.

Change-Id: I9ec585b1bb41a5eb5e6226d0151ad23143fdb8f7
CRs-Fixed: 3017577
2021-11-09 13:27:09 -08:00
Sai Rupesh Chevuru
b1db784a64 qcacmn: send event to control path to inditate presence of backhaul
send event to control path on receiving 1st 4-address frame from backhaul
Change-Id: I7c78566d0adf275aeb2edd29233a42563d156fc5
2021-11-08 05:19:56 -08:00
Mohit Khanna
2c4ac431f0 qcacmn: Avoid tracing packets at high throughputs
Avoid tracing data packets at high throughput levels. This helps save
CPU cycles.

CRs-Fixed: 3059712
Change-Id: Ideca04e142a2f4080cd5758fe27f0b526ea4f9ad
2021-11-08 05:19:51 -08:00
Mohit Khanna
9d2cde1128 qcacmn: Add last TX/RX timestamp in DP peer stats
Add timestamps for last TX/RX in peer stats. This stat is needed to be
passed on to upper layers on demand.

CRs-Fixed: 3059712
Change-Id: If0d8b7dc3c139e4d1b670bf98f3f574f02ea9715
2021-11-08 05:19:46 -08:00
Mohit Khanna
81e29163db qcacmn: Add throughput based RTPM API support
Add support to invoke HIF runtime PM APIs in TX packet path based on
throughput level. Essentially at high throughputs, where runtime PM is
not expected to provide power gains, invoking the APIs is deterimental to
performance.
Hence invoke runtime_pm APIs based on throughput level.

CRs-Fixed: 3059712
Change-Id: I49d111bffa8a37c68abbdd54911f9ecc22430562
2021-11-08 05:19:41 -08:00
Mohit Khanna
25652ed9d8 qcacmn: Return invalid peer state if peer is not found
Return an appropriate value in case a peer is not found.

CRs-Fixed: 3059712
Change-Id: I951d4dd900cde0606e8f03c2b8748f5e76fe5736
2021-11-08 05:19:36 -08:00
Yeshwanth Sriram Guntuka
d9eb751658 qcacmn: Add support to affine individual grp irqs
Add support to affine individual grp irqs to either
perf or non-perf cluster.

Change-Id: I90006645acb82b71c63d2255722e2c67bb7a2f46
CRs-Fixed: 3059676
2021-11-08 05:19:31 -08:00
Yeshwanth Sriram Guntuka
6c7d7a2b2e qcacmn: Set the min tx rings config param to 1
INI config to set the number of tx rings to 1
or 2 does not take effect since the value of
WLAN_CFG_NUM_TCL_DATA_RINGS_MIN is 3.

Fix is to set WLAN_CFG_NUM_TCL_DATA_RINGS_MIN to 1
to allow for a lower number of tx rings cfg.

Change-Id: Idc7881f75d42fabda5d3ed55e74c9eb784f7705f
CRs-Fixed: 3070272
2021-11-08 05:19:25 -08:00
Yu Wang
33958ed42f qcacmn: handle MLO scenario for candidate validating
Add flag to indicate whether MLO is supported by the candidate or not,
which is helpful when checking concurrency.

Change-Id: I166ad2963163ae4dc7989516b654dce4cb635cec
CRs-Fixed: 3013418
2021-11-07 22:52:53 -08:00