Commit Graph

17665 Commits

Author SHA1 Message Date
Jianmin Zhu
e44fc21aea qcacmn: Fix partner link scan entry generated with wrong bssid issue
When partner link probe rsp is generated from ML probe rsp, bssid is
filled wrongly, then scan entry with wrong bssid is added, if no beacon
or probe rsp of partner link is received, then candidate can't be found
by partner link bssid, partner link connect fails, at last MLO connect
fails.

Change-Id: I3fa51dbde1cf9d8e256ecfc17059660a4430056a
CRs-Fixed: 3298706
2022-09-26 02:04:37 -07:00
Pavankumar Nandeshwar
c3630a234b qcacmn: Add ring stats for direct switch rings
Add ring statistics for reo2ppe and ppe2tcl rings

Change-Id: Ib9c15ba2f95d5cb97d238afad8f6f93dc5100e82
CRs-Fixed: 3279422
2022-09-26 02:04:31 -07:00
Tallapragada Kalyan
27da15777b qcacmn: initialize BE specific HAL API callbacks
certain BE specific HAL APIs were only initialized for
KIWI chipset but not for WKK. Now moved all these APIs
under beryllium generic initialization.

These APIs are mainly used in de-frag pkt handling.

CRs-Fixed: 3294784
Change-Id: I6611f1b7ef80b432d24a490ba65880dd55539137
2022-09-26 02:04:24 -07:00
Shivam Kumar
52c19ba631 qcacmn: Handle failure during service ready(ext/ext2) handling
Any error during ext/ext2 processing should stop normal init
path and return error. Without this, wrong values are passed
to firmware in WMI init which result in firmware assert.
Add proper handling to take care of failures during svc ready
message processing

Change-Id: Id22714a983d1dc2fe7300a178933cd05bf870a55
CRs-Fixed: 3290131
2022-09-25 23:11:07 -07:00
Krishna Rao
2bac69b79e qcacmn: Add Link Info definitions for Reconfig ML IE
Add the following definitions related to the Reconfiguration variant
Multi Link element:
- Fixed fields of Per-STA Profile subelement in Reconfiguration
variant Multi-Link element Link Info field.
- Definitions related to STA Control field of Per-STA Profile
subelement in Reconfiguration variant Multi-Link element Link Info
field.
- Definitions related to STA Info field of Per-STA Profile subelement
in Reconfiguration variant Multi-Link element Link Info field.

Change-Id: I4f5a06a60461f37f6a45bf4c15f203980c0e22b9
CRs-Fixed: 3296891
2022-09-23 22:38:21 -07:00
Krishna Rao
d1a389d7a2 qcacmn: Add control and common info definitions for Reconfig ML IE
Add the following definitions related to the Reconfiguration variant
Multi Link element:
- Encoding for Reconfiguration variant in the Type subfield in
Multi-Link element Control field. (Additionally for completeness, add
the missing encodings for TDLS and Priority Access variants for this
subfield).
- Definitions for bits in the Presence Bitmap subfield in
Reconfiguration variant Multi-Link element Control field.
- Definitions related to Reconfiguration variant Multi-Link element
Common Info field.

Change-Id: Ie5f89438533f372cd020831a0de0fdafac94d6af
CRs-Fixed: 3296867
2022-09-23 21:53:39 -07:00
Bing Sun
cb2c6707f6 qcacmn: Add API to update peer channel width and puncture parameter
Add API to send peer param WMI_PEER_CHWIDTH_PUNCTURE_20MHZ_BITMAP

Change-Id: Id05629b12059ff2258e196b3e9aa78f5fb52bda4
CRs-Fixed: 3269745
2022-09-23 20:20:55 -07:00
Ruben Columbus
15e2647ec7 Revert "qcacmn: add reo bit to enable reo qref in fw"
This reverts commit Ib8d4a2f6e7f598d45ba2b2c628ed6f3929fc3337

Change-Id: I00c1fe824d3776961180cc82ec398c0f9da9b403
CRs-Fixed: 3292473
2022-09-23 12:45:52 -07:00
Prakash Manjunathappa
60c0c089cd qcacmn: Free the raw mode mpdus in REO error ring
Raw mode mpdus in REO end up resulting in NULL_QUEUE_DESCRIPTOR error.
Raw mode mpdus are not expected in REO, free them without further
processing.

Change-Id: Ica920caecf90a1107ce17836051e1019c9dfc994
CRs-Fixed: 3282836
2022-09-23 10:23:44 -07:00
Amit Mehta
499b2deb3b qcacmn: Fix uninitialized scalar variable issue
Fix uninitialized scalar variable issue

