Commit Graph

719 Commits

Author SHA1 Message Date
Visweswara Tanuku
1f0b8fbc9f qcacmn: Add event ids for motion detection events
Add event ids for motion detection event and motion detection
base line event

Change-Id: I84c4ada04fad2de710a85ec510cb36f8d8ae8059
CRs-Fixed: 2548260
2019-10-26 11:55:23 -07:00
Aditya Sathish
796d538394 qcacmn: Add WMI support to enable multicast rate-control
Add WMI support to enable multicast rate-control as a VDEV
parameter.

Change-Id: I1e970b50d45148abda5a274bec672ff6d7447c5f
CRs-Fixed: 2546483
2019-10-24 20:06:17 -07:00
Yue Ma
93fe6e55b4 qcacmn: Add WMI unified header file for crypto
The header file will contain WMI API definitions specific to
crypto component.

Change-Id: I97a3366e66bc424a820cdc02e6a17571ad89c737
CRs-fixed: 2533529
2019-10-21 21:31:37 -07:00
Manikandan Mohan
30ea188f11 qcacmn: Update set pcl handling for channel frequency
Due to channel number ambiguity with introduction of 6Ghz support
policy manager APIs are updated to use frequency values instead
of channel number. Update set pcl WMI handling to adapt for frequency
usage.

Change-Id: I69bac781036ed9faee8842190d9bf19abca3ec61
CRs-fixed: 2540002
2019-10-19 17:46:33 -07:00
Rhythm Patwa
c5068e341f qcacmn: Add support to offload FILS Discovery to FW
Construct the FILS Discovery frame template and send
template to FW.

Change-Id: I1052b9b8240ea9461e19bb70887b49aabffc4e05
2019-10-16 21:54:34 -07:00
Rhythm Patwa
7232cb187e qcacmn: Add support to parse 6GHz specific IEs
Add support to scan for the 6GHz band capabilities
IE and parse the IE. Added peer assoc param for updating
the minimum data rate advertised by the peer in 6GHz
Opration information.

Change-Id: Iebb4379d321832f3ed2bcd3174a54843fa2d497c
2019-10-16 21:54:30 -07:00
Shaakir Mohamed
af7c6e0445 qcacmn: Support pdevid conversion map for wmi_handle
Support pdevid conversion map for dynamic mode switch

Change-Id: I350d66b142c7206f87e4182abfbe990bdc0faa7d
CRs-Fixed: 2509336
2019-10-15 14:49:23 -07:00
Amar Singhal
56246e9faa qcacmn: Send multiple WMI_SCAN_CHAN_LIST_CMDID messages if required
If more than MAX_NUM_CHAN_PER_WMI_CMD are present, wmi buffer size can
exceed the maximum allocated buffer size. So iterate over the channel
list, and send multiple messages till channel list is empty. Also check
if 6 ghz channel is a PSC channel and mark channel flag accordingly.

Change-Id: I977a2d220c750cec1f261377b3838360bd8c0df3
CRs-Fixed: 2522763
2019-10-06 18:13:07 -07:00
Kiran Venkatappa
744c36176e qcacmn: Add support to send number of tx_desc limit to FW
Add support to send number of tx_desc limit to FW

Change-Id: I0465b0ca0579869d3278f8e55dd8957b07e39ac7
CRs-Fixed: 2530471
2019-10-05 19:10:47 -07:00
Naga
542fe34d96 qcacmn: Create separate wmi file for vdev mgr tlv ops
TLV and non-TLV definitions of vdev mgr ops are in component_dev,
they are carved out to a separate file in cmn_dev/wmi for adapting
target_if/vdev mgr component, they are made part of same file
which conflicts tlv design. Create separate file for tlv ops
to definitions and enable respective pointers.

Change-Id: I1e67c7c59adee61b4eb46acb8f51a7a6c385f056
CRs-Fixed: 2517009
2019-10-03 05:08:38 -07:00
Min Liu
2c14fae3d5 qcacmn: Add interface to get / set eLNA bypass
Add interface to get / set eLNA bypass from / to firmware via WMI.

Change-Id: I2ed78aece6703c18999fdfbfdfa159a2abd477a6
CRs-Fixed: 2498526
2019-09-21 02:47:10 -07:00
Manikandan Mohan
9b1b93cfcd qcacmn: Add support for WMI over QMI
Add support for WMI over QMI to reduce power consumption for
periodic stats report.

