There are currently a multitude of issues with sys_process_mmh_msg()
so update both the interface and the implementation to align with good
software engineering practices and the Linux Coding Style.
Change-Id: I76e53772dd72426cc4245756457e2a8140937571
CRs-Fixed: 2411714
To align with the Linux coding standard as enforced by the checkpatch
script, remove the extern from the wma_send_regdomain_info_to_fw()
prototype. Furthermore, to align with software engineering best
practices, relocate the documentation so that it is the interface that
is documented, not the implementation.
Change-Id: Ie1993d3132517fac993b4c5556fe82c6bfbfe016
CRs-Fixed: 2411713
Unlike other connection types, vdev start parameters for NDI
do not reflect the correct connection information for the
datapath. Once an NDP is established on NDI this info in WMA
needs to be updated accordingly. Define a WMA callback and
use it after NDP confirm and NDP End to update the connection
info for NDI.
Use WMA callback for updating NDI connection info.
Change-Id: Iefb515a751bd3fb5e10610d191bdadaf3a01f59a
CRs-Fixed: 2407153
Host driver code has several instances of struct bss_description
that is type defined to tSirBssDescription, *tpSirBssDescription
This goes against the linux coding style. This change replaces
tpSirBssDescription with struct bss_description *.
Also Linux Coding Style doesn't welcome mixed-case names. So
cleanup some mixed-case variable names as well.
This change should be followed by changes to replace
typedef tSirBssDescription also ultimately.
Change-Id: Ic6fa2d5c7db0d0c1fe4be1096d416295dcb83779
CRs-Fixed: 2409129
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.
Change-Id: I96bb16e01974f7689493577741a36e3832963996
CRs-Fixed: 2399508
Unable to send WMI_PEER_UNMAP_RESPONSE_CMDID for peer ids in case
of WOW + ROAM failure scenarios, where target is suspended. This
will cause peer ids leak in the firmware.
Post the PEER_UNMAP_RESPONSE cmd to mc thread in case of ho fail.
Change-Id: I5b9e0fc874ab31f401f7adc8cff22fbc20811acb
CRs-Fixed: 2396094
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct rssi_monitor_req
- unified WMI struct rssi_monitor_req
To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.
Change-Id: Ia3336b68dac84ce8aeb53ea6d5be8b9f2e0f1736
CRs-Fixed: 2404088
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct gateway_param_update_req
- unified WMI struct gateway_update_req_param
To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.
Change-Id: Icc56c4d83808e3661593d2e4735533442d48eb7e
CRs-Fixed: 2404089
As part of the original TDLS componentization the legacy typedef
tTdlsPeerStateParams was replicated as qca-wifi-host-cmn struct
tdls_peer_state_params. Subsequently when the TDLS component was
relocated back to qcacld-3.0 this struct was replicated again as
struct tdls_peer_update_state in the qcacld-3.0 TDLS public structs.
Unfortunately this left the driver with three different data
structures which serve the same purpose. Not only is this pointless,
but due to the way in which these structures are used there is an
implicit requirement that they be exactly identical. Further
complicating matters is the fact that these three structures each have
embedded structs which are also replicated. This approach is very
fragile since any change to any of these structs must be replicated
across the entire set. To align with the converged software
architecture and to improve code maintainability exclusively use the
TDLS public structs.
Change-Id: Id6d44a1bc0fe530957db3d9f9ab948e2af775433
CRs-Fixed: 2400766
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirAutoShutdownCmdParams
typedef does not meet any of those criteria, so replace it with a
properly named struct.
Change-Id: Ia15a4cb0cfd3ef8868aaa7eaa77cd5dbb44423d0
CRs-Fixed: 2400334
The driver currently defines two different data structures to hold
DHCP Server Offload configuration:
- typedef tSirDhcpSrvOffloadInfo
- struct dhcp_offload_info_params
To align with the converged software architecture as well as the Linux
coding style remove the legacy typedef and exclusively use the unified
WMI structure.
Change-Id: Ia2b537a917bbe9e36ba4bc3b289e8c2e9ec630d6
CRs-Fixed: 2399938
When the DHCP_SERVER_OFFLOAD feature is enabled the driver does not
build, so address the build issues.
Change-Id: I42103afd91c4bed2d04f22bdb6159e286ff12fa0
CRs-Fixed: 2399937
By design, when APF is supported by target, RA filtering need
not be configured. Legacy code handled this by passing INI value
of RA rate limit value to WMA and intersecting it with APF
enabled flag. Change Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
replaced this implementation by a single check in PMO. So remove
the WMA legacy code since it has no purpose now. Also remove
unused PMO prototypes pmo_update_ra_limit and
pmo_update_target_service.
Cleaunp the WMA code that intersects RA rate limit and APF
variables.
Change-Id: I870a1271a627d47242000f5e04068e628f567216
CRs-Fixed: 2379745
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirTxPowerLimit typedef does
not meet any of those criteria, so replace it with a reference to the
underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I0c466bfbf4b820911e983f8bf74dc9e6f7e8ab70
CRs-Fixed: 2399110
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirLinkSpeedInfo typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I36ab84336b9f0290bc68eb5a42678fd49d0f3c51
CRs-Fixed: 2399107
As part of TDLS componentization the legacy enum
wma_tdls_off_chan_mode was replicated, creating enum
tdls_off_chan_mode. All of the TDLS code has transitioned
to the new enum. Since the legacy enum is obsolete, remove it.
Change-Id: I02f9fba0d3fc0cf1f9bada82d3fedc49845f99ee
CRs-Fixed: 2397352
As part of TDLS componentization the legacy enum WMA_TdlsPeerState was
replicated, creating enum tdls_peer_state. Unfortunately this left
the driver with two different enums which serve the same purpose,
which is pointless. Furthermore, due to the way in which these enums
are used, there is an implicit requirement that they be exactly
identical. This approach is very fragile. To align with the converged
software architecture and to improve code maintainability remove the
legacy enum and exclusively use the TDLS public enum.
Change-Id: I4ded30d12cd7c8ebcf6a36331240f5c26c413d85
CRs-Fixed: 2397351
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The roam_offload_synch_ind typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: Ieb91f75f4444873ab465d419409d46c05c65b091
CRs-Fixed: 2396068
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirRoamOffloadScanReq typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I3e7d5bd70618d132cc028b978583e55c729a2c21
CRs-Fixed: 2396066
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirKeepAliveReq typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I68e1607c76c1ed1b7bc570ecae677e9c790803cb
CRs-Fixed: 2396065
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirHostOffloadReq typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I21970981e7a128f71abdd601181c596b9b32320b
CRs-Fixed: 2396064
As part of TDLS componentization the handling of TDLS off-channel was
relocated to the TDLS component. Subsequently change
I983851d8cc0d3605c3d6bd0d8975c72844f71740 ("qcacld-3.0: TDLS: remove
remaining legacy code") removed the logic which previously sent the
WMA_TDLS_SET_OFFCHAN_MODE message. Unfortuntely it left behind the
legacy logic which processed this message. Since this legacy logic is
obsolete, remove it.
Change-Id: Idb5c1af9a06ce744bb8a689fc40700f3837ad0fc
CRs-Fixed: 2396062
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirPlmReq typedef does not
meet any of those criteria, so replace it (and the "tp" variant) with
a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names
and so-called Hungarian notation, so in conjunction rename the
underlying struct to be in compliance.
Change-Id: Ie7eb223daef08337dda492e2d63754eb69ca09b9
CRs-Fixed: 2394995
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSupportedRates typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names
and so-called Hungarian notation, so in conjunction rename the
underlying struct to be in compliance.
Change-Id: I5007379a50223b6de85830e7ae389e65cdb8e4d3
CRs-Fixed: 2392398
As per new requirements to debug game latency related issues,
implement an iwpriv command which:
1) sends a bitmask to FW's Wireless Latency Manager module (WLM).
2) receives from WLM a measurement header along with measurement data.
3) converts both the header and data to a hexadecimal encoded string.
4) returns the hexadecimal encoded string to userspace
Change-Id: Ic79c4b757fe2d4e806306750250e3c102745c486
CRs-Fixed: 2388920
As part of the effort to use a single definition for the maximum number
of vdevs, replace WMA_MAX_SUPPORTED_BSS with WLAN_MAX_VDEVS.
Change-Id: I7f0bd615b65e21dc0052933d5e194ca650336b42
CRs-Fixed: 2393167
Flag WLAN_FEATURE_NAN_DATAPATH was added to protect NAN Datapath
related code, while WLAN_FEATURE_NAN_CONVERGENCE was added to
protect the converged code inside NAN Component. Since the
original NAN Discovery related code has now been moved inside
NAN component and NAN Datapath cannot exist without NAN Discovery,
keeping these flags separate doesn't make sense. Combine these
two flags with WLAN_FEATURE_NAN flag which is the original NAN
feature flag.
As a cleanup of NAN code, combine all NAN related flags with
WLAN_FEATURE_NAN flag.
Change-Id: If98ecaace17f8724e9c28325ef61e721f42e1d8f
CRs-Fixed: 2377375
Make the following updates to the "set scan oui" logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
must not make any assumptions about the buffers provided by HDD.
3) Replace instances of mixed-case identifiers.
4) Document the API definitions, not the implementations.
Change-Id: I5df3962fc45395b37b4e566f98b840e37f601d26
CRs-Fixed: 2389640
WNI CFG needn't to download since all wni cfg refactored based on new
cfg framework, so remove WNI_CFG_DNLD_REQ.
Change-Id: Icd85b7797fcbc41debe55edb6b1f68478797d726
CRs-Fixed: 2387589
Legacy cfg is cleaned up since all wni cfg refactored based on new cfg
framework, so remove unused cfg messages.
Change-Id: Ibb31eae1d17dcd9c2481b13c6246dd89b954e710
CRs-Fixed: 2385963
Clean up CFG_MAX_SCAN_COUNT CFG CFG item.
Remove ini for max_scan_count. Use WLAN_MAX_ACTIVE_SCANS_ALLOWED
to initialize max_scan_count and send to firmware.
Change-Id: I52e07b63a82297d30f2532bc5a8e05004877b141
CRs-Fixed: 2382308
Since all wni cfg is refactored based on legacy new cfg framework, no
legacy cfg files is needed now. Cleanup related files in this change.
Change-Id: If46ae4c59f1010a655aa65e3502fc0c660e33cdc
CRs-Fixed: 2383387
When roaming is completed if the phymode of the target AP is
different from current phymode, then firmware will have updated
phymode and host driver will have older phy mode. The host driver
will update the opmode when new opmode is found over beacon or
vht opmode action frame. During opmode updation over
wma_process_update_opmode(), phymode is also sent to firmware.
As the phymode on the host driver is not updated to new value
after roaming and there will be mismatched phymode sent to
firmware. Firmware will not be able to handle this and asserts.
With current design, the channel width and frequency are updated
to wma interface on roam synch complete. Fix is to update the
phymode also after roam synch complete is received to wma iface
based on the new channel width updated.
Change-Id: I54aec080f53d3b49a309f9cb66553ec7c1805c50
CRs-Fixed: 2380456
Refactor firmware, serialization and command timeouts so that
HDD timeout are greater than serialization is greater than firmware
timeout.
The timeouts are defined considering below worst case delay in
firmware.
WMI_VDEV_START_REQUEST_CMDID 6 sec
WMI_VDEV_RESTART_REQUEST_CMDID 6 sec
WMI_VDEV_STOP_CMDID 2 sec
WMI_PEER_DELETE_CMDID 2 sec
WMI_PEER_ASSOC_CMDID 2 sec
WMI_PDEV_SET_HW_MODE_CMDID 2 sec
WMI_PDEV_SET_MAC_CONFIG_CMDID 2 sec
Change-Id: I270e980ed1cf2aee55a1fa4e88ff8ddc845a203b
CRs-Fixed: 2384389
If FW supports thermal throttling feature, add iwpriv and wmi
interface for configuring thermal throttle params.
Disable throttling in driver if FW supports thermal throttling.
Send Thermal configuration controls via WMI commands to fw
Added iwpriv command for user to control throttling
Added code under flag FW_THERMAL_THROTTLE_SUPPORT
CRs-Fixed: 2367015
Change-Id: Ie18016d23d151873e28781d3fac6e6d60245191d
In wmi_process_fw_event_default_ctx, Use same call
signature for MCL as WIN for wma_process_fw_event_handler
Change-Id: Ie361dd762c97667f4ee5bc3bb67fd0d39fbcae94
CRS-Fixed: 2372982
It set roam offload flag to FW when vdev type is sta in
wma_vdev_attach, FW team think this isn't reasonable since it wastes
FW memory if sta isn't disconnected. And required to set this flag
when connected to AP, remove this flag after disconnect from AP.
Change-Id: I5edfb8d5a2cec0e2ffdf34349c99d477860f1339
CRs-Fixed: 2367135
Change Ia0fa016b174ef4b50e2cc339e4e476ec65642dbf ("qcacld-3.0: Use dfs
component support") removed all usage of struct wma_dfs_radar_ind.
Since it is now obsolete, remove the struct.
Change-Id: I9930dff34224a02f6a8bdc9a7fcdb362da1eb1bb
CRs-Fixed: 2379065
Change Iee7274fbc8ae985d034a29f920faa38aab68ccc7 ("qcacld-3.0: Add
VDEV state machine for STA disconnection") removed the implementation
of function wma_sta_send_vdev_down_bss(). However it left behind the
prototype, so remove it now.
Change-Id: Ia43371f6c86632955f67370d3ffc9b2753f797f7
CRs-Fixed: 2379064
Change Ibeb6f99335b4e745335d5968791d9e9187df47f7 ("qcacld-3.0: Remove
legacy scan event handling") removed the implementation of function
wma_scan_event_callback(). However the prototype was left behind, so
remove it now.
Change-Id: I34cd7fa0e9d28c10d73f1000284148eaece042f5
CRs-Fixed: 2379063
Change Ie3783306e0ff5b8a5bbcb6437e982590b03fe040 ("qcacld-3.0: Use
scan for preauth from LIM in roaming") removed all of the roaming
preauth logic from WMA, but it left behind some obsolete protptypes,
so remove these:
- wma_roam_preauth_chan_set()
- wma_roam_preauth_chan_cancel()
- wma_roam_preauth_scan_event_handler()
Change-Id: I9236f641fb80df0e5a6749781adb5af86d8b821b
CRs-Fixed: 2379062
As part of change I5c873b9571228f0d2b4fcd4782267a2cc40fc20a
("qcacld-3.0: Remove the deprecated IOCTL in TDLS") the implementation
of wma_update_fw_tdls_state() was removed. However the prototype was
left behind, so remove it as well.
Change-Id: Ibb08e9f8c8c39eac364b05e72d7c03db306cc8b3
CRs-Fixed: 2379061
Change I542e5afe832619f8c088220cc4456aa7fe4416fd ("qcacld-3.0: Route
the legacy NAN commands through NAN component") removed the usage of
typedef tNanRequest. Since the typedef is obsolete, remove it.
Change-Id: I10e243b4e6998e69027c2f0d5f829cd2a6b27c92
CRs-Fixed: 2379059
iwpriv interface is added for configuring Motion detection
feature specific parameters
Added under flag WLAN_FEATURE_MOTION_DETECTION
Change-Id: Ic20c8c43782cf037317f412962fab4a6928eb0b9
CRs-Fixed: 2376722