Commit Graph

463 Commits

Author SHA1 Message Date
Srinivas Pitla
c664572a93 qcacmn: Add target_if support to WMI
Include service ready structure definition

Change-Id: I0294b99c6836fc96b0e211c855e851c8926d4823
CRs-Fixed: 2177109
2018-02-03 15:10:55 -08:00
Vignesh Viswanathan
089564f11d qcacmn: Add sanity check for WMA NDP extract TLV functions
In extract_ndp_confirm_tlv & extract_ndp_ind_tlv, ndp_cfg len &
num_ndp_app_info is from fw. If they are greater than the actual
length of buffer sent in FW, OOB access and info leak would occur.

Add sanity checks for ndp_cfg_len and num_npd_app_info with the
actual length of the buffer from TLV header in functions
extract_ndp_confirm_tlv & extract_ndp_ind_tlv to prevent OOB access.

Change-Id: I9ecf55a3606036d3e1f0916c948c4360475965fa
CRs-Fixed: 2176968
2018-02-03 07:42:18 -08:00
Kris Muthusamy
7b5130c6ce qcacmn: Fix host panic due to missing WMI service handles
WMI service handle is not attached for all Pdev with recent
WMI changes. Fix host panic due to missing WMI service handles
for all Pdev.

Change-Id: Ic6107120ea4a49e49b86ebbfe385e440de3f49a9
2018-02-02 07:46:00 -08:00
Zhang Qian
3679492629 qcacmn: Add UT framework for OCB module
Add a faked WMI layer for OCB unit test on platform does not
support OCB feature.

CRs-Fixed: 2177563
Change-Id: I35b272faa21f3b225eb036c06a15b06ab4b389ae
2018-01-30 13:40:39 -08:00
bings
c83573954f qcacmn: Extend radar event structure for ETSI chirp radar detection
The pulse_delta_peak of chirp radar is not zero, which is one more radar
detection rule for ETSI chirp. Driver need delta peak related information
from FW for ETSI chirp radar detection.

Two more fields pulse_delta_peak and pulse_delta_diff are added in
wmi_dfs_radar_event_fixed_param.

Change-Id: Ief8dbea1c1336f45a24195853d5e1356bf3cad27
CRs-Fixed: 2179933
2018-01-30 09:25:49 -08:00
Zhang Qian
2e1a7bc65a qcacmn: Add wmi APIs to extract OCB events data
Add APIs to extract data from wmi event buffer for tlv interface.

CRs-Fixed: 2177557
Change-Id: I538c0a9ed4a1d8a4bd8845ab337b16370737ce44
2018-01-29 23:40:45 -08:00
bings
ca90616ffa qcacmn: Restore WMI_DFS_RADAR_EVENTID for Rome FW
Currently WMI handler for WMI_PHYERR_EVENTID is used to handle DFS and
spectral scan phy errors; but Rome FW still uses WMI_PHYERR_EVENTID
and WMI_DFS_RADAR_EVENTID and does not have spectral scan phy errors.

Restore WMI_PHYERR_EVENTID and WMI_DFS_RADAR_EVENTID as Rome FW
requirement.

Change-Id: I23ca4ff6c9be0ba6a0f21f0e0ef9161b1942f629
CRs-Fixed: 2160431
2018-01-27 00:10:28 -08:00
Venkateswara Swamy Bandaru
faf9682f94 qcacmn: Add WMI Support for 11ax FW Scheduler API and Stats Per Peer
Add WMI support for enabling/disabling the FW scheduler APIs and stats
per peer for MU and OFDMA

Change-Id: I185ca6ff5b564fc9b83007fd4e37da82b5c9976e
CRs-Fixed: 2169179
2018-01-26 23:26:17 -08:00
nobelj
a78f35577e qcacmn: Add support for sending bigger chunk CTL table bin file
removing Length check temporarily
as existing length check is not applicable for HK.
In HK, CTL bin file size for 5G is 26556 bytes and
for 2G is 5852 bytes. 1.7K is the maximum payload size supported by TLV.
To support, we add header info: seq, endflag, total_len
before each chunks. Total bin files are transferred
as multiple chunks with header info on the top.

