Commit Graph

1016 Commits

Author SHA1 Message Date
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
Rajeev Kumar
d736cdf95e qcacmn: Add auto pm tag to WMI_HW_DATA_FILTER_CMDID
Add auto PM tag for WMI_HW_DATA_FILTER_CMDID command such
that CCE HW fiter feature can be enabled for runtime pm
as well.

Change-Id: Iec1495ebecb0aab0e695fb5e656ac13a22bba338
CRs-Fixed: 2505994
2019-08-12 12:24:21 -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
c367e06da5 qcacmn: Enable target_if common code for vdev stop
As vdev conversion is done in phases, so vdev stop response
handler for target_if is made global. To process vdev stop
response tlv extraction API is registered to WMI tlv_ops.

Change-Id: Ib00f7339330e69d6103a175611df7b59c01faad0
CRs-Fixed: 2506500
2019-08-12 02:45:19 -07:00
Varuneshwar Petlozu
21a557f273 qcacmn: Add null check for event fields in extract_ndp_ind_tlv
In the function extract_ndp_ind_tlv the data from FW is assigned
to the event.The event fields ndp_cfg, ndp_app_info and ndp_scid
are used as source in the memcpy without null check which can cause
undefined behaviour.

To solve this, add null check for ndp_cfg, ndp_app_info and ndp_scid
before memcpy use.

Change-Id: I4bf592e6977c50518e53ece268c34450d9684304
CRs-Fixed: 2476173
2019-08-12 01:27:48 -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
Akshay Kosigi
2eae843084 qcacmn: Clean up CONFIG_MCL
Clean up CONFIG_MCL and introduce new macro
MGMT_FRAME_RX_DECRYPT_ERROR.

Change-Id: Ic0cf826bde40cb3088d9745f0831fe083a281d50
CRs-Fixed: 2504567
2019-08-09 01:31:47 -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
Abhishek Ambure
21ff0a53bf qcacmn: Common code changes for VDEV conversion
This change is required by MCL for VDEV conversion. This change
adds target_if all common code.

Change-Id: If43cbbe12c9b4a2bc7fc46ff01f24a2fb6fda09e
CRs-Fixed: 2460791
2019-08-05 07:50:05 -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
Surya Prakash Raajen
c59f7dc66e qcacmn: Fix wrap-around condition check in DIAG_RX_EVENT_RECORD
Diag_log_max_entry should be used to determine wrap around condition
in DIAG_RX_EVENT_RECORD. Using incorrect max value results in invalid
access and memory corruption. Fix DIAG_RX_EVENT_RECORD to use diag_log
max entry instead of mgmt_max entry.

Change-Id: Icae3ce843b1fd76e15139fae1a867448ad032cf8
CRs-Fixed: 2488783
2019-07-31 22:18:42 -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
Yue Ma
4986b2588b qcacmn: Log runtime PM resume source
It is very critical to know the source of who requests runtime
PM resume to debug all kinds of runtime PM related issues. Hence
log them accordingly.

Change-Id: I9551830b1cb567fd29e9d9bbec18705f9cc5e9ec
CRs-fixed: 2496481
2019-07-27 02:49:10 -07:00
Subrat Mishra
51ebff9953 qcacmn: Enable Smart Antenna WMI TLV commands
Enable service ready events for Smart Antenna with peer rate code list.

CRs-Fixed: 2476518
Change-Id: I551307c533db5af4c9238b9e87aa671bbd0a38ed
2019-07-26 17:03:54 -07:00
Surya Prakash Raajen
bdda144479 qcacmn: Add nav override config as wmi command
Add nav override config as wmi command

Change-Id: Ia21155a0d7c04d09589cc3df1006ec508a89ace7
CRs-Fixed: 2494915
2019-07-25 11:03:20 -07:00
Pragaspathi Thilagaraj
6d8ef39a55 qcacmn: Remove copy_vdev_create_pdev_id under CONFIG_MCL
Use common definition for copy_vdev_create_pdev_id and remove
copy_vdev_create_pdev_id defined under CONFIG_MCL.

