Commit Graph

598 Commits

Author SHA1 Message Date
Kiran Kumar Lokere
a536eac8cc qcacmn: Add support to set the MU EDCA params to FW
Add support to set HE MU EDCA parameters to FW

Change-Id: I1aa641764248c0fd834d8790d2268887d3ab0903
CRs-Fixed: 2220230
2018-04-20 02:33:37 -07:00
Naveen Rawat
57e47aaaa5 qcacmn: Add target_if/wmi implementation of get_tx_power
Add changes to support get tx power from within cp_stats component.

Change-Id: I89ac372bd31a8aa5a76938dc4ea4cfe05d6c7cf1
CRs-Fixed: 2210311
2018-04-19 22:06:53 -07:00
Abhinav Kumar
334355f3bf qcacmn: Add new ini to set min delay btw scan and reason bit-mask
Add ini "min_delay_btw_scans" to set minimum duration allowed between
two consecutive roam scans. Fw should not allow roam scan if duration
between two consecutive roam scan is less than min_delay_btw_scan.

Add ini "roam_trigger_reason_bitmask" to set default value of
bit-mask containing roam_trigger_reasons for which
min_delay_btw_scans constraints should be apply.

Pass value of min_delay_btw_scans and roam_trigger_reason_bitmask
to fw.

Change-Id: I2397467a13a720e763d1181d8cd50c571f861366
CRs-Fixed: 2221785
2018-04-19 22:06:47 -07:00
Abhinav Kumar
7c0e99b8cf qcacmn: Add new ini to enable/disable FT open feature
Add new ini item "enable_ftopen" to enable/disable
FT open feature. There is no ini currently to
disable only FT open.

Add sanity check to send 11r params in case of FT open
to fw only when enable_ftopen is enabled

Change-Id: Ifb27aea8de8c8837f8eda329e1247abfadabb628
CRs-Fixed: 2214772
2018-04-18 10:37:24 -07:00
narayan
0842780371 qcacmn: AMPDU_AMSDU per vap offload
cmn_dev changes for FR38985 and FR40338 port from 10.4 to 11.0

Change-Id: Ic56e65a4c7429d79e49e353146f7b38dd73da9d1
CRs-Fixed: 2123123
2018-04-17 06:58:28 -07:00
Abhinav Kumar
e158b1c798 qcacmn: Add new ini to set delay Hand-off period
Add new ini item "ho_delay_for_rx" to set delay Hand-off
period. For LFR 3.0 roaming scenario, once roam candidate
is found, firmware waits for minimum this much duration
to receive pending rx frames from current BSS before
switching to new channel for handoff to new AP.

Pass value of ho_delay_for_rx to fw in case of roam
offload.

Change-Id: I19141928a2885371bc1b9e7b720473d99c4ebb1d
CRs-Fixed: 2221755
2018-04-16 16:57:10 -07:00
Kabilan Kannan
66084ce918 qcacmn: Block WMI cmds before issuing HTC stop
WMI cmds should be blocked, before calling HTC stop
to avoid the race condition in the system

Change-Id: I015b154a3bc422f50d4ed82bc861dd9e054c47a3
CRs-Fixed: 2194234
2018-04-16 16:57:01 -07:00
Santosh Anbu
1e11b47ba8 qcacmn: Move retrieval of wmi_handle to target_if layer
Remove inconsistent API for scan start and stop, where pdev_wmi_handle
is derived from psoc_handle at the WMI layer instead of using
the wmi_handle passed from the above layer i.e target_if

Change-Id: If259260e6f8cf77bf68748a8130db4440b88588a
CRs-Fixed: 2203048
2018-04-15 23:15:26 -07:00
lifeng
fa983052e3 qcacmn: Export antenna info to the userspace
qcacld-2.0 to qcacld-3.0 propagation
Discard the original wmi interface:
WMI_PEER_ANTDIV_INFO_REQ_CMDID/PEER_ANTDIV_INFO_EVENTID,
replace with the new one:
WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID/WMI_PDEV_DIV_RSSI_ANTID_EVENTID
to support chain value along with corresponding antenna info.

