Commit Graph

1316 Commits

Author SHA1 Message Date
Gururaj Pandurangi
08148f21fa qcacmn: Enable/Disable 6G edge channels ch2 and ch233
Enable lower 6G edge channel ch2 (5935MHz) for APL2 6G regdmn
using a service bit WMI_SERVICE_ENABLE_LOWER_6G_EDGE_CH_SUPP,
which is not enabled by default.
Also, disable upper 6G edge channel (7115MHz) using another
service bit WMI_SERVICE_DISABLE_UPPER_6G_EDGE_CH_SUPP, that
is enabled by default.

Change-Id: Ia7cb7f7d3165375178adbe70adb19b8671496b6d
CRs-Fixed: 2885623
2021-03-12 02:52:25 -08:00
Priyadarshnee Srinivasan
d617a3a77f qcacmn: FW-Host Handshake for REG_CHAN_LIST_CC_EVENT
In order to support different power levels of 6G AP and client,
the channel list event from FW namely "REG_CHAN_LIST_CC_EVENTID"
is modified to add few parameters specific to 6GHZ devices.
Hence the existing event is replaced by REG_CHAN_LIST_CC_EVENT_EXT for
all 2G/5G/6G pdevs in FW. Therefore, after the service ready event, FW
sends the channel list for the configured country/regdomain via
REG_CHAN_LIST_CC_EVENT_EXT. This mandates that all host software need
to have the processing capability of REG_CHAN_LIST_CC_EVENT_EXT to bring
up the AP.

As there can be host software which has not yet implemented the
version of "REG_CHAN_LIST_CC_EVENT_EXT", backward compatibility is lost
if "ONLY REG_CHAN_LIST_CC_EVENT_EXT" is sent by FW.
Hence a 3 way handshake between host and FW is established.

1. FW advertises its capability of processing REG_CHAN_LIST_CC_EVENT_EXT
id via wmi service bit 'wmi_service_reg_cc_ext_event_support'.
2. If the host is capable of processing the "REG_CHAN_LIST_CC_EVENT_EXT"
event id (which is done based on registration of this event), host
sends the capability in WMI_INIT_CMDID setting a bit in host_service_flags.
3. Based on host capability advertised in WMI_INIT_CMDID, FW decides to
send the old event ("REG_CHAN_LIST_CC_EVENTID") or the new event
("REG_CHAN_LIST_CC_EVENT_EXT").
4. If there is no flag indicated by host to FW in WMI_INIT_CMDID, FW
by default sends the old event ("REG_CHAN_LIST_CC_EVENTID").

CRs-Fixed: 2876360
Change-Id: Ibe95f414ad9fff0e5641bcc6e60450ef9afe245b
2021-03-11 19:43:58 +05:30
sheenam monga
7359f9236d qcacmn: Add support to extract big data params
Add wmi support to extract params from
WMI_VDEV_SEND_BIG_DATA_P2_EVENTID.

Change-Id: Ifee6f5e94dc533af54c9333c434cdf9778eae3ca
CRs-Fixed: 2875576
2021-03-05 12:33:45 -08:00
sheenam monga
89ca16cb2f qcacmn: Add support to send WMI_VDEV_GET_BIG_DATA_P2_CMDID to fw
Send WMI_VDEV_GET_BIG_DATA_P2_CMDID to fw to get big data stats.

Change-Id: I40870a0d9106860f58272a200025870b41d4aef9
CRs-Fixed: 2861082
2021-03-05 12:33:36 -08:00
Srinivas Girigowda
b29d1e9018 qcacmn: TWT: Add support for not in range and IE validation fail status code
Add support for TWT AP params not in range and IE validation failed
status code.
Presence of num_additional_twt_params is enough to extract the additional
params sent by the firmware, there is no need for extra status check.