Change-Id: Ic57b2bd18be803c97ffeea2e0073751d31e02202
CRs-fixed: 2521835
2019-09-19 18:56:11 -07:00
Debasis Das
a7b2f9a1d1 qcacmn: Process dma_ring_caps from EXT2 event
EXT2 event carries the dma_ring_caps TLV.Necessary
support is added to process the same.

Change-Id: I6bdfa2901c4213229a3fbb436120f993635a2925
2019-09-17 12:12:37 -07:00
sheenam monga
446837d5f8 qcacmn: Send vendor_roam_score_algorithm ini to firmware
vendor_roam_score_algorithm is added in order to
enable/disable roam score algorithm.
With this roam score Algorithm, AP score will be calculated
based on below equation:
AP Score = (RSSIfactor * rssiweight(0.65)) +
                        (CUfactor *cuweight(0.35))
Add vendor_roam_score_algorithm inside scoring_param
and inside function send_roam_scan_offload_ap_profile_cmd_tlv
populate score_param->vendor_roam_score_algorithm_id
from ap profile.

Change-Id: I21bb788d96a34c3bf237f0d304e51a7f4664d2ee
CRs-Fixed: 2517492
2019-09-17 05:15:25 -07:00
Subrat Mishra
3645c34060 qcacmn: Smart Antenna Multi radio support
Smart Antenna WMI cganges to extract pdev_id from
WMI_PEER_RATECODE_LIST_EVENT data.

Change-Id: I726d7615c7c624b20c5bfd5ae3e82bcdc1a9ad28
CRs-Fixed: 2514500
2019-09-10 12:23:03 -07:00
Disha Das
fe93761b89 qcacmn: Enable DISA WMI for FIPS
Enable DISA WMI commands for FIPS CCM test
by moving DISA WMI code to unified tlv files.

Change-Id: I90e82fef0e7e365faa6e15d555bf4d431214e14a
CRs-Fixed: 2516897
2019-09-09 23:27:43 -07:00
Abhishek Singh
5f1a994b1d qcacmn: Remove unused hidden ssid vdev restart command
Remove unused func and structures for hidden ssid vdev restart.

Change-Id: Ia22c7676ce582e2b554ff845c11641a6ef9d3013
CRs-Fixed: 2522560
2019-09-07 06:18:50 -07:00
Sourav Mohapatra
6561456601 qcacmn: Add support in host to receive ext2 ready event
Currently the host gets service_ready_event and service_ready_ext_event
during the init sequence as a part of handshake with firmware. As the
size of the service_ready_ext_event exceeds on adding further
parameters, new event is created.

Add support for WMI_SERVICE_READY_EXT2_EVENT to be processed after
WMI_SERVICE_READY_EXT_EVENT based on the service bit
WMI_SERVICE_EXT2_MSG.

Also add support to extract the reg db/bdf version information that
comes inside the ext2 event.

Change-Id: If0b57af362e7eb653f9189b912ec1dd3efb0f731
CRs-Fixed: 2501132
2019-09-04 11:31:00 -07:00
Linux Build Service Account
ea8878646c Merge "qcacmn: BA window reset after FT roam" 2019-08-30 05:36:51 -07:00
Tushnim Bhattacharyya
33087cb402 qcacmn: Include wmi.h on the correct header files
Include wmi.h in wmi files.

Change-Id: I0584e58c5ae64e8ed93d024aa7943a9cdcdb07c8
CRs-Fixed: 2514753
2019-08-29 22:11:16 -07:00
Gurumoorthi Gnanasambandhan
1ea546454f qcacmn: BA window reset after FT roam
Reset seq number for Station roaming back in FT roam.