Change-Id: Ie9ea9d160e1ac1e2e65de422c85989159fb5a556
CRs-Fixed: 2220759
2018-04-13 09:30:42 -07:00
Shiva Krishna Pittala
792933748b qcacmn: Fix the limitations in enabling memory debug on WIN
Copy the file name to a QDF local array, rather than using
the pointer to file name, to avoid access to the invalid pointer.
Also, separate out SKB debug from memory debug.
SKB debug will be enabled once the SKB related false positives are fixed.

CRs-Fixed: 2216661
Change-Id: I0ada1acb84c24c961cf614c9c47261f272959874
2018-04-11 09:15:20 -07:00
Soumya Bhat
0ae28067cb qcacmn: Tx capture/Mcopy mode changes
The following changes are added for Tx capture/Mcopy mode
1. Append ppduid for FW generated mgmt. frames
2. Append ppduid received in mgmt. TX completion for host
   generated mgmt. frames
3. Reuse nbuf received in HTT msg to send mgmt. payload to
   upper layers

Change-Id: I073cafa6389ed1ed835cc3ba4b9421b7a4b97d7f
CRs-Fixed: 2185543
2018-04-06 14:47:18 -07:00
Naveen Rawat
3aa16c441c qcacmn: Fix memory allocation in NDP firmware events
Fix memory allocation during NDP firmware events by allocating
memory before wmi_extract APIs are called.

Change-Id: I3af2f49895a79a45b3add246eeb9025b1df92faa
CRs-Fixed: 2183493
2018-04-04 07:37:36 -07:00
Tushnim Bhattacharyya
9c8a954dcf qcacmn: Use correct enum type in function send_get_rcpi_cmd_tlv
Use the wmi enum type in function send_get_rcpi_cmd_tlv converting from
rcpi_measurement_type.

Change-Id: I5b506059ad8b0f4cd65c24e20df6306a47249fdb
CRs-Fixed: 2216017
2018-04-03 16:50:15 -07:00
Kabilan Kannan
f1311ecc8d qcacmn: Add magic string for debug enhancement
Add magic string in the driver to automate the
stability analysis.

Change-Id: Ic4989d70827bbb680de428f8065e2fff6ea8ad2f
CRs-Fixed: 2212155
2018-04-02 19:39:42 -07:00
Yuanyuan Liu
977f53b1a3 qcacmn: Fix LLVM compiling issues
Remove typedef redefinition, use correct enum type, remove extra
parentheses and correct header guard.

CRs-Fixed: 2214003
Change-Id: I0a75c70cd530590a16f6bfa884955ebc26906de0
2018-04-02 16:41:52 -07:00
Kiran Venkatappa
136986dfca qcacmn: WMI interface changes to configure TWT
Add WMI interface changes required to configure TWT

Change-Id: I307f65f8049caf8365fb496fd69f91600ddbd832
CRs-Fixed: 2212556
2018-03-29 13:16:14 -07:00
Gyanranjan Hazarika
32f0002c21 qcacmn: WMI support to set autorate HE GI LTF combinations
WMI_VDEV_PARAM_AUTORATE_MISC_CFG is introduced to set
HE GI LTF combinations in case of autorate adaptation.
Add support for the same in host side wmi files.

Change-Id: Idf567d771539b17e669ddab8b85092e3cbf9d3c8
CRs-fixed: 2204393
2018-03-28 20:01:44 -07:00
Shashikala Prabhu
adb0aaa93d qcacmn: Set half/quarter rate flags in the scan channel list
Set half/quarter rate flags in the scan channel list and send it to FW.

Change-Id: Ia63a1f360337bdb4ba054892c0c3dfe773b97f11
CRs-Fixed: 2212700
2018-03-27 13:53:13 -07:00
Vivek
c582309f9a qcacmn: Replace A_UINT with appropriate types
There are instances of use of older A_UINT/A_INT.
Replace all such instances with the qdf u_int*_t/int*_t.

