Commit Graph

19976 Commits

Author SHA1 Message Date
Chaithanya Garrepalli
084db81bf9 qcacmn: Add null check for DP MLD context
Add NULL check in CDP API for MLD context as it can
be called by upper layers for non-MLO VAPs

Change-Id: Id77284ca81462a7e799a7b93e3528d9d9144372c
CRs-Fixed: 3605323
2023-09-02 21:23:49 -07:00
Srinivas Dasari
26d8aab401 qcacmn: Make cm_bss_mlo_type a public API
Make cm_bss_mlo_type() public so that other components can use it.

Change-Id: I18f130eb147b859f8827bacbfd3d134121caabf1
CRs-Fixed: 3601362
2023-09-02 05:09:50 -07:00
Krunalsinh Padhar
9c5f2ce5a8 qcacmn: Fix probable null dereference
Remove the debug prints that would cause null dereferencing.

Change-Id: I002e9b14945a2e1de62f94095847ea8886decad6
CRs-Fixed: 3604295
2023-09-02 05:09:38 -07:00
Neha Bisht
98bd87c4b3 qcacmn: Add call to Deinit/Free tx spcl desc
Add call to Deinit/Free tx spcl desc

Change-Id: If5809e38f61ede9dba08edd29d7320bfc40596fc
CRs-Fixed: 3603525
2023-09-02 05:09:27 -07:00
Jia Ding
449758b4de qcacmn: Add alt_pipe in struct wlan_ipa_iface_context
With IPA_WDI3_TX_TWO_PIPES=y, add support to setup and cleanup alt_pipe
on a per interface basis in struct wlan_ipa_iface_context.

At the same time, add support to dump alt_pipe value in
wlan_ipa_dump_iface_context() for debug purposes.

Change-Id: If618e56036c434cdfe7989d1b4197ed54e3b1147
CRs-Fixed: 3599454
2023-09-02 05:09:17 -07:00
Vaishnavi Chekuru
937e92c6c5 qcacmn: Enable CFR on pebble
1.Enabling CFR capture for pebble.
2.Clean up redundant check for Pebble while fetching rtt info
3.Clean up redundant check for Miami while fetching rtt info
4.Add 2023 to copyright year

Change-Id: I2ac845a1c5914004a0af4a007264d0cd5f431d3f
CRs-Fixed: 3596397
2023-09-02 05:09:06 -07:00
Surya Prakash Raajen
d0f606e7db qcacmn: Fix dec and test bit of shmem arena deinit count
Fix dec and test bit of shmem arena deinit count, as
qdf_dec_and_test returns true if the decremented resultant
value is 0,or false for all other cases.

Change-Id: I59523078bec409badbe253243443a12c508c036c
CRs-Fixed: 3593556
2023-09-01 21:01:50 -07:00
Vinod Kumar Pirla
caf1626286 qcacmn: On link switch don't change the state of ML peer
On disconnect ML peer state is set to disconnect initiated,
this helps to avoid sending multiple deauth/disassoc OTA
frames to AP on each VDEV.
If link switch fails the ML peer will be in this state so
for next userspace disconnect request deauth/disassoc frame
is not sent OTA and AP might not be aware of STA leaving the
network.

Do not change ML peer's state on VDEV link switch disconnect
to ML_PEER_DISCONN_INITIATED.

Change-Id: Icbbb46bbf78cea796a3a1e07754be3a626390ad0
CRs-Fixed: 3601739
2023-09-01 21:01:39 -07:00
Divya R
5e7649fe1a qcacmn: Memset master channel list 6 GHz AP structure
EIRP Power value in master channel list for power type VLP
is filled with garbage values even though VLP rules are not present.
Due to this, best power mode selection algorithm selects VLP as
best power mode and fails while setting frequency.

To fix this, memset the master channel list 6 GHz AP.

Change-Id: I21bfd69445aeb4756474ad452be0099498e9d5a6
CRs-Fixed: 3574999
2023-09-01 21:01:29 -07:00
Rahul Gusain
25a99149d2 qcacmn: Resolve compilation error for TWT APIs
Currently, driver does not use "WLAN_TWT_CONV_SUPPORTED" flag in
TWT APIs declaration. So, for some targets, it causes
compilation failure.

