نمودار کامیت

208 کامیت‌ها

مولف SHA1 پیام تاریخ
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
Rachit Kankane
f5820188d2 qcacmn: Trigger SAP / GO channel switch
Trigger SAP / GO channel switch on receiving
wmi_csa_ie_received_event_id from FW in STA + SAP / GO DFS SCC
concurrency.

Change-Id: Iff60dffb71b170f56c4fbee4e297b81b87632a2a
CRs-Fixed: 3431365
2023-03-27 09:23:01 -07:00
Krunalsinh Padhar
6d5fea01f7 qcacmn: Selective peer discon during non-DFS to DFS
Disconnect only non ML peers in CSA from non-DFS channel to DFS channel,
while keeping all MLO peers connected.

Change-Id: I7e8347cf4692b16b84ffbce4b102dd2f23bb70f0
CRs-Fixed: 3394219
2023-03-05 11:23:00 -08:00
Himanshu Batra
d1d1ea0482 qcacmn: Add vdev up bitmap for mlo sync wait state handling
In MLO scenario where start/cac response for partner ML AP vdevs are
processed simultaneously on different CPU cores, the order in which
the vdev sm lock is acquired may lead to deadlock.
To fix add change to have vdev up bitmap and process sync complete
only for those vdevs for which the bitmap is set

Change-Id: I9ca8b192edeb7d491be3a7acff30c2d3545a5417
CRs-Fixed: 3403603
2023-02-28 11:20:08 -08:00
Surya Prakash Sivaraj
c595a4abdf qcacmn: Cleanup link vdev SM on roam HO failure
In legacy to MLO roaming case, the link vdev will be
moved from INIT->UP via EV_ROAM event. Similarly, if
the Hand-off fails in host due to host-related handling,
treat the failure as HO-FAILURE and move the link VDEV
SM from UP->INIT directly.

Change-Id: Ia6bfeb958f0302a934d24c9b40fadd4a8f557236
CRs-Fixed: 3389148
2023-02-07 20:02:03 -08:00
Jeff Johnson
b4b8c2933f qcacmn: Fix umac/mlme documentation
The kernel-doc script identified some documentation errors in the
umac/mlme folder, so fix them.

Change-Id: I84617fe2007e51dcb009801ebc6cdf87c0d0a686
CRs-Fixed: 3381478
2023-01-26 12:25:15 -08:00
Santosh Anbu
9bc8b332c4 qcacmn: Print psoc id along with vdev id
As part of VDEV SM history only vdev id is logged.
In multi psoc scenario it's difficult to differentiate vdevs across
psoc as vdevs share same id across psoc.

Hence add change to log psoc id along with vdev id.
VM-PS_0-VD_1: VDEV SM PSOC:0 VDEV:1

Change-Id: I0bba894a79b3ad9e7ce64ec5219eb7c65767f19b
CRs-Fixed: 3364875
2023-01-20 19:08:49 -08:00
Srinivas Dasari
539d3bfb53 qcacmn: Add APIs to set and get acs_mode in vdev mlme obj
To support fixed channel SAP in unsafe channels, driver needs
to cache and retrieve SAP start mode i.e. ACS or fixed.
Add a new param is_acs_mode to vdev_mlme_mgmt_ap and APIs to
set and get the same through vdev.

Change-Id: Ib274b95be66e774b15f4687a02ed7fef6bf21056
CRs-Fixed: 3381401
2023-01-19 00:47:38 -08:00
Roopavathi Lingampalli
04a62bd736 qcacmn: Add Component APIs for required ucfg APIs
Implement component APIs for existing vdev_mgr
to get bssid in DP component module.

Change-Id: If70832308028ad1965f4960bc2ba9664b7c09452
CRs-Fixed: 3351504
2023-01-17 21:05:23 -08:00
Chetan Kumar Sanga
176650cce4 qcacmn: Add Bitmap support for Multi-Vdev-Restart
Update MVR handlers and init to setup/use MVR bitmap
depending on bitmap MVR support by FW.