Change-Id: I96163a9163fd4b25a3ce534915353675f582f0c9
CRs-Fixed: 3297589
2022-09-23 06:54:46 -07:00
Abhishek Singh
3ec922f543 qcacmn: Avoid using igtk key index for Mcast WEP key
Use def_tx_keyid for Mcast wep key.
Also reset all the key index in wlan_crypto_free_key once igtk,
bigtk and Ucast/Mcast are freed, so that their values are not
carried to next connection.

Change-Id: I9a1e8715c54f47905889511f983b3127b9b5cfcd
CRs-Fixed: 3297270
2022-09-22 10:41:39 -07:00
Himanshu Batra
eaea81b4f2 qcacmn: Add API to find if blocking cmd is present in serialization queue
Add API to find if blocking cmd is present in serialization queue

Change-Id: Ia37e47f03a69dd81ecf3ae693e1ae7610908ca32
CRs-Fixed: 3296751
2022-09-22 10:41:31 -07:00
Aditya Kodukula
7e71dbe627 qcacmn: Disable 11be functionality when not supported by fw
Disable 11be functionality when not supported by fw

Change-Id: Ifb90893e15c9bc74aac3aab75220a0d5c866dd59
CRs-Fixed: 3291962
2022-09-22 06:09:51 -07:00
Utkarsh Bhatnagar
bf2b82dec7 qcacmn: Match vdev as well while cancelling ser cmd
For a particular vdev, If one of such same CMD id
is needed to be cancelled, either
wlan_ser_cancel_scan_cmd() is called if cmd is scan
cmd or wlan_ser_cancel_non_scan_cmd() is called if
cmd is non-scan cmd.
For both the cases, currently cmd_id is iterated
among pdev serialization cmd queue and if cmd_id
is matched then that particular id is flushed.
Since in per vdev cmd_id, same ids can be assigned
across multiple vdevs and it may be possible that in
the pdev serialization cmd queue, different vdev can
enqueue the same cmd id.
Hence, with current condition that only checks for
cmd_id may result in incorrectly cancelling the
same cmd_id for different vdev.
To prevent this, along with checking for cmd id
and type, check for the valid vdev and remove
the cmd corresponding to that vdev only

Change-Id: I10d37588a52e8d3209c7521782716e2358e57079
CRs-Fixed: 3295516
2022-09-22 06:09:44 -07:00
Huashan Qu
75cc8cdf78 qcacmn: Update Automotive Regulatory Database to 40th version
Update Automotive Regulatory Database to 40th version, sync with
change 'Change-Id: I7fa7f1e9f3e6fcd6aa6ecd5aa21bd4e82aeb19a0'

Replicate 'Country Mapping for Linux Android' table for 'AUTO'.

Change-Id: I8dcee18ae3bb687f5724f18ece0cff9e2144b558
CRs-Fixed: 3293159
2022-09-22 02:21:50 -07:00
Jianmin Zhu
fb43cc12b8 qcacmn: Fix scan with random address failed since wdev is connected
Reproduce steps:
1.	Connect from OSIF success, wdev->connected = true;
2.	Disconnect from target if and reassoc from OSIF happens back to
	back.
3.	Disconnect event is not sent to kernel, wdev->connected keeps
	true, isn't cleared.
4.	Connect from OSIF failed too, wdev->connected keeps true,  isn't
	cleared.
5.	Scan with random address failed since wdev->connected is true.

To fix it, if connect req was a reassoc req and received in not connected
state for race between disconnect from target if and reassoc connect from
OSIF, set reassoc_in_non_connected to send disconnect instead of
connect rsp to kernel to cleanup kernel flags like: wdev->connected.

change-Id: Ibbe38da14e9339b49589216250453b76c7387b57
CRs-Fixed: 3290496
2022-09-22 02:21:43 -07:00
Jia Ding
1f49ac1d70 qcacmn: Fix qdf abstraction for IPA rx_bank_id
rx_bank_id defined in IPA driver is a write parameter for WLAN.
Therefore abstract the QDF macro in a set way, where bank id
obtained from wlan driver is passed as an input parameter to
the macro and rx_bank_id field is then being set within the macro
itself.

Without the fix, setting the bank id to IPA driver is like
MACRO_FOO(foo) = val. On build targets with kernel version < 5.15.41,
this can lead to unexpected build error.

Change-Id: I727b8af0ad7bd076e7756b51682842e947eb0a36
CRs-Fixed: 3291711
2022-09-21 21:38:43 -07:00
Jia Ding
b6c2183b7a qcacmn: Setup bank id for IPA TX pipe
Get bank id initialized for IPA usage from DP layer and pass it up
to IPA driver.

