Commit Graph

1333 Commits

Author SHA1 Message Date
Deeksha Gupta
209a75fa6c qcacmn: Convert WMI status code for TWT get_stats
Convert firmware enum WMI_GET_STATS_TWT_STATUS_T status code
into host enum WMI_HOST_GET_STATS_TWT_STATUS.

Change-Id: I8fbb497bff11a3629689d6d8e2be5b8c9835b2de
CRs-Fixed: 2923085
2021-04-22 17:34:17 -07:00
Srinivas Girigowda
216b52af2f qcacmn: Add debug logs in cp_stats event path
In the issue reported, the clear stats request from the
user space is timing out because event id from firmware is not received.
From the logs it is not clear whether host driver received it or dropped
it in the error path.

Add debug logs, to make sure cp_stats event id is received in the host
driver and also in error cases.

Change-Id: I634714281db4a82826791725ec38fd589334cde8
CRs-Fixed: 2926978
2021-04-20 17:05:51 -07:00
Shwetha G K
23d574115e qcacmn: Support to get dpd status from FW
WMI changes to rerieve current dpd status from target.

CRs-Fixed: 2885488
Change-Id: Iddfcbf63fccac87b52d3ac242ba078f8210cb6d0
2021-04-19 05:06:55 -07:00
Paul Zhang
cedbb9d221 qcacmn: Support congestion report on multiple interfaces
Support congestion report on multiple interfaces

Change-Id: I8a3dcc006576b26574e072cf6f74daee4925e6be
CRs-Fixed: 2909919
2021-04-14 05:34:26 -07:00
Vulupala Shashank Reddy
0e7182e1ca qcacmn: Extract TSF time stamp for mgmt rx packets
Extract TSF time stamp for mgmt rx packets.

Change-Id: Id76048d79ea1937c002479314e83b40da807771b
CRs-Fixed: 2916738
2021-04-14 00:52:25 -07:00
Priyadarshnee Srinivasan
2b51168ba8 qcacmn: Add 11BE wireless mode and NO11BE phybitmap
Extract the 11BE flags advertised by FW in WMI_SERVICE_READY_EXT2_EVENTID
and update the regulatory pdev wireless modes. The wireless mode is
currently represented as 'uint32_t' and all the 32 bits are exhausted.
To accommodate the new 11BE flags, change the data type of wireless_modes
from 'uint32_t' to 'uint64_t'.

Add a regulatory phymode 'REG_PHYMODE_11BE' in enum reg_phymode.

If the chip does not support 11BE phymode, FW advertises it via
WMI_REGULATORY_PHYBITMAP enum with a value of REGULATORY_PHYMODE_NO11BE.
Extract the phybitmap and store it in the regualtory
as 'REGULATORY_PHYMODE_NO11BE' bitmap.

CRs-Fixed: 2901260
Change-Id: I4ed3fc7c907b1f76e59efb347c747acea2a163b0
2021-04-12 05:42:52 -07:00
Deeksha Gupta
b1faf3e88d qcacmn: Add new reason codes for TWT session
The firmware sends new reason codes due to roaming in
progress and channel switch. Add new reason code for
TWT session.

Change-Id: I3820ac74910e382f5a029de85f8e0915220bb996
CRs-Fixed: 2908384
2021-04-08 10:50:07 -07:00
sheenam monga
9b74a6bc2a qcacmn: Add support to offload igmp feature to fw
Send command with required params to offload igmp
feature to fw.

Change-Id: I8b34b3f465c85db6b6cccd5fba439bee1c5640f4
CRs-Fixed: 2908041
2021-04-07 21:52:10 -07:00
Venkateswara Swamy Bandaru
216478aaae qcacmn: EHT changes as per latest fw cmn headers
Updated the EHT related variables as per latest fw cmn headers.
Address review comments from previous EHT gerrits.

Change-Id: I67cd58a4efcf3e06d2ca3b5570432593b1d80825
CRs-Fixed: 2902607
2021-04-05 04:45:25 -07:00
Venkateswara Swamy Bandaru
a8e24fd6c0 qcacmn: Add 11be support WMI peer assoc command
Add 320Mhz band width support and EHT capabilities information in
WMI peer assoc command.

Change-Id: Ie4ee95fb1790c828275e90b384b2bdc04efb3f29
CRs-Fixed: 2882054
2021-04-04 04:55:43 -07:00
Venkateswara Swamy Bandaru
b390b57146 qcacmn: Add 11be phymodes support in WMI
Extend phymodes to support 11be phymodes in WMI layer.

Change-Id: I98e7f5eac90952ed7daf26745fc9731c128756e5
CRs-Fixed: 2881926
2021-04-01 23:35:57 -07:00
Venkateswara Swamy Bandaru
11f4850bfd qcacmn: Initialization changes for 11be
EHT capapilities will be received as part of ext2 service ready message.
Update the structure as per firmware common header file and extract the
EHT capabilities field.

Change-Id: Id2dd170db4de588008742f95493d4d06a6431f1c
CRs-Fixed: 2857802
2021-04-01 06:11:30 -07:00
sheenam monga
937c5c5af7 qcacmn: Read fw capability to offload igmp
Read fw capability to support igmp offload

Change-Id: I87ff7b07a5add99d8e9f8234912b656e5b866569
CRs-Fixed: 2904971
2021-03-31 12:06:55 -07:00
Yeshwanth Sriram Guntuka
6611374cf4 qcacmn: Trigger sys wakeup for WMI command when WOW is enabled
DHCP packet is received in the IPA exception path when
system is suspending. As part of DHCP packet processing,
WMI_PEER_SET_PARAM_CMDID is sent to FW after WOW is
enabled resulting in self recovery getting triggered by
host.

Fix is to do an explicit system wakeup if a WMI command
has to be sent post WOW enablement.

Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2890913
2021-03-31 01:04:01 -07:00
Aditya Sathish
e15153c092 qcacmn: Add WMI service support for DCS AWGN
Add support to read the WMI service bit describing support
for the DCS AWGN interference detection mechanism.

CRs-Fixed: 2906768
Change-Id: Id062b9d63a09f522ac1efdbaf6731665fa438630
2021-03-30 01:46:56 -07:00
Aditya Sathish
b14ef93b0c qcacmn: Add WMI support for DCS AWGN interference detection
Add support for storing AWGN interference information for
dynamic channel selection

CRs-Fixed: 2903860
Change-Id: I5d0b6cc0a55303cfb27a02b99aba066557ad9c7d
2021-03-26 00:26:55 -07:00
Pragaspathi Thilagaraj
f8039b129e qcacmn: Add new TWT teardown status code
Add new TWT teardown status code to indicate firmware teared
down the TWT session due to concurrent connection established.

Change-Id: I9b0fb5c5179355f34bd07e91a996da3ade1c9ce8
CRs-Fixed: 2899575
2021-03-24 15:01:00 -07:00
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