Change-Id: I7aedf85d6ee66a99cb4b6dca464dbe02caec371b
2018-01-26 19:25:40 -08:00
Venkateswara Swamy Bandaru
1fe7d8335d qcacmn: Add WMI Support for Setting SU, MU TXBF Sounding Interval
Add WMI support to set SU and MU TX beamforming sounding interval on
host driver in addition to enabling/disabling the above ability.

Change-Id: Ic3ea109e47c0df13db2c919bbcdf5fc7d6164698
CRs-Fixed: 2169176
2018-01-25 15:25:43 -08:00
Kai Chen
e6de7e02fb qcacmn: Add min, max, reg max, antenna gain and max tx power
Add min, max, reg max, antenna gain and max tx power to channel
field of WMI command for scan, vdev start. Max tx power is set
to reg max power. It is set to TPC on IE for MCL STA case.

Change-Id: I416b94f68a9c5db925a9ef8c731350ba27caa7a1
2018-01-25 15:25:41 -08:00
Vignesh Viswanathan
26fc2e1e98 qcacmn: Add support for 11k offload related WMI commands
Add WMI TLV functions for 11k offload command and neighbor
report request invoke command.

Change-Id: If37cace93d4f719eed6abfabcd878879d804161e
CRs-Fixed: 2162030
2018-01-25 09:25:38 -08:00
Sourav Mohapatra
06490bebac qcacmn: Converge on wmi service/ext service is enable
Converge on wmi service/ext service is enable

Change-Id: Ib246befa72cce927bee157394cd22c7d1562d341
CRs-Fixed: 2152751
2018-01-24 13:19:48 -08:00
wadesong
49ae4cbad4 qcacmn: Fix coding errors detected by gcc 5+
With gcc 5+ utilized for driver building, more coding errors are
detected, some of which are valid issues.

Fix all those errors in one shot.

Change-Id: I263c70d4bff9ec0c3076103001cd7f2ccc8e0d1a
CRs-Fixed: 2176076
2018-01-24 04:26:08 -08:00
Chaithanya Garrepalli
b265cca820 qcacmn: WMI support to obtain NAC RSSI
Added a WMI command to add and del peer from the list
of non associated clients for which the RSSI stats
need to be populated

Also added event handler to extract the rssi stats
from the WMI event

Change-Id: I9880c74798c13a52e1498b81735ad78f86fa41b8
CRs-Fixed: 2148773
2018-01-24 01:43:36 -08:00
jiad
99bc15a8f2 qcacmn: Fix WMI mgmt cmd tx comp record
wmi_mgmt_cmd_record is used to add WMI mgmt cmd record. But mgmt
cmd tx comp record is missing due to mismatch of is_management_record.
Fix is to change is_management_record WMI cmd id to match those who
call wmi_mgmt_cmd_record. In wmi_unified_cmd_send, mgmt cmd record
add is no longer needed since already added in wmi_mgmt_cmd_record.

Change-Id: I41daf428ac0848dabaf4d87e3ecb7dca5e1c2774
CRs-Fixed: 2168104
2018-01-24 01:43:33 -08:00
Jeff Johnson
15ca1af93f qcacmn: Add support to retrieve SAR power limits
Recently change "qcacmn: Add SAR power limit configuration"
(Change-Id: I0a214a2af780e9dd8c381c4e9eaa7d8cab6ef853) added the
ability to dynamically configure Specific Absorption Rate (SAR) power
limits. Now add the ability to retrieve the current active power
limits.

Change-Id: I7a6071dee71300daa3a217780ff3523604a11795
CRs-Fixed: 2161451
2018-01-23 12:30:25 -08:00
Gyanranjan Hazarika
3ce87c3e5f qcacmn: Add support to send WMI_ADDBA_CLEAR_RESP_CMDID in HK
Support to send WMI_ADDBA_CLEAR_RESP_CMDID in tlv format is
lacking in HK. Add the necessary support.

Change-Id: Ic5bda1cd69531ce7eb6f61751b12626b788c02a1
CRs-fixed: 2174262
2018-01-20 01:45:07 -08:00
Jiachao Wu
60f4ee3b58 qcacmn: Add new config for BTM offload
Add new parameters into wmi btm config cmd for solicited BTM offload.