Change-Id: I0664bafadb6fed29e5ef2e5d6c1dabe06090eed1
CRs-Fixed: 2490810
2019-08-29 15:25:58 +05:30
gaurank kathpalia
f47b162435 qcacmn: Set max BW for each valid channel and send to FW
Configuration for Issue:-
DUT configuration:-
1. Configure DUT's country as US where channel 165 does
not support channel bandwidth of 40 mhz.
AP Configuration:-
1 Configure the AP in a country where channel 165
supports channel bandwidth 40MHZ.
Scenario of the issue:-
1.Connect to a diff AP on some channel x with same SSID,
and then roam to this AP.
Observation:-
The DUT would connect in 40 mhz to this AP instead of 20Mhz,
which violates the DUT's country reg rules.
Expectation:-
The DUT should re-connect only in 20Mhz on channel 165, or
only in max BW supported by reg in that country.
Issue:-
The DUT does not consider the max bandwidth allowed for the channel
in the country configured, and allow the re-association only
in the respective bandwidth.
Fix:-
Send the max BW supported by the channels in the current
reg domain to the FW so that it considers the max BW of the
channel and AP capability and then roam in the respective BW
only.

Change-Id: I977090c58e378e83cb5a3ee84a72afd018e8c428
CRs-Fixed: 2508187
2019-08-28 06:29:18 -07:00
Abhiram Jogadenu
d465314ffd qcacmn: Add support for AoA data extraction
Extract AoA data from WMI_PEER_CFR_CAPTURE_EVENTID.

Change-Id: I827ef735f46a3ed1bed61fda2d9bd39fd631f40d
CRs-Fixed: 2502029
2019-08-23 11:17:25 -07:00
Vignesh Viswanathan
3e31e2babd qcacmn: Add support for checksum from FW for pktlog
If the FW sends a pktlog checksum in the FW ready event, store that in
pl_dev and use it as buf_hdr.version in the pktlog buffer header.

Also, use a new magic value to identify the checksum in the
buf_hdr.version field.

If the FW does not send the checksum, then the existing magic number
and standard version number would be maintained.

Change-Id: Ib08c093a9b54495a2c5b7e0e163207f2b1eb4ce2
CRs-Fixed: 2508828
2019-08-22 02:53:10 -07:00
nwzhao
594d8a8167 qcacmn: add twt enable/disable complete event handlers
Add twt enable/disable complete event handlers

CRs-fixed: 2478884
Change-Id: I4c66d206f0eb2b910e9b4a68af3d855bb608198b
2019-08-21 14:19:01 -07:00
Srinivas Dasari
de39f3fc40 qcacmn: Configure roam trigger bitmap to firmware
Userspace may configure the roam trigger bitmap to WLAN host
driver to enable particular roam trigger reasons. Convert the
bitmap to the format of firmware trigger reason bitmap and send
to firmware.

Change-Id: I9fc78c180bd25c995dfd380f80e52e3eb302fce3
CRs-Fixed: 2507611
2019-08-21 02:59:33 -07:00
Pragaspathi Thilagaraj
63eb9e48dd qcacmn: Set WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL only for pmksa_flush
The supplicant sends del_pmksa command to delete the pmk,pmkid
for a particular bssid. In this command pmk_len will be 0.
In send_set_del_pmkid_cache_cmd_tlv() the host driver currently
checks the pmk_len to set WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL.
If pmk_len is 0 WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL is set, which
is not correct. pmk_len will be zero in both the flush and delete
cases.

So add a new flag is_flush_all which will be set to true when the
supplicant sends pmksa flush command.
At WMI based on this flag set the flush flag to the wmi cmd.

Change-Id: I7626c500721a4b8cccbb21a08d4235c041456d1b
CRs-Fixed: 2502478
2019-08-20 05:19:43 -07:00
Srinivas Dasari
5276ece978 qcacmn: Configure full scan period to firmware along with scan period
Full scan period is the idle period in seconds between two
successive full channel roam scans. Configure this to firmware
along with scan period as part of roam_scan_offload request

Change-Id: I3d629f0735b50a5b8116b422779ae423c15cae1d
CRs-Fixed: 2507604
2019-08-19 08:20:55 -07:00
Abhiram Jogadenu
9fb7c768c3 qcacmn: Add flag to enable CFR capture in Probe response
Add cfr_enable flag in Probe response, so that FW can start CFR
capture for particular client.

Change-Id: Id38b61317384a069308de4931463f1aef4f65f38
CRs-Fixed: 2502030
2019-08-13 12:09:32 -07:00
Subrat Mishra
4946004e75 qcacmn: Smart Antenna 11-bit ratecode support
Add Smart Antenna support to accommodate 11-bit ratecode
per Bandwidth.

