Commit graph

19383 Commits

Autor SHA1 Nachricht Datum
Zhiwei Yang
617367f8d2 qcacmn: Fix txrx_stats not completely cleared
In some mode txrx_stats can't be cleared completely such as NDP.
we need to iterate each vdev and clear their tx/rx stats.

Change-Id: Iab45742dbe914b7354ad5593d7ee14b9e109cef6
CRs-Fixed: 3475177
2023-05-29 18:27:01 -07:00
Jeevan Kukkalli
958704d20e qcacmn: Make dp_rx_mon_append_nbuf function public
Function dp_rx_mon_append_nbuf is now accessed outside
the file where it is declared hence make it public

Change-Id: I6b596815a385ba367f70b9e5ea07c94520cca253
CRs-Fixed: 3488043
2023-05-29 12:54:57 -07:00
Vignesh U
b70c7e84e5 qcacmn: Change visibility of the API reg_get_6g_pwrmode_chan_list
The reg_get_6g_pwrmode_chan_list() is a static API and is needed to be
called outside converged code.

Change the visibility of the API and make it global.

Change-Id: Id0846e65262a8d8c41bfd19dac2c373e65e677b5
CRs-Fixed: 3478450
2023-05-29 12:54:46 -07:00
Surya Prakash Raajen
37b9ea37d4 qcacmn: Alloc dp_mlo_ctxt only if its not allocated
Alloc dp_mlo_ctxt only if its not allocated, if dp_mlo_ctxt
is previously allocated reuse the same.

Change-Id: I666b3e6090afaa1ef4d20ff154c4b996a5eef51c
CRs-Fixed: 3510336
2023-05-29 01:38:50 -07:00
Amit Mehta
34497ea2d1 qcacmn: Add changes to get link ID in Tx/Rx Path
Add changes to get link ID in Tx/Rx Path

Change-Id: I6b52093697b138e5a5d3878af2dd8db0d65cc488
CRs-Fixed: 3450541
2023-05-28 09:28:46 -07:00
Gururaj Pandurangi
07dfe8e18b qcacmn: Add vendor attributes for MLO link active, EMLSR entry/exit
Add vendor attributes related to MLO and EMLSR mode capability
configuration for EHT DUT. This includes forcing active MLO links
and invoking EMLSR mode entry or exit.

Change-Id: Icaf4dda1a614be5fe56966b0f2f2862ac6d62fb4
CRs-Fixed: 3497684
2023-05-27 17:34:13 -07:00
Aniruddha Mishra
4f5c422aa4 qcacmn: Add max simult links in peer_assoc_params
Add 'max_simultaneous_links' in peer_assoc_params
and send it to FW via peer_assoc_add_mld_params.

Change-Id: Ie4c3492cf03ef43e1bb02122019cda3679fb5f3a
CRs-Fixed: 3476565
2023-05-27 01:40:40 -07:00
Amit Mehta
8a4a8722b0 qcacmn: Add changes to Affine away taken CPUs
Add changes to affinie away IRQ from the CPU taken
by audio driver during Pro audio use case.

Change-Id: I881c42e9f951fbf965be6d6a71994fd97791ee48
CRs-Fixed: 3502637
2023-05-27 01:40:30 -07:00
Asutosh Mohapatra
40d067432f qcacmn: Don't scan 6 GHz channels if fcc constraint set
If fcc constraint is set host disables all 6 GHz channels
except for the STA, P2P client connect 6 GHz channels,
but host shouldn't scan any 6 GHz channels.
Add changes to filter out 6 GHz channels from scan list.

Change-Id: Ibc6b34a5d294d1d11f1717be135030760359bd53
CRs-Fixed: 3481006
2023-05-26 20:22:20 -07:00
Manikanta Pubbisetty
629e6d0fbe qcacmn: Do not allocate RX buffers for CE5 if PKTLOG disabled
Currently for WCN6750, RX buffers for CE5 (used for PKTLOG) are
allocated although PKTLOG code is not compiled into the driver.
This leads to wastage of memory. If allocations are done
conditionally, then a memory of 2MB will be saved when PKTLOG
feature is not compiled.

Change-Id: Id6c43cd0a1d15d3553e1e37910b067ef705b15f6
CRs-Fixed: 3506469
2023-05-26 18:17:12 -07:00
Edayilliam Jayadev
645703f710 qcacmn: Change log level of few prints in mgmt Rx REO
Change the log level of few prints in management Rx reorder
module.