Change-Id: I3a73ddefeae85d8f6b4fc31f9c1f1164fa5346c7
CRs-Fixed: 3355001
2022-12-26 22:50:00 -08:00
Shiva Krishna Pittala
06d17f4e3d qcacmn: Populate mlo_link_add in VDEV_START WMI command
When a VDEV is dynamically getting added to an MLD,
WLAN_VDEV_OP_MLO_LINK_ADD op flag will be set on that VDEV during its
start_ap() sequence. Use that flag to update the mlo_link_add flag in
the VDEV_START WMI command.

CRs-Fixed: 3352057
Change-Id: Ie83a15f47d5cb4e54af410ebb68567694f38ccc7
2022-12-11 23:52:19 -08:00
Srinivas Pitla
3bae1f975c qcacmn: add MLME changes for ML reconfig
1) add op flags to indicate Link removal in progress
2) update API to include link removal check for ML peer create
3) add API to check whether all link peers to be deleted.

CRs-Fixed: 3341256
Change-Id: I8fabd19d3321315eb13d874a7e9b2e93392a7886
2022-12-07 16:19:21 -08:00
Sheenam Monga
6748c79f29 qcacmn: Update SRG and NON-SRG PD threshold
Currently, SRG PD threshold is updated with
addition of SR_PD_THRESHOLD_MIN which is already
added in srg threshold and threshold is left shifted
to 8 bits and type casted to unit8 which is causing
0 value and NON-SRG PD threshold is updated
to NON-SRG PD threshold advertised by AP
only in case threshold provided by user space
is not within the range of connected AP but
in some cases user may enable command without
threshold in such cases NON-SRG threshold
will be sent as 0.

Fix is to update SRG PD threshold directly to the
value without any addition and use QDF_SET_BIT
to add SRG and NON-SRG data in value which is
required by FW. Update NON-SRG PD threshold to
threshold advertised by AP in case userspace
doesn't provide any PD threshold.

Change-Id: I162722264a566e731352f11874f310714bffe4b2
CRs-Fixed: 3340905
2022-12-02 03:30:58 -08:00
Santosh Anbu
2bdc874104 qcacmn: Dispatch mlo_sync_complete in async context
In scenario where the last ML-AP vdev of the MLD receives start response,
then in the same context mlo_sync_complete is dispatched to all the
partner ML AP vdevs.

But for the partner vdevs, VDEV SM event should be dispatched in
non-sync mode with lock held. If not it can lead to event being
dispatched when the VDEV is in intermediate transition state.

For partner vdevs dispatch event as part of callback and based on return
value, dispatch event in sync context for self vdev.
This is to avoid usage of mlme vdev sm sync event dispatch outside VDEV SM

Change-Id: Ib9220c04377985b700138127695a02a5e29952c2
CRs-Fixed: 3317097
2022-11-30 08:23:30 -08:00
Sheenam Monga
6b53d5f9bb qcacmn: Handle Spatial Reuse on Roaming
Currently, if SR (Spatial Reuse) is supported by AP and then
STA roams to another AP then host needs to parse SR IE and
send events to userspace and commands to Fw based on below
scenarios:

i.) Roamed AP doesn't support SR: If roamed AP doesn't support
SR then async event with SR disable is required to be sent to
userspace.

ii.) Roamed AP supports SR: If roamed AP supports SR then below
validations are required.

a.) existing thresholds are in range of roamed AP: Send SR enable
command to FW with previous thresholds , as FW disables SR during
roaming.

b.) existing thresholds are not in range of roamed AP: then decision
will be based on whether threshold is provided during SR enable command
or not. If threshold is provided along with SR enable command then send
disable to userspace and in other case update thresholds as per roamed
AP , send async event to userspace with new configured values and send
enable command to fw with new thresholds.

Change-Id: I7eeebddbaa5075f0ba5d823f946b0cfa9d78c1c6
CRs-Fixed: 3331049
2022-11-29 05:29:10 -08:00
Santosh Anbu
53d2d231fc qcacmn: Add callback to notify if vdev is in mlo_sync_wait
Add vdev callback to notify once the vdev has entered into
MLO_SYNC_WAIT state.