IPA is not able to handle bank id on a per-interface basis, and
hence set up same bank id for both TX pipes.

Change-Id: I69632a5e4e2ae115ef9131d5579822b82c001fca
CRs-Fixed: 3289537
2022-09-21 21:38:36 -07:00
Deeksha Gupta
4b36439025 qcacmn: Add 11be eht_cap changes in SAP mode
Add 11be eht_cap changes in SAP mode.

Change-Id: I9c27e079276d8ea7eebda97954a69a485fa6d828
CRs-Fixed: 3265712
2022-09-21 21:38:28 -07:00
Surabhi Vishnoi
997b924222 qcacmn: Reduce log level from error to debug in wlan_vdev_get_bss_peer_mac
Bss peer can be NULL in case of vdev in disconnected state,
so change the log level from error to debug in 
wlan_vdev_get_bss_peer_mac() to reduce logging in dmesg.

Change-Id: Idac08200253d83f267be3381691e10d6bd4b52bf
CRs-Fixed: 3293402
2022-09-21 20:02:58 -07:00
Ananya Gupta
a4b2a03200 qcacmn: Pause Tx HW enqueue when bus suspend in progress
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, do not update HP when apps suspend is in progress.

Change-Id: Id4176224563bdd759828397fa1cd23de1598192e
CRs-Fixed: 3294407
2022-09-21 20:02:51 -07:00
Krunalsinh Padhar
aaa7ef6872 qcacmn: Add API wlan_mlo_peer_get_links_info
This change adds API that searches for the primary peer in the peer list.

It returns vdev link id of the primary peer.

Change-Id: I43bef7ec56c5785669f217d63a15f95717f8d349
CRs-Fixed: 3280575
2022-09-21 16:49:18 -07:00
Sreeramya Soratkal
fd8b102007 qcacmn: Validate status of spectral control request processed
Validate the result of spectral specific ucfg control operation
after processing the control request to get the spectral system
capability information and the spectral diag status.

Throw error if it is an invalid operation.

CRs-Fixed: 3272699
Change-Id: Iba1b165caa41a7b4a133e9d9f3df7203a60a2b75
2022-09-21 09:34:44 -07:00
Deeksha Gupta
42039b3f6b qcacmn: Add partner link bssid debug print
Add partner bssid debug print in cm_update_partner_link_scan_db().

Change-Id: Ied3b089d983bb1338b1944c57a9e62144edc34e2
CRs-Fixed: 3278872
2022-09-21 03:40:57 -07:00
Tallapragada Kalyan
f3d7c5cd52 qcacmn: perform length sanity check for all chipsets
length sanity check is now performed for all the chipsets
in RX error path

Change-Id: I2a2c136d29319a463908c0f5cdbc463fc5a38bca
CRs-Fixed: 3290123
2022-09-20 23:26:50 -07:00
Yu Wang
da0adaac10 qcacmn: set correct parameters for QDF_MAC_ADDR_FMT
QDF_MAC_ADDR_FMT and QDF_MAC_ADDR_REF must be used
together, otherwise, it will cause build failure
once WLAN_TRACE_HIDE_MAC_ADDR is defined.

Change-Id: Ifb0bce0661a7252940101346f37d4b4387bea4d2
CRs-Fixed: 3292101
2022-09-20 10:47:38 -07:00
jinbaoliu
46796f2eb5 qcacmn: Fix failing to get rx rates stats when in MLO mode
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx rates info when in MLO mode.

Change-Id: If476216a6b0d1c006fbc0d45a3cbfbb0be79efd3
CRs-Fixed: 3287090
2022-09-19 21:02:54 -07:00
Karthik Kantamneni
276f3b27ac qcacmn: Add rind id info in TX HW descriptor history
Add ring id info in TX HW descriptor event history,
this helps to map history event to corresponding HW TX
ring in multi TX queue enabled case.

Change-Id: I82dcece76b1342f4086d489ba489da7c20ea6cad
CRs-Fixed: 3294177
2022-09-19 17:50:41 -07:00
David Oladunjoye
8be4fef5d9 qcacmn: QCA vendor attribute to configure periodic sounding
Add a new QCA vendor attribute to configure the periodic sounding for Tx
beamformer functionality.

Change-Id: Id4b75e992e22facdc58b467aaed29d9b00901fad
CRs-Fixed: 3290371
2022-09-19 14:54:16 -07:00
Nandha Kishore Easwaran
206e856a73 qcacmn: Fix subtype filtering for ctrl frames
Fix subtype filtering for ctrl frames. This change is needed
because ctrl frames are generated in the host and subtype filtering
is always required.

