Commit Graph

19480 Commits

Author SHA1 Message Date
Pavankumar Nandeshwar
c27dfcd8ac qcacmn: Add tx desc alloc failure count for PPEDS
Add tx desc alloc failure count for direct switch

Change-Id: I593e5846ab4948edf1e1b955890f167f772e166b
CRs-Fixed: 3526743
2023-06-14 03:12:51 -07:00
Divya R
ebb1a3faea qcacmn: change eirp datatype from uint8_t to int8_t
This change is to update eirp datatype from uint8_t to int8_t
to handle negative values of eirp.

Change-Id: I840d7911d0ac85181a09ea98658a661644f43b9c
CRs-Fixed: 3521850
2023-06-14 03:12:38 -07:00
Abhishek Singh
b22f325247 qcacmn: Fix connection manager logs by adding CM_PREFIX_FMT
Fix connection manager logs by adding missing CM_PREFIX_FMT.

Change-Id: I043bf571006279dfcbec70e1d4fac564d6a20b6b
CRs-Fixed: 3527590
2023-06-13 15:36:46 -07:00
Devender Kumar
9d45ad57b0 qcacmn: Fix issue for AP+AP vap where data takes slow path
With EasyMesh disable at runtime data from second vap is taking
slow path, due to wrong metadata mask and session id populated to
IPA driver.

Fix is pass correct metadata and session id based on EasyMesh
status to IPA.

Change-Id: I0735965c0d8bd257492343e3a27f9f1509091b87
CRs-Fixed: 3487546
2023-06-13 15:36:36 -07:00
Pooja T C
7fb2d5f4b1 qcacmn: Add QDF Module id for Co-Hosted BSS module
Added a QDF module id for Co-Hosted BSS  module.

Change-Id: If93df1026edcce0958fc7cb751abc4f32c887ec1
CRs-Fixed: 3501897
2023-06-13 09:42:45 -07:00
Sheenam Monga
806cbc9936 qcacmn: Handle negative MLO prefer percentage
Currently type of score is unit32_t due to which
negative value calculated is tried to change
to uint32_t and MLO score is getting boost instead
of deteriorate.

Fix is to calculate score in int32_t type and then move
to unsigned value.

Change-Id: Id28f58b44e1a1246f491b28a86de1c78c5e97215
CRs-Fixed: 3525654
2023-06-13 09:42:33 -07:00
Chaoli Zhou
44a9cda468 qcacmn: Correct log level for rxdma ring
Change to info level for ring config output.

Change-Id: I27ce1eed23316bd829705e66f37e149be078c179
CRs-Fixed: 3525184
2023-06-13 02:29:15 -07:00
Yeshwanth Sriram Guntuka
778c29b6ce qcacmn: Remove IPA related HAL srng ring id macro
Direct link refill ring HTT setup fails due to srng
ring id mismatch. IPA uses a max of two RXDMA_BUF
rings but the hal srng ring id has a max of 3 RXDMA
ring ids which is causing the ring id mismatch for
direct link refill ring.

The fix is to remove the addition IPA related hal srng
ring id and move the macros appropriately to make
it consistent for both IPA enabled and disabled
cases.

Change-Id: Ieb4bbf646f5f0360e4013ae3e235cc7368087731
CRs-Fixed: 3523851
2023-06-12 16:26:58 -07:00
Devender Kumar
1204ed01ea qcacmn: Add qdf_nbuf_set_fast_xmit() API support
Add support for filling fast_xmit in SKB for platform
which support skb_recycler feature.

Add a QDF abstraction to update fast_xmit in skb, when it is supported.

Change-Id: Ibc562023ddeb0bf5c2709bbb60b596676c932b5a
CRs-Fixed: 3522028
2023-06-12 16:26:46 -07:00
Harsh Kumar Bijlani
83a6b7db82 qcacmn: Increase CDP_MAX_TX_TQM_STATUS to 15 to account for all reasons
Increase CDP_MAX_TX_TQM_STATUS to 15 to account for all reasons

