Commit Graph

4072 Commits

Author SHA1 Message Date
Hariharan Basuthkar
b33c5ecbf3 qcacmn: Add support for AFC payload reset for proxy mode
In the AFC Enterprise mode, the AFC response-payload may need to be
reset from host. The payload reset is done by sending
WMI_SERVICE_AFC_RESET_SUPPORT subtype in the WMI_AFC_CMD to the target.

In response, the target sends the WMI_AFC_EVENT_TIMER_EXPIRY event with
WMI_AFC_EXPIRY_EVENT_SWITCH_TO_LOW_POWER_MODE (in indoor deployment) or
WMI_EXPIRY_EVENT WMI_AFC_EXPIRY_EVENT_STOP_TX (in outdoor deployment)
event subtype to the host.

Earlier, the WMI_AFC_EVENT_TIMER_EXPIRY event was sent only in
non-enterprise mode. Now, since it can be sent for both enterprise and
non-enterprise mode, we need to take care of 'afc_reg no action",
which is mandatory in case of enterprise mode.

Therefore, implement the following changes:

1) Call trigger_acs_for_afc only if afc_reg_no_action is not set.
2) Send the AFC payload reset event during SWITCH_TO_LPI and STOP_TX
   event, and free the AFC payload received from the target.
3) Add APIs to register a callback to send the AFC payload reset event.

Change-Id: Ib5b3a6f51bbdf2061460fd957ca3c0ba66f23fa9
CRs-Fixed: 3462953
2023-04-29 05:17:33 -07:00
Venkateswara Swamy Bandaru
ad2d3b59e7 qcacmn: Add EPCS related related files
Create wlan_mlo_epcs.h and wlan_mlo_epcs.c files for EPCS
feature.

Change-Id: I49774a5b3124fef0848308a3101d099efd449e8c
CRs-Fixed: 3476996
2023-04-29 01:38:19 -07:00
David Oladunjoye
84eb559a6f qcacmn: Set rTWT in TWT enable operation
TWT requestor must set enable/disable for rTWT when device connects
to AP. Set r_twt_enable param in TWT enable operation.

Change-Id: I24c60802b49cef6486bd7df97c1833fd6d89aac1
CRs-Fixed: 3463468
2023-04-29 01:38:09 -07:00
Gangadhar Kavalastramath
31ed81c9f7 qcacmn: Correct reg rules for CC MA
Change ETSI13_WORLD to ETSI3_WORLD.

Change-Id: I6f6dcea320f56000d28e6761d8acf943f9b43745
CRs-Fixed: 3453429
2023-04-29 01:37:48 -07:00
Santosh Anbu
7ab8cc59ee qcacmn: Handle TXCSA in repeater mode
In independent repeater scenario when STA connects to root AP on different
channel as that of AP Vdevs, then txCSA is used to move the AP vdevs
to the new channel using FW_VDEV_RESTART.
If a ML-AP vdev is stuck in MLO_SYNC_WAIT state, then TxCSA is not
processed which would lead to MVR timeout.

Add change to handle FW_VDEV_RESTART event in SYNC_WAIT.

Change-Id: If7359a5a39ed9478c813b8eb0f97a6a0d07e1ba1
CRs-Fixed: 3477635
2023-04-27 17:14:09 -07:00
Basamma Yakkanahalli
d07361112b qcacmn: Export wlan_reg_freq_width_to_chan_op_class API
Export the wlan_reg_freq_width_to_chan_op_class() API.
API will be used by Change Id I69106463a587bf0717dbce3067b69bb7272ca976.

Change-Id: I3c751ccd6499bc0de48bdbb6086cf3ec7c8e9b88
CRs-Fixed: 3443845
2023-04-27 05:48:34 -07:00
Vinod Kumar Pirla
7382a9f799 qcacmn: Use MLD address of BSS peer for PMKSA operations
If PMKID present in AP expires, AP rejects the PMKID based association.
Current design is to clear the cache using BSSID/MAC address of link
in such cases to let a fresh SAE authentication to happen.
But host driver stores PMKSA with MLD address for ML BSS.
Adapt to the same and update PMKSA cache clear APIs to use
MLD address instead of link address.

Introduce new API which return the legacy address for non-ML
association and MLD address for MLO association of the BSS peer.
Use this API to get the correct entry from PMKSA cache to delete.

Introduce new utility API to fetch the MLD address from scan entry.
Use this API to get the MLD address of the ML candidate.