Change-Id: Ic89d11c041c49ed1d5c5ab73938a672b6af01944
CRs-Fixed: 3502383
2023-05-26 18:17:01 -07:00
Venkateswara Swamy Bandaru
eddd2583fb qcacmn: Add EPCS state machine support
Add EPCS state machine support per peer.
Based on user command trigger or EPCS action frame
EPCS state will change.

Change-Id: Ib516543cec6a7007f12680b0e86b9edbe223b68d
CRs-Fixed: 3491941
2023-05-26 18:16:51 -07:00
Yeshwanth Sriram Guntuka
4dc955351e qcacmn: Move prealloc DP descriptor types to QDF
Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.

Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
2023-05-26 16:06:57 -07:00
Shiva Krishna Pittala
a5beb4bc26 qcacmn: Protect the Transition Timeout D3.0 changes under D3.0 macro
For compliance with IEEE802.11be D3.0, EML Capability Transition Timeout
subfield value of 11 has been removed. Retain it back and define it only if
WLAN_SUPPORT_11BE_D3_0 is not enabled.

CRs-Fixed: 3494555
Change-Id: I81555fe179a9bba9d871867c8544b566676b0314
2023-05-26 16:06:47 -07:00
Krishna Rao
438022a8fd qcacmn: Remove Transition Timeout value 11 per D3.0
For compliance with IEEE802.11be D3.0, remove the EML Capability
Transition Timeout subfield value of 11 (indicating 128 TUs).

CRs-Fixed: 3467339
Change-Id: Ie0ca6eb80850688d2c24bbd3a20a89ad8a3134ca
2023-05-26 16:06:37 -07:00
aloksing
f5b6ab7666 qcacmn: Add check for sawf stats
Update deter stats only when sawf stats is enabled

CRs-Fixed: 3507349
Change-Id: I463750904cdec889274fb94ff1a0544545c1e0d0
2023-05-26 16:06:27 -07:00
Rakesh Pillai
aac2d20277 qcacmn: Add support to get hal_soc handle via CDP
Enhance CDP interface to get hal_soc handle.

Change-Id: I83fbb9d12487668603c90a621ecb9851860b3a56
CRs-Fixed: 3505717
2023-05-26 10:28:07 -07:00
Rakesh Pillai
b361da4fea qcacmn: Cleanup CMEM allocation code
Currently the CMEM allocation code is duplicated
for Cookie conversion and FISA.

Cleanup the CMEM allocation code.

Change-Id: Ifdb912fe464abaa7be0ab8b2294155984dbd662e
CRs-Fixed: 3504668
2023-05-26 10:27:56 -07:00
Amit Mehta
4a4c634bb0 qcacmn: Add new QDF API to check if walt_get_cpus_taken supported
Add new QDF API qdf_walt_get_cpus_taken to check if
walt_get_cpus_taken API is supported.

Change-Id: I8ed8e5608c35c45b5e630ee39a497bca31b3502d
CRs-Fixed: 3508584
2023-05-26 10:27:45 -07:00
Asutosh Mohapatra
e3e58e72e3 qcacmn: Don't disable connected 6 GHz channels
Currently host disables 6 GHz band when set_fcc_channel cmd
is received hence existing STA/P2P client 6 GHz connections
get disabled.
Add changes to keep existing STA/P2P client 6 GHz connections
intact and also keep SAP up on 6 GHz if STA+SAP SCC on 6 GHz
channel was present before receiving this command. Disable all
other 6 GHz operations.

Change-Id: I0e2d4715f78eb797eb93ed90a07028c5b7723211
CRs-Fixed: 3480979
2023-05-26 10:27:34 -07:00
Srinivas Pitla
06ed8855eb qcacmn: Choose highest bw link as primary link
This change selects psoc with highest bw link as primary link
for first ML STA.

Change-Id: I7d71507df79070c7e975ed2f27cbadce707d9cd4
CRs-Fixed: 3509085
2023-05-26 08:15:54 -07:00
Surabhi Vishnoi
d1895e091c qcacmn: Add support to parse HTT_PPDU_STATS_FOR_SMU_TLV
Currently NSS is required for packet capture mode to derive tx rate
and firmware sends NSS part of ppdu stats in new ppdu stats tlv
HTT_PPDU_STATS_FOR_SMU_TLV.
Add code to parse ppdu stats if feature is enabled via ini and
send the ppdu stats using wdi event to packet capture
component.