Change-Id: I24cc680bbfde3d44a57b1e1ccf644c2bed515a2c
CRs-Fixed: 2168259
2018-01-19 19:20:31 -08:00
Subrat Mishra
bf12587bd1 qcacmn: Support for SWFDA Event & FD Frame tx
Add new WMI EVENT, SW FILS Discovery Alert Event, to get
firmware trigger to transmit FILS Discovery Frames.
Add WMI command to send FD frame buffer to firwmare.
Add WMI command to set FD period interval in mili seconds.

Change-Id: I8cb6279ec4431b9236bd32c548228a0dc6598664
CRs-Fixed: 2118098
2018-01-19 17:26:23 -08:00
Kris Muthusamy
622a2fae1c qcacmn: Populate vdev id in WMI WDS commands
Populated the missing vdev id in all WDS based WMI commands

Change-Id: I1ab623d9efd77e83786f581657e9ff42b1db2346
2018-01-19 15:01:07 -08:00
Arif Hussain
c116a01322 qcacmn: Add obss detection info extract handler
Add hander to extract obss detection info received
from firmware.

Change-Id: I5fde304915a97d37d6cbe58e7a315e91fbac61b6
CRs-Fixed: 2170184
2018-01-17 15:56:30 -08:00
Arif Hussain
a9e4986634 qcacmn: Add obss detection offload support
Add support for obss detection offload support.
Sending WMI_SAP_OBSS_DETECTION_CFG_CMDID command
to firmware.

Change-Id: I56eba46e37330637c81d1a2cfa6542dd4ead8183
CRs-Fixed: 2170184
2018-01-17 15:56:28 -08:00
Gyanranjan Hazarika
1315fb7468 qcacmn: Add support for sendaddba/senddelba cmd in HK
HK needs support for sendaddba/senddelba cmds. These commands
need to be sent to the FW in tlv format. Make the necessary
changes.

Change-Id: Ia069a05dbbd710393ecab31c5bd2c1bcf28d0e1e
CRs-fixed: 2171669
2018-01-17 01:41:05 -08:00
yeshwanth sriram guntuka
ffd0a2fa8a qcacmn: Add config support for BTM offload
Add ini to configure BTM offload configuration
which is sent to firmware as part of RSO start
via wmi btm config cmd.

Change-Id: I69c792705b208014af8f1878f7645d957dde6c06
CRs-Fixed: 2105112
2018-01-15 17:46:19 -08:00
Adil Saeed Musthafa
a1975e2fa7 Revert "qcacmn: Add debug print before calling WMI event handler"
This reverts change-id: Ie1b758a17882743fa4871b6ce4725c986769b01b

CRs-Fixed: 2155931
Change-Id: I54e0e1b2af868bc22da59410af405e970fe5678e
2018-01-15 13:25:18 -08:00
nobelj
5319334966 qcacmn: Add support to print time on event log and command log
print event time and command time along event/command logging

Change-Id: I4562f76d4d15f9c42080795007af94422c14e33c
2018-01-13 21:31:13 -08:00
Himanshu Agarwal
b3c81ac057 qcacmn: Green AP UMAC componentization
Add APIs, structures for Green AP component.

Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5
CRs-Fixed: 2166428
2018-01-12 12:20:17 -08:00
Rakesh Pillai
1d3e9309b3 qcacmn: Fix wmi debugfs creation after interface creation timeout
After driver init, if not interface is created and the stop modules
gets called, the wmi debugfs dir is removed. After this it is not
created again during start modules. Due to this the wmi debugfs will
be unavailable after this.

Fix the wmi debugfs entry creation when interface creation timeout
happens after driver init.

CRs-Fixed: 2164039
Change-Id: Ib1a9c655b5144b11d506a09268918b63f82adcc0
2018-01-11 03:48:48 -08:00
Rakesh Pillai
6b0c64ff8c qcacmn: Unify the wmi command and event record offset
The wmi data buffer offset passed to record command and event
buffer uses different offset and type for command and event.

Change the recorded wmi data buffer type to uin8_t pointer
for both, wmi command and wmi event record.

CRs-Fixed: 2164395
Change-Id: Ie759248a6a32632dd93f751a856a0588d9a11c25
2018-01-11 03:48:45 -08:00
Shaakir Mohamed
2986c8d533 qcacmn: Change DFS related prints to WMI log info level
Change DFS related prints in Host side from debug level to info level.

