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
Add host internal definitions for the enumerations
WLAN_BAND_CAPABILITY and wmi_channel_width defined in wmi_unified.h.
This is required in order to allow common host code to access these
definitions agnostic of the actual version of wmi_unified.h used.
Testing:
Compiled and tested association and ping on QCA8074 and QCA9984.
Change-Id: I966211deb29ff3d65817b36ac4c6aefdbd39221c
CRs-Fixed: 2005796
Hold additional reference to BSS node during node allocation, and free
it in delete response. This ensures BSS Node Freed event is sent to MLME
only after receving peer delete response for BSS node.
Change-Id: I384eac54f437000a1c09eb53751ad8b8e26617ad
CRs-Fixed: 1112381
Add WMI_HOST_WLAN_PHY_MODE enum values for 802.11ax. These values
correspond to the WLAN_PHY_MODE enum values defined in the host-FW
interface.
Note that the new values for WMI_HOST_MODE_UNKNOWN and
WMI_HOST_MODE_MAX will not necessarily correspond to the MODE_UNKNOWN*
and MODE_MAX*/PHY_MODE_MAX* values in FW header files for all
chipsets/architecture families. This is because:
1) The 'unknown' PHY mode should not be used in host-FW interactions.
2) WMI_HOST_MODE_MAX is not currently used for host-FW interactions.
3) MODE_MAX*/PHY_MODE_MAX* values in FW header files can have varying
values at compile time depending on compile flags such as
SUPPORT_11AX, which in turn depend on the chipset/architecture
family. However the WMI_HOST_WLAN_PHY_MODE enum is exposed to
chipset/arch independent higher layers within host which utilize WMI
layer services. Hence WMI_HOST_WLAN_PHY_MODE enum values should not
vary.
In case the max mode value needs to be used in host-FW interaction in
the future for some reason, this should be translated separately by
the arch dependent (and if ever required, chipset dependent) WMI layer
code into the enum value directly exposed by the relevant FW header
file version for that arch/chipset. Similarly, if the arch/chipset
dependent max mode value needs to be used in-within host code in the
future for some reason, a separate variable should be dynamically
populated by the WMI layer at attach time.
Later, it might also be preferable to convert even other
WMI_HOST_WLAN_PHY_MODE enum values into values directly exposed by FW
header files in the manner noted above.
Testing:
Tested basic AP bring-up on M2M Platform with 11ACVHT80 and 11AHE20
Change-Id: I64c7a1d7491d2213c740568c3e9e2f035c82746e
CRs-Fixed: 1106923
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
Add hw_mode_id. HW mode is received in extended service ready.
This will be used to determine FW capability to support multiple radio.
This is used on host to create multiple instantces of pdev on host.
Change mac_phy_cap extract API to get mac_phy_cap based on hw_mode_id
and phy_id
Change-Id: I9a6abdac8799d167828f13bef61b1a1d8c3e9769
CRs-Fixed: 1113888
Defination of enum WMI_DBG_PARAM is used only in host
so moved to host private wmi file.
Change-Id: I42a529b343e4e6e81b570c505385cfc8dbf9f017
CRs-Fixed: 1107600
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
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
Propagation from qcacld-2.0 to qcacmn.
Several Action frame categories are not processed in host and they
are not forwarded to supplicant either, but they are dropped in host.
These unprocessed action frames are forwarded to host by FW and
wake up host unnecessarily which leads to battery drain. With this fix,
host conveys FW the disallowed action frames list at HDD startup
so that the remaining frames can be dropped in FW itself thereafter
when under WoW mode.
Change-Id: I40b49d42df94085784c8f1d8321de0ee61473ae0
CRs-Fixed: 999114
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
Add wrapper to make WMI layer agnostic to the context in
which the WMI registered event handler should execute.
Change-Id: I3b8b4621cfa8d816188fdc5c688bce94528eca59
CRs-Fixed: 1096016
There is a regulatory requirement for Specific Absorption
Rate (SAR) whereby the phone transmit power is reduced
when it is determined that the phone is in close
proximity to the body.
Implement a vendor command interface to set SAR power
limts dynamically.
Change-Id: I0a214a2af780e9dd8c381c4e9eaa7d8cab6ef853
CRs-Fixed: 1098102
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
For WOW Enable, firmware accepts a bitmap of flags, but passing them
to firmware is not exposed by WMI. Modify WMI to allow passing WOW
Enable flags to firmware.
Change-Id: I458b01bc6a4e5b14b2a1dfee928136daeb70ebe9
CRs-Fixed: 1092068
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in wmi.
Change-Id: I2452ffa4e9fa1de8a7bd75d04dd4a0f94d7cf55c
CRs-Fixed: 1093298
Add helper routines to extract TLV params in WMI EXT service ready
event. These helper routines abstracts all TLV related information
providing APIs to extract ext serivce ready params.
Change-Id: Ic989331856ed2f9376965bdec4b658328f9e470b
CRs-Fixed: 1079237
qcacld-2.0 to qcacmn propagation
To debug the fwr stuck issue as early as possibile,
reduce the wmi max pending command threshold to 256
from 1024.
Change-Id: Ic3cbe26cca979dcaa68fca03e6fe1af397cf0c4f
CRs-FIXED: 1080761
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
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
Tx data capture feature needs a new WMI command.
The fw common file is already reflecting this new
command.
New enum is added to WMI_HOST_PKTLOG_EVENT for this
feature.
Change-Id: I7b8535a311033debbbee5f56c87ac4858a0aa8e1
CRs-Fixed: 1068402
Acked-by: Debasis Das <ddas@codeaurora.org>
qcacld-2.0 to qcacmn propagation
Make the following enhancements to the EPNO feature:
1) Implement the reset EPNO command handler
2) Add new parameters for candidate score calculation.
Change-Id: Iad1ff9c2b003c9e3ddbc3373366686040ccb55ca
CRs-Fixed: 1075380
If param->len was 0, ret would be returned without being initialized.
param->len of 0 is unexpected, so return an error.
Change-Id: Ib9b0a60976dedcf8fcd4184083a9948892791621
CRs-Fixed: 1072077
Add TLV changes to pass DISA parameters received from
WMA and pass them to firmware for firmware
to encrypt data and send back to driver.
Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1072545
qcacld-2.0 to qcacmn propagation
As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).
Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1067683
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
Send HT/VHT CAPs IE to firmware per band. This will allow certain
features like LDPC to be configured per band.
Change-Id: I21c83af984f9be3ade46121ef148b52568c3ad0f
CRs-Fixed: 1059454
As part of MBO(MultiBand Operations), host driver need to supply
the default scan IEs to firmware at wifi init time using existing
VDEV SET IE command. FW uses these Scan IE's in subsequent scans
.i.e. FW initiated Probe Requests.
This Fix updates the vdev_ie_info_param struct with ie_source.
ie_source will be set with zero for VDEV SET IE commands from
host driver
Change-Id: Ie2e87da8aa94b76aef431e25d9974b8fed63eba9
CRs-Fixed: 1039969
Enable or disable OKC flag in WMI roam scan offload request based on
okc_enabled parameter in roam request from CSR.
Change-Id: I19ad7ea2171532f2417742e205d408bdd52682c0
CRs-Fixed: 1057181