So, this change fixes the compilation issue.

Change-Id: Ie1b92119ef37b85f4c7eb1d0e23e7910eeab3415
CRs-Fixed: 3603668
2023-09-01 13:07:29 -07:00
Mukul Dhiman
b5d08f5db5 qcacmn: remove useless API hal_idle_scatter_buf_num_entries call
remove useless API hal_idle_scatter_buf_num_entries call

Change-Id: Ic7071cf9e5df37e60b2915facad1de3241a77016
CRs-Fixed: 3602662
2023-09-01 10:09:07 -07:00
Mukul Dhiman
8f9aadc071 qcacmn: add wrapper function to dp_txrx_get_peer_stats
add wrapper function to dp_txrx_get_peer_stats to handle
identical mlo and link peer case

Change-Id: Ia2d05eca143dd2759c6765c54f26da7f73210271
CRs-Fixed: 3595756
2023-08-31 18:37:09 -07:00
Yu Tian
667450308d qcacmn: Fix delay req queue not update to date issue
Delay write of SRNG regs may happen on different CPUs.
Sometimes wmb may not sufficient to protect the update
in sequence. Change is aimed to buy more time for the
update of different CPUs.

Change-Id: I4149decf5a29ea213aa38abd2bef062f25d7858d
CRs-Fixed: 3591457
2023-08-31 18:36:59 -07:00
Tiger Yu
d187eb44e0 qcacmn: Fix the memory leak for the wmi_rx_diag_work_queue
Add workqueue destroy in the wmi detach for the wmi_rx_diag_work_queue
to avoid the system memory leak.

Change-Id: Ic183ddaa2e53292a50e0b379877a92ddcaf45b02
CRs-Fixed: 3597405
2023-08-31 18:36:49 -07:00
Jianmin Zhu
63ab6adb20 qcacmn: Fix data stall after roam from mlo to legacy
When roam from mlo to slo/legacy/owe, mlo_cleanup_link is called to
disconnect link vdev, mlme_cm_osif_disconnect_start_ind is called,
WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER is sent, then Tx queue is disabled,
all tx pkts can't be sent.

To fix it, when disconnect link vdev for roaming to slo/legacy/owe,
don't send WLAN_STOP_ALL_NETIF_QUEUE_N_CARRIER by checking special req
source CM_MLO_ROAM_INTERNAL_DISCONNECT.

Change-Id: Iacfc2f82069b2c21951af97c23c60ea99865a80d
CRs-Fixed: 3600747
2023-08-31 18:36:39 -07:00
Amir Patel
dd839c2135 qcacmn: Fix compilation issues
Fix compilation issues when below macro are undefined
a) WLAN_PKT_CAPTURE_TX_2_0
b) WLAN_TX_PKT_CAPTURE_ENH_BE
c) BE_PKTLOG_SUPPORT
d) DP_RX_MOM_MEM_FRAG.

CRs-Fixed: 3571652
Change-Id: I066ace0b51fd628d31b2d7161765bf9d0c405549
2023-08-31 18:36:29 -07:00
Sai Rupesh Chevuru
94eb798731 qcacmn: new WMI peer param to update DMS capability
new WMI peer param to update DMS capability.

Change-Id: I497a8beb2d0afae27b18eac056e7f3a5fcf47f82
CRs-Fixed: 3598740
2023-08-31 18:36:19 -07:00
Jeevan Kukkalli
d2a9cfa5ed qcacmn: Address asserts in rx monitor path
Remove unnecessary asserts in rx monitor path

Change-Id: Iafce86bc0c1938b0227e89e4032e36eedd9d8dc7
CRs-Fixed: 3591989
2023-08-31 18:36:08 -07:00
Amir Patel
32c2f949a6 qcacmn: Address asserts in monitor path
Address asserts in monitor path

CRs-Fixed: 3591470
Change-Id: I4a5fbda57e91da6579ca945ecfcb12488b4413f1
2023-08-31 18:35:58 -07:00
Abhinav Kumar
88fa8a3f0b qcacmn: Send proper control mode value to upper layer
1. Upper layer sends QCA_WLAN_VENDOR_ATTR_LINK_STATE_CONTROL_MODE
vendor command to configure control mode in host/fw.
2. Host receives GET_ML_LINK_STATE driver command to return
control mode (configured at step 1) to upper layer.