Change-Id: I655bfa68d666807468cacf1a0a052ac6ddf0b8d6
CRs-Fixed: 3338519
2022-11-22 10:22:12 -08:00
Sheenam Monga
fee16fbe5a qcacmn: Handle SRG and NON-SRG pd threshold
Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.

Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold.

Change-Id: I414843dfd08068c81531d0e96d71fb68d8bfccd1
CRs-Fixed: 3328201
2022-11-10 09:33:46 -08:00
Santosh Anbu
f0811fb133 qcacmn: Handle CSA RESTART in MLO SYNC WAIT state
In case of MLD, if one of the partner vdev is not brought up and
CSA is triggered on self pdev with multiple vdevs configured then
all the vdevs of this pdev will move to restart state.
But the ML AP vdev in MLO_SYNC_WAIT will not handle CSA restart
leading to multivdev restart request timeout.

Add change to handle CSA_RESTART when the ML AP vdev is in MLO_SYNC_WAIT
state. Thereby all vdevs of this pdev will move to restart state.

Change-Id: I9b729e2f81d3c72ab5e321f3a396f157424c1663
CRs-Fixed: 3328931
2022-11-07 13:11:37 -08:00
Edayilliam Jayadev
d36d1c8c2a qcacmn: Log time stamp of multi vdev restart response
Log the time stamp corresponding to the start of processing
of multi vdev restart response event.

CRs-Fixed: 3308918
Change-Id: Ia00923b3a1033097429d3856047a4b639408aab8
2022-11-02 01:48:08 -07:00
Sheenam Monga
f390986aac qcacmn: Don't include policy manager headerfile
Logic of checking concurrent vdev while sending
pd threshold command is removed from mlme as it
is handled while concurrenct vdev up and down. So,
we don't need to include policy mgr headerfiles in
vdev_mlme file as no policy manager function is invoked
from mlme.

Change-Id: Iec307437d929df5dceb58bf931fd20fa29b55550
CRs-Fixed: 3313112
2022-10-17 06:49:10 -07:00
Sheenam Monga
7d1a7719b8 qcacmn: Add SRG pd offset in OBSS_PD_THRESHOLD
Currently, SRG pd offset is not sent to fw as part
of WMI_PDEV_PARAM_SET_CMD_OBSS_PD_THRESHOLD. Add
support to send SRG pd offset provided by userspace,
if provided offset is with in the range of min and max
SRG PD offset advertised by AP.

Change-Id: I8b70dedbabcc6c3a296b8d378b9317924dd5c581
CRs-Fixed: 3304747
2022-10-17 06:48:36 -07:00
Sheenam Monga
663294c0f3 qcacmn: Handle SR Enable vendor command
Handle SR enable vendor command as part of which
send PD threshold value provided by userspace
check the range of the provided threshold,
if threshold lies with in SRG or NON-SRG
range then provide the threshold sent by
userspace else send the MAX of SRG and NON-SRG
offset advertised by AP.

Change-Id: I428a933cc324446fdb4f18f535f1b78228d504fa
CRs-Fixed: 3304779
2022-10-17 06:48:29 -07:00
Rachit Kankane
58ccce90fb qcacmn: Send VDEV command to enabled SR prohibit
Send WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID to enable/disable
SR prohibit.

Change-Id: I4123af04ab2c4cf539a4ea7938d2a34e58a7ba45
CRs-Fixed: 3308068
2022-10-17 06:48:22 -07:00
Santosh Anbu
f724435caa qcacmn: Handle EV_DOWN to do peer cleanup in MLO_SYNC_WAIT
Initially there were no peers connected to AP VDEV when the VDEV was in
MLO_SYNC_WAIT state. So EV_DOWN would directly move to STOP state and
proceed with bringing down the vdev.

