커밋 그래프

74 커밋

작성자 SHA1 메시지 날짜
Ruben Columbus
42d4fdeb3a qcacmn: change int size for ampdu
change size for ampdu from 8bit to 16bit to store new size for be.

Change-Id: I369f9f43c6cbad0f3af4cf787ef912e4318b55dc
CRs-Fixed: 3405031
2023-03-17 01:41:48 -07:00
Rachit Kankane
d458f39acf qcacmn: Add support for STA+GO DFS scc in VDEV MGR
Add variable and get / set APIs in VDEV mgr for STA + SAP / GO DFS SCC
scenario to track SAP / GO's channel switch before STA's channel switch

Change-Id: Ie13291602a5888942c71e3882c72796c7ea47378
CRs-Fixed: 3431360
2023-03-16 20:52:33 -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
Liangwei Dong
dec5632356 qcacmn: Add ML reconfig starting notify for link removal
Add mlme_vdev_reconfig_notify callback to notify the ML
reconfig link removal starting after receive the first
ML reconfig link removal IE.

Change-Id: I9ae37b7defc75c97e7bc39e07c9d154e1923aedd
CRs-Fixed: 3380159
2023-02-16 21:31:16 -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
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
Shashikala Prabhu
88785d0116 qcacmn: Rename broadcast T2LM data structure
- Replace T2LM array in wlan_t2lm_context structure with established_t2lm
  and upcoming_t2lm structures
- Mapping switch time is different for each AP vdevs. Hence, store the
  value in vdev_mlme_proto_ap structure.
- Fix a few issues seen in mapping switch time expiry and expected duration
  expiry.

Change-Id: Id69badc3f4bf5e5e741691348488369008ffc4e9
CRs-Fixed: 3369279
2023-01-14 01:12:56 -08:00
Himanshu Batra
5ea3ebf775 qcacmn: Change to handle ML reconfig link delete
Change to handle ML reconfig link delete

Change-Id: Iaf743a1a61534f2f4bb12be7fccad48e67b81c12
CRs-Fixed: 3346537
2022-12-27 11:08:54 -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
Vinod Kumar Pirla
f6a2b48634 qcacmn: Add per VDEV dot11 mode in VDEV MLME proto struct
To check the allowed dot11 mode of the VDEV, add new member to
struct vdev_mlme_proto hold this value.

Change-Id: I5bfbff0ab3056013a997744b8e9ce0b4d0a3d43b
CRs-Fixed: 3314403
2022-11-18 00:31:40 -08:00
Rachit Kankane
c7964d96d6 qcacmn: Add VDEV MLME support for SR Prohibit
Add VDEV MLME variables, function to support SR prohibit
Enable / Disable

Change-Id: I9b6128f179880dd407dc042f6bbbbde63135f4ed
CRs-Fixed: 3308159
2022-10-17 06:49:01 -07:00
Sheenam Monga
8b79320b92 qcacmn: Send BSS color bit map and partial bssid bitmap
Send BSS color and partial BSSID bitmap to fw when SR
enable is sent to FW, so that FW can classify the srg
and non-srg colors.

Change-Id: I44711fd7e7cc05867d042a04e783ae29b04b388a
CRs-Fixed: 3304796
2022-10-17 06:48:48 -07:00
Sheenam Monga
32aaed0ec6 qcacmn: Add support to set/get SRG param
Add support to set / get SRG min and max pd threshold
offset, SR disable / enable due to concurrency in vdev mlme.
This will be used to verify that PD threshold provided by user
is with in the AP range or not and it will be used to send the
data to userspace whenever queried.
Incase when single MAC concurrency is not supported with SR,
these VDEV mlme variables will also used to enable / disable
SR at dynamically.

Change-Id: I024b31950d9a5c0f5086972e91db440b23ed712f
CRs-Fixed: 3304789
2022-10-17 06:48:42 -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
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
Jayachandran Sreekumaran
ff2587248e qcacmn: Add vdev mlme api for spatial reuse
Add vdev mlme APIs for spatial reuse feature.