Change-Id: I5567007a91093dd342f37458760b3a61c040b778
CRs-Fixed: 3462436
2023-05-26 04:14:19 -07:00
Jyoti Kumari
02a9bcccbc qcacmn: Add ECSA Target TSF attribute in QCN IE
Add ECSA Target TSF attribute in QCN IE. This attribute
will be included in regular ECSA public action frame and
will be use to send target_tsf and twt_switch_mode to
earbud during LL_LT_SAP CSA.

Change-Id: I6a11164d8044752991275fc8304783d3a7abe868
CRs-Fixed: 3491885
2023-05-26 04:14:09 -07:00
Venkateswara Swamy Bandaru
ece1e3a025 qcacmn: Fix EPCS status code size
Change EPCS status code size to 2 bytes as
per spec.

Change-Id: I0e45626d2a35d55947d5ebc269acf97269465ef9
CRs-Fixed: 3508758
2023-05-26 02:02:44 -07:00
Namita Nair
ce47d03e6b qcacmn: Fix to release lock correctly in DP_PRINT_STATS
Currently, sysfs_write_user_buffer spinlock is not
released correctly in DP_PRINT_STATS() when the
buffer size reaches max value. This is causing a
soft lockup, when the next DP_PRINT_STATS() call
is waiting to acquire the spinlock.
This change prevents the softlockup by properly
handling the release of the spinlock.

Change-Id: I13c3e26f7a26b501c5d23b8dc4b978f61beeabd0
CRs-Fixed: 3495547
2023-05-26 02:02:33 -07:00
Pooventhiran G
74bcf45dff qcacmn: Update cfg80211_ch_switch_notify() to latest msm-5.15
In the latest msm-5.15 kernel, cfg80211_ch_switch_notify() expects
a new argument, puncture bitmap. Hence, enable the appropriate API
call definition to match the number of arguments.

CRs-Fixed: 3505931
Change-Id: I2a043ddf4e9de111158160910228b00f850a5f52
2023-05-25 22:07:58 -07:00
Devender Kumar
ccf5cf6ede qcacmn: Modify the TX ring id for IPA to support split phy
Modify the primary and alternate TX ring ID for IPA.
Primary TX ring id is set to 2, Alternate TX ring id is set to 3.

Change-Id: I88a479f67edc34794ccac5d82c8adc358b27760e
CRs-Fixed: 3445325
2023-05-25 14:00:15 -07:00
Devender Kumar
0cb5514312 qcacmn: Disable DP interrupt mask assignment for IPA TX rings
As part of CPE V2 or split phy board, IPA will start using
two TX ring and for the same disable the DP interrupt mask
assignment.

Change-Id: Ia676bfa6a8b89274f5dfd313f73761132bb7909c
CRs-Fixed: 3445325
2023-05-25 14:00:05 -07:00
Devender Kumar
ba346d4cf9 qcacmn: Fix Tx queue selection when IPA is enable for V2 CPE
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX ALT data ring.

Change-Id: I37d4ed564ca3333effe83277469ae3a9aecf7295
CRs-Fixed: 3445325
2023-05-25 13:59:48 -07:00
Venkateswara Naralasetty
9d3b562c0c qcacmn: add NAPI schedule latency and poll time histogram support
Add support for NAPI schedule latency and poll time histogram stats
for WCN6450.

Change-Id: If982ebe4e3cfa80f47c6d2fe9d4cb9dfa318481d
CRs-Fixed: 3485287
2023-05-25 12:08:40 -07:00
Gangadhar Kavalastramath
ad4dd18f1b qcacmn: Remove self_reassoc in LFR2
On reception of reassoc req from user space to the
connected AP, wlan driver proceeds with reassociation
without clearing the keys. This leads to encrypted EAPOL
frames in LFR2. To avoid this, trigger disconnect & delete
keys before proceeding with reassociation.

Change-Id: I02536a0049517ff5e8459834df493dccbf5a7a62
CRs-Fixed: 3433224
2023-05-25 10:10:07 -07:00
Balaji Pothunoori
c922aed7f2 qcacmn: update tx flags for radiotap header prepare
Currently radiotap header is malformed due to incorrect
tx flags update.

This change is update tx flags properly to prepare radiotap
header.

