These fixes are made during qca8074 VP control path bringup.
Add fixes in tlv.c and enable TLV helper routines for WIN.
Fixed some inconsistencies in wmi API params by adding compiler flags.
This needs to be cleaned up so that API and params have common interface
between WIN and MCL.
Change-Id: I0821daa58df86ad0b394a7846a982a9e3577cd14
CRs-Fixed: 1063252
Add changes to allow coexistence of WIN/ MCL TLV implementation
through use of CONFIG_MCL flag and change of MACRO names.
Change-Id: I6868c288a43fd3afb19c84b8a9d4ef0dfbee5c94
Acked-by: prgandhi@qti.qualcomm.com
CRs-Fixed: 1008872
Propagation from qcacld-2.0 to qcacld-3.0
WMI pdev POWER_STATS request and report message defs
pktlog flag in HTT_T2H RX_IN_ORD_PADDR_IND
New release of Hawkeye HW header files
Change-Id: If2f122a6879b60052849b7efb738e7fc1a4c23f3
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0
Adding defined weightage values for WMI_PDEV_SET_PCL_CMDID
Add filter configure interface in fwcommon for sniffer mode
Change-Id: Ic822863cbbaffe7303dedf7f6c16ba92c2d0a5d3
CRs-fixed: 865207
Compilation error occurs due to undefined struct when
WMI_INTERFACE_EVENT_LOGGING disabled.
Use void pointer as argument to wmi_mgmt_cmd_record() and cast as header
struct inside logging function to avoid casting as undeclared type.
Change-Id: I7d0922ee2009b235473febdbcbc3317e432a1386
CRs-Fixed: 1043597
HOST driver unload sequence does following
1) Kill WLAN tasklet
2) Disable CE interrupts
3) Flush WMI RX work
Hence its unncessory to acquire eventq_lock as no one
will be using the shared resource during wmi detach.
Change-Id: I5c549358aeefc460c794c35659915d3b966c7350
CRs-Fixed: 1021376
Propagation from qcacld-2.0 to qcacld-3.0
Adding WMI defs for pdev and peer GET_ANTDIV_STATUS_CMD,
ANTDIV_INFO_EVENT msgs.
Change-Id: Iad3c57f0b4e10e68c86cef175b8cadcfd9e7fe1e
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0
Add WMI command to set GPIO numbers that are used to wakeup host
and wakeup target.
Changes to disable dynamic bandwidth RTS.
Add swol_assist_enable field to WMI extwow_set_app_type1_params
cmd to enable IoT mode WMI enums for CCK and OFDM max tx rates.
Change-Id: I26873873d7a355c179babaa7cc56e187e9771c92
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0
Add mcast filter set/delete command that can take multiple
filters in a list.
Fix HTT typos to make MACROS consistent with the field name.
Change-Id: I97ca72f102faecfc3d20409b0d4819a09968417c
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0.
New WMI command for reorder queue setup/removal
Change-Id: I31ad0432a0d5f49eed55603ae7d9eeedbdd19876
CRs-Fixed: 865207
More detailed logging needed for mgmt frames
Add vdev_id, frame type, subtype, and channel to logs by defining wrapper
function around logging macro and calling it from send_mgmt_cmd_tlv
Change-Id: I0c8c26e3194d97be7d903f64c5c5909c2d4b9799
CRs-Fixed: 1011346
Propagation from qcacld-2.0 to qcacld-3.0
Add dbglog IDs for ARP and DHCP packets
WMI CMDID for dbglog time stamp sync
Move reason code from wmi to nan_msg.h
Change-Id: I2e6e837fade375ef86c0c4247490b44ec502be1b
CRs-Fixed: 865207
Fix compilation errors in Kernel 4.4 version. seq_printf function
syntax is changed in v4.4 Linux kernel
Change-Id: I013171e5bbd4e5641c1a74d22003271c88c63232
CRs-fixed: 1026152
In WMI detach caller routine already has null check for
wmi_handle so remove redundant null check.
Change-Id: I764a91a6050ffc93613b82008f5df2529a056e70
CRs-Fixed: 1027177
eventq_lock is not destroyed in WMI detach.
Destroy WMI eventq_lock in WMI detach.
Change-Id: Ia60ec83cf776a3ceef75274b1bcb5dcca2594763
CRs-Fixed: 1021376
WMI unified detach holds spin lock bh and calls kernel API
to remove debugfs directory. Remove debug fs kernel API uses
mutex for internal synchronization and hence kernel complains
WLAN is calling sleeping API from non sleeping context. Fix this
issue by keeping debug fs remove API call outside spin lock bh
protection.
Change-Id: I15d9a3735ed3c914af51aed9885f48f9c1d1ded2
CRs-Fixed: 1021379
1.Logging of all WMI activities(commands, tx complete, events)
is adapted for WIN.
2. WIN and MCL continues to use existing approach of memory
allocation and it is managed using feature flag in common code.
3. Use debugfs for WMI event debugging.
example to read buffer through debugfs interface -
- Navigate to WMI directory under debugfs (/sys/kernel/debug/WMIx)
- It will display elements/files for all command/event buffers
- "cat wmi_command_log" (desired buffer name)
- Output will display something like this:
CMD ID = 16001
CMD = d 0 d8c6de24 e1cf
CMD ID = 16001
CMD = 8 0 0 0
CMD ID = 16001
CMD = d 0 d8c6de24 e1cf
CMD ID = 16001
Change-Id: I26895b480b9eaa400183c4667b9ac6980939cab9
Acked-by: Pratik Gandhi <prgandhi@qti.qualcomm.com>
CRs-Fixed: 1019979
qcacld-2.0 to qcacld-3.0 propagation.
WMI changes to handle action frames of different category in WoW mode
Change-Id: Icbf9ad7cac93dd75ddb976a0f781e20b60201896
CRs-Fixed: 865207
qcacld-2.0 to qcacld-3.0 propagation
Add support for scenario debug logging
WMI changes to control WISA features of firmware from host
Change-Id: I01d96c423b6241248242aa2feae6887d8f202691
CRs-Fixed: 865207
WIN platform uses non-tlv implementation for host to
target wmi commands. Add support for non-tlv
implementation in common wmi layer.
Change-Id: I1f832695b0d41b521be6b18df0cad31aae11b6c9
Acked-by: Kiran Venkatappa <kiranv@qti.qualcomm.com>
CRs-Fixed: 1005778
qcacld-2.0 to qcacld-3.0 propagation.
WMI change to enable Custom aggregation size for ADDBA request and
response through WMI command WMI_VDEV_SET_CUSTOM_AGGR_SIZE_CMDID.
Change-Id: I0fb54e8f32344b209787239ed64d7ecb13ea56fb
CRs-Fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0.
Periodic channel stats and WMI chan info extension
Define a flag which indicates the packet responsible
for wake up the host from suspend mode
Change-Id: Ieb5f47f16c5f55790511e02d97db57f4fdf6de97
CRs-Fixed: 865207
qcacld-2.0 to qcacld-3.0 propagation
add a wmi command to enable/disable channel
avoidance report event from firmware
Change-Id: Ic84728b315b4729470238098a91ef6bb629b3f7b
CRs-Fixed: 865207
qcacld-3.0 to qcacmn propagation
Enhanced mcast filtering for incoming packets that have
multicast IP but unicast mac
Change-Id: Id50d9130f050ec9a948fdba9931c88b9111bb6ad
CRs-Fixed: 865207
Replace Linux return type with QDF_STATUS to have uniformity
across common wmi layer.
Change-Id: I74730602c6b20fb240182afd7c6e5ec6b3fcfd55
CRs-Fixed: 987362
Replace mac_id with pdev_id, add vdev_id to peer commands/events
and change reserved0 to pdev_id in PDEV commands.
Change-Id: I2f659159fa2f0d023650eae68b6d3115aac379b0
CRs-Fixed: 983619
wmi rx event context can be modified at runtime by
upper layers. Protect rx execution context for wmi events
to avoid race conditions.
Change-Id: I7eed7108d09f8f39432990b2ebfef29a41bfa9aa
CRs-Fixed: 983619
Adapt common wmi layer with converged os abstraction layer.
Remove references to non-converged header files from
wmi layer.
Change-Id: I3671a40604fa1a5f10a5a67106db33f382e0f335
CRs-Fixed: 983619
Remove hard-coded rx execution context of wmi event callbacks.
UMAC layer needs to register execution context while registering
events with wmi layer.
Execute wmi rx event callbacks in following context-
1) work queue context provided by wmi layer.
2) umac provided context, umac can choose to
execute in thread context or default tasklet context
based on umac implementation.
CRs-Fixed: 978619
Change-Id: Id9b1f1e5157e8a203f93a62791f85a8145cc1599
Add common unified API and tlv/non-tlv callback wrappers.
Add tlv implementation of common MCL/WIN API.
CRs-Fixed: 978603
Change-Id: I7e70b48ef5e1df0c0f81c639579e6eb1a6685dc3
Modify wmi handle and wmi unified interface API
for common wmi layer.
Register UMAC callbacks using opaque callbacks.
CRs-Fixed: 978579
Change-Id: I505fe4ac339213db30bb00695234c4cfea5a5908
Add new directory structure and new files for
tlv and non-tlv implementation.
wmi layer shall not use global context of other layer,
remove global context and unused methods.
CRs-Fixed: 978547
Change-Id: I230f59052d9db8e1660cc087b09e03641227f490