With CSA in MLO, there can peers connected to AP VDEV in MLO_SYNC_WAIT
which have to be deleted/cleaned up as part EV_DOWN event handling.

Added change to handle the DOWN event as done in START/UP_ACTIVE state.
By moving to SUSPEND, the clients are disconnected then moving to
STOP state.

Change-Id: Ida71914b9719395ab666805cc7072491ffa9baf1
CRs-Fixed: 3308207
2022-10-15 13:51:28 -07:00
Shashikala Prabhu
8ba6f73786 qcacmn: Add support to send RX filter WMI command to firmware
On the initiator side, Host needs to send
WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID to firmware before sending the
PASN Auth frame. Hence, move send_set_mac_addr_rx_filter_cmd_tlv() from
wmi_unified_p2p_tlv.c to wmi_unified_tlv.c file.

Change-Id: Ia5517dbdd5ec46f611537b12b7046e3a9d859082
CRs-Fixed: 3304909
2022-10-12 08:18:52 -07:00
Jeff Johnson
6d26ba1f0a qcacmn: umac: mlme: Fix misspellings
Fix misspellings in umac/mlme/...

Change-Id: I3d9a890676ab15e250e283727b23bea6d10320e1
CRs-Fixed: 3304698
2022-10-11 02:30:46 -07:00
Guru Pratap Sharma
2184df8f12 qcacmn: Exporting wlan_util_vdev_mlme_set_param
doing qdf_export_symbol for wlan_util_vdev_mlme_set_param
so it can be use in offload

Change-Id: I19c1be6ad8e6462aff29c284131fcc4765df7e25
CRs-Fixed: 3301968
2022-09-30 07:49:12 -07:00
Bing Sun
cb2c6707f6 qcacmn: Add API to update peer channel width and puncture parameter
Add API to send peer param WMI_PEER_CHWIDTH_PUNCTURE_20MHZ_BITMAP

Change-Id: Id05629b12059ff2258e196b3e9aa78f5fb52bda4
CRs-Fixed: 3269745
2022-09-23 20:20:55 -07:00
Divyajyothi Goparaju
3ec79c4856 qcacmn: Optimize vdev and pdev set param command frequency
Currently host sends many vdev or pdev set param commands
separately to firmware.

Combine all vdev or pdev set params together where ever
possible, send to WMI.Based on service capability
WMI_SERVICE_COMBINED_SET_PARAM_SUPPORT, host decides whether
to send all set params to firmware at once to reduce number of
transactions or need to follow legacy way i.e send params
separately one after the other.

Change-Id: I0a36dd66a7ccb27f2ecd437cf7b9d08667e27472
CRs-Fixed: 3151418
2022-08-23 15:17:07 -07:00
Basamma Yakkanahalli
8a1a784ac8 qcacmn: Add vdev feature flag for 20TU probe resp
6 GHz SAP needs to send either a probe response or fils
discovery at configured interval.  These in band
discovery frames can be disabled when lower band vdevs
are collocated with 6 GHz vdevs.

FILS disabled when lower band vdevs were up.
After vdev up send if WLAN_VDEV_FEXT_FILS_DISC_6G_SAP
is not set, host sending FILS command to enable 20TU.

Either driver or user not enabled 20TU probe response,
Host did not send the 20TU PRB RESP TMPL before sending
20TU PRB RESP enable command resulted Target assert.

Fixed this issue by adding 20TU vdev feature flag
and add appropriate check before sending command
to enable 20TU probe response.

Change-Id: Icb0ea5ef40b1fe2dd2dc6b97dc079ab7780e8cfc
CRs-Fixed: 3244471
2022-08-12 02:36:06 -07:00
Gururaj Pandurangi
a57b8d20e4 qcacmn: Add host fixes for 11be eMLSR mode
Add following fixes for STA to support and operate in
eMLSR mode
1) Update and send eMLSR cap flag to FW even in vdev start
request on both links.
2) Copy EML caps to wmi peer assoc mlo params to send it
to FW.