Change-Id: I9fa6afd22aa4de1b2a5b75fa98a00f89768dd8cf
CRs-Fixed: 2890682
2021-03-05 01:18:26 -08:00
Bapiraju Alla
7f0008db3f qcacmn: Add service bit support for LL_GET_STA command over QMI
For some targets, FW expects WMI_REQUEST_UNIFIED_LL_GET_STA command
always over QMI irrespective of WOW state. FW will crash if this request
is sent over WMI on those targets. Currently there is no direct way for
the host to identify this requirement by FW. So FW may crash when this
WMI_REQUEST_UNIFIED_LL_GET_STA stats request is sent over WMI.

To resolve this, add service bit support for LL_GET_STA request over QMI.
With this change the INI parameter send_ll_and_get_station_stats_over_qmi
becomes obsolete and corresponding code will be removed.

Change-Id: I43f2827a0b1cae6e75f1224f452f8277d53736b2
CRs-Fixed: 2847483
2021-02-23 05:31:18 -08:00
Hariharan Basuthkar
5af6064a0c Revert "qcacmn: Fix reg rule parsing order"
This reverts commit I5bb22a1dcd3f1c95d8f4498b03d6cc6eedcfe44c.

Change-Id: Ib7bf273a53f382da36106eab0a1b26af33d35a65
CRs-Fixed: 2880944
2021-02-20 23:34:56 -08:00
Abhishek Ambure
cd38c6bd4e qcacmn: Add host support for OCV service supported by FW
FW advertises WMI_SERVICE_OCV_SUPPORT bit in service ready event if
firmware supports Operating Channel Validation feature.

Change-Id: Ida1ee9874f9cd32a684ceee728e3323306137c64
CRs-Fixed: 2880794
2021-02-19 05:40:14 -08:00
Lincoln Tran
98c5d1eef3 qcacmn: Register NDI tx beamform support bit
Add WMI service bit handling for NDI beamforming support.

Change-Id: Ib1a4dc0042510137412f3ad4ded61ea680596978
CRs-fixed: 2876723
2021-02-18 05:35:10 -08:00
Amruta Kulkarni
d5cc294f49 qcacmn: Support roam invoke request in connection manager
Add support for roam invoke request in connection manager.

CRs-Fixed: 2869259
Change-Id: I618add058d39e9452530b1950cff57bfe6100448
2021-02-18 03:12:24 -08:00
Gururaj Pandurangi
8492c0f971 qcacmn: Add service bit to support backward compatibility
The host will send TPC power to FW via the new WMI cmd
WMI_VDEV_SET_TPC_POWER_CMDID going forward instead of
WMI_VDEV_PARAM_TX_PWRLIMIT to accommodate 6GHz channels.
But, to support backward compatibility for New Host+old FW
the TPC power will be sent to FW via legacy WMI cmds
WMI_VDEV_SET_PARAM_CMDID (during initial connection) or
WMI_VDEV_PARAM_TX_PWRLIMIT (power value change during RRM
req/bcn processing from connected AP) with the help of a
service bit WMI_SERVICE_EXT_TPC_REG_SUPPORT.

Change-Id: Iea1ecb62841c539c13a804ae9c475831b2d4c89c
CRs-Fixed: 2874250
2021-02-16 23:52:09 -08:00
Lincoln Tran
b16b4608c3 qcacmn: Fix reg rule parsing order
Currently, reg rules are processed in the order of LPI, SP, VLP. The
order from halphy is SP, LPI, VLP. Update the processing order so
correct reg rules are passed north.

Change-Id: I5bb22a1dcd3f1c95d8f4498b03d6cc6eedcfe44c
CRs-fixed: 2874752
2021-02-16 17:02:38 -08:00
Kai Chen
2667f112d8 qcacmn: Add CBF support for pktlog
Fix issue on enabling packet log.
Fix issue on logging CBF pkt in AP/STA mode.
Fix issue on setting data length 4 bytes aligned in pktlog header
, htt stats indication message header and Rx management TLV header.
Add CBF support for pktlog WMI enable command for firmware to enable
CBF receive.