Host should reply as a response of GET_ML_LINK_STATE with same
value of control mode configured at step 1 to upper layer.

Change-Id: I3b5cb3bec31957ee8479d7f366d1e360421a7573
CRs-Fixed: 3601735
2023-08-31 11:02:29 -07:00
Amruta Kulkarni
1684c8ceac qcacmn: T2LM timer changes
Currently the T2LM timer is maintained by host.
Code change made to add support to run the T2LM timer in FW.

CRs-Fixed: 3594141
Change-Id: I7eee4800f68b07d5492a0336e3fe8e0db17d2020
2023-08-31 11:02:17 -07:00
Asutosh Mohapatra
51e6e8633e qcacmn: Keep correct set of 6 GHz channels enabled in super channel list
Currently if fcc_constraint 0/2 is set and there are
active 6 GHz STA/P2P client connections, host keeps the
bonded channels enabled, but in super channel list
incorrect set of frequencies remain active. This
happens because the active frequency start and end
indexes are not according to the super channel list
indexes.

To address this issue, convert the active 6 GHz
range start and end indexes according to the super
channel list indexes.

CRs-Fixed: 3595197
Change-Id: I8bb3a5093eb3b8bd970fcd371a4939570207385b
2023-08-31 11:02:05 -07:00
Manikanta Pubbisetty
1ca2ca9845 qcacmn: Fix fastpath nbuf reset issue for rhine architecture
Currently, fastpath CE RX buffers are not properly getting reset on
WCN6450 due to which driver is reading data at wrong offset leading to
packet drops. Properly resetting the nbufs after every CE RX buffer
processing is fixing the issue.

Change-Id: Ic29740fb1a72a3302752cc457bcf45f8d0094c46
CRs-Fixed: 3601680
2023-08-31 11:01:53 -07:00
Amrit Sahai
b13bb9a868 qcacmn: Fix rx byte and num count for lithium platform
Fix rx byte and num count for lithium platform

Change-Id: Ic964efacec3bbfbb87dafbb8021415d4633a1393
CRs-Fixed: 3599422
2023-08-31 11:01:42 -07:00
David Oladunjoye
9506ccc29b qcacmn: Increase max HW mode and max mac phy cap
Currently, if FW advertises more than three HW modes and more
than five caps, host returns error as the current max is below.
Increase max hw mode to 4 and mac phy cap to 8 to support cases
where we advertise more than hw 3 modes and more than 5 phy caps.
eg. SMM, DBS_or_SBS, AUX_EMLSR_SPLIT, AUX_EMLSR_SINGLE.

Change-Id: Idbc978a1a259d66e7d893d82f8becd6325019976
CRs-Fixed: 3599091
2023-08-31 11:01:30 -07:00
Tallapragada Kalyan
3d0b34dab2 qcacmn: Add a WAR to free a regular msdu in REO Exception ring
SW WAR added in REO exception ring handling where only a
link descriptor is expected but HW gave a regular buffer.
instead of asserting, the WAR will simply free the nbuf
and return the descriptor to free pool.

Change-Id: I1871f0b52afaf2f1755fab51b592d89a67ad95c8
CRs-Fixed: 3530621
2023-08-31 11:01:19 -07:00
Jeevan Kukkalli
89339b7e3a qcacmn: Add check for invalid frame ctrl version
Add check for invalid frame control version while
handling raw frames with FCS errors

Change-Id: I443bb20c5516604ff3ba797570118b3b2123dbd5
CRs-Fixed: 3589137
2023-08-31 11:01:07 -07:00
Subrat Mishra
cf8b664ae6 qcacmn: Add lmac interface to check ATF enable
Add South bound lmac interface to check ATF enable.

Change-Id: I3383a90f663079ae77872af09222e1758c7cb452
CRs-Fixed: 3600024
2023-08-31 11:00:55 -07:00
Nagasai Bharat Gatkeshwar Sainoji
2cc88020a1 qcacmn: Clean up asserts in Spectral module - Part 8
Clean up invalid pointer/value asserts by returning the error status
to the caller in the below spectral module files
1. target_if_spectral_sim.c