Change-Id: I34780d1fb33f8806c3cfbc763ac36c6092cce5e7
CRs-Fixed: 3213421
2022-07-07 21:43:32 -07:00
Venkateswara Swamy Bandaru
b9dedfd780 qcacmn: Add 11be Draft 2.0 support
Add EHT capability and EHT Operation changes to
support 11be Draft 2.0.

Change-Id: I3ab259be8a78c7504d22d3d1210f90f0dcb658d8
CRs-Fixed: 3220063
2022-06-27 12:17:27 -07:00
Venkateswara Swamy Bandaru
fb890d204b qcacmn: Add D1.5 missing mac caps in vdev
Add D1.5 missing mac caps in dev

Change-Id: I96ba90e0ae43559ec8a2690f6f4270335cf120ea
CRs-Fixed: 3219280
2022-06-22 01:01:11 -07:00
Venkateswara Swamy Bandaru
964ba5e0a6 qcacmn: Update EHT capabilities as per draft 1.4
Update EHT Capabilities as per 11be draft 1.4 specification.

Change-Id: Ibce3df4ec1aed07102f01d201409ef4e120fa94f
CRs-Fixed: 3176802
2022-04-29 09:01:23 -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
Shashikala Prabhu
3090d55051 qcacmn: Compute the remaining max channel switch time
As per the spec,
"A STA affiliated with a non-AP MLD, that operates on Link2, transmits a
(Re)Association Request frame to AP2 requesting Link1 as one of the links
for multi-link setup. Since the (Re)Association Response frame is
transmitted by AP2 after the last Beacon frame on the initial operating
class/channel on Link1 and before the first beacon on the initial
operating class/channel is transmitted, AP2 includes the Max Channel
Switch Time element in the per-STA profile corresponding to AP1 in the
(Re)Association Response frame it transmits. The value carried in Max
Channel Switch Time element provides an estimate of time until the first
TBTT on the new channel on Link1."

Hence, calculate the remaining max channel switch time using the below
steps.

When host receives the CSA complete event with the CSA count 1, calculate
the Max channel switch time for each vdev by adding the below values,
	a) Host triggers the channel switch when CSA complete event is
	   received with the CSA count 0. The time difference between
	   CSA count 1 and CSA count 0 is one beacon interval. Hence, add
	   one beacon interval.
	b) Add the channel change time. The total time required to receive
	   CSA event handler from FW with CSA count 0, plus, the time required
	   to process the CSA complete event, plus, the time required to send
	   multi-vdev restart request for all the vdevs in the new channel and
	   send updated beacon template (only for non-DFS channel) is
	   approximately 1 second (added a few milliseconds as delta and
	   considered 16 AP vaps here).
	c) Add DFS CAC duration of the new channel if the new channel is DFS.
	d) Add one beacon interval time (time required to send the beacon on
	   the new channel after VDEV up).
	e) Store the sum of the above time values in max_chan_switch_time of
	   the vdev_mlme object.
	f) Save the current time when host receives CSA complete event with CSA
	   count as 1 in the last_bcn_ts_ms of the vdev_mlme object.

Calculate the remaining channels switch time using the below formula.
- Remaining channel switch time is equal to the time when the last beacon
  sent on the CSA triggered channel plus max channel switch time minus
  current time.

Reset the max channel switch time and the last beacon sent time after
sending the VDEV UP command to FW.

Change-Id: I7c03bfae5e159419a6c9462591aeb2d6c5b4fb87
CRs-Fixed: 3076245
2022-01-03 09:04:19 -08:00
Bapiraju Alla
ca4b3fabf6 qcacmn: Add support to dynamic MAC address update
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address.

This is resulting in connection time increase when MAC address
randomization is enabled for every new connection.