Change-Id: I7ce29b03f29a0d1a0cf87cfd3c846f4694da4c2a
CR's-Fixed: 2210869
2018-03-26 04:58:12 -07:00
Sravan Kumar Kairam
963cad9923 qcacmn: Modify WMI cmd to point to IPA CLD component
IPA module has been moved to CLD component under the converged
driver model. Point the wmi API's and structures to the newly
defined files.

Change-Id: I96205f7cc18dbea1c05a5f6314490ea6b3dd75fd
CRs-Fixed: 2180176
2018-03-21 18:57:49 -07:00
Neil Zhao
d32a7bdc86 qcacmn: Fix The beaconing functionality of Mesh vap fails
Enable mesh vap beaconing ioctl is sent via
vdev setting WMI cmd for WMI_VDEV_PARAM_CAPABILITIES.
But the vdev_param array for tlv is not populated.

Change-Id: Icefd3a506baf3459b95cdc31bd447f80068954df
CRs-Fixed: 2141343
2018-03-21 13:52:17 -07:00
Manikandan Mohan
3dc8c5127c qcacmn: Fix export symbol for multi drivers compilation
Update wmi module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I44970ae510839cdf8f0e8446e39c4b6567eb2b93
CRs-fixed: 2197751
2018-03-19 19:58:16 -07:00
Chaithanya Garrepalli
6327e8ad49 qcacmn: Send max commands as param to wmi_unified_attach
Modify arguments of wmi_unified_attach to use struct to
send attach params instead of individual params. Add max
WMI commands as a param. Based on requirement MAX WMI
commands value is different. In case of AP that supports
16 VAPs and more than 512 clients, 1024 commands is not
enough. Use this param to configure this value based on
the requirement.

Change-Id: I4e778475481e509051dfbac70980614b644e1b4a
CRs-fixed: 2034438
2018-03-15 04:26:08 -07:00
Dustin Brown
983c53f4d0 qcacmn: Add new resource config fields
Firmware recently exposed two new resource config fields,
num_packet_filters, and num_max_sta_vdevs. Add these fields to the
host-side resource config struct so appropriate values can be populated
and communicated to firmware.

Change-Id: I951ba6ac929c38c2d78af6705f4922b62fc7d3a1
CRs-Fixed: 2201876
2018-03-14 22:34:17 -07:00
Pratik Gandhi
cf3b8b97c7 qcacmn: Fix compilation issues for FW header abstraction
fwhdr_abstrct: Fix compilation issues for WIN firmware header abstraction.

Change-Id: Id76a6f29fd41ae559cf377029428224d59bd03fb
CRs-Fixed: 2140921
2018-03-09 07:28:50 -08:00
Arif Hussain
e0eb730b92 qcacmn: Implement extract_comb/single_phyerr for tlv
Implement extract_comb_phyerr and extract_single_phyerr for tlv.

Change-Id: Id65809cdd05f11e39d8f5a88a3f47632e9a92b04
CRs-Fixed: 2196835
2018-03-08 22:06:14 -08:00
Poddar, Siddarth
45880bbddc qcacmn: Extend wmi interface command to support other connectivity stats
Extend wmi interface command to support other
connectivity check stats(ICMPv4 and tcp).

Change-Id: I881aaeab6e3e1f36b7153630b87a07019660d896
CRs-Fixed: 2168412
2018-03-07 03:55:37 -08:00
Rachit Kankane
799d2c9655 qcacmn: Compile out WMI logging feature
Fix to compile cleanly when WMI_INTERFACE_EVENT_LOGGING
feature is disabled.

Change-Id: I1c7d687e685b8b2dcdb35667c425afc3d09c73da
CRs-Fixed: 2192125
2018-03-06 23:45:19 -08:00
nobelj
f74583b2be qcacmn: Add support for chan_nf noise floor
Add function for extract_nfcal_power_ev_param and
register wmi_pdev_nfcal_power_all_channels_event_id event
to support noise floor in HK.

Change-Id: I6eef823b507be94c65df026664244eec7fc07e24
CRs-Fixed: 2157972
2018-03-02 16:34:27 -08:00
Varun Reddy Yeturu
e6f8be37e2 qcacmn: Fix NULL pointer dereference issues in scan and power debug
get_pdev_wmi_handle() can return a NULL pointer in some cases.
Perform a NULL check before using the returned pointer.