Change-Id: I0d3205b215c9fc363a71c4e7a6b54e40fb10a966
CRs-Fixed: 3442934
2023-05-25 08:09:56 -07:00
Santosh Anbu
6b8aca7fb6 Revert "qcacmn: Consider vdev_id also along with link id for connected bitmap"
This reverts commit I097b6f672c4656bfa2892f102e50998065463516

Change-Id: If6fd8cdff1ec91ffe9d7be0b5b0d7b99f693e906
CRs-Fixed: 3508863
2023-05-25 04:22:48 -07:00
Vinod Kumar Pirla
f999b39075 qcacmn: Define driver backport flags for eht cap in kernel
Define new driver internal flag which determines the kernel
support for eht flags in station_parameters structure.

Change-Id: If5518f97912edbd74cb6b38c832641a7999c974e
CRs-Fixed: 3484143
2023-05-25 01:35:55 -07:00
Amruta Kulkarni
0ca70c863e qcacmn: Add support to parse t2lm ie from assoc rsp
Store the copy of t2lm ie in mlo dev context and
apply t2lm config to FW when all links are up.

Change-Id: I87b2db9aba263634a558f24d99bf8e5bb91f2128
CRs-Fixed: 3504533
2023-05-24 21:40:26 -07:00
Rakesh Pillai
2453258a96 qcacmn: Pass SoC as args for dp_tx_desc_release for Rhine targets
Due to a change in proto-type for dp_tx_desc_release, there is
a compilation failure for Rhine targets.

Fix the compilation failure for Rhine targets by passing the
required args for dp_tx_desc_release.

Change-Id: I422c0fe3a4e96c9e2c3cd42963236159a71a244e
CRs-Fixed: 3507470
2023-05-24 21:40:13 -07:00
Bing Sun
415a9c3a40 qcacmn: Free every nbuf in the list before reset the list
nbuf is queued to head_nbuf in dp_rx_reo_err_entry_process. Before
reset head_nbuf, free all the nbuf queued to head_nbuf. Otherwise
there is nbuf memory leak.

Change-Id: Ib4bd64b51d750dac972298ddc46acd4294f2ed81
CRs-Fixed: 3449992
2023-05-24 14:28:40 -07:00
Jianmin Zhu
487b3410f1 qcacmn: Fix wrong sta puncture bitmap issue
When wlan_reg_extract_puncture_by_bw return fail, new_punc isn't
filled, it is not initialized too, will be random value, it will
make F/W assert if the wrong puncture passed to F/W.

To fix it, initialize local var new_punc to 0.

Change-Id: I1554e1f55a2f5b319abc94b8409a5c4aed78e223
CRs-Fixed: 3506816
2023-05-24 10:49:52 -07:00
Kenvish Butani
0df4b5eaea qcacmn: Optimize DP Rx Error Handling (Part-2)
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security

Change-Id: I1c9e6e767bbf6565567d998ae8e1357398de5803
CRs-Fixed: 3486304
2023-05-24 05:19:41 -07:00
Yu Wang
bfebabf7bd qcacmn: extend hif tasklet latency detection
Extend the feature to detect tasklet latency for all CEs.
And also introduce a build flag
DETECTION_LATENCY_TASKLET_MASK to control the enablement
of each, set bit-X to enable detection for CE-X, the
default value is 0x84(BIT(2) | BIT(7)).

Change-Id: I2874d1d50fc5febbf028ebb48ba64e11977c8c34
CRs-Fixed: 3474314
2023-05-24 03:28:48 -07:00
Thirusenthil Kumaran J
0ece3dfc96 qcacmn: Initialise is_6g_afc_power_event_received to false
Currently, the flag 'is_6g_afc_power_event_received' is not initialised
while processing the event WMI_REG_CHAN_LIST_CC_EXT_EVENTID from FW.
The flag is set to 'true' on processing the AFC power event
REG_AFC_EVENT_POWER_INFO.
When a new WMI_REG_CHAN_LIST_CC_EXT_EVENTID is received from FW, 6 GHz
master channel lists are re-initialized, but the flag
is_6g_afc_power_event_received is not reset.

To solve this inconsistency, initialise 'is_6g_afc_power_event_received'
to 'false' on processing WMI_REG_CHAN_LIST_CC_EXT_EVENTID. It is to be
noted that the AFC expiry event REG_AFC_EVENT_TIMER_EXPIRY should be
sent after every WMI_REG_CHAN_LIST_CC_EXT_EVENTID.