Change-Id: Id0ec4b5ce14df6b416ae4e783e2876ac3d881dbf
CRs-fixed: 2152590
2018-01-10 13:40:21 -08:00
Nachiket Kukade
33485811af qcacmn: Modify DISA legacy code to point to the DISA CLD component
DISA feature has been moved to a CLD component under the converged
driver model. Point the wmi API's and structures to the newly defined
files. Define new API's to extract parameters from event buffer.

Change-Id: Ia47d3682217e7ce9c021bb2db8319483c881b3b2
CRs-Fixed: 2161963
2018-01-09 13:40:08 -08:00
Nachiket Kukade
88ae85340c qcacmn: Add Objmgr related definitions to support DISA component
Add Objmgr ID and related definitions to support the newly
defined DISA component in CLD.

Change-Id: Ibbe5db39c01dae94cad5af5f4dccd2611c5b06d4
CRs-Fixed: 2159599
2018-01-09 13:40:06 -08:00
Naveen Rawat
68805125fd qcacmn: Avoid WMI TLV structures in NAN target_if
Refactor NAN target_if to make it wmi-type agnostic. Specifically
do not access wmi structures in NAN target_if. All the access to
wmi structures should happen in tlv and non-tlv specific wmi files.

Change-Id: I944b678fc501723d7cd26c9b21c4cc6ddb7fda4e
CRs-Fixed: 2159876
2018-01-09 06:12:48 -08:00
Pratik Gandhi
034cb7cb60 qcacmn: Define Host based TARGET_TYPE
fwhdr_abstrct: Use Host based TARGET_TYPE instead of firmware
defined TARGET_TYPE. It will abstract dependency on bmi_msg.h.

Change-Id: I76d744db27df730a3a91a243adfc07fc17d77487
CRs-Fixed: 2140921
2018-01-03 20:09:46 -08:00
Kabilan Kannan
5fa39fd728 qcacmn: Fix the invalid memory access in WMI cmd
Invalid memory accessed in WMI_REQUEST_STATS_CMD, and it
causes kernel panic in the system.
Fix the invalid memory access in WMI request
stats function.

Change-Id: Id838569fd5667b118aecc03f7af5e5f9f146b2a6
CRs-Fixed: 2162279
2018-01-03 14:17:02 -08:00
Visudha Sathurappan
08bf9be852 qcacmn: Fix WEP+OL issue in MIPS platform
For big endian based offload radios, the key installed using
WMI_VDEV_INSTALL_KEY_CMDID requires to be code swapped as the
copy engine for big endian platform does byte swap operation
on the received key before sending it down to FW.

The big endian conversion is carried out
in ol_if_vap.c for big endian platform specific radios.
However, it is observed that an additional copy
is carried out in the WMI layer that is overwriting
the converted key with old key, in the non-swapped form.

Hence move the big endian operation to the WMI layer to
ensure uniform functioning of the API

Change-Id: I9ee16572d08045b0f55b0de190efba5c6806031c
CRs-Fixed: 2161682
2017-12-29 09:37:07 -08:00
Hanumanth Reddy Pothula
409e456664 qcacmn: Remove FW memory dump feature
qcacld-2.0 to qcacmn propagation

FW memory dump feature is no longer used. Hence remove FW memory
dump feature code changes.

Change-Id: Ida655f83630c369df746e7c0c9d61a8fee2932a2
CRs-Fixed: 2140262
2017-12-29 01:42:52 -08:00
Venkateswara Swamy Bandaru
3ef1844980 qcacmn: Add Support for Setting MSDUQ Depth Parameters
Add host support to enable setting MSDUQ depth parameters per
TID per peer.

Parameters include MAC Address, TID number, update mask and
Q depth threshold value.

CRs-Fixed: 2162460
Change-Id: Ie947fd599278a04e13d6aa6c89f840187dbf17fa
2017-12-27 23:25:04 -08:00
Sathish Kumar
85da7c5fdb qcacmn: Add WMI interface support for Direct Buffer Rx module
Direct Buffer Receive provides the driver with a mechanism by which target
can transfer information directly into host memory via DMA.