Change-Id: I0ea28d655980283b6e70d496edd389c8cba20274
CRs-Fixed: 3525550
2023-06-12 08:24:27 -07:00
Priyadarshnee Srinivasan
f4e571702f qcacmn: Check if nol bitmap is a subset of user bitmap
When we bring up AP on channel 100 HT320 with dfs puncturing
feature enabled and inject radar using bangradar at an offset of 70,
channel 144 gets added to the NOL. AP comes up on 100 HT320 with a
puncture pattern of 0xC0. AP's channel is changed to 149 HT80 and then
channel is changed again to 100 HT320 with 0xC0 puncture bitmap using
doth_ch_chwidth command.
Since 100 HT320 0xC0 is a DFS channel, AP does CAC and at the end of the
CAC expiry dfs_is_radar_on_punc_chan() API is invoked. This API checks
if radar infected channels are punctured by the user puncture bitmap
(dfs_ch_punc_pattern) and if so does not mark the CAC done chan as radar.
However, since 100 HT320 has a user puncture pattern of 0xFC00 and the
NOL infected bitmap is 0xC0, it considers radar is found on CAC
completed channel and tries to mark the channel as a radar as
dfs_ch_punc_pattern is equated to radar_bitmap in
dfs_is_radar_on_punc_chan(). This results in a cpu stall.

In dfs_is_radar_on_punc_chan(), if the radar bitmap is a subset of user
puncture bitmap, it implies that radar channels are punctured by the
user and hence there is no need of another radar detection at the CAC
expiry.

CRs-Fixed: 3519985
Change-Id: Ia8383500e89e2ac734d124e047bdbb94822bff3d
2023-06-12 08:24:17 -07:00
Pavankumar Nandeshwar
876f765030 qcacmn: Include Umac reset irq line only when enabled
Include Umac reset irq line in the mask table only
when it is enabled for 8 msi group to make sure
the legacy devices are not impacted.

Change-Id: If8f6b7f948a7c9f45247e8ff934642f0a532ff0d
CRs-Fixed: 3499500
2023-06-12 05:21:40 -07:00
Srinivas Pitla
a238a3e04b qcacmn: Choose second highest bw link as primary link
This change selects psoc with second highest bw link as primary link
for first ML STA.

Change-Id: I1b60f83f695b04d533e4851b3751b8e1dfd9790c
CRs-Fixed: 3521765
2023-06-11 00:14:25 -07:00
Kiran Kumar Lokere
3975e97067 qcacmn: Define a QCA vendor command to configure MLO link id for TDLS
Define a QCA vendor command to configure MLO link id to the driver on
which the TDLS discovery response frame needs to be transmitted when the
local station is connected in MLO mode. This command is configured to
the driver the prior to every TDLS discover frame transmission when the
station is connected in MLO mode. If the station is connected in non-MLO
mode this command is not configured to the driver for TDLS discovery
frame transmission.

Change-Id: I5815a604d44549cd650744e3fd8c8ca79a076dbc
CRs-Fixed: 3523774
2023-06-10 09:53:44 -07:00
Rakesh Pillai
16455833fa qcacmn: Add support to change vdev for MLD peer
Add CDP API support to change the vdev for MLD peer.

Change-Id: I373baab69bf1a63a8aa5ea35e0444f2a466fa14a
CRs-Fixed: 3523523
2023-06-09 23:59:23 -07:00
Shwetha G K
266f12b393 qcacmn: Fix invalid num_mu_users in CFR metadata
Changes to fix the invalid number of MU users reported
in CFR host metadata.

Change-Id: Ieed065d23881eb0714dec8476dd22e938ea1fa31
CRs-Fixed: 3523604
2023-06-09 23:59:13 -07:00
Kenvish Butani
6f0ea851ba qcacmn: Add iteration logic to reset MCAST Primary Flag
For every set Mcast Primary Flag call from CP, DP will
set the mcast primary flag for that particular vdev of
MLO and reset mcast primary flag for all the other
vdev's of MLO

Change-Id: I4fff532e5e30d1346fa9e9ad72d72af2e1c6f768
CRs-Fixed: 3520617
2023-06-09 13:50:46 -07:00
Zhiwei Yang
c8e31677da qcacmn: Fix wlan_dp_mem_stats TX_NBUF_CNT error
The TX_NBUF_CNT never decreases, which is an incorrect debug info.
We should decrease dp_tx_skb_count when nbuf unmap.

Change-Id: I3be63047f47305c5d24c5c40696e1c6db69ec4d6
CRs-Fixed: 3508530
2023-06-09 13:50:35 -07:00
Kenvish Butani
8ab3e327e2 qcacmn: Fix the OOM issue seen in ol_stats disable path
currently in disable ol_stats path, if disable ol_stats
is triggered for any pdev, then due to MLO link stats we
disable ol_stats on all pdev's. if the pdev deinit is
already happened then we skip disabling it and dont send
h2t complete free nbuf message, creating OOM. Fix is to
remove the pdev deinit check and disable ol_stats only
for particular pdev and not pdev of MLO.