Change-Id: Ib0067f32d7414be96503c4c67846c1312a59586e
2021-02-10 20:27:29 -08:00
Srinivas Girigowda
14bfc9057c qcacmn: Move ctrl_path_twt_stats functions to appropriate files
Move ctrl_path_twt_stats related functions to appropriate source
and header files.

CRs-Fixed:  2871393
Change-Id: I7043259c102e5aee6cbb13260ce2bb0c53c17853
2021-02-05 14:11:10 -08:00
Rajeev Kumar
5f5eda6e0e qcacmn: Set SAP and P2P GO D3 wow host WMI resource config
Set SAP and P2P GO D3 wow host WMI resource config such that
FW is aware of host capability and can allocate memory for
sufficient remote peers.

Change-Id: I05499f98bd6bc080a9aefb302be12873bf19ac35
CRs-Fixed: 2869055
2021-02-05 02:50:36 -08:00
Rajeev Kumar
afdf38701e qcacmn: Add WMI service handling for SAP and GO D3 wow
Add WMI service bit handlign for SAP and GO D3 wow mode
feature support.

Change-Id: I88efbf51d4cb0005f81ad86068f3278457f4eb05
CRs-Fixed: 2869065
2021-02-05 00:30:59 -08:00
Rajeev Kumar
459084ce35 qcacmn: Add SAP and P2P GO d3 wow support feature config
Add SAP and P2P GO d3wow feature support config to send it down
to FW during WMI INIT such that FW is aware when SAP and GO with
client connected mode d3 wow feature is enabled.

Change-Id: I04b398f71727112ce5c536bbf2bfcfd4eefe2752
CRs-Fixed: 2866604
2021-02-01 13:15:46 -08:00
Nandha Kishore Easwaran
a10cd5facf qcacmn: Swap bytes of ftm data in BE platform
Swap each word of ftm data before sending to FW.
This is needed since copy engine swap is enabled for big endian platform
and ftm data needs to be given to FW in network byte order.

Change-Id: I90b90adf77d92d254478605668efd94972c4129c
2021-01-31 00:48:48 -08:00
Abdul Muqtadeer Ahmed
96f3c808f1 qcacmn: Add pci gen switch in wmi resource config
Add a pci gen switch flag in the wmi resource config to send
to FW in the init command.

Change-Id: If3a50d80103387a8f1f77ecb43a16c7b41ce5a11
CRs-Fixed: 2865866
2021-01-29 20:57:19 -08:00
Debasis Das
3c30b6dd2b qcacmn: Update WMI to use non-inline OS abstraction API's
Use non-inline OS-abstraction APIs to avoid direct call to
OS APIs in wmi.

CRs-Fixed: 2742480
Change-Id: Ic87a8e74ba7f8c0095821b0dd2e21f8eecb6833f
2021-01-28 06:19:38 -08:00
Mainak Sen
16c8160755 qcacmn: Mesh TID latency configuration for Pdev/Vdev/Peer
WMI changes for Mesh low latency support for pdev/vdev/peer

Change-Id: Id2bf0a9b5f121ca6e91f47c209a4b5271952147f
2021-01-25 02:18:03 -08:00
Srinivas Dasari
c69a4facac qcacmn: Get WAPI concurrency capability from firmware
Firmware advertises service capability WAPI_CONCURRENCY_SUPPORTED
if it supports other security modes when WAPI is active. Get the
same from service capabilities to decide whether to accept a
new concurrent connection or not.

Change-Id: I718503e52be2dda8ebd440f5a68b496d846b6ffc
CRs-Fixed: 2858770
2021-01-25 00:06:19 -08:00
Aditya Kodukula
da6941915d qcacmn: Use wmi_info level to log suspend type
Suspend type log is very critical for debugging wow related
issues, and hence log this using wmi_info level.