Change-Id: Id35a3937ba6649e8ba7ae8f849ac1ed2a9cc83f8
CRs-Fixed: 3453839
2023-04-26 18:25:02 -07:00
Hariharan Ramanathan
f5534874df qcacmn: Fix WLAN_MGMT_RX_REO_DEBUG_SUPPORT featurization
Fix QCA5332 256M profile compilation by featurizing
WLAN_MGMT_RX_REO_DEBUG_SUPPORT. Make sure compilation passes when
WLAN_MGMT_RX_REO_DEBUG_SUPPORT is disabled by adding stub functions.

Change-Id: I10dcba7cdb08ba5b74ef32546640d0d713acd84a
CRs-Fixed: 3437018
2023-04-26 11:25:58 -07:00
Deeksha Gupta
5bb13e5887 qcacmn: Add changes to notify userspace whenever T2LM updates
From the driver, call wlan_mlo_dev_t2lm_notify_link_update()
API whenever there is a link update happens using T2LM.

Change-Id: I51be6eafcb558bcf54919bead8c93227c33be194
CRs-Fixed: 3431540
2023-04-26 08:24:10 -07:00
Naveen Gurujala
2467d81f7b Revert "qcacmn: Add target_if api to update SR threshold"
This reverts Change-Id: Idddfcfe55d28af2b122ac9260dc8388feec42d14

Change-Id: I4f79b0bcc223adfc776608d85156721eb80f9d21
CRs-Fixed: 3374628
2023-04-26 03:26:17 -07:00
Prabhu Dass Mahalingam
c113031b68 Revert "qcacmn: Fix low TPC power for vendor DTPC IE"
This reverts Change-Id: If6f1ea737c8b32db449dd340314026fd3693b698

Change-Id: I52660d70cfa752114e2fa7e2b3c5f55e93e1a453
CRs-Fixed: 3387238
2023-04-26 03:26:07 -07:00
D Harilakshmi
4e8a2584da Revert "qcacmn: add recommended err/debug function"
This reverts Change-Id: I6ab2bcd19b96cbbc943a60b2736dd3ab771f0b9c

Change-Id: Iafd0b31be948bb574584dfe1c77bb73125afd0e7
CRs-Fixed: 3470494
2023-04-25 12:08:05 -07:00
Prabhu Dass Mahalingam
2dea61561a Revert "qcacmn: Correct reg rules for CC GB"
This reverts Change-Id:	Ie3bf1e6102da1cf8df7b3408c46a6f559abb5743

Change-Id: I6e1c233e11433e5e19622ad40cdbe1497019e4d3
CRs-Fixed: 3447292
2023-04-25 12:07:55 -07:00
Prabhu Dass Mahalingam
ce02b4d51b Revert "qcacmn: Correct reg rules for APL25"
This reverts Change-Id:	Ib0a754987246329a09cd8779de03859167b80f66

Change-Id: I4fda4c68a26127eeb3fe67c25b82543afbb600db
CRs-Fixed: 3447198
2023-04-25 12:07:44 -07:00
D Harilakshmi
e3147e0de8 Revert "qcacmn: Add logs in MLO vdev flag set/clear API"
This reverts Change-Id: I7bd2dcd10a58ec3c09c7fd7a52169a3fea236223

Change-Id: I2005a1fa0d484235a5faa9bb4b28cf3906696751
CRs-Fixed: 3467014
2023-04-25 12:07:34 -07:00
Prabhu Dass Mahalingam
d1463df2cf Revert "qcacmn: Cleanup host regdb"
This reverts Change-Id:	I7daa70ae992a87de73721bcfab170894af3358ca

Change-Id: I24e42d7c469ad6ce1ad85ec793222d2173164b98
CRs-Fixed: 3447101
2023-04-25 12:07:13 -07:00
Prabhu Dass Mahalingam
6cf82b42f0 Revert "qcacmn: Add UMAC ID and LMAC tx ops for SAWF"
This reverts Change-Id:	I1513c47989fb1e826fe030c043cd5e4f4382fb54

Change-Id: Ia07cb692704eb48261c9830ca5b3a0f01b67f61a
CRs-Fixed: 3472179
2023-04-25 12:07:03 -07:00
D Harilakshmi
6395bf4a15 Revert "qcacmn: Correct reg rules for CC PK"
This reverts Change-Id: I977273e1dfff9d95ad3ca2580a283594ddf7e9b5

Change-Id: I34bb51eacdfd9e6285d4dfdcf92b2711f2ea60cd
CRs-Fixed: 3459453
2023-04-25 12:06:53 -07:00
D Harilakshmi
eea6497c2c Revert "qcacmn: Add support for handling MLO TSF sync capability"
This reverts Change-Id:	Ie8ca48f8f6065f02eefaea85ad967e32d09787fc

