Add regulatory support for giving preference to fill EIRP power
in the WMI_VDEV_SET_TPC_CMD_ID.
Change-Id: Iab28306b15d74109519629cb0b815cd110254d56
CRs-Fixed: 3307372
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
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
While generating the scan entry for TX VAP, the decision to
strip MBSSID IE from the TX VAP beacon, will be taken if the
platform supports 11BE.
CRs-Fixed: 3300515
Change-Id: Ie45da7a02a2811172b2403d5fd1bc4b9271432d5
- target_if layer was calling UMAC layer wifi_pos_get_rx_ops(). This was
leading to compilation errror in WIN platform. Hence, added target_if
layer API target_if_wifi_pos_get_rx_ops().
- WMI_RX_SERIALIZER_CTX is used to register PASN peer create and delete.
WIN platform does not use the above context. Hence, use WMI_RX_UMAC_CTX
for WIN and WMI_RX_SERIALIZER_CTX for MCC.
- WIFI_POS rx_ops callbacks are registered in target_if layer. But, these
callbacks are called by UMAC component. Hence, move this registration
function to UMAC layer.
- Add an API to convert host PASN peer type value to target defined value.
Change-Id: I2a262121f959c2343e88158b94468d104b9e164c
CRs-Fixed: 3289852
Add the global dispatcher function pointers to enable/disable
the DFS puncturing feature.
Add a new dfs member "dfs_use_puncture" to remember if the
feature is enabled or disabled.
CRs-Fixed: 3272765
Change-Id: I1f45a9f44ede7f8606f770365220c5f7508847cf
Set dfs object parameter if host and fw supports 320 MHz bandwidth.
i.e. dfs->dfs_is_bangradar_320_enabled. Set to true if the host and
firmware support the bandwidth is 320 MHz. If there is no support, set
false.
Change-Id: I210823c448450f89dc65937201b4839168369d18
CRs-Fixed: 3270525
Add rxops reg_display_super_chan_list, its core and dispatcher functions to
display super channel list for all modes.
Change-Id: I2b094d407d318ad84ac79ea3a4bc1127606c0fa2
CRs-Fixed: 3212642
Add infra to support Dedicated Bluetooth Antenna Mode (DBAM)
feature. It is used to switch between dedicated antenna for
BT and shared antenna for WLAN and BT.
Change-Id: I21688093674ef9b63ee811df9168a31bd71c56b5
CRs-Fixed: 3239895
Add support for initiate pasn authentication using the vendor
command: QCA_NL80211_VENDOR_SUBCMD_PASN
Fill the below required attributes to initiate PASN:
QCA_WLAN_VENDOR_ATTR_PASN_ACTION
QCA_WLAN_VENDOR_ATTR_PASN_PEERS
QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR
Change-Id: If33f54eafe5986b4571cc21a80fb0b61578db116
CRs-Fixed: 3232261
When BW Expansion feature is enabled using UCI or cfg80211tool
command, the utility function to set/get the BW Expand feature
is introduced inside DFS module.
A new dfs member dfs_use_bw_expand is used to store the status
of BW Expansion feature.
CRs-Fixed: 3229250
Change-Id: If01e080f8e60e883fbeb2d7dfd599b91584bc293
In function reg_freq_width_to_chan_op_class_auto, global_tbl_lookup is set
to false for 2.4 GHz and 5 GHz without considering the global opclass set
by user command. This results in wrong opclass information in eCSA.
Add an api to check if global opclass is set and update global_tbl_lookup
accordingly in reg_freq_width_to_chan_op_class_auto.
Change-Id: I069131d6068fb546f2b59f1e752a3c8c50f15759
CRs-Fixed: 3168817
Fix compilation issue for adding AFC regulatory target
interface to support AFC device deployment
Change-Id: Ie9447873442e94614f44eb7468b76143b0f2dda3
CRs-Fixed: 3195809
Add AFC regulatory target interface to support AFC device
deployment indoor or outdoor type in init sequence between
FW and host
Change-Id: I3caed77e943fdcaa947cb7e514c88b68604f55a3
CRs-Fixed: 3190262
Add support to manage Wifi pos vdev private object. Add new peer
type in enum wlan_peer_type. Add rx_ops and register the rx_ops
for PASN peer create/peer delete request.
Register 11az PASN related WMI events in target if.
Change-Id: I2a5e4d8d7c9b9562d9ab02b287957e93ee6f4758
CRs-Fixed: 3154521
Validate the MLO HW link related info obtained from the global shared
memory arena of management Rx reorder feature.
CRs-Fixed: 3111549
Change-Id: I6fd7812dc49bfa8428b2ffbf66ae978592734bc0
Move the global shmem common APIs (init & deinit) from REO
component to MLO component.
CRs-Fixed: 3122203
Change-Id: Ib52490c0e9662d6297a52af365e1d87b60e0739d
Export objmgr APIs to be used by SON module to register
and unregister create/destroy handler.
Also add lmac_if API to register lmac_if ops from SON
module.
Change-Id: Id4c19807792b9f7b46387ae907f853151e4e28c6
CRs-Fixed: 3118986
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
Wireless mode is of datatype uint64_t but in some places, it is used
as uint32_t.
In this change, replaced 'uint32_t wireless_modes' with
'uint64_t wireless_modes'.
Change-Id: I13b5781ddb14fc0131668e1710df19ae75eb1e34
CRs-Fixed: 3119562
Firmware sends the following reg rule to build 5G 240MHZ channels
240MHZ reg rule:
start: 5490, end: 5730, max_bw: 240.
However, 240MHZ is not one of the standard IEEE channel width.
Hence the channel finding APIs will fail to find a channel of 240MHZ BW.
240MHZ is considered as a punctured 320MHZ channel (320 - 80).
Hence convert the max bw of 240MHZ reg rule to 320MHZ within the host
so that channel can be built.
Also, change the 5G 240MHZ bonded pair's end freq to 5720. Since there is a
5MHZ bandwidth gap between channel 144 and 149, the bonded pair is
restricted to 5720MHZ on 5G.
Change-Id: Iee8dad0317f7ecb95843faa3d0779b854b8f48fa
CRs-Fixed: 3106866
Trigger MLO teardown and wait for response before proceeding with soc
power down.
Change-Id: Ie1d00408862459b0e5240ef3151a0d969ab65e80
CRs-Fixed: 3102143
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
Currently, VDEV manager responses are using legacy path instead of
target_if, vdev_mgr and os_if components. As the driver implementation
is planned for converged model, legacy implementation will be moved to
the respective components.
To avoid rework, Use target_if, vdev_mgr and os_if components to process
the FW responses corresponding to the vdev manager.
Change-Id: I778f6de93481fc730383e8f8e1c604f173947d69
CRs-Fixed: 3093776