Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers to support compiling out entire levels of
logging messages. Migrate the PMO logging wrappers to consumer these
new APIs instead of QDF_TRACE.
Change-Id: I3f46450e76cc6422a0877e95785bfd41e4c0af0c
CRs-Fixed: 2208536
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers. Instead of using QDF_TRACE_RATE_LIMITED
directly, use the level-specific versions.
Change-Id: I21b47f443ae53d1780fd21e352f69b0ea48ae726
CRs-Fixed: 2208563
QDF_TRACE_RATE_LIMITED recently lost its 'rate' parameter in
I31a3f48f68fb6bc67f59f3157a635345943d3331. Update call sites to account
for this change.
Change-Id: I301a36a445be4ecc3e1d24e007d7ca6f05898fc5
CRs-Fixed: 2205796
In order to better align with the other PMO logging wrappers, and the
rest of the driver, rename the following macros:
* PMO_ENTER -> pmo_enter
* PMO_EXIT -> pmo_exit
Change-Id: I9186c1425f22c5a8d4fc98f048a9d487b6095797
CRs-Fixed: 2206650
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.
Part 1
num_wow_filters = ARP/NS offload enabled ? 2 : 5
bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff
Part 2
num_packet_filter = Packet Filter enabled ? 12 : 0xffffffff
Change-Id: Ie8cb4ae44c83b115b249e22ebd7146278ed70612
CRs-Fixed: 2199297
Building CLD3.2 with a performance configuration results in several
"potentially uninitialized" warnings. Initialize the relevant variables
to avoid the warnings.
Change-Id: I6a4324cb313dfb9d3b4c82294bc2fc8ce357fd0b
CRs-Fixed: 2202533
Recent changes in Power Management and Offload (PMO) have removed the
need for a configurable maximum number of WoW filters. Remove the
following relevant fields:
* maxWoWFilters
* CFG_MAX_WOW_FILTERS_MAX
* WMA_STA_WOW_DEFAULT_PTRN_MAX
* max_wow_filters
* ol_ini_info
Change-Id: I99cc74731d6373258dc65473a8342bda0ab2786b
CRs-Fixed: 2199452
In order to conserve firmware memory when various filtering features are
not in use, update the target configuration provided to firmware based
on the intersection of various filtering features and host
configuration.
Part 1
num_wow_filters = ARP/NS offload enabled ? 2 : 5
bpf_instruction_size - BPF enabled ? 0 (auto) : 0xffffffff
Part 2 (pending firmware support)
pkt_filter_num = Packet Filter enabled ? 12 : 0 (disabled)
Change-Id: Ic6624ff04598b53d8321e4864618b12b9702780f
CRs-Fixed: 2196997
Building CLD3.2 with a performance configuration results in several
"potentially uninitialized" warnings. Initialize the relevant variables
to avoid the warnings.
Change-Id: If97b67d50ebe2b7465fd2cc5a6a44488e4cb25a7
CRs-Fixed: 2200294
Provide PMO-specific device capabilities to PMO. This allows PMO to do
intersections between configuration and device capabilities.
Change-Id: If0a199f9be466d16cef900a29b14b73a2a4e52d0
CRs-Fixed: 2197828
pmo_core_wow_enter(), pmo_core_wow_exit() and struct
pmo_wow_enter_params are all dead code. Remove them.
Change-Id: I254a0bad794ffc1170a2799918e1627a3e01e340
CRs-Fixed: 2199462
It is really common to want to update or read from the PMO private
context, but doing so requires several lines boilerplate code. Because
this boilerplate is in so many places, mistakes like using the wrong
lock operation, or forgetting to use locks at all, are a always a
danger. Add pmo_psoc_with_ctx() to address this deficiency, which
retrieves the private context pointer, locks on entry, and unlocks on
exit. Usage is like so:
struct pmo_psoc_prov_obj *psoc_ctx;
pmo_psoc_with_ctx(psoc, psoc_ctx) {
/* use psoc_ctx */
}
Which is equivalent to:
struct pmo_psoc_prov_obj *psoc_ctx;
psoc_ctx = pmo_psoc_get_priv(psoc);
qdf_spin_lock_bh(&psoc_ctx->lock);
/* use psoc_ctx */
qdf_spin_unlock_bh(&psoc_ctx->lock);
Change-Id: I6a3ccbfbfb57c589d44c7eae57e2ed8272dae3ee
CRs-Fixed: 2197722
Under unregistering of PMO handlers, incoming component id is sanity
checked. In the logic, WLAN_UMAC_MAX_COMPONENTS as id will not cause
failure even though it is an id beyond the acceptable bound.
Correct the logic so that WLAN_UMAC_MAX_COMPONENTS ends up in failure.
Change-Id: I6935f34c6d91a4217c3f7f73cd5539af2741ed2b
CRs-Fixed: 2091831
In function pmo_core_send_lphb_enable check index before accessing array.
In function pmo_core_is_wow_applicable initialize vaiable before access.
Change-Id: Iadba3175d10da3e4e311d8ab9e8a850053d3da24
CRs-Fixed: 2162257
Add final changes of DISA component into the skeleton. Fill up all the
code in core, dispatcher and target_if of the DISA component. Use new
wmi API to extract cmd response from event buffer.
Change-Id: I55f7170efa1055f1449dd95d9f1a911dfa6b54ce
CRs-Fixed: 2161979
Create a skeleton for the DISA component. This is a CLD
component. Add files for disa core, dispatcher and
target_if. Define DISA related public structures and
objmgr objects. Add API's as stubs.
Change-Id: I63b32a0e7da0283d091815aaccea6b8703f5184c
CRs-Fixed: 2159579
Rename pmo_ucfg_* API to ucfg_pmo_* to match existing
naming convention for component ucfg APIs.
Change-Id: I59491eff038709a883efb527168159a7e9e2ba2a
CRs-Fixed: 2145088
Measurement pilot public action frame (Action Id = 7) is not
handled in the driver, if the AP is sending this action frame
it ends up waking up the APPS and burn battery.
Since anyway host is not handling this action frame, configure
the firmware to drop this action frame.
Change-Id: I15327f9af8cccaa7324e4e39f1e6336225740b75
CRs-Fixed: 2146506
Send WOW timer pattern to firmware when suspend is requested and
INSTALL_KEY is not sent to firmware yet. This will allow firmware
to wake host in case Eapol frames are not received and do a graceful
disconnect.
Change-Id: Ibbcc0af85ee9ddcd7f6559c83c67274508193004
CRs-Fixed: 2127634
Enable FEATURE_WLAN_DOWOW for pcie.
This is for backward compatible with rome fw.
Change-Id: Ia2107ff6939666b4a0bd19d57149d17814f2dfb5
CRs-Fixed: 2070426
With current implementation in case of an SSR/PDR threads that are
waiting on events will only get purged after the wait timeout has
occurred, increasing the recovery time for the driver. Utilize new
APIs that maintain a list of events. In case of an SSR/PDR
forcefully set these events.
Change-Id: I83b4f576a65f8da5762288ac8dfccdef7d05d82a
CRs-Fixed: 2045156
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.
Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141065
Rename pmo_ucfg_* APIs to ucfg_pmo_* to match existing
naming convention for component ucfg APIs.
Change-Id: I9fba71ee5d5cf6428f043c7d7782ef585951e059
CRs-Fixed: 2140474
Rename pmo_ucfg_is_vdev_connected to ucfg_pmo_is_vdev_connected
to match existing naming convention for component ucfg APIs.
Change-Id: Idd04103664135f226881b07263365d70df5790e0
CRs-Fixed: 2135888
Rename pmo_ucfg_is_ap_mode_supports_arp_ns to ucfg_pmo_*
to match existing naming convention for component ucfg APIs.
Change-Id: I6877e1ebbc8a89d9b2cfb08f7af46e3f3b6606f3
CRs-Fixed: 2135193
PMO resume timeout is 25 seconds which is too large
hence reduce PMO resume timeout to 6 seconds.
Change-Id: I9f29e136bc091ddd3ae2ca38a495edcbff6c1cb8
CRs-Fixed: 2128481
Checkpatch reported multiple instances of block comments not aligning
on "*" so fix them.
Change-Id: I082f62f59fe16d84ba013adbbfcd2e9bf1985e3c
CRs-Fixed: 2122901
This is a qcacld-2.0 to qcacld-3.0 propagation.
If the device connects to 11k enabled AP and enter WoW mode, then
the AP is keep sending RRM beacon reports (Action frames) which are
waking up the APPS and leading to battery drain.
The fix is to configure the firmware to not to wake up APPS
for RRM action frame.
Change-Id: I2368be4f641b8b8684a458daea52a81fa671200b
CRs-Fixed: 1115560
Add support for WMI_SET_MULTIPLE_MCAST_FILTER_CMDID command
that can add/delete multiple mcast filters.
CRs-Fixed: 2096595
Change-Id: I3dc93c603a5a6676d97b5911a716277c7bef0ef8
Update ini param g_auto_detect_power_failure_mode to incorporate below
values,
0 - Don't register wow wakeup event and FW crashes on power failure
1 - Register wow wakeup event and FW sends failure event to host on
power failure
2 - Don't register wow wakeup event and FW silently rejuvenate on
power failure
3 - Don't register wow wakeup event and the auto power failure detect
feature is disabled in FW.
Change-Id: I8a704954ecbacadbc035c1523fa41a18b6300f66
CRs-Fixed: 2087144
Add new kek_len param used for FILS in the pmo_gtk_req structure under
PMO GTK public structures
Change-Id: I4fc25026d9fc004f267b9461d1671f8b1ac57f53
CRs-Fixed: 2081252
Info level logs are logged on console, hence change PMO
logs in wlan_pmo_suspend_resume.c to debug log level to avoid
excessive console logging.
Change-Id: Ie9852ef5ea8fefaa33a82f0b287224271ada003b
CRs-Fixed: 2121361
Info level logs are logged on console, hence change PMO logs in
wlan_pmo_gtk.c to debug log level to avoid excessive console
logging.
Change-Id: I3aa1eef2476827157adfa51e37b0054b10ba58c1
CRs-Fixed: 2118712
The Wow pattern id should be identified unique for different vdevs of
legacy firmware, and latest firmware accept same Wow pattern id on
different vdevs.
This change is to differentiate this behavior using
WMI_SERVICE_UNIFIED_WOW_CAPABILITY flag, and supply a set of APIs to
manipulate pattern id.
Change-Id: I5fe7623a309a0c3baa14fb7312107c057e994462
CRs-Fixed: 2103017
Info level logs are logged on console, hence change PMO logs in
wlan_pmo_tgt_gtk.c to debug log level to avoid excessive console
logging.
Change-Id: I8f19e8651927a7c3cae9ee1e1118f983c063b3ed
CRs-Fixed: 2116340
Info level logs are logged on console, hence change PMO logs in
wlan_pmo_ns.c to debug log level to avoid excessive console logging.
Change-Id: I60620f6a3ce4fe708f026a554a5295c1f708f485
CRs-Fixed: 2116335
Info level logs are logged on console, hence change PMO logs in
wlan_pmo_arp.c to debug log level to avoid excessive console logging.
Change-Id: I4eef5203f612b3ddaace30d4da43c13103dd60c7
CRs-Fixed: 2116328
Info level logs are logged on console, hence change PMO logs in
wlan_pmo_suspend_resume.h to debug log level to avoid excessive
console logging.
Change-Id: I77edb26ce3eb61573bba830787fe0ffb32eb6281
CRs-Fixed: 2116321
Info level logs are logged on console, hence change PMO
logs in wlan_pmo_main.c to debug log level to avoid excessive
console logging.
Change-Id: I1f3c00537ce850079a06aaf479bdb917e7ea55e2
CRs-Fixed: 2116314
Enable rx of NDP data packets in WOW mode by enabling
WOW_PATTERN_MATCH_EVENT for NDI vdev.
Change-Id: I4d5edfc91c23fd8cc277c005da7803690b5fe054
CRs-Fixed: 2069493
Currently, host driver sets bitmap of allowed action frames to fw.
For a particular action category, there are certain action id
frames which are not processed. This causes host wakeup and leads
to power drain.
Set action id along with action category to fw for action frames
to be allowed to host driver.
Change-Id: Ifa0b40b290fcabb9ce5e48f69bd462aebb9017ac
CRs-Fixed: 2072123