Change-Id: I3cdd1a5748189811222fb5ba18d8dcb9a740c253
CRs-Fixed: 3470139
2023-04-25 12:06:23 -07:00
D Harilakshmi
744f64463b Revert "qcacmn: Change WLAN_UMAC_MAX_AID for 11az TBR RSTA"
This reverts Change-Id: Iac2b198810cef975daa1cff7cb7012ad2a2f9df4

Change-Id: Ib14a9d27ced4c66ef5ffdb4e9ff8596d3c3def1c
CRs-Fixed: 3468769
2023-04-25 12:06:02 -07:00
D Harilakshmi
16ee9380a1 Revert "qcacmn: Initialize local variable before using it"
This reverts Change-Id: I1cf105adb72f890f167343d491fff832a2e16729

Change-Id: I62a0bd51dba6dbbad52bc6e9b87c2a898ba65828
CRs-Fixed: 3471557
2023-04-25 01:49:27 -07:00
Linux Build Service Account
f5e231dc1a Merge "qcacmn: Increase max-vdev-counter integer capacity" 2023-04-21 12:47:51 -07:00
Linux Build Service Account
09f783fa3f Merge "qcacmn: Initialize local variable before using it" 2023-04-21 12:47:51 -07:00
Linux Build Service Account
469c8755a5 Merge "qcacmn: Change WLAN_UMAC_MAX_AID for 11az TBR RSTA" 2023-04-21 12:47:46 -07:00
Linux Build Service Account
70cae165fc Merge "qcacmn: Add support for handling MLO TSF sync capability" 2023-04-21 09:15:34 -07:00
Linux Build Service Account
9d884ecece Merge "qcacmn: To acquire DFS_DATA_STRUCT_LOCK during the change of radar event" 2023-04-21 09:15:31 -07:00
Linux Build Service Account
748f84473b Merge "qcacmn: Correct reg rules for CC PK" 2023-04-21 09:15:31 -07:00
Linux Build Service Account
d6d961b525 Merge "qcacmn: Add UMAC ID and LMAC tx ops for SAWF" 2023-04-21 09:15:30 -07:00
Linux Build Service Account
0fd535f37a Merge "qcacmn: Cleanup host regdb" 2023-04-21 09:15:29 -07:00
Linux Build Service Account
78a653a54e Merge "qcacmn: Fix low TPC power for vendor DTPC IE" 2023-04-21 09:15:28 -07:00
Linux Build Service Account
fe4470547c Merge "qcacmn: Add target_if api to update SR threshold" 2023-04-21 09:15:27 -07:00
Linux Build Service Account
d4a9ab32c5 Merge "qcacmn: Update the T2LM status code as 2 bytes" 2023-04-21 09:15:22 -07:00
Linux Build Service Account
d5900af48a Merge "qcacmn: Pebble bring-up changes in Umac and target_if layer" 2023-04-21 09:15:21 -07:00
Linux Build Service Account
f0b2cac0c6 Merge "qcacmn: Adding and parsing of bandwidth indication element" 2023-04-21 09:15:20 -07:00
Linux Build Service Account
10227c5693 Merge "qcacmn: Add logs in MLO vdev flag set/clear API" 2023-04-21 09:15:18 -07:00
Linux Build Service Account
2c69804cfd Merge "qcacmn: Correct reg rules for APL25" 2023-04-21 03:18:23 -07:00
Linux Build Service Account
c662e22861 Merge "qcacmn: Correct reg rules for CC GB" 2023-04-21 03:18:22 -07:00
Linux Build Service Account
66b329c2c7 Merge "qcacmn: add recommended err/debug function" 2023-04-21 03:18:20 -07:00
Chetan Kumar Sanga
0ce3d306f4 qcacmn: Increase max-vdev-counter integer capacity
Update counter to uint16_t to allow for max-client
count value more than 255.

Change-Id: I5a418d7b291194c996d52a257945fe06572746cb
CRs-Fixed: 3470589
2023-04-20 20:02:09 -07:00
SHIVAM KUMAR
54e48589ba qcacmn: Update the T2LM status code as 2 bytes
In the T2LM context status code was used as 1 byte.
As per ieee802.11 spec, Status code value is 2 bytes.
Hence, add the changes in T2LM code to use the status
code as 2 bytes.

CRs-Fixed: 3464786
Change-Id: I4dd54d8a12f3bb1ca493ee0e9b1ec20b3590d97b
2023-04-20 11:34:14 -07:00
Kannan Saravanan
e11f459ade qcacmn: Pebble bring-up changes in Umac and target_if layer
Add device Id and target type checks for qcn6432 target
compilation
Add CFR and spectral support for QCN6432