Add support for the following service/events/commands -
1. WMI_SERVICE_SUPPORT_DMA
2. WMI_DMA_CAPABILITIES as part of WMI_SERVICE_READY_EXT_EVENTID
3. WMI_PDEV_DMA_RING_CFG_REQ_CMDID
4. WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID
5. WMI_DMA_BUF_RELEASE_ENTRY

Change-Id: I3949026b4542565c49bb538b9545ea607690c793
CRs-Fixed: 2158304
2017-12-21 15:26:08 -08:00
Om Prakash Tripathi
dbbb61a6cd qcacmn: Add support to append scan channel list
Add append bit in scan channel list command. If append bit
is set, new channels will be appended to existing channel
list else existing channel list will be over written
by new channel list.

Change-Id: I0b1ecd2b809aafe6e524a05aacd5b14c80640556
CRs-Fixed: 2159802
2017-12-20 01:39:00 -08:00
Will Huang
a30dd10220 qcacmn: Rename wmi_do_wow_xxx to wmi_d0_wow_xxx
wmi_do_wow_disable_ack_event_id was named by mistake, rename it where
use it as wmi_d0_wow_disable_ack_event_id.

Change-Id: Ic11cb2a260b2ac65d0324d950d043988a7da6657
CRs-Fixed: 2160870
2017-12-19 13:37:42 -08:00
Surabhi Vishnoi
e7c1401cf0 qcacmn: Change the data type of message type id
The datatype of wd_msg_type_id was uint16_t which truncates the
upper bytes of msg id.

Changing the datatype of wd_msg_type_id from uint16_t to uint32_t.

Change-Id: I49b5eefd878660f6ba3d0b7da451df99661c59df
2017-12-16 14:08:06 -08:00
Govind Singh
11c7f8b00e qcacmn: Dump WMI work queue stack for watchdog bite
In the event of an WMI work queue watchdog bite, dump the stack
trace to aid in debugging.

Change-Id: I7f3df5a56904748fb80afb1aef1aed90d20fbbc0
CRs-Fixed: 2145913
2017-12-15 19:26:25 -08:00
Krunal Soni
6be39c17e9 qcacmn: Remove unused structure while sending probe resp template
While sending probe response template down to firmware, driver
populates some items in data-structure which is not getting used.

Remove those unused items and send only what is needed.

CRs-Fixed: 2130437
Change-Id: I1878f523f0f88c354854dfdb75e60e66c4ecb0e8
2017-12-13 21:38:45 -08:00
Paul Zhang
d6d1635ec8 qcacmn: Implement interface to set WLM level
WLAN Latency module (WLM) is added by fw to gain latency
because of schedule out of service like power saving,
scanning, roaming etc. per the level set by framework.

Change-Id: I6b8775e5f492b6f287d60d39610a544114185a23
CRs-Fixed: 2152290
2017-12-11 22:08:28 -08:00
Kris Muthusamy
f1db3f4b21 qcacmn: WMI changes for target scheduler policy
WMI changes for target scheduler policy

Change-Id: I80407695af4bd8c9c57ae0bf33d0f03bac879c84
CRs-fixed: 2152448
2017-12-07 17:25:30 -08:00
Gyanranjan Hazarika
ca79a651c8 qcacmn: Add HE beamforming capabilty mask
To be able update the target with user preferred HE beamforming
capablities we need corresponding commands exposed to the user
space. Add HE beamforming capabilty mask in order to set or get
these capabitlites in the destination variable to enable these
commands.

Change-Id: I0f7f86fa53a3f6629299808042d05e78ecc489bd
CRs-fixed: 2126717
2017-12-06 17:25:18 -08:00
Om Prakash Tripathi
a917863e62 qcacmn: Add support for vdev delete response handler
Add support for vdev delete response handler

Change-Id: I7944064857ee2a1c8c8c1dcb739d692a7f463a13
CRs-Fixed: 2149401
2017-12-06 13:27:31 -08:00
Ruchi, Agrawal
d1e8e496eb qcacmn: Add CCE disable param in WMI resource cfg
CCE param disable is required for RAW Mode AMSDU cases,
RAW AMSDU frames causes CCE to crash, to avoid crash
disable cce component using CCE param.

Change-Id: I1b221e12ac69a873e995485c56a6ea5b310e727c
CRs-Fixed: 2132295
2017-12-06 06:57:04 -08:00