target_psoc_get_service_ext_param() can return NULL pointer in
some cases. Perform a NULL check before using the pointer.

The power debug command can  take a maximum of WMI_MAX_POWER_DBG_ARGS
arguments. Check for the limit before indexing the array to avoid
illegal access of memory or overflow the array.

Change-Id: I264475e9f86c7a7e78b17b7a1fa025718a7c5af6
CRs-Fixed: 2196063
2018-03-02 16:30:44 -08:00
Himanshu Agarwal
f06d9e3c0f qcacmn: Unmap tx frame in error scenario in send_mgmt_cmd_tlv()
Unmap tx frame in error scenario in send_mgmt_cmd_tlv().

Change-Id: Ie16ca466fd3c1e6af5d65fec51b7dac2ef74f003
CRs-Fixed: 2188444
2018-03-01 07:16:52 -08:00
wadesong
b8bf4defb4 qcacmn: Suppress verbose debug printing
The debug print in function send_beacon_tmpl_send_cmd_tlv
is too verbose and doesn't exhibit anything meaningful.

Remove it to make sure meaningful logs will not get
overwritten during SnS tests.

Change-Id: I4564ac83715f0003ad53aa73f0fb859cc5cbec1c
CRs-Fixed: 2197209
2018-03-01 01:35:36 -08:00
gaurank kathpalia
cdfb4450d5 qcacmn: Add qdf time api to get time of the day in millisec
qcacld-2.0 to qcacmn propagation

Adds qdf time api to get time of the day in millisec

Also send host timestamp to firmware, so that firmware can print the
logs timestamp in sync with host via the wmi interface,with
api wmi_send_time_stamp_sync_cmd_tlv()

Change-Id: Id6acfc5227fdca2fbf8d266998fdfc4046adc5f4
CRs-Fixed: 2193978
2018-02-28 23:35:53 -08:00
Padma, Santhosh Kumar
5e751d4906 qcacmn: Add support for GMAC offload
Add support for GMAC offload capability wmi_service_gmac_offload_support

Change-Id: I4a2e5c52aae630f82294dcaea6cc7c23886dcd8a
CRs-Fixed: 2185825
2018-02-28 01:30:00 -08:00
Gurumoorthi Gnanasambandhan
1075366660 qcacmn: Add sanity check for wmi TLV length
Add sanity check for wmi TLV header length before padding/shrinking
elements in a wmi which has a variable length for its TLV structure.
Currently, the TLV length is not checked so its maximum value could
be 65535 which results in a hugh count for elements. Number of elements
is used to terminate the loop for padding/shrinking. If the number
was too large, there would be memory overflow.

Change-Id: Iea0615fc511696c6cc5dcc48a9dfff225256a52b
CRs-Fixed: 2181685
2018-02-27 21:17:10 -08:00
Rhythm Patwa
8cdcf67521 qcacmn: Add command to not send ADDBA REQs
Add command support to not send ADDBA REQs.
The corresponding WMI VDEV param ID to set the
VDEV param has been added.

Change-Id: Id53f8101a61ccc0aba2a9a6735d1c6942ba3592d
CRs-fixed: 2188560
2018-02-27 16:04:43 -08:00
Arunk Khandavalli
b6ba21fef9 qcacmn: Increase the wmi watchdog timeout to 30sec
Under low memory conditions skb allocation sleeps
and results in kernel work queue watchdog.

Increase the wmi timeout to check if the system
recovers to allocate the SKB.

Change-Id: Ie4e42fdc71703c687ba2e5a4d995481ea7931c97
CRs-Fixed: 2158198
2018-02-27 16:04:41 -08:00
gaurank kathpalia
6a51f2b914 qcacmn: Send per chain rssi to upper layer
Add support to send the per chain rssi to upper layer
for each beacon and probe responses.

Change-Id: Ife6cb9e8e65591baf485c54a985f84d842400321
CRs-Fixed: 2177638
2018-02-27 01:57:52 -08:00
Shaakir Mohamed
75208c31ec qcacmn: Add TLV support for WMI command to get tpc config
Adds tlv support to get TPC config WMI command.