Change-Id: I6171c6f545ed823cdec211c6ac00b8e0ff93211a
CRs-Fixed: 3511913
2023-06-09 13:50:25 -07:00
Jia Ding
6ad49b72b1 qcacmn: Add debug print for is_2g_iface
Add debug print for is_2g_iface parameter passed into
__wlan_ipa_wlan_evt(). This could help to debug if 2nd
IPA TX pipe is used for the vdev or not.

Change-Id: Ifdf9651ca972d0591671848a3b65bde13c518c6b
CRs-Fixed: 3523319
2023-06-09 13:50:15 -07:00
Gururaj Pandurangi
61a91c820d qcacmn: Add WMI support to force power save active MLO links
Add WMI command support to force power save on all the
active MLO links for a defined number of beacon periods.
Force power save allows the firmware to suspend STA links
for X beacon periods and remain asleep even if the AP
advertises TIM as opposed to regular power save mode where
STA links wake up if the AP indicates that it has buffered
data to send.

Change-Id: I381a107f3f5f479b0eee4f526a49d6fc886aced0
CRs-Fixed: 3509543
2023-06-09 13:50:05 -07:00
Gururaj Pandurangi
2d67497cfb qcacmn: Add support to force power save the active MLO links
Add MLO manager and target interface support to force power
save on all the active MLO links for a defined number of
beacon periods. Force power save allows the firmware to
suspend STA links for X beacon periods and remain asleep
even if the AP advertises TIM as opposed to regular power
save mode where STA links wake up if the AP indicates that
it has buffered data to send.

Change-Id: Idb3ea42cfc2333a4b177780d09ddec6904ea0c16
CRs-Fixed: 3514468
2023-06-09 13:49:57 -07:00
Devender Kumar
8e742a10a9 qcacmn: Increase the number of seesion_id for IPA
In WKK 7 vap per radio is supported with IPA.
Fix is to increase the session_id to 7.

Change-Id: Idbef1c3185174fab51293a6c91f0e4d6ba46e95d
CRs-Fixed: 3506431
2023-06-09 10:49:41 -07:00
Chaoli Zhou
40a34647a9 qcacmn: Correct log level for shadow register print
Change the default log level for shadow register
configuration print, which use error level is not
proper since they are not critical/fatal cases.

Change-Id: I899a8acea228a86356d6d380844a3c6ebf43f3e5
CRs-Fixed: 3519727
2023-06-09 08:10:05 -07:00
Aravind Kishore Sukla
420e36b5fa qcacmn: Add QCA vendor command to notify TID-to-Link mapping
Add a new vendor command and attributes to notify TID-to-link
mapping changes to the userspace.

Change-Id: I9210103807f89f31ddf99965098a78bb4a798665
CRs-Fixed: 3516368
2023-06-09 05:21:34 -07:00
Rahul Gusain
cd42d68e8d Revert "qcacmn: Remove NDP_HOST_UPDATE processing"
This reverts commit f5f76bb000.

Change-Id: Id93549d8d8d2607c97f0b800e3377bb632490882
CRs-Fixed: 3523829
2023-06-08 20:47:11 -07:00
Jianmin Zhu
a013c998bd qcacmn: Fix roam abort for 2nd sta connect
During wlan0 vdev0 roaming, before roam sync received,  2nd sta wlan1
vdev2 connect req came, disabled RSO of vdev0, so vdev0 roam aborted, and
disconnected.

To fix it, serialize roaming disable during connect too, don’t disable
roaming of other connected sta until serialization allowed in
wlan_serialization_activate_cmd ->cm_connect_active

Change-Id: Ic2e626154b570a1691b8f3d684d21d8a107d09dc
CRs-Fixed: 3510787
2023-06-08 20:46:59 -07:00
Gaurav Saini
d055e87ea7 qcacmn: Rectified the function comments
File does not have proper commenting to functions.
There are words used twice and not properly named.

Fix is updating the comments.

Change-Id: I5174c8804014ea860127a64907ce63037f746d25
CRs-Fixed: 3519022
2023-06-08 20:46:49 -07:00
Pragaspathi Thilagaraj
fe4e1c1ae3 qcacmn: Retry MLO connection with SLO on connection failure
Currently if MLO connection fails then connection is tried
with same link until it reaches to maximum no of trials but
connection is not tried with same assoc link by changing partner
link or with SLO.