Change-Id: Id4fa25103387af38f658851495793249776c1985
CRs-Fixed: 3284207
2022-09-19 03:16:36 -07:00
Hariharan Ramanathan
fbe9b32cc7 qcacmn: Fix compilation issues in QCA5332
Fix for QCA5332 compilation issue.

Change-Id: I4fa9109de58d6f71c90c13c0869e11e4a3171d78
CRs-Fixed: 3291993
2022-09-19 03:16:29 -07:00
Sai Rupesh Chevuru
c16d4c0cd9 qcacmn: Check for valid peer_id in exception path
Sometime DP might receive a exception packet with
already deleted peer id. Added a check to avoid sending
such packets.

Change-Id: Ib43d55c7930e4ddc7550d486505a56cb48e85afe
CRs-Fixed: 3285034
2022-09-19 03:16:20 -07:00
nobelj
5e42bbc352 qcacmn: Add support for tx monitor HE MU and minor fixes
Add support for,
	a) HE MU radiotap information
	b) Multi sta BA frame generation and
minor fix,
	a) handling timestamp NULL,
	b) update NSS and other field in radiotap

Change-Id: I7a8b95328779f967b9e63ff8048242412ab472b0
CRs-Fixed: 3270361
2022-09-19 01:49:40 -07:00
Shiva Krishna Pittala
2bef7708b1 qcacmn: Stop the spectral scan at the end of last report in finite scan
In the case of finite Spectral scan, the spectral scan will be stopped in
the target once the requested count of spectral reports got generated.
The Host will not be notified of this stop scan. To synchronize the Host
data structures in accordance with the target, we explicitly stop the scan
once the last report is received. In the current implementation, the
stop_scan() is called at the beginning of the last report processing and
we continue processing the last report. As part of the last report
processing, we could access the data structures that were reset during
the stop_scan(). To fix this, stop the spectral scan at the end of the
last report processing.

Change-Id: Iecfa4e72ccbedae77ee2a57e9283910e980121d5
CRs-Fixed: 3287136
2022-09-19 01:49:32 -07:00
Ripan Deuri
d2c0e76649 qcacmn: Use nbuf in QDF nbuf API
Use nbuf in QDF nbuf API.

Change-Id: Ib427fab156756bcd5d83e5d14e70c603f831fc8b
CRs-Fixed: 3292512
2022-09-19 00:29:14 -07:00
Adwait Nayak
321fa3cb5f Revert "qcacmn: Do not send the scan entry for nontx profile to cfg80211 layer"
This reverts refer to the Commit-Id
f60c8e57d3.

Change-Id: I4d004ecad6fffd654ee3e90db765acd6cde242c1
CRs-Fixed: 3291428
2022-09-19 00:29:06 -07:00
Tallapragada Kalyan
3366de83ac qcacmn: Add fast TX support for STA mode
Add fast TX support for STA mode too

Change-Id: I416076bf7faa2d48fa4d2749f4b08cee2767e279
CRs-Fixed: 3289179
2022-09-18 05:00:47 -07:00
Jia Ding
a560466b61 qcacmn: Add qdf abstraction for IPA rx_bank_id field
rx_bank_id is newly added in IPA driver to represent bank id
field in TX descriptor for BE chipsets. Therefore add same qdf
definitions for DP layer to pass the bank id to IPA driver.

Change-Id: I7efe7ec6917eab131e2b441a502cdb25e682a88a
CRs-Fixed: 3291711
2022-09-18 03:14:52 -07:00
Debasis Das
035bb69743 qcacmn: Add new skb cb frame-type for sawf
Add new Frame-type that should be used for
setting SAWF information in skb cb.

CRs-Fixed: 3292190
Change-Id: Ife4f4382fba151c2b3e189b71df9eb9255dd0c04
2022-09-17 05:53:10 -07:00
Vivek
d1f06c6992 qcacmn: Add call to API to update delay average
Add call to API to calculate the moving average fo delay for
the following
	NW Delay
	Wifi SW Delay
	Wifi HW Delay

Change-Id: I35afa4d83e474b0173cc1f4b9b6456b9fe2c963c
CRs-Fixed: 3286176
2022-09-17 04:32:29 -07:00
Ashish Kumar Dhanotiya
09220f783e qcacmn: Process tx and rx rate count from peer stats
Based on the new requirement process tx and rx rate counts
from peer stats response and send these stats to user space
as part of big data stats.