Change-Id: Ie8421d519970cae28f003b435aebabb5a935bebd
CRs-Fixed: 2492726
2019-07-25 02:41: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
Alok Kumar
3558ddfc61 qcacmn: Remove the CONFIG_MCL for rx_reorder_queue_remove_cmd
On MCL side, crash_on_send_peer_rx_reorder_queue_remove_cmd
causes a crash if command is sent by host. Currently no one
is using this API from MCL side and for non MCL this is No-OP.

Removing this API and CONFIG_MCL as from MCL side no one is
calling this.

Change-Id: I5393074913ccd6b39ca2e31e081783c4b614bd43
CRs-Fixed: 2490819
2019-07-18 16:45:40 -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
Bala Venkatesh
63b4f6a57e qcacmn: Remove MCL_CONFIG flag
In file wmi_unified.c use appropriate config
flags instead of MCL_CONFIG flag.

Change-Id: I9e43f8853ddd93221679cefa50b4f7b239d2abdb
CRs-Fixed: 2491383
2019-07-18 07:17:29 -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
Himanshu Batra
29bc991911 qcacmn: Replace void * wmi_hdl with abstract type (2/10)
Replace void * wmi handle with abstract type handles
provided by wmi component.

Change-Id: Id12d6446aed8fd389b8677f08765bb31cabf2fb0
CRs-Fixed: 2475444
2019-07-18 01:07:23 -07:00
Himanshu Batra
9173c9192d qcacmn: Replace void * wmi_hdl with abstract type (1/10)
Replace void * wmi handle with abstract type handles
provided by wmi component

Change-Id: Idd1fddffd9e254f367e9ad608729668249bbe758
CRs-Fixed: 2475372
2019-07-18 01:07:20 -07:00
Himanshu Batra
a61bf79b15 qcacmn: Replace void * wmi_hdl with abstract type (9/10)
Replace void * wmi handle with abstract type handles
rovided by wmi component

Change-Id: I5c9dde2546a763b9f9b87f328e67b6189f031f1e
CRs-Fixed: 2482645
2019-07-17 07:13:52 -07:00
Liangwei Dong
0b37b4ca1d qcacmn: Change beacon tx WMI API under feature flag
Remove CONFIG_MCL for Beacon buf send WMI command APIs.
And move them under WLAN_WMI_BCN.

Change-Id: Ie5053334bd7498cb9dd84dbc515ffd3414a4ad32
CRs-Fixed: 2483567
2019-07-16 17:15:14 -07:00
Naga
a4f7040b4c qcacmn: Enable TLV support for vdev delete all support
Enable TLV support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: I777bd3dfb4ed8d8493456d3a0fbc90edd8fc75a2
CRs-Fixed: 2477601
2019-07-16 15:54:00 -07:00
Aditya Sathish
dab965d68a qcacmn: Add host support for multicast RC stale period selection
Add support for multicast RC stale period selection.

Change-Id: I6a3d1d8e8f2fe32d662de64cfdf9619bc205689a
CRs-Fixed: 2482733
2019-07-15 10:36:57 -07:00
Abhiram Jogadenu
94748b3c46 qcacmn: Extract OEM response params
Add API to extract OEM response parameters from corresponding
WMI event.

Change-Id: I9a45bdac4a9091bf21ad8b9877e485baad4a75db
CRs-Fixed: 2467938
2019-07-11 02:10:41 -07:00
Paul Zhang
5e9e4549d9 qcacmn: Add OEM DATA vendor command support
This command is used to send OEM data binary blobs
from application/service to firmware.

Change-Id: Id806638bf8c53c65b32177969d965290da5701b9
CRs-Fixed: 2477337
2019-07-11 00:52:13 -07:00
Naga
8e5172276f qcacmn: Add WMI support for vdev delete all peer
Add WMI support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: Ia41ae5fbf96a75d2a3e608564742d2a43e0ed2cc
CRs-Fixed: 2456858
2019-07-05 10:26:44 -07:00
Akshay Kosigi
c36e354311 qcacmn: Fix for removal of void pointer usage
Add changes to remove usage of void pointer for wmi_handle
Instead use an opaque pointer(set 2)

