Add new debug id "WLAN_COEX_ID". This will help to count debug
reference for COEX.
Change-Id: Id2b0500c98fcdb08f23a54c9bd20a401e0280938
CRs-Fixed: 3622040
Send standby pdev/radio which is expected to be up while
in powersave mode to FW, to switch master control for
timers.
Change-Id: I4b48d93859359d1b6aee0b9993fd1bd3bff863f2
CRs-Fixed: 3621705
Currently kernel-doc script doesn't support qdf_bitmap
struct member. So, all structure which has qdf_bitmap
member are excluded.
Support for qdf_bitmap has been added to kernel-doc script.
So, include all structures which have qdf_bitmap.
Change-Id: I95095d458152a0285a24fba398b46effd94525db
CRs-Fixed: 3598814
Currently we are defining tdls vdev check only
for 11BE MLO defined macro, However there is a
need to return false if 11BE MLO is not defined.
This change is to check if vdev is tdls.
Change-Id: Ic44c66fcc585f3d091d21d40c106913db29b0a1e
CRs-Fixed: 3586960
Includes changes:
1. Save frequency values from EXT and EXT2 events to psoc object
- wireless_modes, low/high 2 GHz chan and low/high 5 GHz chan from EXT event
- wireless_modes_ext, similar frequency range fields with _ext from EXT2
event. Frequency range fields with _ext are non-zero when a radio supports
overlapping frequency. Eg.Radio that supports 5 GHz full and 5 GHz high band will
have low/high 5 GHz fields populated with primary band values in EXT event and
low/high 5 GHz fields are populated in EXT2 event with secondary band
values. These values are stored in tgt info for later use.
2. Modify regulatory APIs to get and set the wireless modes in reg
component
3. Retrieve frequency fields from EXT2 event
Change-Id: I49ebcc7ee7b26bd115f37abc8cb5b6fa5a415eda
CRs-Fixed: 3576551
Once the FW sends the link switch request to host handle
the request from scheduler thread and send confirmation
back on completion of link switch process with status of
link switch (success/failure).
Add new serialization command type for link switch.
Introduce flags to get the current state of link switch
request, set the state to idle when no link switch in
progress or once the current link switch is completed.
Access to state is protected with MLO dev context lock.
Implement various helper API to:
a) Transition link switch to next state.
b) Get current state of link switch.
c) To check whether any link switch is in progress.
c) To check whether link switch is happening
on assoc VDEV or not.
Introduce a new VDEV flag to suggest the VDEV is in
link switch process and also implement helper APIs to
set/get/clear this VDEV flag.
a) The flag is set at start of link switch, once
the FW request params are validated and before
proceeding for link switch disconnect on VDEV.
b) Clear the flag once the Link switch confirmation
is sent to FW.
Validate the link switch request params:
a) IEEE link ID's received.
b) Check if new connection is part of MLO connection.
c) Check if VDEV is MLO STA VDEV or not.
d) Is VDEV in connected state or not, that means
VDEV is not in transitioning state due to disconnect.
e) Check if any link switch in progress on this MLD
f) Current link ID of VDEV equals the FW params.
If validation is successful, serialize the link switch
command and in the serialization activation start the
actual link switch process.
Change-Id: Ie582650541054c8cf39aaa8316e86a7a40256a15
CRs-Fixed: 3556422
Add APIs to populate, destroy and get bridge vdev count.
Also send bridge VDEV details in partner link info via
VDEV START command to target.
Change-Id: Iea155b09051b6724d07cf2b6052a07c1d3beb7e8
CRs-Fixed: 3567098
1. APIs to check topology to see if the bridge vap/peer will be used.
2. API to check the max number of links supported.
Also check if we can have the primary and assoc links to be different
for WDS STATION. Based on the topology allow/block
connection to a particular AP.
CRs-Fixed: 3562149
Change-Id: Icf3b32036199f39b0d567ac88795dc07760ac1a5
Invoke the object manager destroy handlers in reverse order of creation,
MLME creates the vdev 1st and all the handlers are invoked, during
destroy as well the vdev is deleted 1st and destroy handlers are invoked
later.
Any handlers dependent on the vdev object will have issue, so invoke
the handlers in the reverse order of creation and delete the vdev
last.
Change-Id: Ib15507464f78a436c96a0910e2af0307a3d711fb
CRs-Fixed: 3565425
Define new subtype for bridge VDEV.
Add a flag in vdev objmgr to indicate bridge VDEV.
Change-Id: Icb7e2cc6673254183a7247f42fadd9bbb2ec4b00
CRs-Fixed: 3554509
Add user_disable_eht flag in mlme_vdev structure and APIs to
set/get the config from user.
Change-Id: I77c1357919cd2245551b6dbdd120355bf5c1b3ff
CRs-Fixed: 3554951
Add force flag support for PTQM migration.
This flag will be used to allow migration to vdevs which are not
allowed to be selected as primary by using the ini config.
This will be helpful in scenarios where if the current primary link is
going down and peer ptqm needs to be migrated but the partner links of
that mld are the user disabled links for ptqm.
Also add skip_pumac_cnt to mark a link to be skipped from being selected
as new primary
Change-Id: Ia8c7881f37d32211a732c5c7394c4a608099b62a
CRs-Fixed: 3548552
Add epcs_enable flag in mlme_vdev structure and APIs to
set/get the config from user.
Change-Id: I490ebf1b41c095478160109339355df421ebe42c
CRs-Fixed: 3522731
Currently, MLO vdev flags(WLAN_VDEV_FEXT2_MLO and
WLAN_VDEV_FEXT2_MLO_STA_LINK) are set/get from both initial
connection and roaming. As there are no logs in the set/clear
APIs, it's difficult to track where it's set/cleared for debugging.
Add logs in set/clear APIs to indicate on which vdev the flags
are set/cleared.
Change-Id: Idf61b7172b4ddb5f809899866aba7316b62662f0
CRs-Fixed: 3476756
Set flags in WMI peer assoc to inform FW if node is
1. QCN Supported
2. Operating in Multi-AP mode
If node is 3rd party and operating in Multi-AP mode,
FW and uCode will change crypto register for each Rx/Tx from/to such nodes
Change-Id: If4cf9ec39fa11a90733df45fffa473a672643f8e
CRs-Fixed: 3488865
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.
WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not
2. Register osif callback to send scan done indication to upper
layer
3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz
Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
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
Currently, MLO vdev flags(WLAN_VDEV_FEXT2_MLO and
WLAN_VDEV_FEXT2_MLO_STA_LINK) are set/get from both initial
connection and roaming. As there are no logs in the set/clear
APIs, it's difficult to track where it's set/cleared for debugging.
Add logs in set/clear APIs to indicate on which vdev the flags
are set/cleared.
Change-Id: I7bd2dcd10a58ec3c09c7fd7a52169a3fea236223
CRs-Fixed: 3467014
Allow user configuration options to skip a radio as
primary-umac in multi-link operation.
Change-Id: Ic7c8dd5c1cf7855f4fb762daf9ace7cb82e02cac
CRs-Fixed: 3437922
Driver extracts the vdev from peer, self mac address and
vdev_id. But in some APIs, there can be below scenarios
For example:
1. peer is not available for that vdev( roam vdev),
2. API does not have vdev_id,
3. mac address is not known or incorrect,
4. there is no session available.
While roaming, there can be scenario where driver need to
fetch the vdev before peer creation and session is not
available.
For this, driver introduces new API to fetch roam vdev from
pdev object.
Change-Id: I4a2521773b893a8dc0553335bcadac5a84fbc300
CRs-Fixed: 3441493
The existing code does not support capability to be set
if trigger based ranging rsta wmi service bit is enabled.
This require addition of ext feature flag for trigger based
ranging rsta support.
Add 11az TB rsta ext feature flag and set the same as per
firmware capability for 11az feature.
Change-Id: I12512175d0b33daa906586c7f96f0c8c3f7400a3
CRs-Fixed: 3437057
Add a flag WLAN_VDEV_FEXT2_MLO_STA_TDLS to mark whether
the vdev is used for TDLS or not.
It can use these API:
wlan_vdev_mlme_feat_ext2_cap_set(vdev, WLAN_VDEV_FEXT2_MLO_STA_TDLS);
wlan_vdev_mlme_feat_ext2_cap_clear(vdev, WLAN_VDEV_FEXT2_MLO_STA_TDLS);
tdls_vdev = mlo_get_tdls_link_vdev().
Change-Id: I89c50ad5321013993e798ebb5549c5015ac18969
CRs-Fixed: 3435963
Read the new service capability:
WMI_SERVICE_TDLS_CONCURRENCY_SUPPORT for TDLS concurrencies
support. With this service capability below concurrencies are
supported:
STA+TDLS+P2P
STA+TDLS+P2P+P2P
STA+TDLS+P2P+SAP
Host driver will check this capability to disable TDLS
off channel when concurrent interface comes up. If this
service cap is not advertised by the firmware then
existing TDLS connection will be teared down when concurrent
interface is started.
Change-Id: I744775080a22ca8f3bc88894c349916eea27fd3a
CRs-Fixed: 3414266
MLO dev context is accessed without NULL check.
Add NULL check before accessing the MLO dev context.
Change-Id: I51d672924dbbf70cbf4b7e4951a3a45d4fd551ec
CRs-Fixed: 3409901
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
Free peer object directly if current running context is not in atomic to
make the code much more reasonable and logical.
1. If current running context is not in atomic state, it's safe to call
peer free object directly.
2. If current running context is in atomic state, then delay this free
in a work item to avoid scheduling issue.
Change-Id: I9acf97354619ed2b6c09b3f619bd10dc930d8afb
CRs-Fixed: 3412111
Extract the scan blanking feature support from WMI service ready
event and store it in target if data structures. Add API to check
whether scan blanking feature is supported for a given pdev.
Change-Id: I65fefbb879b8433a68338bfcd3e4f729eff3ddd8
CRs-Fixed: 3413922
Add changes to read R-TWT svc bit from FW and update capabilities on
host accordingly. Update add twt session command to include new
params required for R-TWT.
Change-Id: I91cea65ef737b6fa445cb3680dac15e0f1063446
CRs-Fixed: 3399205
Define a new per vdev capability flag to exclude the sta
profile from MLO IE in unicast probe request frames.
Change-Id: I4486e4efbbb85dfa1e7b9d47326c60c79c974829
CRs-Fixed: 3392086
The kernel-doc script identified some kernel-doc issues in the
umac/cmn_services/obj_mgr folder, so fix them.
Change-Id: I0d02b5e174a47b77f9da3304cfc03ed2602b45c7
CRs-Fixed: 3383933
Use mac_addr pointer as constant in wlan_hdd_ml_sap_get_peer,
hdd_set_mld_address and use the same for consecutive APIs.
Change-Id: I19e07512bf09b01f26ef8b2bc3876f3d3e85ba2f
CRs-Fixed: 3374923
Use mac_addr pointer as constant in wlan_hdd_ml_sap_get_peer,
hdd_set_mld_address and use the same for consecutive APIs.
Change-Id: I3ab7b0f3c03e9175c62179029efb53fb9fe75277
CRs-Fixed: 3342115
Update MVR handlers and init to setup/use MVR bitmap
depending on bitmap MVR support by FW.
Change-Id: I3a73ddefeae85d8f6b4fc31f9c1f1164fa5346c7
CRs-Fixed: 3355001
As per current design, dp_mlo_ctxt is allocated during the
initialization of module while the MLO grouping information is
understood after WMI_READY_EVENT. The same is deinitialized while
unregistering the module.
To ensure dp_mlo_ctxt exists per MLO group, bring the dp_handle
a layer below in the hierarchy into the mlo_setup_info and allocate
dp_mlo_ctxt after the WMI_READY_EVENT is received from all the SOCs
for a given group. Deallocate it after the WMI_MLO_TEARDOWN_COMPLETE
event is received.
CRs-Fixed: 3355405
Change-Id: Ic3102a34a8d44877827e2ff1f7da2e414b2b463f