Change-Id: Icac658bdb10682bc02dd5aa7ad37d0a74d4a2bc0
CRs-Fixed: 2860518
2021-01-22 16:12:22 -08:00
Chaoli Zhou
c87b5d218f qcacmn: Fix gpio direction conversion wrong issue
Since in wmi_gpio_config_cmd_fixed_param, the input
0 mean output, and 1 mean input, which is different
from host side enum gpio_direction. So add this fix
to do the right conversion.

Change-Id: Id60a9327e853440fd58a45c7c839109cf1f22c22
CRs-Fixed: 2856833
2021-01-22 07:36:42 -08:00
Rajasekaran Kalidoss
0d4a8a6781 qcacmn: Add wmi support for REQUEST_CTRL_PATH_STATS
Firmware has added support for control path stats
infrastructure. Add wmi support to prepare wmi tlv buffer
and send WMI_REQUEST_CTRL_PATH_STATS_CMDID. In the response
path, add support to handle WMI_CTRL_PATH_STATS_EVENTID and
extract the tlv.

Change-Id: I930a44187af29adfda8acd90d0e41cff5fc94603
CRs-Fixed: 2856370
2021-01-22 07:36:38 -08:00
Bapiraju Alla
e1846078cd qcacmn: Remove duplicate set packet len for QMI event buffer
For QMI events qdf_nbuf_set_pktlen is invoked twice. Once in
wmi_buf_alloc and again in __wmi_process_qmi_fw_event. Remove
this duplicate set packet length.

Change-Id: I06c7e077fb1d554215a5ebc52f9d69a333a25a84
CRs-Fixed: 2859036
2021-01-22 01:33:04 -08:00
Balaji Pothunoori
10f5253c35 qcacmn: aggr ba enable set for firmware compatibility
firmware will honor ADDBA aggr size config from host if host
set aggr_ba_enable else default behavior intact.

Change-Id: Iaaf929a74b44ac94370f1d98b7aef7aaec308eff
CRs-Fixed: 2852999
2021-01-21 21:17:00 -08:00
Balamurugan Mahalingam
e6f77fba82 qcacmn: Add support to send multi pd pdev param
Using this option the user pd assert and root pd assert can
be linked together or unlinked from each other.

By default, a user pd assert leads to root pd assert.
Unlinking the user pd assert from root pd assert helps in
handling the selective radio recovery seamlessly.

Change-Id: I734805b060bf1cb11a0dc325bae5dbf6ed7db83f
2021-01-20 12:08:18 -08:00
Deeksha Gupta
afd8be823a qcacmn: Send AKM in peer assoc command to firmware
Initially, Host updates the AKM only after the EAPOL
handshake. Due to this, Enterprise auth is not detected
for initial connection.

Add AKM in peer assoc command(WMI_PEER_ASSOC_COMMAND)
to the firmware. In firmware, this will help to detect
Enterprise auth as part of connection and prioritize
the WLAN connection over BT traffic accordingly.

Change-Id: I6463dacbba098c76e6c3b7f4722915797bee1a99
CRs-Fixed: 2848392
2021-01-19 03:52:08 -08:00
Rajasekaran Kalidoss
29c549c6eb qcacmn: Add support to get TWT features supported by Firmware
Firmware has added TWT nudge, All TWT and TWT stats support.
This feature capability is advertised by firmware in service
ready. Add support fetch and store this information.

Change-Id: Ife3f9e4fbebd5e971c512115d924535a84bf82e6
CRs-Fixed: 2854129
2021-01-15 18:46:22 -08:00
Lincoln Tran
e9c3eda862 qcacmn: Add API to send set TPC power command
Add new API to handle the logic of sending the WMI command,
WMI_SET_TPC_POWER_CMDID. Create the struct to hold this new
transmit power information.

