Commit gráf

19459 Commit-ok

Szerző SHA1 Üzenet Dátum
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
Srinivas Dasari
8cd2038ec0 qcacmn: Add logs in MLO vdev flag set/clear API
Currently, MLO vdev flags(WLAN_VDEV_FEXT2_MLO and
WLAN_VDEV_FEXT2_MLO_STA_LINK) are set/get from both initial
connection and roaming. As there are no logs in the set/clear
APIs, it's difficult to track where it's set/cleared for debugging.
Add logs in set/clear APIs to indicate on which vdev the flags
are set/cleared.

Change-Id: Idf61b7172b4ddb5f809899866aba7316b62662f0
CRs-Fixed: 3476756
2023-05-23 01:19:55 -07:00
Kannan Saravanan
3782e13b74 qcacmn: Add change to update the cmem info for QCN6432
Add change to update the cmem info for QCN6432

Change-Id: I339f5b613b5a710db55d2a47e366678c4daf05fe
CRs-Fixed: 3495941
2023-05-23 01:19:44 -07:00
Vivek
419c3a57ef qcacmn: Initialize wds ext field in txrx_peer
Initialize wds ext field in txrx_peer.

Change-Id: I0aaedcc7cffc64fb02ba8128985291b431383425
CRs-Fixed: 3504698
2023-05-22 20:15:23 -07:00
Venkateswara Swamy Bandaru
a86dd8a444 qcacmn: Add EPCS action frame parsing support
Add support for parsing of EPCS action frame.

Change-Id: I53c6e9fe7dd802c0b60170a3e441eb2ef5b8c659
CRs-Fixed: 3490403
2023-05-22 16:46:21 -07:00
Thirusenthil Kumaran J
6e4cdcf45c qcacmn: Support channel list update when afc_reg_no_action is set
In enterprise mode, when power event is received from Target, ACS is
not called and regulatory takes no action to AFC power event.
Hence, when host receives the event REG_AFC_EVENT_TIMER_EXPIRY with
subevent type SWITCH_TO_LPI or STOP_TX from FW as a response to payload
reset command from client application, the channel list is not updated
as 'afc_reg_no_action' is enabled.

To fix this issue and update the channel list, add reg txops to trigger
channel list update while processing REG_AFC_EVENT_TIMER_EXPIRY event
from FW when 'afc_reg_no_action' is set.

It is to be noted that 'afc_reg_no_action' should be set only in
enterprise mode.

Change-Id: I9ba2a0a0d0c4282895b3787943aca1dd45c199c3
CRs-Fixed: 3492604
2023-05-22 16:46:10 -07:00
Liangwei Dong
d430e6a706 qcacmn: Update multilink reconfig ie for ieee802.11be D 3.0
Update ML Reconfig ie parsing for D 3.0:
1.Add new common info length subfield in common info length.
2.remove STA profile subfield from Per-STA profile subelement
3.add STA info length and STA mac address subfields in the
STA info field.

Change-Id: I02988ae7a2098b0278438e26156475e2b4f9c4ab
CRs-Fixed: 3465406
2023-05-22 09:09:16 -07:00
Krishna Rao
aebcc2ee76 qcacmn: Update Reconfig ML IE definitions as per 11be D3.0
Update Reconfiguration Multi-Link element definitions as per
IEEE802.11be D3.0. The main changes are:
- Add definition for max value of Common Info Length subfield of
Common Info field
- Definition of max value of STA Info Length in STA Info field of
Per-STA Profile subelement was already present (but unused) - update
this definition.
- Rename some of the subfields in STA Control field of Per-STA Profile
subelement
- Add encoding for the Operation Update Type subfield in STA Control
field of Per-STA Profile subelement
- Add definitions for Operation Parameters in STA info in Per-STA
Profile subelement

CRs-Fixed: 3471701
Change-Id: Ifbabc88722aa3a0a32d7580a6b54acf0feff6061
2023-05-22 09:09:05 -07:00
Surya Prakash Raajen
6438a661f5 qcacmn: Export wlan_mlo_peer_deauth_init as symbol
Add support to export wlan_mlo_peer_deauth_init as
symbol.

Change-Id: I384f47cf72ae30c7cddc9b1c52c1745c2f8e447c
CRs-Fixed: 3498865
2023-05-22 07:06:34 -07:00
Shashikala Prabhu
a4a05a97f8 qcacmn: Avoid crash when wmi max pending commands are reached
If WMI max pending commands are reached and UMAC reset is in progress then
add the WMI pending command to host SW queue instead of crashing. The
reason is FW will not reap the WMI commands from the CE ring when umac
reset is in progress. Hence, add the pending WMI command to host SW ring.

Change-Id: I871147a80669a88875b3f6891bd0b0a56b92733b
CRs-Fixed: 3502217
2023-05-22 07:06:23 -07:00
Kenvish Butani
c7c2642eef qcacmn: Add Stats support for MLD Interface in STA mode
For both Unified Bonding and Non bonding mld mode,
add Support to get VDEV Stats for MLD Interface on
STA mode for ifconfig and wifitelemetry tool.

Change-Id: Icb528d8738fd932d3f2c057af49fc7af141299e9
CRs-Fixed: 3502731
2023-05-22 07:06:12 -07:00
Sushant Butta
c21470ebff qcacmn: Use monitor pkt tlvs and buffer size for monitor
Use monitor pkt tlvs size and monitor buffer size
instead of data pkt tlv size and data pkt buffer size
for York.