Change-Id: Ic17b9b82809659d7a4392c09eceecae7c53b2049
CRs-Fixed: 3237737
2022-07-18 23:36:38 -07:00
Jhalak Naik
56fa1788e4 qcacmn: Allow MLO peer create when ACS scan completes
Allow peer create and association only when full ACS
scan is complete for any link in an AP MLD.

Change-Id: I54d60f31c2521c87fb715b23fc3e0ea7e6100248
CRs-Fixed: 3232153
2022-07-07 12:40:26 -07:00
David Oladunjoye
46468556c8 qcacmn: umac: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: Idc7c80891aed551db5b6b87eba7b44b6c75ecad3
CRs-Fixed: 3217348
2022-07-07 00:51:58 -07:00
Pragaspathi Thilagaraj
f0cac26bbb qcacmn: Add support to delete all pasn peers
Add support to delete all pasn peers

Change-Id: I2c3d95cb8994693d8944d69624d2db0992f2f03d
CRs-Fixed: 3158523
2022-07-06 23:08:01 -07:00
Nandha Kishore Easwaran
422bbf322b qcacmn: Add tx peer filtering WMI command
Add WMI command for tx peer filtering. This command is needed to send
the mac address to FW for which tx monitor peer filtering is needed
to be done.

Change-Id: Ia141fba81ba240b7f4ca015eb9251e3485294bb6
CRs-Fixed: 3199493
2022-06-06 04:26:55 -07:00
Basamma Yakkanahalli
a684d24bfe qcacmn: Critical update signaling for beacon
Critical update is the explicit signaling for STA to notify
any change in BSS param.

There are two categories of critical update params.
Category 1 elements:  CSA, ECSA, Quiet, Quiet channel,
            Max Ch Switch Time, that are directly included in
            the per-STA profile of partner AP.
Category 2 elements: Except category 1 all operational IEs
           HT/VHT/HE/EHT and WMM/EDCA/MUEDCA params.

Defined below vdev flags to track change in Category 1 and
Category 2 CU params per ML VDEV
WLAN_VDEV_OP_CU_CAT1: Change in category 1 param
WLAN_VDEV_OP_CU_CAT2: Change in category 2 param

Host notify to FW by updating current link CU param in
wmi_bcn_tmpl_ml_info TLV of BCN TMPL CMD.
Set the corresponding cu_vdev_map category 1 / category 2
based on change in critical update params of ML VDEV.

Change-Id: I8fe71309ab92a459524bdc5739f8b4a4a545562e
CRs-Fixed: 3199331
2022-05-19 01:57:30 -07:00
Himanshu Batra
826f250128 qcacmn: Add support for mlo peer delete params
Add support for mlo peer delete params

Change-Id: Ic6ef0786f73a7bb16c8a5de035b13a0a56862125
CRs-Fixed: 3188357
2022-05-09 04:08:28 -07:00
Santosh Anbu
8cd30a16c8 qcacmn: Use "_" instead of "-" to diff b/w substate
"-" is used to differentiate between state and substate.
User "_" in substate string convention to avoid confusion between
state and substate strings.

Change-Id: I9efb8fd7edd60f5d28c8f774fb17bda49e64ca24
CRs-Fixed: 3188646
2022-05-09 01:40:42 -07:00
chunquan
f9fa73c67e qcacmn: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: Icb826041416528bfe3c6e06d88116d3e359eb969
CRs-Fixed: 3175490
2022-04-25 08:58:22 -07:00
Bing Sun
142907bc9e qcacmn: Change puncture_pattern to puncture_bitmap
Change puncture_pattern to puncture_bitmap in mlme_channel_param.
As FW required, Do the bit inversion of puncture bitmap for vdev
start params, then send it to FW.

Change-Id: Ia0d95c014cf2c1dabc6c18b6b329b7a372bcb8ee
CRs-Fixed: 3124841
2022-04-19 13:21:42 -07:00
Jayachandran Sreekumaran
9aefacd777 qcacmn: Dynamic ratemask config support
Add dynamic ratemask config support.

