This commit contains the following changes related to FR49350:
usenol pdev param declaration and implementation of wmi cmd to send
the param to FW.
Failure status code declaration for scan and vdev start.
CRs-Fixed: 2328894
Change-Id: I5d3bfe758aeb9907193b6f626582b70413f5381c
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.
Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)
Change-Id: I03a68b0db30a3aa585b269ab0a1745b37bc7e0b7
CRs-Fixed: 2316935
FR: TDMA Support for Wave2 Radios (host support)
Added a wmi cmd for configuring the interval between successive sifs
trigger frames given by the user app. Added a separate wmi cmd instead
of wmi param with reference to further scope.
Change-Id: Ifa778a761e3495ef7abab5f63a49661b307034ae
CRs-Fixed: 2330484
While handling WMI_GTK_OFFLOAD_STATUS_EVENTID, QDF_BUG()
can occur in pmo_tgt_gtk_rsp_evt->pmo_psoc_get_vdev if
vdev_id is out of range. As the value is directly from
WLAN FW and can be outside the trust boundary.
Add sanity check for vdev id once get parameter from
wlan fw.
Change-Id: I335df52fece39c1a51a556ba4678bd43f470673a
CRs-Fixed: 2321523
Add host WMI support for EAPOL minrate resource configuration.
Through the use of the global.ini configuration parameter -
eapol_minrate_set and eapol_minrate_ac_set, the user can set EAPOL
frames to be sent in minimum rate in tunnel mode. In addition to
this, the user can also select between the 4 ACs (BE, BK, VI, VO)
to send the EAPOL frames.
The changes are reflected in the target resource config which
is sent to the firmware.
Change-Id: Ib9a264b64305bf43708c3c2af3ff254b6cc28477
CRs-Fixed: 2298020
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.
Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.
Featurize WMI APIs and TLVs that are specific to WIN
- Air Time Fareness (ATF)
- Direct Buffer Rx (DBR)
- Smart Antenna (SMART_ANT)
- Generic WIN specific WMI (AP)
Change-Id: I7b27c8993da04c9e9651a9682de370daaa40d187
CRs-Fixed: 2320273
Fix the compilation error in vdev state machine and make state
transition logs from debug to info.
Change-Id: I7d7975931232f041206bdb64c639456bf9327b3f
CRs-Fixed: 2321726
FW generates too many diag events and these diag events
also come on CE-2 together with other critical control
path WMI events and easily over-run useful control path
WMI RX even log buffer. Separate WMI diag rx event loggig
in a separate log buffer such that useful control path WMI
log event buffer is not over-run.
Change-Id: I89b5d88036bc9d7e57e8e16858bc556be4e2ed41
CRs-Fixed: 2318083
Register WMI with wbuff for pre-allocation of
skbs. Register at wmi_unified_attach() and
de-register at wmi wmi_unified_detach().
Change-Id: I9d6df1a8480324dd2a258de12672669a8fbe8940
CRs-Fixed: 2313935
Create and send user configurable ini for max number of roam preauth
retries and roam preauth no-ack timeout to the firmware.
Change-Id: I0343cb29952286d9b42a69136fc6353cd86e4752
CRs-Fixed: 2286079
wmi_mtrace is defined as static in wmi_unified_tlv.c and
used in TLV functions, but some TLVs need to be featurized
and moved to separated TLV files. Need to export wmi_mtrace
for external use.
Change-Id: I9459ec01c9cd4a89f3544d6a9831acba56e6a278
CRs-Fixed: 2314779
Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host
Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
Currently only 16 bytes of wmi command/event messages are logged
excluding wmi header information.
By enabling WMI_EXT_DBG whole command/event messages can be dumped
using qdf debugfs apis. This will help if it is needed to
collect whole command/event messages information.
Change-Id: I72dff1279b1145b8d2ee415db97656f457c0136f
CRs-Fixed: 2309286
Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.
Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
This change is required as a part of setting sifs_rate in the
target through wmi command from host for legacy chipsets.
Change-Id: Ia3ed8a6d33fcb31b290129e1302dfc0000ad4626
CRs-Fixed: 2031293
Add wmi layer support to get firmware roam scan statistics which includes
scoring of roam candidates, channels, old and new bssids etc.,
Change-Id: I3a0aafbe66d12eea40e71ceb4c7c3a60b9d6e04f
CRs-Fixed: 2203904
Add implementation to enhance structure
corresponding to WMI_DCS_INTERFERENCE_EVENT_ID
handler in cp stats component which hold
secondary 40 and 80MHz utilization
which are required parameters of Extended BSS IE
Change-Id: I1c471608394d5c395632742098d2c92fc02ec238
CRs-Fixed: 2298073
In wmi_unified_cmd_send() function, pass function name and
line number of caller and log the same in case of failure,
this approach helps to remove error logs in caller function
there by reducing text segment.
Change-Id: Ib70d55959087021c4495c175d5363375037afe00
CRs-Fixed: 2281983
In wmi_buf_alloc() function, pass function name and
line number of caller and log the same in case of failure,
this approach helps to remove error logs in caller function
there by reducing text segment.
Also add wmi_nofl_* macros.
Change-Id: Ib1ac8bf2bbcefa7f0015aff2733d3dc4773b185d
CRs-Fixed: 2281983
P2P Listen offload is not a requirement for Genoa, hence featurize
P2P listen offload code to save memory foot-print for Genoa.
Change-Id: I3c32b4ee2b37421e49acee4bd20d36e7a8a3bf77
CRs-Fixed: 2304555
1. Service ready ext includes a parameter for max
BSSID indicator.
2. Beacon template includes MBSSID IE offset.
3. Vdev create and up cmds include more parameters.
Change-Id: I71214eacdaa886725b7ea8f61db3a743ba6597e9
CRs-Fixed: 2306638
Add TLV support for estimated airtime calculation.
Add support to send esp_ie_offset along with beacon template.
Change-Id: Ic70ad7df330674a10ac6051f96975aa928700ba3
CRs-Fixed: 2300339
Add new WMI command to support WMM based ATF configuration.
The new WMI command sends the Access category ID and the
corresponding airtime allocation to the firmware.
Change-Id: I7a5fafa6190d779d0fef8982b7b781af54656b19
CRs-Fixed: 2293193
Add/Modify functions to support AC based ATF support.
Modify Function pointer declarations and assignments to
comply with the new design.
Change-Id: I17046c4461dc4ba413fd71a4437c0f7cb8997400
CRs-Fixed: 2293193
Change "qcacmn: Add revised extscan start hotlist monitor API" (Change
Id Ie705f2462c7d5befa691f1ab57293e55ab68e3e2) recently added a revised
"start hotlist" handler. The only known client of the existing
interface was converted to use the new interface with change
"qcacld-3.0: Refine the extscan start BSSID hotlist logic" (Change-Id
I4d9f982177bc61a751ba0e7437fe55482dfd2723) so remove the now obsolete
interface.
Change-Id: I6e43170daa3ed2d932f1f2fa6717ea230a37ea8b
CRs-Fixed: 2294278
pe sessionId should not be used as vdevId.Add
vdevId field to aggr_add_ts_param and use it
in wmi command.
Change-Id: Id021dda35a32f7870277d405c85a0878d7baa3f3
CRs-Fixed: 2293867
Clean up WMI component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msg appends them by default.
Change-Id: Ie375e6fda2943f5f2b7287da4374ef9d7470d593
CRs-Fixed: 2243843
WMI_PEER_TWT_REQ and WMI_PEER_TWT_RESP flags are introduced in peer
flags sent to FW in PEER_ASSOC_CMD. Add corresponding flags in host
structure to indicate peer's support for TWT requester and TWT
responder.
Change-Id: Ic5edb594a95b255fe8ce1091d96c4d886b4d6170
CRs-Fixed: 2290026
TWT delete, pause and resume command is upadted by FW to include peer
mac address. Update host implementation to include peer mac in these
commands. Also, resume command is updated to include next_twt_size.
Update resume command for the same.
Change-Id: Iec184d0449b06aaeb9bac558e8cb5322f867e12f
CRs-Fixed: 2279309
ba_window_size_valid and ba_window size support is missing
while sending wmi_peer_reorder_queue_setup. This is needed
for handing 256 BA which is not FW default.
Change-Id: I3218921c48c0f82225b7992076e73ac0acf7bd11
CRs-fixed: 2285423
There is an existing WMI command which is used to start the extscan
hotlist monitor, wmi_unified_get_buf_extscan_hotlist_cmd(), but this
API has multiple issues:
1) The "get_buf" in the name implies it retrieves something, but it
doesn't.
2) The full name is not a "mirror" of the companion function that
stops the monitor, wmi_unified_extscan_stop_hotlist_monitor_cmd().
3) The current function has an "int *buf_len" parameter that is unused.
To address these issue introduce a new function with "mirror" naming,
wmi_unified_extscan_start_hotlist_monitor_cmd(), which has an
appropriate parameter list.
It is expected that all clients of the existing API will be moved to
the new API, at which point the existing API can be removed.
Change-Id: Ie705f2462c7d5befa691f1ab57293e55ab68e3e2
CRs-Fixed: 2289368
Currently wmi_unified_api defines a wmi_unified_vdev_restart_send()
prototype, but there is no implementation of this function. This
discrepancy dates back to the initial introduction of the prototype in
change "qcacmn: Add tlv implementation of common unified API" (Change
Id I7e70b48ef5e1df0c0f81c639579e6eb1a6685dc3). Since this function
does not exist, and in fact has never existed, remove the prototype.
Note that another API, wmi_unified_vdev_start_send(), supports both
start and restart capability.
Change-Id: Ia88d8b1e825c806b454428e72d9731ccefd05c01
CRs-Fixed: 2286613
Currently the 'setratemask' command supports setting
the rate mask for upto MCS0-9 and NSS 4. Add 'lower32_2'
field in the ratemask_params struct to extend support
for the 'setratemask' command to set rate mask
for upto MCS0-11 and NSS 8.
Change-Id: I9c06ae238142dca37df9826ca34449dd34ee6782
CRs-fixed: 2251392
For a full explanation of the problem and phased solution refer to
"qcacmn: Clean up the extscan unified WMI (phase 1)", Change-Id
I11800361b572331cfada00fb7d518c314df20b43, in the qca-wifi-host-cmn
project.
For phase 3 (this change):
Remove the unions introduced in phase 1, leaving just the properly
named replacement identifiers.
Change-Id: Ia14a42a1a767a850fbfd82a5755ddea51246a95d
CRs-Fixed: 2282843
Existing antenna gain command does not take odd antenna gain value that is
gains are not supported in steps of 0.5db. antenna_gain_half_db pdev
param provides this support. Added WMI and CDP changes to configure/read
this data.
CRs-Fixed: 2024854
Change-Id: I47da9eed74a1a0180cefb4c3f47bc4340da1bdfd
For a full explanation of the problem and phased solution refer to
"qcacmn: Clean up the extscan unified WMI (phase 1)", Change-Id
I11800361b572331cfada00fb7d518c314df20b43, in the qca-wifi-host-cmn
project.
For phase 2 (this change):
Replace all references of the badly named identifiers with references
to the properly named substitutes. Note that this phase may touch
multiple repos and may involve a number of separate changes.
Change-Id: Ie19d632faa50b23f18a2214a7b2502830ff3fbd3
CRs-Fixed: 2282767
Add WMI support to send action OUI extensions to firmware.
For STA interface, this feature is intended to control mode of connection,
connected AP's in-activity time, Tx rate etc.,
Change-Id: I6a0bc9d3f7f0d57805b872cae4baa1fe84fb8193
CRs-Fixed: 2254509
The extscan unified data structures were duplicated from legacy
qcacld-3.0 data structures. As part of the duplication process some
things were inherited that are not appropriate in the unified WMI
including camelCase identifiers and the use of "session id" as an
instance identifier. Due to the fact that multiple repos are affected
a multi-phase cleanup is proposed in order to avoid cross-repo
inter-dependent commits.
For phase 1 (this change):
For each inappropriate identifier introduce an anonymous union which
will contain both the badly named identifier and a properly named
substitute.
Subsequent changes will address the following phases:
For phase 2:
Replace all references of the badly named identifiers with references
to the properly named substitutes. Note that this phase may touch
multiple repos and may involve a number of separate changes.
For phase 3:
Once phase 2 completes, remove the unions introduced in phase 1,
leaving just the properly named replacement identifiers.
For phase 4:
Update the legacy code to exclusively use the converged data
structures, abandoning the legacy data structures.
Change-Id: I11800361b572331cfada00fb7d518c314df20b43
CRs-Fixed: 2280645