So, when vendor roam score algorithm is enabled, add logic to try
MLO connection again by reducing number of partner links with
each retry till SLO connection is tried.

Change-Id: Ic0e3acd2198cfa0ed0ff893da6ae32d669d32a41
CRs-Fixed: 3521159
2023-06-08 05:09:28 -07:00
Kannan Saravanan
9253c14181 qcacmn: Move TX 2.0 code under WLAN_PKT_CAPTURE_TX_2_0 macro for QCN6432
Move TX 2.0 specific code under WLAN_PKT_CAPTURE_TX_2_0 macro for QCN6432.

Change-Id: Id2d29a21c66df54b401b92e17adb396499c14cce
CRs-Fixed: 3520066
2023-06-08 05:09:18 -07:00
Pavankumar Nandeshwar
9afe71a99a qcacmn: Increase the CE1 ring size to 1280 for Waikiki
Increase the CE1 ring size, which is used for htt
events to 1280 entries from current 512 entries
for Waikiki

Change-Id: I794522751deb9a60e6487e42df48f582a5e01d2e
CRs-Fixed: 3511251
2023-06-08 02:12:18 -07:00
Namita Nair
5582448dca qcacmn: Handle Tasklet context for filter notify
Currently, opt_wifi_dp filter reserve and release
notification to IPA, is sent in a tasklet
context. As QMI calls tend to acquire mutexes, this
will cause an assert as we cannot sleep in a tasklet
context. To resolve this, WLAN will schedule the
notification call in a workqueue before calling
into IPA. This change ensures IPA calls from WLAN are
not made in an interrupt context.

Change-Id: Ic716e14340651db76d7dd7dc216c595c01732ee8
CRs-Fixed: 3492465
2023-06-08 02:12:06 -07:00
Venkateswara Naralasetty
f0348b8522 qcacmn: update wcn6450 hw srng table for CFR support
Add CFR related rings configuration to wcn6450 hw srng table.

Change-Id: I5088d5ba7759d96b64319ae6f1ee26255415b900
CRs-Fixed: 3519261
2023-06-07 13:58:59 -07:00
Vijay Raj
843992732f qcacmn: Extract Multipass SAP support in target capabilities
In api extract_service_ready_ext2_tlv(), Multipass
SAP capabilities is extracted to enable multipass
sap suppot in host

Change-Id: I422a5dbaca405ceaea70559863af48d046f92cbe
CRs-Fixed: 3515331
2023-06-07 13:58:49 -07:00
Aditya Kodukula
4cbabdad1c qcacmn: Fix typos in cmn
Fix typos spanned over multiple files in cmn.

Change-Id: I9886114cd9cde934e084d0977e6272f8dd04df76
CRs-Fixed: 3521888
2023-06-07 13:58:38 -07:00
Harsh Kumar Bijlani
ee6f5e4069 qcacmn: Update rx_avg_snr with CDP_INVALID_SNR on clear stats command
Update rx_avg_snr with CDP_INVALID_SNR on clear stats command

Change-Id: I7e91d84af2b2e3b74dc90591912aa4c98e651ce3
CRs-Fixed: 3520752
2023-06-07 09:04:16 -07:00
Hariharan Basuthkar
8943c4d969 qcacmn: Add array out of bound access checks
Add current AP power type check in reg_get_num_reg_rules and
reg_append_6g_reg_rules_in_pdev to avoid the array out of bound access
of pdev_priv_obj->num_of_6g_ap_reg_rules.

Change-Id: I769615788add14bd5892edf966981ba729073f17
CRs-Fixed: 3513759
2023-06-07 09:04:06 -07:00
Harsh Kumar Bijlani
e0e7eaeba6 qcacmn: Optimize Tx and Rx monitor stats update code
Optimize Tx and Rx monitor stats update code by replacing
multiple if checks with switch case statements

Change-Id: I07dd7784dccdfe0cf0e1ade822746d0c6f55cd95
CRs-Fixed: 3511037
2023-06-07 07:01:06 -07:00
Paul Zhang
cf19f91320 qcacmn: Fix compile issue on file wlan_mlo_epcs.c
Replacing ether_sprintf() with QDF_MAC_ADDR_REF() for
common usage.

Change-Id: I86a7169411af18f017fc3c0e27ce8a35f6ebd4a0
CRs-Fixed: 3519162
2023-06-07 04:31:29 -07:00
Will Huang
ebc483b28a qcacmn: Add AFC OSIF common changes
Add AFC common North Bound vendor command handlers and common AFC
PSOC/PDEV register functions.