Change-Id: Ibc7c6109176577f56d149baf87022de557e84445
CRs-fixed: 2841781
2021-01-15 14:38:39 -08:00
Ananya Barat
6b309b7dbe qcacmn: Enable STA DFS in F/W
If STA DFS is enabled before vdev creation through etc/config/wireless
then VDEV START is sent to F/W as a part of the normal flow to bring
the VAP up. However, if STA DFS is enabled/disabled on the fly for a
running VAP then do a VDEV STOP, followed by a VDEV START of the STA
VAP and set/unset WMI_CHAN_FLAG_STA_DFS flag in VDEV start.

Change-Id: I032ffa53d89eaafcb43c648670af3b3f2134561f
CRs-Fixed: 2843248
2021-01-13 02:34:49 -08:00
Lincoln Tran
28f0da1660 qcacmn: Register event handler for new chan_list evt
Register the event handler for new WMI event,
WMI_REG_CHAN_LIST_CC_EXT_EVENTID. Extract the parameters to be used when
building the channel lists in the regulatory component. Update the reg
rule parsing function to include the new PSD flag and PSD power levels.

Change-Id: I0f5a747f98e43ac3d43b4aa1fb5958f0eac69a9d
CRs-fixed: 2843793
2021-01-12 20:09:49 -08:00
Pragaspathi Thilagaraj
0e5b3623ef qcacmn: Add support for new TWT teardown status
Add support for additional TWT teardown status:
WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN &
WMI_DEL_TWT_STATUS_ROAMING

Change-Id: I0764d3a65bfe14afbb0e4dfd513fa92a9235cc21
CRs-Fixed: 2852291
2021-01-12 12:11:23 -08:00
Rhythm Patwa
1ef2be6f05 qcacmn: Add support for Mesh mode WMI
Add support for Mesh mode configuration WMI.

Change-Id: I5954f44168cde7b2acb58a04b6b009ddbad1d90d
CRs-fixed: 2849073
2021-01-08 09:57:08 -08:00
sheenam monga
b9d73b5beb qcacmn: Add support to handle BIG_DATA_P2_EVENTID
Fw advertise big data stats in response of host
command WMI_VDEV_GET_BIG_DATA_P2_CMDID.

Add interface change to handle BIG_DATA_P2_EVENTID.

Change-Id: I906afb71eb7f6bf95cd967a69d56fa333ecae177
CRs-Fixed: 2848445
2021-01-08 04:09:21 -08:00
Rajasekaran Kalidoss
d7ec7b4010 qcacmn: Add support to handle twt notify event
Add support to handle twt notify event from firmware.

Change-Id: Ia4a84b0f3cfb76401681707c08e8169d07dacdbd
CRs-Fixed: 2847179
2021-01-07 10:29:02 -08:00
Shwetha G K
d384cff416 qcacmn: Populate additional parameters from CFR capture event
Add CFO, agc_gain and rx start timestamp related parameters
to wmi_cfr_peer_tx_event_param and populate the same with
data from FW peer tx event.

Change-Id: I462fa56a854b18d1f9b46d1e14eea85da0d45f23
2021-01-07 08:18:07 -08:00
Shashikala Prabhu
3a7cf8ca4a qcacmn: Move WIN only wmi structures to qca-wifi-oss repo
Move WIN only WMI structures from cmndev repo to oss repo.

Change-Id: I1d11f5573385e687a4ec25531cb87432e198f4af
CRs-Fixed: 2847337
2021-01-05 20:28:27 -08:00
Kai Liu
d7c8cf6738 qcacmn: Fix wrongly used wmi hang data event/cmd log buffer
WMI cmd and event use different log buffer, when trace the hang
data, proper wmi buffer should be used according to API's parameter.

Change-Id: Ic87482e92600b2bb579347447388a791dc2ca563
CRs-Fixed: 2847223
2021-01-05 18:14:44 -08:00
Rajasekaran Kalidoss
9fc1e5f34b qcacmn: Add wake time absolute tsf value field in nudge command
In nudge response, FW sends wake TSF value. Implement changes
to handle wake TSF values.