CRs-Fixed: 2506480
Change-Id: Id8b58cf0466739a886ba4f37bc6adcb7f96fa0ea
2019-08-13 02:29:09 -07:00
Pragaspathi Thilagaraj
fc54cc76a4 qcacmn: Read OWE and SAE roam target capability
Add support for OWE and SAE roam target capability.
Add event mapping for the tgt event
WMI_ROAM_PREAUTH_START_EVENTID.

Add changes to send WMI_ROAM_PREAUTH_STATUS_CMDID after
the SAE external authentication event is received.

Also for SAE/OWE/802.1x, the key management offload
needs to be enabled by default as PMKSA caching if
set_pmksa is received from the supplicant. So remove
the additional key management offload check so that
OKC and PMKSA is enabled by default for SAE and OWE.

Change-Id: I01d3a07e2ce60e25ea8624c030c6a5802205566d
CRs-Fixed: 2491042
2019-08-12 02:45:23 -07:00
Abhishek Ambure
c76db37021 qcacmn: Clean up CMN_VDEV_MGR_TGT_IF_ENABLE
WIN and MCL both uses common targer_if code for vdev manager.
So legacy code and "CMN_VDEV_MGR_TGT_IF_ENABLE" macro is removed.

Change-Id: I2984ae44f3a7cfa01b8f1455353d09deb4db5759
CRs-Fixed: 2503804
2019-08-11 10:38:20 -07:00
Wu Gao
46aa5afbb3 qcacmn: Fix compilation errors for DBR enable
Fix compilation errors for direct buffer rx component enable.

Change-Id: If0913b8357267fa65e61e0c7d197025ff850930b
CRs-Fixed: 2497783
2019-08-09 13:04:45 -07:00
Gyanranjan Hazarika
fe3cca9bd1 qcacmn: Add WMI changes for Dynamic HW mode configuration
This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.

Relevant WMI changes are:

1. Relocate API wmi_unified_soc_set_hw_mode_cmd from
wmi_unified_sta_api.c to wmi_unified_api.c
2. Define API wmi_unified_extract_hw_mode_resp to extract
FW response
3. Parse and store new dev-cap fields wireless_modes,
low_2ghz_chan_freq, high_2ghz_chan_freq, low_5ghz_chan_freq,
and high_5ghz_chan_freq.

Change-Id: I49f975e7c5abc8503b651a3ebd4d56b23af915db
CRs-fixed: 2490212
2019-08-09 11:18:48 -07:00
Sumeet Rao
4fed906f27 qcacmn: Add a new wmi service for RX FSE support
Add a new wmi service for RX Flow Search Engine support in FW/HW.

CRs-Fixed: 2475913
Change-Id: I5a2033853fd85cb0de8c98cfe4b57d871e89943f
2019-08-07 04:58:05 -07:00
Gurumoorthi Gnanasambandhan
80e1ae17a6 qcacmn: Enable/Disable multi group key support
Support to Enable/Disable multi group key and configure
maximum number of group keys.

Change-Id: Ie6ce2a38d0ad04a47f966fc281f35a8af7125447
CRs-Fixed: 2490599
2019-08-06 10:31:49 -07:00
Gurumoorthi Gnanasambandhan
17d1e0f676 qcacmn: Support group key installation for VLAN
VLAN group keyix is greater than WLAN_CRYPTO_MAXKEYIDX
Each VLAN will have separate group key in single VAP.

CRs-Fixed: 2490599
Change-Id: I585b2deaa13da337c5df7b55ec8e4672221e4edb
2019-08-06 10:31:40 -07:00
Christopher Chopp
c59538f7d4 qcacmn: Add WMI support to set OBSS PD per AC
Add WMI pdev param to wmi_unified_sed_pdev_param command. This adds
support to enable spatial reuse on a per access category basis.

Change-Id: I501f2a18c2eb7245f4d6c1be253e1b08a3de8bd6
CRs-Fixed: 2502282
2019-08-05 10:56:06 -07:00
guangde
2dae118497 qcacmn: enable legacy coex feature
Because newest firmware codes already been changed, the previous
coex configure command are invalid. Firmware need host driver
to enable WMI_SERVICE_THREE_WAY_COEX_CONFIG_LEGACY service during
wlan init. Add a new parameter "gThreeWayCoexConfigLegacyEnable" to
initial config file. If this parameter value is zero,set coex
priorities command will return error.