Change-Id: Id87c3c4878362a48546d39e10230d60c2c573154
CRs-Fixed: 3375632
2023-06-07 04:31:19 -07:00
Chaoli Zhou
41ee181b59 qcacmn: Change log level for ready event handler
The qdf_print default log level is error, which is not
properly set for non-critial/fatal case. So change
it to wmi_info by default.

Change-Id: I4507416e241a47e56de48f537cb1ad5ad913c264
CRs-Fixed: 3519208
2023-06-06 11:48:14 -07:00
Asutosh Mohapatra
85480032b3 qcacmn: Find 6 GHz power type for connection channel
Currently host doesn't check if power type is supported
for connection channel while calculating best 6 GHz
power type for connection. This results in calculation
of incorrect power for connection values if 6 GHz power
type is not supported for that particular channel.

To address this issue configure power type for connection
only if that power type is supported for connection
channel.

Change-Id: Iab4f666df9a283a890d9a25ed4a43e244b253fd3
CRs-Fixed: 3502915
2023-06-06 05:39:29 -07:00
Ruben Columbus
d8334769f4 qcacmn: qref debug memory tracker
add multiple history array to keep track of mem allocation and
deallocation for qref table.

Change-Id: I9fa97fbe5a5c36509cbb5a458851a152200318a5
CRs-Fixed: 3475981
2023-06-05 20:24:08 -07:00
Venkateswara Naralasetty
9d022375f6 qcacmn: set init_phase to false for wcn6450
Mark init_phase to false in hal_soc for wcn6450 during
driver load completion.

Change-Id: Ib76b7b7cbacd59cdeada13861bf2146ae47fc82c
CRs-Fixed: 3514777
2023-06-05 16:10:45 -07:00
Rakesh Pillai
844d0c7af8 qcacmn: Remove self peer creation for vdev
Currently there is a self peer created for a
vdev created in station mode, which is not necessary
for kiwi target.

Add support to disable self peer creation
for vdev.

Change-Id: Ib9d63aef392be66bd0675960a0abfc73c6462d2c
CRs-Fixed: 3517791
2023-06-05 16:10:36 -07:00
Sheenam Monga
339c48c7d7 qcacmn: Update etp score for MLO connection
Update etp score as per the mlo_tp_preference_percentage ini.
MLO score require to be boost or reduce based on the mlo
prefrence percentage ini, so update score as per the
provided value.

Change-Id: I0263b0f83207c279a2b4e88ac7b08b3b18a49df4
CRs-Fixed: 3456420
2023-06-05 13:53:23 -07:00
KARTHIK KUMAR T
080c5089fd qcacmn: Add new API to get partner soc
added a new API to get partner soc by passing chip_id
while adding and deleting flow entry.

Change-Id: Ib1d8c0dedb8e11d164f00791e59cf52ef8332cb5
CRs-Fixed: 3508805
2023-06-05 13:53:13 -07:00
Edayilliam Jayadev
ab8ef68f2f qcacmn: Fix use after free in management Rx REO module
In some cases, the current frame and its associated rx_params/reo_params
may get freed immediately after the frame is queued to the egress list.
Hence accessing the reo_params after the frame is queued to the
egress list could lead to a use after free. Store a copy of "reo_params"
in the frame descriptor and access the copy after the frame is
queued to the egress list.

CRs-Fixed: 3516454
Change-Id: Ia87455b25d71f7de8f5b9c94fb6de05e94922b04
2023-06-05 08:34:05 -07:00
Amit Mehta
bc2323fc08 qcacmn: Only allow connectivity logging for STA mode
Currently connectivity logging is done for all opmode
but logging should be done only for STA mode.

So to fix the issue add check for opmode and skip
connectivity logging if opmode is not STA

Change-Id: Ie6175a02c8167f5ebfd81553837206640431f701
CRs-Fixed: 3515365
2023-06-05 08:33:55 -07:00
aloksing
a0805fb4d0 qcacmn: Fix double free of frags
When decap type is invalid, freeing nbuf and while next monitor
buffer tlv picking last nbuf from queue. which has allocated frags
and valid data. expecting MPDU END TLV for previous mpdu
before monitor buffer tlv to allocate new nbuf.

Set rx_hdr_rcvd to false when we receive invalid decap type.

CRs-Fixed: 3503694
Change-Id: I97ede9e52df580769b78afc767ba9528914b3ea5
2023-06-05 03:40:10 -07:00