Change-Id: I06a89adaf15c6b398dbc901518aa83927b7ca16a
CRs-Fixed: 2479298
2019-07-02 09:47:56 -07:00
Akshay Kosigi
f0c668f54a qcacmn: Fix for removal of void pointer usage
Add changes to remove usage of void pointer for wmi_handle
Instead use an opaque pointer(wmi_handle_t)

Change-Id: I7c6dce564f34352c75e0b9d0c90591de625f1959
CRs-Fixed: 2479299
2019-07-02 02:40:11 -07:00
Kiran Kumar Lokere
47e93c04b3 qcacmn: Update HE capability in scan channel list cmd
Set HE capability support in scan channel list command to enable
HE IEs probe request frames.

Change-Id: Ia8836f033ee010ba21f82fdc21da5085e70bc0a4
CRs-Fixed: 2478069
2019-06-29 00:16:34 -07:00
sheenam monga
0c6cd801dc qcacmn: Fix OOB in send_gtk_offload_cmd_tlv
In current design, Host driver copies kck and kek from pmo_gtk_req
to kck and kek of WMI_GTK_OFFLOAD_CMD_fixed_param. Host tries
to copy PMO_KCK_LEN i.e 32 bytes to an array of length 16 bytes
which can lead to OOB.

Fix is to copy only 16 bytes of kck and kek. Copy the bytes
from pmo_gtk_req same as the size of cmd->kck and cmd->kek i.e
destination array size to avoid OOB.

Change-Id: I999add18e18bedc9cfa1a0cfa5c0dad781e8e13f
CRs-Fixed: 2470368
2019-06-25 13:06:48 -07:00
Pragaspathi Thilagaraj
e42985f86e qcacmn: Fix possible OOB in send_roam_scan_offload_mode_cmd_tlv
In send_roam_scan_offload_mode_cmd_tlv, psk_msk from incoming
roam request buffer is copied to destination roam_offload_11i->pmk.
The psk_msk is of size 48 bytes, while destination pmk is of 32
bytes. This could result in OOB.

Copy only 32 bytes for 11i pmk as 802.1x doesn't have PMK size
greater than 32. In future, if Suite-B roaming support is
required, interface changes are need to add new parameter to
copy the remaining 16 bytes.

Change-Id: I303fc15fc0f0169a049d0542674bd7add3cbb1a1
CRs-Fixed: 2470353
2019-06-20 12:00:03 -07:00
Vevek Venkatesan
02c9164668 qcacmn: featurize PKTLOG send cmd under feature flag in WMI layer
Featurize PKTLOG cmd handle under feature flag FEATURE_PKTLOG
as part of CONFIG_MCL cleanup.

Change-Id: Iae8c7e7caad001d7d37a8e17c1eb892f96009066
CRs-Fixed: 2467198
2019-06-20 08:45:46 -07:00
guangde
ad4eded14b qcacmn: Get BT/WLAN isolation for mainline
Propagation from qcacld2.0 to qcacld3.0.
The WMI CMD and EVENT of "get antenna isolation" are already defined,
but not used before in qcacld3.0.
Now, The host driver uses vendor command to get this information
instead of iwpriv command in qcacld-2.0.
The attribution of this feature is already defined in file
"qca_vendor.h". The name is "QCA_WLAN_VENDOR_ATTR_ANTENNA_ISOLATION".
So host driver will use vendor command
"QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY" to get the information
from lower layer.
Change-Id: I915768f622ddc9a70a95ce4fe952f19917a8f901
CRs-Fixed: 2447363
2019-06-14 01:49:54 -07:00
Yue Ma
3c3406e67e qcacmn: Remove tagging DTIM related commands for runtime PM
DTIM related commands do not have to be sent with WOW sequence as
they are able to be sent from other paths during runtime PM suspend
or resume, hence remove their runtime PM tagging. Besides, also tag
HPLB WMI_HB_SET_ENABLE_CMDID command for runtime PM.

Change-Id: Ib6cc8a9b8296dbba4d9e9017cfa75856cc9a29c9
CRs-fixed: 2469489
2019-06-13 15:50:56 -07:00