To optimize the connection time, add support to update the MAC address
without bringing the interface to down state.

Change-Id: Ic3eff6a9571f885292021b2c178d26b0eace5042
CRs-Fixed: 3063475
2021-12-09 13:42:05 -08:00
Srinivas Pitla
cc7d98b794 qcacmn: MLO Peer changes
This change implements timer based msgq processing to defer
the context for MLO peer. It also fixes some of the issues in
MLO peer path, It adds utils APIs for MLO params

Change-Id: I94384c91adfb8785d833bff1ba5541dc98cfc383
CRs-Fixed: 3059837
2021-11-12 11:32:39 -08:00
Basamma Yakkanahalli
9ea8540ecd qcacmn: Add service_ready handling for multiple MBSSID groups
Add change to handle service_ready for,
1.  Ema multi-MBSSID group support
2.  Large beacon support greater than 1.5K

CRs-fixed: 3036717
Change-Id: I1c985faf429aacd78ae74fe0ffe18958fd6aa821
2021-09-21 09:30:28 -07:00
Sridhar Selvaraj
c9c8ccb8cb qcacmn: Adding multi vdev set param WMI API
Adding multi vdev set param WMI API support to send
vdev param update for multiple VAPs.

Change-Id: I6f331d4179afa2b331abef9b857365c60c0a64b3
2021-08-17 20:19:00 -07:00
Srinivas Pitla
7469335fa4 qcacmn: MLO peer implementation
This change adds MLO support to Peer.
It implements,
1) MLO peer list management
2) AID allocation
3) MLO Peer creation/deletion
4) Notifying partner links on peer creation/deletion/assoc

Change-Id: Ie1b675dccdf0de1d79f6f32d9255cf3cca53fdf2
CRs-Fixed: 2967057
2021-08-15 01:53:04 -07:00
Venkateswara Swamy Bandaru
ed74f5b410 qcacmn: EHT capability changes for D1.0
Add storage for EHT mac and phy capabilities as
per 11be D1.0 and update the EHT mac and phy capability
sizes.

Change-Id: I67224b35b701235374772e9975375e695f3ed959
CRs-Fixed: 3000166
2021-07-29 00:08:07 -07:00
Venkateswara Swamy Bandaru
1ac1976b57 qcacmn: Vdev start changes for supporting 11be
Add support for setting ehtop on vdev start wmi command.

Change-Id: Ia710cfe082dafd6d36e232253fa2f5ba6d7512d3
CRs-Fixed: 2857805
2021-05-04 10:58:39 -07:00
Santosh Anbu
6f28758c51 qcacmn: Handle down event in disconnection progress state
For STA mode with STA CAC enable in  auth/assoc state of assoc sm,
a northbound disconnect request would have to wait until CAC and
assoc is completed and connect request is removed from serialization
queue. During which OSIF timeout is seen as CAC can exceed the
serialization timeout of 60s.

Add change to handle EV_DOWN in disconnection progress state which
brings down the connection immediately on receiving a disconnect
request.

Change-Id: I301e49164c69df99e4617dd6fbc012e449963521
CRs-Fixed: 2882876
2021-02-21 23:48:57 -08:00
Srinivas Pitla
ef51b2343f qcacmn: Notify MLME about DFS CAC WAIT state
This change notifies MLME about DFS CAC WAIT state,
and removes code, which releases PDEV RESTART and
enqueues STOP-START command

Change-Id: Iaaf4b657c4f95330e3ac383adc74211b23006718
CRs-Fixed: 2862724
2021-01-29 02:12:23 -08:00
Lincoln Tran
323288debd qcacmn: Expose WMI command in tgt_if
Expose the API to send WMI_SET_TPC_POWER_CMDID within the target_if
module. Register the callback under tx_ops.