Change-Id: Ief1617e2ba5363e276c55135198613a0e54b71d5
CRs-Fixed: 2482742
2019-08-04 06:23:22 -07:00
Aditya Sathish
7de5d4f264 qcacmn: Add support for RF characterization WMI event
Add support to read the RF characterization WMI event
and parse each individual TLV containing the channel's
center frequency, bandwidth and RF characterization
metric.

Also, remove the support for reading the RF
characterization metrics from the extended
service ready WMI event.

Change-Id: I560583f9304005282c09a27f47c8d5c2778b1645
CRs-Fixed: 2487415
2019-08-02 03:13:52 -07:00
Abhishek Ambure
fb40217ff6 qcacmn: Add WIN wmi changes to common code
WMI functions called from target_if are present at WIN code. So these
wmi changes are moved to common code, so that MCL and WIN both use.

MCL needs this wmi code for target_if vdev conversion.

Change-Id: I6f3653ea0fad14f3cdbb32a8dc65e5146ce0a5c8
CRs-Fixed: 2492577
2019-07-29 00:58:05 -07:00
Himanshu Batra
032d352263 qcacmn: Replace void * Host Target Communications handle with abstract type
Replace void * Host Target Communications handle with abstract type handles
provided by Host Target Communications component

Change-Id: I16ca87e4f9716791d340da2fda0a8a640fa2ec34
CRs-Fixed: 2487151
2019-07-25 00:25:49 -07:00
Himanshu Batra
cefe93ef3b qcacmn: Replace void * wmi_hdl with abstract type (7/10)
Replace void * wmi handle with abstract type handles
provided by wmi component.

Change-Id: I53d14cc548e0d9aae4de7db4dcf6f63ed2a74fe5
CRs-Fixed: 2482590
2019-07-19 11:26:03 -07:00
Yeshwanth Sriram Guntuka
4644ff4331 qcacmn: Use appropriate config to include wmi_unified file
Use CONFIG_WMI_BCN_OFFLOAD instead of CONFIG_MCL to
include wmi_unified header file.

Change-Id: I0cc7a4958700c82c7d3e55c965ccac2451b64fd3
CRs-Fixed: 2490681
2019-07-19 10:13:29 -07:00
Himanshu Batra
39d27ed230 qcacmn: Replace void * wmi_hdl with abstract type (10/10)
Replace void * wmi handle with abstract type handles
provided by wmi component

Change-Id: Iaf3de67d4933998ac4540ac280d716d534777e7f
CRs-Fixed: 2482647
2019-07-18 14:23:10 -07:00
Himanshu Batra
213192233b qcacmn: Replace void * wmi_hdl with abstract type (8/10)
Replace void * wmi handle with abstract type handles
provided by wmi component

Change-Id: I96309658dd12964c74062418a2b32deb1e915c10
CRs-Fixed: 2482632
2019-07-18 14:23:07 -07:00
Himanshu Batra
0a35a6afb8 qcacmn: Replace void * wmi_hdl with abstract type (6/10)
Replace void * wmi handle with abstract type handles
provided by wmi component

Change-Id: I503438fbaf3bc2d475798bc908a70902d11881af
CRs-Fixed: 2482568
2019-07-18 14:23:04 -07:00
Himanshu Batra
e6eeca68f3 qcacmn: Replace void * wmi_hdl with abstract type (5/10)
Replace void * wmi handle with abstract type handles
provided by wmi component.

Change-Id: Ic8d4ddc90c8e49a9629553debf6c09c7565fcd80
CRs-Fixed: 2475462
2019-07-18 03:46:01 -07:00
Himanshu Batra
453eea49a9 qcacmn: Replace void * wmi_hdl with abstract type (4/10)
Replace void * wmi handle with abstract type handles
provided by wmi component.

Change-Id: I4bb0f9fd921bf53d38dfb257818fee48c4516cd8
CRs-Fixed: 2475457
2019-07-18 03:45:58 -07:00
Himanshu Batra
6abe4bebd6 qcacmn: Replace void * wmi_hdl with abstract type (3/10)
Replace void * wmi handle with abstract type handles
provided by wmi component.

Change-Id: I04cd3ce5b4f36f7073d4644e2fd0d52da41e1af3
CRs-Fixed: 2475447
2019-07-18 01:07:26 -07:00