Change-Id: I4f465ae03c00df8f741288361c4579d911b68906
CRs-Fixed: 2187552
2018-02-26 15:57:56 -08:00
Shiva Krishna Pittala
42a466129b qcacmn: Provide a configuration to enable/disable CCK Tx
Firmware will use this configuration to enable/disable the
CCK transmission. By default, the CCK Tx is enabled.

CRs-Fixed: 2191524
Change-Id: I165c3ea10ea3734fc81e7d25fe8ad676afd1b2c1
2018-02-21 17:12:42 -08:00
Shaakir Mohamed
9fbf00ac00 qcacmn: Fix for dfs channel flag set if dfs_set is true
Fix for dfs channel flag set if dfs_set is true, during vdev start.

Change-Id: I33c4a72d6f23cb687069f6a5b746b149626056dc
CRs-Fixed: 2189396
2018-02-16 13:20:21 -08:00
Arif Hussain
d9978f832e qcacmn: Add extended service bit for obss offloads
Added extender service support for obss and obss color
Collision offload support.

Change-Id: Ifd249b3bbf4510297f15beb33df13d6c4f9d7d0e
CRs-Fixed: 2185238
2018-02-10 09:12:49 -08:00
Arif Hussain
ec5cd3c767 qcacmn: Add bss color collision detection support
Add support for bss color collision detection.

Change-Id: Ia3d64917518c2aa5fc4a10bb7f3f8db2d47bc5d7
CRs-Fixed: 2185238
2018-02-10 09:12:46 -08:00
Shiva Krishna Pittala
90ccf6c97b qcacmn: Use module level logging in Spectral
Current Spectral module uses qdf_print. To improve the control over
logging, use module level logging

CRs-Fixed: 2165341
Change-Id: I205991347453c4dcc424ba1958e309b7c5fb71a0
2018-02-09 09:20:56 -08:00
Arunk Khandavalli
22a7d54c7c qcacmn: use converged wmi events
As part of converged architecture wmi_service_enable is converged
and should be used instead of WMI_IS_SERVICE_AVAILABLE. The events
also need to be defined as part of array for mapping to converged
event id's.

Change-Id: I9ab342a5cf6e665a3eb90eeef6d10bf3c145049d
CRs-Fixed: 2186338
2018-02-09 06:24:36 -08:00
Pratik Gandhi
67da1bb4af qcacmn: WMI registration change to support to WIN modularization
Change WMI initialization sequence to support WMI modularization.
TLV and Non-TLV modules calls WMI module registration based on target type.
WMI attach will call respective attach routines based on registration.

Change-Id: Id56446f491d129758537913d2d5d6633f8dec918
CRs-Fixed: 2179854
2018-02-07 12:12:05 -08:00
Himanshu Agarwal
157e47813d qcacmn: Remove dependency on WMA layer for green AP component
Remove dependency on WMA layer for green AP component by registering
green AP events through target_if layer.

Change-Id: I8fe9079c6ba6b23cd5f1d98a7d1b333fde31f19b
CRs-Fixed: 2178143
2018-02-06 17:33:03 -08:00
Anirban Sirkhell
c519dd6098 qcacmn: set txpow for frame and subframe
command:-
1. "iwpriv athx s_txpow param1 param2"
2. "iwpriv athx g_txpow param1"

param1 = frame_type<<8+frame_subtype param2 is power_value
if subtype == 0xff means set all subtype of that frame type

Change-Id: I8c68e1ca6a5829a3f0cf01b2c32c3332e1010243
CRs-Fixed: 2175241
2018-02-06 09:43:50 -08:00
Shaakir Mohamed
66ebecaee1 qcacmn: Increase max value of unit test arguments to 100
Increase the maximum value of unit test arguments to 100 to include
support DL OFDMA RU allocations for testing / debug.

Change-Id: I33ed8d53931e33cc00069653ea38b543339203c0
CRs-Fixed: 2175616
2018-02-05 23:42:54 -08:00
Vignesh Viswanathan
376834cdfe 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