Change-Id: I988f0d6cf6a3537f31433d4f57280336ab58bc38
CRs-Fixed: 3289789
2022-09-17 01:11:22 -07:00
Ashish Kumar Dhanotiya
b8e6415c0b qcacmn: Parse tx and rx rate count from peer extd stats
Based on the new requirement, fw fills the tx rate count and
rx count per mcs index in the peer extd stats event.
Add logic to parse tx rate count and rx rate count from peer
extd stats event.

Change-Id: I13382366f52964b83eb26473fa03267ac7309bb9
CRs-Fixed: 3289779
2022-09-16 19:38:58 -07:00
Bing Sun
fbcb2bb588 qcacmn: Define WMI_HOST_PEER_* for no host to target conversion
Currently if ENABLE_HOST_TO_TARGET_CONVERSION is defined, WMI_HOST_PEER_*
can be translated to WMI_PEER_* through API
convert_host_peer_param_id_to_target_id_tlv.

If ENABLE_HOST_TO_TARGET_CONVERSION is not defined, WMI_HOST_PEER_* in
common code is sent to firmware directly, which is incorrect.

Define WMI_HOST_PEER_* to WMI_PEER_* if ENABLE_HOST_TO_TARGET_CONVERSION
is not defined. Then WMI_HOST_PEER_* can be used in common code.

Change-Id: I50aa604d8822a81eed223c8551e542007929424e
CRs-Fixed: 3271470
2022-09-16 16:31:31 -07:00
Rakesh Pillai
cdc30dc279 qcacmn: Set the packet start offset correctly for monitor mode
The packet start offset configuration is common
for both mission mode and monitor mode. Hence if
the packet_header tlv is not subscribed for the
regular mission mode, the packet start offset for
monitor mode also gets affected, where packet_header
is subscribed.

This causes a loss of 128 bytes in the packets
captured in monitor mode.
Fix this issue, by setting the packet start offset
based on the driver operation mode.

Change-Id: I0a0e431278bef519534c2b1be87797d9b047525c
CRs-Fixed: 3292130
2022-09-16 16:31:24 -07:00
Priyadarshnee Srinivasan
61d0f0ab4e qcacmn: Fix compilation errors when ZCDFS macro is disabled
Fix compilation errors when ATH_SUPPORT_ZERO_CAC_DFS macro
is disabled.

CRs-Fixed: 3288434
Change-Id: I78d60dcbe88620dbf01a75d95670a2c310e7c773
2022-09-16 13:27:53 -07:00
Liangwei Dong
bf0b0fed9a qcacmn: Fix P2P find failure for invalid RSN probe response
Some p2p device include invalid RSN IE in wildcard probe respone
frames in p2p discovery. Do not drop it because the wildcard
SSID entry will not be used to do association.

Change-Id: I1e390509931094d9d9a55d2caef825c5772a086b
CRs-Fixed: 3282030
2022-09-16 13:27:43 -07:00
Sajini R
92163c7875 qcacmn: Initial changes in UMAC for IPQ5332 target compilation
Added device ID and target type checks in UMAC for IPQ5332 target
compilation.

CRs-Fixed: 3273861
Change-Id: I25f9f8bd6c23b361e3b425744839dce945036bd4
2022-09-16 11:52:51 -07:00
Sajini R
7c7742990b qcacmn: Initial changes for IPQ5332 target compilation
Added device ID and target type checks for IPQ5332 target
compilation.

CRs-Fixed: 3273865
Change-Id: I98a768394cc539549fc41d756c9c9d90034627f5
2022-09-16 11:52:44 -07:00
Ruben Columbus
953a16bb46 qcacmn: delete QCA_TEST_MON_PF_TAGS_STATS for cce/fse stats
delete QCA_TEST_MON_PF_TAGS_STATS to enable stats by default
and just use flag to enable debug nbuf_head dump

Change-Id: I0b0bb627f4d597d28181a11c38fa18b191210da4
CRs-Fixed: 3278411
2022-09-14 23:43:40 -07:00
Jia Ding
79a9d0dc1d qcacmn: Set up TX bank profile for IPA
bank id is newly added in TX descriptor for BE chipsets. As such,
with IPA Offload enabled, IPA needs the bank id information to do
offload WLAN TX.

From WLAN perspective, bank id is designed to be used on a per-vdev
role basis. E.g. STA vdev and SAP vdev have separate and different
bank profiles.

However from IPA perspective, bank id needs to be on a per TX ring
basis, because IPA GSI FW is not able to identify STA or SAP vdev
role on a per-packet basis.

Hence initialize last HOST owned bank id profile for IPA usage.

Change-Id: I0cf71b638f5999905069aff0551d8ebeb5477e17
CRs-Fixed: 3289558
2022-09-14 23:43:33 -07:00