Change-Id: I941f1dbab3ba83bba1f0b8e03b83d1b81365c7dd
CRs-Fixed: 2847181
2021-01-04 22:47:21 -08:00
Edayilliam Jayadev
962647ba6c qcacmn: Add "Spectral disable" WMI service bit
Add a new WMI service bit to indicate whether normal
Spectral scan is disabled.

CRs-Fixed: 2840128
Change-Id: I09314afeb5372f83b8356e06f245c83c7acbc85d
2020-12-30 07:06:00 -08:00
Bapiraju Alla
00678d250a qcacmn: Don't consider WMI_MIN_HEAD_ROOM in WMI msg length
Currently, Host driver assumes WMI_MIN_HEAD_ROOM is part of WMI
messages and Validations are done accordingly. But this
WMI_MIN_HEAD_ROOM is not considered in the firmware. Because of
this host may drop valid events.

To avoid this, Don't consider WMI_MIN_HEAD_ROOM while validating WMI
msg length.

Change-Id: I5f1fe12cfae570e636defb8a4a46ec154f988195
CRs-Fixed: 2844982
2020-12-29 15:49:55 -08:00
Nandha Kishore Easwaran
6547f0f671 qcacmn: Swap bytes of key_data in big endian platform
Swap each word of key_data before sending key install command.
This is needed since copy engine swap is enabled for big endian platform
and key needs to be plumbed in network byte order for decoding to happen
correctly.

Handle the swap in wmi layer since all other big endian conversions are
handled in this layer.

Change-Id: Ia6f0d579f3edaf32193c353ea2fe35cc40f55399
2020-12-28 08:56:09 -08:00
Kiran Kumar Lokere
982bf62718 qcacmn: Add support for keepalive with mgmt frame tx
Add support to configure the keep alive packet as management frame
to FW.

Change-Id: Icaf88f30981eeac2b282f35c3a719950e3e0d1df
CRs-Fixed: 2788504
2020-12-23 20:55:55 -08:00
Pragaspathi Thilagaraj
7815fdacc7 qcacmn: Add support for TWT wake duration and interval tolerance values
Add support to configure minimum and maximum wake duration
values, minimum and maximum wake interval values for TWT setup.

Change-Id: I69c328815be511833abce0fcd18649e136027f53
CRs-Fixed: 2827115
2020-12-23 11:35:23 -08:00
Shashikala Prabhu
8c3705336e qcacmn: Add support to send FTM responder/initiator cmd to target
Add support to send FTM responder/initiator support to target.

Change-Id: I6649d90941a7448ff1901a3f1194d8d0620481cc
CRs-Fixed: 2781144
2020-12-21 20:55:11 -08:00
Shashikala Prabhu
9cbe634741 qcacmn: Define callback functions for LCI/LCR command send
Define callback functions to send LCI/LCR commands to  FW.

Change-Id: I4a9d97f65a4d5b3fbeb017e165ef207941af85ee
CRs-Fixed: 2832129
2020-12-20 05:04:54 -08:00
Paul Zhang
59ef5a49a8 qcacmn: Add support for WMI_TWT_NUDGE_DIALOG_CMDID
Add support for WMI_TWT_NUDGE_DIALOG_CMDID and
WMI_TWT_NUDGE_DIALOG_COMPLETE_EVENTID.

Change-Id: I9d4bf1061f6f08479967619ce50d2756c062f55f
CRs-Fixed: 2825138
2020-12-18 01:50:16 -08:00
Liangwei Dong
6e67047de5 qcacmn: Report thermal target shutdown level
Support new firmware thermal level WMI_THERMAL_SHUTDOWN_TGT
to indicate target over heat and need to be shutdown completely.

Change-Id: Icdb8aab9fe7b8914681cc46a4ccb5579781c587d
CRs-Fixed: 2835410
2020-12-17 23:46:06 -08:00