Change-Id: Ifc0d07ed96100ae79e81ac91bccd637e08d71e28
CRs-Fixed: 3494826
2023-05-22 00:10:31 -07:00
Santosh Anbu
4514cc3d43 qcacmn: Avoid resetting monitor buf ring size
Increasing the buf ring size for York is leading to memory corruption
issues.

Adding change to partially revert commit, specific for York alone.
I3099f6526aa11b353c8a5178de450d48f141a461

Change-Id: Ia9836bc982590fbeb14021dcc3b7bc7014d2fa36
CRs-Fixed: 3490257
2023-05-22 00:10:19 -07:00
Edayilliam Jayadev
d8b480fa26 qcacmn: Add upper bound check for scan count
Add upper bound check for Spectral scan count parameter.

CRs-Fixed: 3495755
Change-Id: I31cb9313bc1abcc8323a00242a6f34b25af9ed9d
2023-05-21 22:13:50 -07:00
Arun Kumar Khandavalli
6380e02cbb qcacmn: Add support for nlink mlo support capability
Add support for nlink mlo support capability.

Change-Id: I7b033ce36f35aeb57147f4e7c69328f98e2a9cf7
CRs-Fixed: 3500525
2023-05-21 11:39:07 -07:00
Bing Sun
2d2f50fbf0 qcacmn: Consider vdev_id also along with link id for connected bitmap
When STA roams from SLO to SLO, only vdev 0 should be set as connected
link, while vdev 1 should not be set as connected link.

Currently vdev 1 is set as connected link incorrectly because its link
id is 0 which is the same with the link id from roam sync event.

link id is not a unique parameter. All are 0 by default.
vdev id should be used because it is a unique parameter.

Change-Id: I097b6f672c4656bfa2892f102e50998065463516
CRs-Fixed: 3497124
2023-05-21 11:38:57 -07:00
Arun Kumar Khandavalli
c8b6296d6b qcacmn: indicate Upstream Kernel supports ML connection on SAP
Define backport to indicate kernel support for ML connection on SAP

Change-Id: Id8e2f4942dd133c3c62d77b6775ffc6abae1a219
CRs-Fixed: 3497910
2023-05-21 04:05:06 -07:00
Venkateswara Naralasetty
09430f47e6 qcacmn: fix kernel null pointer dereference
Fix kernel null pointer dereference during dp_vdev_set_monitor_mode.

Change-Id: Ia17ebef71f4d7f8b038f52adcde17cc89aa14545
CRs-Fixed: 3501896
2023-05-21 04:04:55 -07:00
Srinivas Girigowda
3c62dfa3ea qcacmn: Enable Local packet capture ini
Enable Local packet capture ini.

Change-Id: I1f0647e8c97baa8345cecf6da79348867dccd827
CRs-Fixed: 3500137
2023-05-20 15:05:08 -07:00
Priyadarshnee Srinivasan
cfc9355364 qcacmn: Do not cancel hrtimer without initializing the timer
When the dfs_puncture feature is enabled and if the punctured subchannels
are not part of the current channel, dfs_punc_sm_stop() is invoked
from dfs_handle_dfs_puncture_unpuncture() API.
dfs_punc_sm_stop() does a hrtimer_cancel of dfs_punc_cac_timer though
hrtimer_init of dfs_punc_cac_timer is not done.
This causes kernel panic.
hrtimer_init() is done only when punctured channels are a subset of the
current channel.

Do a hrtimer_init() during dfs_attach to avoid the crash.

Change-Id: Ib9214ffe0b9605850885ca09c8d638dccecc7f00
CRs-Fixed: 3491078
2023-05-20 12:55:10 -07:00
Subrat Mishra
2214e091a8 qcacmn: Change ATF north bound function pointer name
Change ATF north bound function pointer name from atf_set to more
appropriate atf_send_peer_list.

Change-Id: Icd62a39548c58b47aa3f1de9db92dee100be3416
CRs-Fixed: 3490457
2023-05-20 08:37:57 -07:00
Jithender Miryala
7e413c719e qcacmn: Update or Correct the Reg database
Add/Correct the following Reg Database [ The following are correct values
as per Regupdate version #42 ]
1. Change superdomain 'APL5_6G_13' to 'APL7_6G_13'.
2. Add 5 GHz Regdomain FCC17 (Hex 0x0B73).
3. Add 5 GHz Regdomain FCC18 (Hex 0x0B74).
4. Add 5 GHz Regdomain APL19 (Hex 0x1240).

Change-Id: If96c38e735f3fc52c3f97571e254f352afd60569
CRs-Fixed: 3499634
2023-05-20 06:21:03 -07:00
Srinivas Girigowda
11edfc7c6d qcacmn: Do not apply lpc filter settings to HTT_RXDMA_HOST_BUF_RING
Local packet capture filter settings needs be to applied only to
HTT_RXDMA_MONITOR_STATUS_RING and not HTT_RXDMA_HOST_BUF_RING.

Change-Id: I2a2d2810407941310c88db551894806d0884d157
CRs-Fixed: 3501638
2023-05-20 04:03:47 -07:00
Srinivas Girigowda
c953dbb12d qcacmn: Avoid array out of bound access
Avoid array out of bound access by validating monitor channel band value.

Change-Id: I3b9c272e1fcf0d83a8d08884037af1eeed0a87ce
CRs-Fixed: 3501636
2023-05-20 04:03:37 -07:00
Aravind Kishore Sukla
0229ffd422 qcacmn: Add pdev param map for WMI_PDEV_PARAM_PCIE_CONFIG
Add pdev param id for WMI_PDEV_PARAM_PCIE_CONFIG

Change-Id: I8aab9fcad23d63a9dead92498733637a7e183338
CRs-Fixed: 3488026
2023-05-20 01:46:16 -07:00