Change-Id: Ibc59e7703dcad9cbc9309a6ad96f5279cafb538d
CRs-Fixed: 3591982
2023-08-31 00:13:35 -07:00
Nagasai Bharat Gatkeshwar Sainoji
2140bff4e9 qcacmn: Clean up asserts in Spectral module - Part 7
Clean up invalid pointer/value asserts by returning the error status
to the caller in the below spectral module files
1.target_if_spectral_sim.c

Change-Id: Iad4314409ee5d2037c566c9a022cbfc2444f6460
CRs-Fixed: 3591964
2023-08-30 13:40:26 -07:00
Nagasai Bharat Gatkeshwar Sainoji
843a02da37 qcacmn: Clean up asserts in Spectral module - Part 6
Modify functions to return QDF_STATUS to handle assert conditions and
return appropriate status to the caller
1. target_if_spectral_phyerr.c

Change-Id: I8f9d320b774ef172bc3dd3609581b13694e1edfd
CRs-Fixed: 3591197
2023-08-30 13:40:16 -07:00
Neha Bisht
5e70737f80 qcacmn: Handle special descriptor cases for global tx pool
Handle special descriptor cases for global tx desc pool

Change-Id: I33253b726b1b8a2e7438b3bc1dddcac43ad8fb25
CRs-Fixed: 3592887
2023-08-30 13:40:05 -07:00
Neha Bisht
82e9711f5b qcacmn: Move Tx desc pool to global context level
Move Tx descriptor pool to global context level.

Change-Id: Iff13a41f3bebbaa93e559c38842a596d47f4e534
CRs-Fixed: 3534184
2023-08-30 13:39:55 -07:00
Nagasai Bharat Gatkeshwar Sainoji
f95831ad9a qcacmn: Clean up asserts in Spectral module - Part 5
Clean up null pointer asserts by returning the error status to the
caller in the below spectral module files
1. target_if_spectral_phyerr.c

Change-Id: I8f4fc5a30b710489003888b897b756ea44dface6
CRs-Fixed: 3591187
2023-08-30 07:58:35 -07:00
Nagasai Bharat Gatkeshwar Sainoji
59d8528e00 qcacmn: Clean up asserts in Spectral module - Part 4
Clean up invalid pointer/value asserts by returning the error status
to the caller in the below spectral module files
1. target_if/spectral/target_if_spectral.c

Change-Id: I57735ce35d33011dd9041a2cd16a740673a12800
CRs-Fixed: 3589879
2023-08-30 07:58:23 -07:00
Nagasai Bharat Gatkeshwar Sainoji
a2dfe3fac7 qcacmn: Clean up asserts in Spectral module - Part 3
Modify functions to return QDF_STATUS to handle assert conditions and
return appropriate status to the caller.
1.target_if/spectral/target_if_spectral.c

Change-Id: I7704d67932b6a84853deb5c7f5dc43810124dd1f
CRs-Fixed: 3589875
2023-08-30 07:58:12 -07:00
Azmath Mohammed
06f9ae2801 qcacmn: Modify the return to QDF status
Modify the return type from kernel error message to QDF error status

Change-Id: I04f8d44bde7ba8e00b9780c901966b7edef4ab72
CRs-Fixed: 3589970
2023-08-30 07:58:00 -07:00
Amit Mehta
16ff49ada0 qcacmn: Add additional check for qdf_walt_get_cpus_taken
Current if CONFIG_SCHED_WALT is disabled in kernel it is
resulting in compilation error.

So to fix the issue move the API under CONFIG_SCHED_WALT.

Change-Id: Ia720b3d707e0119e90c1cce8bf99590525a7f5ba
CRs-Fixed: 3599900
2023-08-30 04:53:33 -07:00
Nagasai Bharat Gatkeshwar Sainoji
34f331aae6 qcacmn: Clean up asserts in Spectral module - Part 2
Clean up null pointer asserts by returning the error
status/appropriate value to the caller in the below spectral module
files 1. target_if/spectral/target_if_spectral.c