Change-Id: I1d075df717cff997e7ac85884fe587ed298cbb28
CRs-fixed: 2849695
2021-01-15 14:38:44 -08:00
Santosh Anbu
d809f21be6 qcacmn: Update kernel doc for mlme callback
Add doc for mlme_vdev_replace_csa_with_stop_start

Change-Id: Id87ce78e7b8773900959299ae5050ec12a274dc2
CRs-Fixed: 2840344
2020-12-18 01:50:09 -08:00
Sheenam Monga
0e8f8132c2 qcacmn: Handle CSA_SWITCH_COUNT_STATUS_EVENTID
Currently, host decrements beacon switch count and sends
channel switch frame every time until count becomes 0 this
may introduce sync issue between fw and host.

To avoid sync issue csa switch count is offloaded to fw. fw
will send CSA_SWITCH_COUNT_STATUS_EVENTID once beacon count
becomes 0 and  host will send vdev restart once it recives
CSA_SWITCH_COUNT_STATUS_EVENTID.

Change-Id: I60238e8e83b56ca4c6490f9516d673d14ef9c323
CRs-Fixed: 2831356
2020-12-08 09:21:37 -08:00
Santosh Anbu
abbeda0b03 qcacmn: Support stop-start cmd enqueue mlme ops
Add change to support mlme ops to enable enqueuing stop-start
cmd to serialization queue when CSA is triggered for a DFS channel.

Change-Id: I9f2dca3bc4ccfe40bd40c7e04b3ce035df56d19d
CRs-Fixed: 2825760
2020-11-25 10:50:40 -08:00
Jingxiang Ge
d03233cb19 qcacmn: Support link rate for mcs12/13
This is part of feature which enables link rate
he mcs12/13 for 4k QAM.

Change-Id: Ifade156afca0bf9498383455843b9a7020b53298
CRs-Fixed: 2803008
2020-10-26 16:55:27 -07:00
Jayachandran Sreekumaran
e238ccb793 qcacmn: Add config option to set rts/cts rate
Add config option to set rts/cts rate.

Change-Id: Ifaaca2f60c90508ebbc88e096c6c1ce0b80bb7de
CRs-Fixed: 2771302
2020-09-16 13:40:22 -07:00
Edayilliam Jayadev
37a135ca9e qcacmn: Add an API to check given vdev is a special vap
Add an API to check given vdev is a special vap.

CRS-Fixed: 2746740
Change-Id: Ic42ed105ef8051ae0bef6baba0920626bef854f0
2020-08-11 14:09:04 -07:00
Edayilliam Jayadev
c56100ad57 qcacmn: Indicate special vap type to FW
Special vap type is used by scan radio solutions.
Indicate special vap type to FW through
vdev create WMI command.

CRS-Fixed: 2746724
Change-Id: Ie5e4b059306c5c80d93dba0ebb4810b3e570878f
2020-08-11 14:09:00 -07:00
gaurank kathpalia
9375922ab2 qcacmn: Add basic infra for connection manager
Add basic infra for connection mgr state machine
to handle connect and disconnect requests.

Change-Id: I671f62f66ab511912886c1da84c3a69be0032872
CRs-Fixed: 2707901
2020-06-26 22:48:35 -07:00
Gyanranjan Hazarika
333ee0fc2b qcacmn: Add UMAC changes for EMA AP
Enhanced Multi-BSSID Advertisement is an enhancement to the
existing Multi-BSSID feature in terms of advertising
non-transmitted bssid profile using the transmitted bssid
beacon. Mandatory inclusion of RNR IE in lower-band AP
beacon to support Out-of-Band Advertisement of colocated
6Ghz AP may impose limitation in the beacon size. EMA AP
provides a standardized way of overcoming such a limitation

Relevant UMAC changes are:
1. Add fw_caps_ext support bit WLAN_SOC_CEXT_EMA_AP
2. Add vdev_control_flag WLAN_VDEV_MLME_FLAGS_EMA_MODE
3. Support of 32-bit ema_params in beacon_tmpl_params.
The 4 octets in this param field will respectively
indicate ema_beacon_profile_periodicity, ema_beacon_tmpl_idx,
ema_first_tmpl and ema_last_tmpl in the order of low to high