Change-Id: Ibdac2744b86c75aff5e98f0f3dbedba679de6998
CRs-Fixed: 3500058
2023-05-24 01:39:10 -07:00
Srinivas Pitla
9beb7dfcab qcacmn: Maintain peer assoc sent flag for MLO link peers
This change adds support to set flag to indicate peer assoc
sent to FW. On peer delete, using the flag, it excludes
the peer assoc command missing link in peer delete command

Change-Id: Icb559941598a797e7d437fbb90a94358f709a2b3
CRs-Fixed: 3504769
2023-05-23 23:53:47 -07:00
Abhishek Singh
e7e15dbff4 qcacmn: Optimize scan logs while dropping frame
Optimize scan logs while dropping frame to print frame type
and freq and other info and use same format to print.

Also If bssid hint is zero, avoid printing hidden bssid which
are filtered out.

Change-Id: Ibb6cb523b9be6af2c05c4a5a7a5cbccb44f984af
CRs-Fixed: 3506377
2023-05-23 21:57:17 -07:00
Krunalsinh Padhar
674d313577 qcacmn: Improve ml_peer_count handling
Make ml_peer_count as qdf_atomic_t to handle the concurrency issues.

Change-Id: I96f2e3d5e17225d0354a1fd2e2b3a55c21d4a2fc
CRs-Fixed: 3500440
2023-05-23 19:54:21 -07:00
Venkateswara Naralasetty
2011633890 qcacmn: fix crash during monitor link desc ring replenish
Currently number of elements per page info is used from the
soc->link_desc_pages for both wbm idle link ring and monitor
desc ring replenish.

Chipsets uses SOFTUMAC architecture does not have WBM component.
So, there is no memory allocation for wbm idle links and
soc->link_desc_pages will not get initialized which results in
crash during monitor link desc ring replenish.

Fix this issue by using the number of elements per page info
from the soc->link_desc_pages for the wbm idle link ring replenish
and from the monitor_soc->mon_link_desc_pages for the monitor
link desc ring replenish.

Change-Id: Ie75561b8e2dd2c926b971c133e9bb704b5901bf5
CRs-Fixed: 3494948
2023-05-23 19:54:11 -07:00
Surya Prakash Raajen
43057d2442 qcacmn: Prevent parallel start/stop of target/soc
Prevent start and stop process of target or soc, as it could
lead to issues for mlo enabled socs of that mlo group

Change-Id: Ib2b28443828cbc4be670f5bc8a69d4fecfc1c8b7
CRs-Fixed: 3500007
2023-05-23 19:54:01 -07:00
Pavankumar Nandeshwar
5981600c3a qcacmn: Account for global tx desc count during pool flush
Make sure global tx desc count is decremented during
tx desc pool flush

Change-Id: I5ba21cd9a4b1dbd3dbaf55e56a5852fe7703e36c
CRs-Fixed: 3501063
2023-05-23 06:59:50 -07:00
Amit Mehta
382be6ed5a qcacmn: Add new variable to store cfg dp_rx_hash value
Add new variable to store cfg dp_rx_hash value.

Change-Id: Ibac75273d87a6f0870c9d38c97122de3e2775b8e
CRs-Fixed: 3505116
2023-05-23 05:17:05 -07:00
Parikshit Gune
3b770cc5bb qcacmn: Enable/Disable Round Robin core distribution
1. Add ini configuration for enabling round robin flows to
core distribution in FSE

2. Register FSE APIs to CDP FSE ops

Change-Id: Ic61c44eb9bc68a8c1a0116d4e6aa1d54cf489b62
CRs-Fixed: 3505287
2023-05-23 05:16:55 -07:00
Amit Mehta
9fb079e747 qcacmn: Add new QDF APIs
1. qdf_cpumask_and - *dstp = *src1p & *src2p
2. qdf_cpumask_andnot - *dstp = *src1p & ~*src2p
3. qdf_cpumask_equal - *src1p == *src2p
4. qdf_cpumask_complement *dstp = ~*srcp
5. qdf_walt_get_cpus_taken - Get taken CPUs

Change-Id: I3a9038cfe033b155bd098e88e3bf176513b728e8
CRs-Fixed: 3479945
2023-05-23 03:25:08 -07:00