The BW and operating channel will be present in each link's session.
Refactor the below two APIs to take link info as function argument
instead of adapter to get each link's data.
The following APIs are renameed and existing callers moved to deflink.
1) hdd_get_adapter_width() => hdd_get_link_info_width()
2) hdd_get_adapter_home_channel() => hdd_get_link_info_home_channel()
Change-Id: Iccf3ea693b7022fdb2e96b60f0c5b80abe846044
CRs-Fixed: 3462164
To get the connection state of the each VDEV change
function argument of hdd_is_vdev_in_conn_state() API
to link info pointer to corresponding VDEV instead of
adapter. Existing callers moved to deflink.
Change-Id: Icc49c274ce25efc081d5e89a5c7180ff38438c63
CRs-Fixed: 3461406
As VDEV is per link specific change the function argument
to link info instead of adapter. The existing callers
moved to deflink.
Change-Id: I795566b6586f4441eb33da293ed5ac0527c2894b
CRs-Fixed: 3461371
To save/retrieve link layer stats on per link, move
the ll_iface_stats member from adapter to link info.
Move the references of this field to deflink.
Change-Id: I386f11ea6aeb0e0058f3f759060582d04acd39e2
CRs-Fixed: 3452552
Introduce DP memory profile selection based on H.W
capabilities supported. Based on H.W capabilities
decide kind of memory profile required for DP operations
and select that profile for resource allocation, so that
resource/memory allocation will be done effectively.
Change-Id: Iffbea0cfd9e6b79f0c1ad9526217ba6922f6cdb6
CRs-Fixed: 3504128
Currently Kconfig is missing configs, fix this by adding
missing config values.
Change-Id: I72e3ababd35281262302a3eaa91ec573fb613984
CRs-Fixed: 3495369
Host allows scan for any channels allowed in the 2 GHz band or
channels allowed in the 5 GHz band or channels allowed in the 6 GHz
band. So the total number of frequencies allowed for the scan is
MAX_CHANNEL (NUM_CHANNELS - 1) defined in enum channel_enum.
Currently on receiving WMI_CHAN_INFO_EVENTID per channel, host
updates the channel info buffer for SIR_MAX_NUM_CHANNELS(64) only.
This result host fails to send channel info for frequencies present
at index MAX_CHANNEL - SIR_MAX_NUM_CHANNELS.
The fix is to allow the host to fill the channel info buffer till
the max allowed (MAX_CHANNEL) channel index.
Change-Id: Ic366d9fc832f06b096b934815464689d6279ec43
CRs-Fixed: 3502553
Process GET_CU_FOR_EACH_SUB_BW request from the upper
layer in case DUT is connected with a channel width
of 40 MHz and the connected frequency is in the 2 GHz
band.
Change-Id: Idc748f83af72baed946340c61d5c6a0bba1baf00
CRs-Fixed: 3506871
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.
Change-Id: Iccc13898f76648bfa2167669c966538d95df5fe3
CRs-Fixed: 3482159
Send configured value of MLO TP preference percentage
via ini mlo_tp_preference_percentage to FW, so that FW
can consider provided value during score calculation
while roaming.
Change-Id: Iac8c82b525f9b37ff6d7eb86df369bd1efb375e3
CRs-Fixed: 3514938
Add support to boost or reduce MLO scoring with
mlo_tp_preference_percentage ini.
Change-Id: I0a1280fe259d9e65e5f0f991d456f650b9d1be69
CRs-Fixed: 3456412
Firmware sends NDP_HOST_UPDATE event as an immediate response to this
request and starts cleaning peers one by one. Once an NDP session is
ended (indicating NDP_END to peer + internal cleanup), firmware sends
NDP_END_IND to host.
Currently, host driver stops the wait timer and change state from NDP
end to disconnected upon receiving the NDP_HOST_UPDATE. But firmware
might still be in the process of NDP cleanup. As the NDP_END_ALL
context is unblocked, driver may send NAN disable request to firmware.
This may cause inconsistency in firmware state machine and firmware may
drop the ongoing NDP_END request. So, peer doesn't get the NDP_END frame
in such cases.
Unblock the NDP_END_ALL-wait call only upon last NDP_END indication to
avoid such issues. This change moves the major functionality of
NDP_HOST_UPDATE processing to last NDP_END indication. Cleanup/remove
the processing of NDP_HOST_UPDATE as it's not needed anymore.
Change-Id: I19d3e40700c1c0501b9c809820262472bf9bdba4
CRs-Fixed: 3512847
The VENDOR_ACS_RESPONSE_PENDING event flag is used
for tracking ACS request for SAP/P2P-GO modes, hence
move this flag to per link.
The references of this event flag are moved to deflink.
Change-Id: I54a3e9f592563cfe40ff68d5527d974eb84fe692
CRs-Fixed: 3452545
This event flag is used in SAP/P2P-GO modes which
will be per link.
The references of this event flag are moved to deflink.
Change-Id: Ia3dd0970ca82e6d4988b0f19dfcef9e100c064a2
CRs-Fixed: 3452540
The flag determines the state of softap bss,
hence move it to per link flags.
The references of this event are moved to deflink.
Change-Id: I1838cdf6067eb93421b424c4965258a9a497923d
CRs-Fixed: 3452220
To keep track of events on each links, some of the flags
which are in adapter level will be moved to per link.
Move SME_SESSION_OPENED flag to the new link info enum.
Existing callers will be moved to deflink pointer.
Change-Id: I13d901a48b4a92c5a28d9edd21ca25e93a869706
CRs-Fixed: 3452196
The action frames can per sent on per link, hence move
to link info in adapter.
Existing callers moved to deflink pointer.
Change-Id: Ia8d8284017cd8d5564ae9ea4f1f8d67299e9cc70
CRs-Fixed: 3452185
The variable is used in SAP/P2P-GO modes, so move this variable
to ap_ctx.
Existing callers are moved to deflink pointer.
Change-Id: I9acc20d3fb397c241adaf85daecff099cc236897
CRs-Fixed: 3452166
The variable is used for notifying ACS completed event for
SAP/P2P-GO modes, so move this variable to link info.
Existing callers moved to deflink pointer.
Change-Id: I93463536469d67bc8dc3bcd27879cccab0dba025
CRs-Fixed: 3452137
Add dot11f support to handle EPCS action frames, such as
request, response, and teardown action frames.
CRs-Fixed: 3511067
Change-Id: I1896d7fcf89a8dd9b60a89f2902567bc60667972
Currently, in cm_vdev_join_req, driver does not update the assoc_link_id
when connection is SLO.
Fix is, driver should update the assoc_link_id in case of SLO.
Change-Id: I50e4834b77e87df34327f6825778fc460641afa9
CRs-Fixed: 3509965
In ML-STA + STA concurrency currently, when legacy STA is being
brought up the RSO of existing ML-STA is stopped and not re-enabled
later. Therefore, ML-STA cannot roam after concurrent STA bringup.
Modify the RSO enable logic for ML-STA as follows:
1. All the links should be up.
2. The vdev should be an assoc vdev
3. The if_mgr_enable_roaming should happen on an interface other
than ML-STA links.
The condition-3 prevents enabling RSO for the assoc vdevs when the
link vdev connect complete event is processed.
Change-Id: If86a81b99d18eaa99a25e419c85197d9d0d826ac
CRs-Fixed: 3493333
initially, if hotspot starts in world mode, it can come up in
2.4 GHz only. Later, the correct regulatory domain gets configured
in the host driver.
Even if this new reg domain supports higher bands and better channels,
the SAP will not be able to move since the ACS list configured
initially is for world mode(only 2.4 GHz channels).
To fix this issue AP_ALLOWED_FREQ_LIST will be sent by upper layer
based on band selected by user and host can select higher band on
country change if present in allowed freq list. AP_ALLOWED_FREQ_LIST
will be sent only if host advertises AP_ALLOWED_FREQ_LIST flag.
so, advertise AP_ALLOWED_FREQ_LIST flag to get frequency list via
set wifi command.
Change-Id: I3431b73f23d55113f95ff5fdf92de9865878d182
CRs-Fixed: 3455281
To save stats for each link separately, move the
hdd_stats member from adapter to per link data
structure.
Existing user moved to deflink pointer.
Change-Id: I35c6e4a0e95ccf77d28a8768444d702a56f23383
CRs-Fixed: 3452115
To obtain linkspeed on per link basis, move
estimated_linkspeed member from adapter to link info.
Existing callers moved to deflink.
Change-Id: Ifeba9890c164176b54ebe669001d1f04064bf511
CRs-Fixed: 3452100
Earlier the legacy osif pointer will be adapter which will
now be same for all the VDEVs in single netdev multi vdev model.
To get the per link data for each VDEV, assign link info
pointer in the legacy osif pointer and rename as
wlan_hdd_get_link_info_from_objmgr().
Callers can get adapter from link info pointer.
Change-Id: I9843d8c33ac1d9fef833a94f15ec3c64742bbd29
CRs-Fixed: 3452024
Channel switch from wpa_cli DRIVER command doesn't do
strict concurrency check. Therefore, the DUT can end
up in STA+SAP MCC mode.
Prevent channel switch to invalid channels or invalid
hardware modes by doing strict concurrency checks.
Change-Id: I37e31cdac5441b72619071e3eacefffdf3ae2fba
CRs-Fixed: 3490489
Add function wlan_mlme_convert_he_op_bw_to_phy_ch_width, check 80+80 or
160 with ccfs0 and ccfs1.
Add 20M/40M check for vht bw with prim chan id and ccfs0.
Change-Id: I01a407358d7c310f92c8a69004ebb002b615438a
CRs-Fixed: 3511291
Android builds are transitioning to using Bazel for builds, and there
is a Driver Development Kit (DDK) which out-of-tree drivers must use
in this new scheme. Introduce the infrastructure to describe the wlan
qcacld-3.0 driver module using the DDK.
Change-Id: Ice293fe10f37a0d083187edd49f352e3a4dca18a
CRs-Fixed: 3494233
Currently the configs in kiwi_v2_defconfig are not sorted
alphabetically. Fix this by creating a separate defconfig
which is sorted.
Change-Id: Ic0731c450a6e2a3ee9d71e08780381e72afda1c9
CRs-Fixed: 3495343