Change-Id: I17cb1288c030a4d0f35638da4acda8d59116f9f8
CRs-Fixed: 3589783
2023-08-30 04:53:22 -07:00
Kenvish Butani
59bc72aa0f qcacmn: Use MLO Device Context for finding MLO Partner vdev's
Use vdev list present in MLO device context structure to find
MLO Partner vdev.

Change-Id: I6660ab91b27474dbe80562cc763417f07a7a2776
CRs-Fixed: 3583614
2023-08-30 01:38:35 -07:00
Kenvish Butani
744e92cc0c qcacmn: Cleanup MLO CDP API's for MLO Partner List
Cleanup MLO CDP API's for updating MLO Partner
list invoked from UMAC.

Change-Id: Id3a346ceb4b103410e1e89cbce25abcad9e4adc5
CRs-Fixed: 3588208
2023-08-30 01:38:23 -07:00
Kenvish Butani
8981a2f3c7 qcacmn: Cleanup MLO Partner list from DP vdev
Clean up MLO Partner vdev list and Bridge vdev
list from DP vdev_be as this is moved to MLO
device context
Also clean up the supporting DP API's and
relevant CDP API's

Change-Id: I614a2c43e493a8aba26ccf75813614ce9fbc8e5f
CRs-Fixed: 3588063
2023-08-30 01:38:11 -07:00
Pragaspathi Thilagaraj
7f18f6e441 qcacmn: Update self link address also after roaming
When updating the AP link address and channel info after
roaming, update the self link address also to the link switch
context on each vdev. This information will be fetched while
sending roam + auth event to userspace after roaming.

Change-Id: I363a5ee8d65bb21d84c15879996369f4e397f2a6
CRs-Fixed: 3589401
2023-08-30 01:37:59 -07:00
Prasanna JS
5f864ea874 qcacmn: Define beacon rate codes for lithium onwards targets
Define beacon rate codes for lithium onwards targets

Change-Id: Ife29f1cf2599b4a6f3d8d13629cd1f4f6debdf2e
CRs-Fixed: 3593185
2023-08-29 15:06:54 -07:00
Aditya Kodukula
6ed28e28ce qcacmn: Add gwlan_logging to wlan minidump
Add gwlan_logging structure to wlan minidump, when
WLAN_QCOM_MINIDUMP feature is enabled.

Change-Id: Ib9aef20854f50cdf5c1ff0c0acce857bed38a9a6
CRs-Fixed: 3599313
2023-08-29 15:06:44 -07:00
Vivek
6578782074 Revert "qcacmn: Increase the CE1 ring size to 1280 for Waikiki"
This reverts commit I794522751deb9a60e6487e42df48f582a5e01d2e.

Reason for revert: Changes for the fix is implemented as a different FR

Change-Id: I19f6e4362ed406c9906e333c1ee0bfa2fe14677e
CRs-Fixed: 3598130
2023-08-29 15:06:34 -07:00
Edayilliam Jayadev
f2aaec4814 qcacmn: Cleanup assert in mgmt rx reo - Part 8
Cleanup asserts in management Rx reorder module.

Change-Id: Ia1bfbae1e1ee2b02459f34624e2284592eb02a9d
CRs-Fixed: 3593936
2023-08-29 15:06:23 -07:00
Edayilliam Jayadev
ed9d84abd6 qcacmn: Cleanup assert in mgmt rx reo - Part 7
Cleanup asserts in management Rx reorder module.

Change-Id: Ia7fcabf770d3b38f62f23b6848b50eb8e4f6827b
CRs-Fixed: 3593934
2023-08-29 15:06:12 -07:00
Edayilliam Jayadev
d6db6d2a66 qcacmn: Cleanup assert in mgmt rx reo - Part 5
Cleanup asserts in management Rx reorder module.

Change-Id: Idb304f6a61599f24f1dd8f3ecbffe8dbaae42d6b
CRs-Fixed: 3593932
2023-08-29 15:06:01 -07:00
Edayilliam Jayadev
b1439341ca qcacmn: Cleanup assert in mgmt rx reo - Part 4
Cleanup asserts in management Rx reorder module.

Change-Id: I37f13dc04356d20fe3fcce43ef8a0d48c8854e31
CRs-Fixed: 3593930
2023-08-29 15:05:50 -07:00