CRs-fixed: 2677701
Change-Id: I3d96fd3becd7609abb2529f977362bfa5401d600
2020-05-06 03:10:19 -07:00
Debasis Das
707b122764 qcacmn: Optimize vdev host-fw handshake sequence
Send beacon_tx_rate_code in the vdev_start command.

Change-Id: I53ebdbc8dc4be4dad42eaad9188a231c5d9fb618
2020-02-01 03:15:35 -08:00
Arun Kumar Khandavalli
536903de91 qcacmn: Dont use vdev object in vdev delete response
As part of the new changes, vdev mlme object will be freed before
the vdev delete response is received from the firmware. Hence do
not use the vdev_mlme object in the vdev delete response handler.

Change-Id: I6b2db32ac0ef415bf1b879b2cd222de67d9a69b7
CRs-Fixed: 2563404
2019-12-05 10:47:43 +05:30
Arun Kumar Khandavalli
eaac8c195b qcacmn: Move wakelock to psoc level
Wakelock is system level lock not required to be taken
for every vdev, Hence move the wakelock to the psoc
hierarchy.

Change-Id: I525baf5f4b5dcadb493d84900dbd0a2e7c6407f6
CRs-Fixed: 2563406
2019-12-05 10:46:33 +05:30
Arun Kumar Khandavalli
614d1e4476 qcacmn: create the vdev response timers in psoc_mlme
Move the vdev response timer from the vdev object manager structure
to the psoc mlme structure.

Change-Id: Ieb87ac6549aa23e0beb61441fea459d3db78c2f3
CRs-Fixed: 2563410
2019-12-05 10:45:08 +05:30
Arun Kumar Khandavalli
f1c4834611 qcacmn: Define unknown vdev mlme type subtype
If any of the driver unknown mode is passed to the utility api's
return the unknown vdev mlme type/subtype.

Change-Id: I8be1c9f31fb3a8a355185e14ef6869da84cf863f
CRs-Fixed: 2564964
2019-11-25 13:44:10 -08:00
Himanshu Batra
c3517bbdab qcacmn: Move mlme private APIs to mlme core
Move APIs private to mlme component to mlme core directories

Change-Id: If682933d542cb583feea680656b87524dd28ed1a
CRs-Fixed: 2549547
2019-11-11 13:42:01 -08:00
Aditya Sathish
fbf9ece75d qcacmn: Rename TX_DECAP_TYPE to TX_ENCAP_TYPE
The macros attributing the Tx encap type have been erroneously
named as TX decap.

Rename all occurences of TX_DECAP_* to TX_ENCAP_*. Also add support
to send WMI vdev params for tx_encap and rx_decap values.

CRs-Fixed: 2533710
Change-Id: Id6ef2955868010b264e76d2a416d22d30d2acedc
2019-10-10 22:59:18 -07:00
Jianmin Zhu
1af0d55f56 qcacmn: Add items for vdev start
Add hidden ssid flag and cac duration in vdev mlme obj, populate
vdev start param.
Register wmi ops extract_vdev_start_resp for target_if converge.

Change-Id: Iaebd49049fb791aaee39ef67611f96eed37d3605
CRs-Fixed: 2506245
2019-08-15 12:28:47 -07:00
Abhishek Ambure
c76db37021 qcacmn: Clean up CMN_VDEV_MGR_TGT_IF_ENABLE
WIN and MCL both uses common targer_if code for vdev manager.
So legacy code and "CMN_VDEV_MGR_TGT_IF_ENABLE" macro is removed.

Change-Id: I2984ae44f3a7cfa01b8f1455353d09deb4db5759
CRs-Fixed: 2503804
2019-08-11 10:38:20 -07:00