Add multiple vdev restart command request WMI command API and
extraction API for CSA count status event to support CSA implementation
for beacon offload.
Change-Id: Ic309f592137dc725e04590dc0093f30b481ebf9b
CRs-Fixed: 2000449
Firmware requires WMI commands to be sent on different copy engine for
each MAC. Add support in WMI to use different endpoints for each pdev.
Change-Id: Ie0dfe71043275ac694362f88b625219f089b5303
CRs-Fixed: 2005214
Support to add hw_mode in init command is added by FW
to let host choose the mode to be use. Change init cmd
send API to enable upper layer to send the hw_mode selected.
Since this is new TLV in init command, init cmd send API
needs to be changed to accommodate this parameter.
Change-Id: I172d8d737425599c36666d9fec8a6cdd48085097
CRs-Fixed: 2004652
pdev_id is required to identify the pdev object on which this event is
recieved. Add pdev_id in the event extract API.
Change-Id: Ia910d42af6a9d6099da1b7781601b0320dff80ba
CRs-Fixed: 2003898
pdev_id is used to get the pdev for which the event is recieved. Add this
in extract APIs to fetch the pdev from pdev_ids and use it for further
processing. This is change is part of changes required to support
multi-radio.
Change-Id: Iadda098ccb31be5e8e43083158802abe49ac01b4
CRs-Fixed: 2003898
Converge on common WMI event handling for (ext)service ready
such that common PSOC object can be populated after common parsing.
Legacy (ext)service ready handlers continue to co-exist to support
legacy modules. Legacy service ready handlers can be removed once
legacy modules are also componentized and start using new object
model of PSOC, PDEV, VDEV and PEER.
To support multiple SoCs register for various psoc objects via legacy
callback registration routine during psoc probe and populate common
psoc object once WMI (ext)service ready event is parsed.
CRs-Fixed: 1110768
Change-Id: I966b8f7c775a19ac6e51ad5217a2dd0287acfada
Change all the WMI API's event buf length param to
uint32_t to adjust to event buf length param type
in the wmi_unified_event_handler().These changes are
needed to converge on the common service ready handlers.
Change-Id: I553bab579f514c356b59b003c0ec66c17e60e26f
CRs-Fixed: 1110768
Change signature of tgt_mgmt_txrx_rx_frame_handler API
and mgmt_frame_rx_callback by replacing rx params of type
void pointer with that of struct mgmt_rx_event_params
pointer.
Change-Id: Idfa54f1c9bfec22a2cf2e98740765dcd797513df
CRs-Fixed: 1103247
This patch adds support of new WMI command WMI_COEX_VERSION_CFG_CMID
for 4-wire coex configuration in non_tlv_ops.
Change-Id: I63da2c7ae99c38d297f7f13a8086611263f7fc5b
Acked-by: Daniel Kim <kimdan@codeaurora.org>
CRs-Fixed: 1081065
This is needed for a requirement to change A-MPDU configuration
from per radio to per vap.
Change-Id: I916985d49bc5b059b7887b945acde798be0b38e3
CRs-fixed: 1107866
Add pdev_id in FIPS extract params to be used to get appropriate pdev.
Also refactor extart APIs to get all data in one API and implement TLV
APIs.
Change-Id: Ib58d54ad0dcc25814e58f45e7e4a83d01549a523
CRs-Fixed: 1115213
Add TLV APIs to extract DCS intereference event. Add pdev id in
extract API used to derive pdev object.
Change-Id: Ie42ec1e3aec899ddc5b6b13d37dfd468ee29df7c
CRs-Fixed: 1115213
Add extract API for handling UTF event data received from the target
for both TLV and non-TLV cases.
Change-Id: I62525d7c8663fe90e0e3e76cf5286bb9dc86acd0
CRs-Fixed: 1115293
Convert the wireless_modes HALPHY capability from FW defined REGDMN_MODE
values to host internal WMI_HOST_REGDMN_MODE values. This will help make
host code independent of target specific definitions.
Change-Id: I6d325f76959b35a3f854ade680f4d058c9d4bfcb
CRs-Fixed: 1061096
qcacld-2.0 to qcacmn propagation.
Don't Tag Non-WoW packets as Runtime PM packets after
wow suspend. Some WMI Commands can be send in Runtime
PM context and MC thread context. Packets coming via
MC Thread Context can be tagged as Runtime PM packets
when runtime pm in progress.
Packets should be tagged in the same caller context to
avoid any race condition. Being stability issue, addressing
this issue by not tagging any non-wow commands as runtime pm
after wow suspend. This will ensure all the non-wow packets
coming after wow_suspend flag is set as non runtime pm packets
and will trigger a runtime resume.
Git-commit: 4a396d80c5cc2ded75098c61426521b9b2762c17
Git-commit: 2ee4bf4791cc5db30ec03eceaf591367deffe39a
CRs-Fixed: 1106496
Change-Id: I4e55733ad8403581aca0b49ce9442fc5591335c0
wmi_stats_event structure is defined in FW header wmi_unified.h with
variable length data as A_UINT8 data[0]. KW tool perceives this
as a single uint8 and throws zero sized array when we try to access buffer
following data.
A uint8 pointer is assigned to data for this purpose in order to fake
the tool and resolve the issue.
Change-Id: I998f80c84554bc5bf4d0b2df1dae85352d72cb21
CRs-Fixed: 1106787
When CTL array is configured using acfg_tool, the CTL values are not
impacting powers due to incorrect band value passed to the FW. It is
found that the memory copy for band and CTL array are done together
in a single operation.
However, with convergence, both acfg_tool and wifitool will call the same
underlying WMI API to set the CTL table. In order for concurrent working,
we need to copy the band value separately for acfg_tool, before copying
the CTL array. This fixes memory corruption that is currently seen
as evident from the garbage value for CTL band.
CRs-Fixed: 1087168
Change-Id: I42f6bc39eb3930e8c995ff76294b7d77676f2299
Add WMI host defines to check cal data status and use appropriate copy
macros to take care of big-endian conversion.
Change-Id: I4358761e807ac584c638b6e36229dbbbb85bf651
CRs-Fixed: 1105756
Remove SUPPORT_64BIT_CHANGES compiler flag to make code common for both
64-bit and 32-bit platform.
Change-Id: I47e43c39e7f58cd04cbc3fb21d348af6b094e006
CRs-Fixed: 1105174
The term "agile" is used by hardware for swift/fast channel change.
Use precac for the zeroCACDFS instead.
Change-Id: I35f4d61cc93b3542feb8b286cbdf3a4474df5a75
Crs-fixed: 1073945
A new iwpriv command has been added to configure the period
and wlan duration for a btcoex duty cycle.
As a part of this registring the wmi_service_btcoex_duty_cycle
for WMI_SERVICE_BTCOEX_DUTY_CYCLE.
Also send_btcoex_wlan_priority_cmd registrtaion for btcoex
duty cycle command in non_tlv_ops.
Change-Id: I7f3bfdfd9804566d6d0b7cce7025e99db57d0e23
Acked-by: Basamma Yakkanahalli <ybasamma@qti.qualcomm.com>
CRs-Fixed: 1064437
Agile flag WMI_CHAN_FLAG_AGILE_MODE added. When this flag is set,
the primary VHT80 will not be affected when channel change is done.
Change-Id: Ie6bce12ec955c0c8a79246dda57092808611803d
CRs-Fixed: 1072504
Using a buffer after passing it to wmi_unified_cmd_send() induces a
race condition that may result in a use-after-freed situation. Fix
several potential use-after-freed situations when calling
wmi_unified_cmd_send() by ensuring all access to a buffer is done
before the call to wmi_unified_cmd_send().
Change-Id: I985aad6e49daf1d823e3751a9cb0a293a298323c
CRs-Fixed: 1089713
Analysis: strict passive scan is not working as the scan_ctrl_flags
check is missed when strict passive scan enabled
Change-Details : Added a support in ol_ath_scan_start_send() and
send_scan_start_cmd_non_tlv() to update the scan_ctrl_flags with
WMI_SCAN_FLAG_STRICT_PASSIVE_ON_PCHN when strict_pscan_enabled
Change-Id: If6713e340841d4947ef9042421dabec35f7bfbae
CRs-fixed: 1069383
For Beeliner family of chipsets, the number of values expected is 688
for 2G and 1540 for 5G
Change-Id: I2c47ed98f639c09453687fce7f713946304a7036
CRs-fixed: 1071083
Recently added changes for coexistence of WIN/MCL TLV implementation
through CL I6868c288a43fd3afb19c84b8a9d4ef0dfbee5c94 require
adaptations in QCA WIN driver to successfully compile.
Add required definitions in WMI layer to adapt WIN driver to
changes made for coexistence.
Change-Id: I99550ca10553d8096b8967249c006bac4e0c62df
Currently, RTT related operations to change report type and number
of measurements are done in the WMI layer.
Abstract these operations out of WMI layer and keep it in the WIN
host API layer to make the RTT WMI API generic.
Change-Id: I9b73830912c6c2b3d0908788f1f6a77b7f43dcaa
TxRx chainmask is populated by the FW only in the case when report
type is WMI_RTT_REPORT_CFR.
Populate txrx chainmask to 0 when RTT report type is non-CFR to avoid
corruption.
Change-Id: Ie728656efe2f608e90a15b6fc94be3159db0f635
CRs-Fixed: 1080686
LOWI messages to register, set capability
and send RTT measurement request are not sent assuming only
LCI and LCR messages are sent out to the FW using ol_ath_lowi_data_req_to_fw.
Add code to send messages other than LCI and LCR through the API in
ol_if_lowi.c when msg subtype is not one of LCI or LCR.
Change-Id: I2deedaa6e03e769bf802337b2ec93d9573eb1b5a
CRs-Fixed: 1079169
WMI_RECORDING:Fix implementation of WMI_MGMT_COMMAND_RECORD to
be compatible to WIN.
Current implemantation uses variables not applicable to
WIN.
CRs-Fixed: 1067944
Change-Id: I65b2415e40bd888d3b94ef5f04ec6d53b4d50da2
Extraction API for phy error event handling does not populate single phyerr
RSSI info for DFS radar event, but was populating the value in case of
spectral event. Single phyerr RSSI info is required for both DFS and Spectral
operations. As a result of this change, single phyerr RSSI info is updated
on receiving DFS event as well.
Change-Id: Idca3e4075e1869eda0d200a102e2ca2b7d33bf70
CRs-Fixed: 1076872
A_OK status is deprecated. Use QDF_STATUS_SUCCESS. Needed since
wmi_unified_cmd_send returns QDF_STATUS not A_STATUS.
see change: Ib9b0a60976dedcf8fcd4184083a9948892791621
Change-Id: I91209002c0a84a8353541c84cdc2e49ffdcc6654
CRs-Fixed: 1072077
On issuing iwpriv wifiX dl_loglevel <Val> command, there is a NULL pointer
dereference crash observed. It is root caused due to improper reference
to module_id_bitmap field, that needs to be corrected.
Change-Id: I59ff4455c74452bb00caff125f84213a2e9d7742
CRs-Fixed: 1066323
Fix following issues in wmi_unified_non_tlv.c file
->Move allocation of WMI buffer in FIPS WMI cmd
->Change dummymask variable to static in mcast_group_update cmd
Change-Id: I0a0d0e68820905ad543175abed1a812639b3dbf1
CRs-Fixed: 1069863
For big endian based offload radios, key installed using
WMI_VDEV_INSTALL_KEY_CMDID requires to be code swapped as the copy engine
for big endian platform does byte swap operation on the received key before
sending it down to FW.
It is observed that the big endian conversion is carried out in WIN Wi-Fi driver
for big endian platform specific radios in the driver, that takes care of
converting the key data to the byte swapped form. However, it is observed
that an additional copy is carried out in the WMI layer that is overwriting
the converted key with old key, in the non-swapped form.
We move the byte swapping operation to the converged component and do a single
memory copy using the macro that carries out its operation based on big or
little endian platform.
Change-Id: Ic6b7cc667d0f505d1d1daeacec72f54d41554038
CRs-Fixed: 1067206
Extraction API for phy error event handling does not populate composite
RSSI info for DFS radar event, but was populating the value in case of
spectral event. Composite RSSI info is required for both DFS and Spectral
operations. As a result of this change, composite RSSI info is updated
on receiving DFS event as well.
Change-Id: Ia77779251ccf230f7ca4242ee0851790305d2fbc
CRs-Fixed: 1066136
Non-TLV registrations for atf_peer, atf_group and lcr WMI command were
missed out during the WMI convergence implementation. This change adds
the missed out registrations.
Change-Id: I384c27709e088c06ee73f17b7dc1a52bb5c63370
CRs-Fixed: 1069863
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
Address compilation issues for WIN with new Lithium Firmware headers.
Also removed dependency on htt.h from header files, which may need to
add explicit dependency on htt.h in .c files.
Change-Id: Ia5027963837e645bc3f81a3db98c2ea06789aea8
CRs-Fixed: 1061096
The qdf_mem_set API is used incorrectly in a few instances inside
wmi_unified_non_tlv.c
The argument list is - <pointer to address, size, value>
However, some places, it is sent as - <pointer to addr, value, size>
This change fixes such incorrect function calls to qdf_mem_set().
Change-Id: Id50136f630022b1fdeaddbdefcad9f637f917e9e
CRs-Fixed: 1048504
This change implements the Non-TLV WMI API for setting bandwidth
fairness. This WMI command was implemented as part of the recent WIN SW
release. This change ensures it is adapted to convergence code structure.
Change-Id: Ib9984c43b91b105bfb4687a7591f4fab509febc4
CRs-Fixed: 1060577
This change fixes the compilation issues faced due to WMI convergence
changes on the big endian platform.
Change-Id: I18bae4fb7884683d8621ce9a862dc1a51ef84f82
CRs-Fixed: 1039318
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
Add changes made in wmi_unified_tlv.c to get basic control path
working with WIN driver on a tlv platform
Change-Id: I2044df3d452cd5f1c8659a8e61e343494c6228fb
Acked-by: kiranv@qti.qualcomm.com
CRs-Fixed: 1005778
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