Change-Id: Ic908fa768aa1be7cfc40be7fcc7f9ca6aa85aaa6
CRs-Fixed: 3351747
2023-04-20 04:59:28 -07:00
Guru Pratap Sharma
42a7f2f1b4 qcacmn: Adding and parsing of bandwidth indication element
Adding and parsing of bandwidth indication element sub IE

Change-Id: I20fca6ecf370d5d20f0e6e8e4f873bf57da3d181
CRs-Fixed: 3464120
2023-04-20 00:15:51 -07:00
Nidhi Jain
131ca49aff qcacmn: Change WLAN_UMAC_MAX_AID for 11az TBR RSTA
Change WLAN_UMAC_MAX_AID for reserving 1992-2007 value
from AID pool for 11az TBR RSTA ranging.

Change-Id: Iac2b198810cef975daa1cff7cb7012ad2a2f9df4
CRs-Fixed: 3468769
2023-04-20 12:33:52 +05:30
Bing Sun
54c039bf07 qcacmn: Initialize local variable before using it
Do not use API to do variable initialization job.
Otherwise there is built error in some platform.

Change-Id: I1cf105adb72f890f167343d491fff832a2e16729
CRs-Fixed: 3471557
2023-04-20 09:14:10 +08:00
Jithender Miryala
3a915602b8 qcacmn: Process the negative AFC standard EIRP power values
When we receive a negative EIRP value from AFC APP with UINT, we treat it
as a positive value. See the following reasons why EIRP power value
was changed when we received it as a UINT.

1. In the reg_find_eirp_in_afc_eirp_obj function, the afc 'eirp_power'
(16-bit) value is in units of 0.01, and it is an unsigned integer. For
example, if the negative value is "-1400" then it becomes "64136". With
this value, when we try to get the original EIRP value using division
(eirp_obj->eirp_power / EIRP_PWR_SCALE(100)), it returns "641", but the
expected EIRP value is -14.

2. In the reg_get_sp_eirp function, both the variables 'afc_eirp_pwr'
(8-bit) and 'reg_sp_eirp_pwr'(16-bit) are declared as unsigned integers.
For example, when "-14," is assigned to "afc_eirp_pwr", it becomes "242".
And assuming 'reg_sp_eirp_pwr' is "36", the minimum of the two variables,
using QDF_MIN(afc_eirp_pwr, reg_sp_eirp_pwr), becomes "36", but the
expected minimum is "-14 or 242".

Process the positive or negative EIRP values that are received from AFC
application. Receive it as an int instead of an unint and typecast it to
int when we check for minimum value from afc power and standard power.

Change-Id: I255225e1f68ab897d36f3d4fbd5e5815a862460b
CRs-Fixed: 3398501
2023-04-19 10:36:58 -07:00
Ripan Deuri
403f01ef79 qcacmn: Add UMAC ID and LMAC tx ops for SAWF
Add UMAC ID and LMAC tx ops for SAWF.

Change-Id: I1513c47989fb1e826fe030c043cd5e4f4382fb54
CRs-Fixed: 3472179
2023-04-19 18:45:41 +05:30
Jhalak Naik
7acca67784 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: Ie8ca48f8f6065f02eefaea85ad967e32d09787fc
CRs-Fixed: 3470139
2023-04-19 15:10:17 +05:30
KARTHIK KUMAR T
e9d807fa5e qcacmn: add recommended err/debug function
add recommended err/debug function

Change-Id: I6ab2bcd19b96cbbc943a60b2736dd3ab771f0b9c
CRs-Fixed: 3470494
2023-04-19 14:21:40 +05:30
Venkateswara Swamy Bandaru
c7c3c49381 qcacmn: Add 11be D3.0 status code
Update status codes enum with new EHT status codes
as per 11be D3.0

Change-Id: Ib3a4963a01f1df98d2adf77d57b03d933753f297
CRs-Fixed: 3469032
2023-04-19 00:02:07 -07:00
Gururaj Pandurangi
1958f62e8a qcacmn: Add new wrapper API to send peer-level T2LM
Add a new wrapper API to send peer-level negotiated
tid-to-link mapping to FW as the existing API to send
the mapping received from the beacon/probe response
uses ML dev context whereas the new API uses ML peer
context.

Change-Id: Ifada5600e9524585c69847f332ed0280fd316813
CRs-Fixed: 3423127
2023-04-18 20:04:44 -07:00