CRs-Fixed: 3112486
Change-Id: If419d1672b92085eb3f27b1d6505b1facfa9c09d
2022-03-01 05:39:25 -08:00
Srinivas Dasari
f8921a74b9 qcacmn: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer and wait for a
maximum of 6 seconds for the response. Host can stop the timer and
allow the commands to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is
   received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9
CRs-Fixed: 3106032
2022-02-18 23:21:21 -08:00
Bing Sun
bdbcc9ddf0 qcacmn: Handle CSA in MLO sta partner link before it is up
Before MLO sta partner link is up, FW can't indicate CSA event to host.
For this case, host need save csa parameters and process it when MLO
sta partner link is up.

Change-Id: Id1803f32787002e020c6899ec72e428feb765b7f
CRs-Fixed: 3082438
2022-02-11 02:57:46 -08:00
Bing Sun
7ee4663048 qcacmn: Save quiet status to sta context of MLO mgr
Save quiet status of indicated link to sta contect of MLO mgr. Any link
should check quiet status of MLO connection, then decide whether it
can trigger inactivity to FW or not.

Change-Id: Ic294bbe6452030b6cae495ca0dd3e504416e2c9e
CRs-Fixed: 3117825
2022-02-11 02:57:40 -08:00
Srinivas Dasari
c49f8063e7 qcacmn: Move MLO link vdev to UP state upon legacy to MLO roaming
Host driver creates two vdev as part of initial connection.
If the connected AP supports MLO, both(sta and link) of the vdevs
would be moved to UP state. Otherwise, link vdev would be in INIT
state and not moved to UP state.
Firmware sends roam sync indication to host when it roams to a
new AP. The event carries new AP info and the new AP could be
MLO AP. If the current AP is non-MLO and new(roamed) AP is MLO AP,
move the link vdev state to UP as it's in INIT state.

Change-Id: Ib5dd216074d68b0001755024153263ba9654edbe
CRs-Fixed: 3106059
2022-02-03 16:46:15 -08:00
Vivek
aa6ee918d6 qcacmn: Rename the MLO multicast macro
There is a difference in the macro used in the
MLO multicast macro used in control path and DP

Changing the macro to be the same as DP code.
Also fixed minor issue in the MLO mcast WMI
identified while testing with the macro enabled.

Change-Id: I0c24a69628336f74d627863dd4bd4c4bef685b6c
CRs-Fixed: 3102733
2022-02-02 12:06:40 -08:00
Vignesh Mohan
ab3624cc01 qcacmn: Remove legacy preCAC core APIs
Remove the legacy preCAC feature core APIs from the DFS component.

Change-Id: Id88f47931fceebe37f1d249502cd52c609cf4668
2022-01-27 08:54:22 -08:00
Bing Sun
385e355013 qcacmn: Add vdev mlme API to get/set dfs cac duration
For MCC, dfs cac duration is saved in vdev mlme object. Add API to
get/set dfs cac duration from/to vdev mlme object.

Change-Id: Iafcf382f884fe453bd4cc4c733f44f43ab00df69
CRs-Fixed: 3103634
2022-01-09 23:10:14 -08:00
Shwetha G K
7376863fc1 qcacmn: Flip puncture_pattern sent to target
Since the op_puncture_bitmap is updated to indicate 1 as
subchannel punctured & 0 as subchannel not punctured, flip
the puncture pattern sent to target as target still expects
the punctue pattern to be in old format where 0 represents
subchannel punctured and 1 represents subchannel not
punctured.

Change-Id: Iba1daf79df74b4b36c65d00d8959db8d88ad0d1b
2022-01-07 09:43:53 -08:00
Arun Kumar Khandavalli
411dc3777f qcacmn: Correct the marking
The commit eb3e1b4096 wrongly updated the marking,
correct the marking.

Change-Id: Icf912acdaf3e381b248bacf7327c342b73c45544
CRs-Fixed: 3104534
2022-01-06 23:22:58 -08:00