Commit Graph

508 Commits

Author SHA1 Message Date
Jeff Johnson
eb83ef0ca8 qcacmn: Fix typo "sucess"
Replace typo "sucess" with correct spelling "success"

Change-Id: Ieacb299890210d67848268a389a57168e2a2badd
CRs-Fixed: 2238309
2018-05-17 00:46:44 -07:00
Naveen Rawat
d2115722b0 qcacmn: Add target_if/wmi implementation of get_stations_stats
Add changes to support get station stats from within the cp stats
component.

Change-Id: I936ea8e18e519f257ae2d57b384a5a39f4582aed
CRs-Fixed: 2210313
2018-05-16 23:20:19 -07:00
Surabhi Vishnoi
83f677e764 qcacmn: Fix memory leak in WMI
In case of invalid MIMO PS config in wmi cmd, wmi cmd
is not sent and we return. This leads to memory leak as wmi
net buf allocated is not freed before returning.

Fix the memory leak by freeing the wmi net buf in such case
before return.

Change-Id: I7f353f0b4d84a663801482a9c28296371bea3b89
CRs-fixed: 2230346
2018-05-16 12:13:30 -07:00
Naveen Rawat
d30dad6ef0 qcacmn: Fix possible OOB access while sending NAN msg to firmware
Fix possible OOB access while sending NAN msg to firmware, by checking
data len calculation against integer overflow and making sure data len
to be less than max wmi msg size.

Change-Id: I98f42b9924a1810282ae3bca031cd5a1e3dd4047
CRs-Fixed: 2205722
2018-05-15 19:05:59 -07:00
Naveen Rawat
963ee9411c qcacmn: Add target_if/wmi implementation of get congestion stats
Add changes to support get congestion stats(arp stats) from
within cp_stats component.

Change-Id: Ic3b2f020c0169c9113c1b40738f782cbb3b8f6c5
CRs-Fixed: 2222781
2018-05-14 11:39:24 -07:00
Srinivas Girigowda
5029ae7cb7 qcacmn: Consistently use policy_mgr_dual_mac_config
Remove duplicate structs wmi_dual_mac_config and sir_dual_mac_config
and use policy_mgr_dual_mac_config.

Change-Id: I6da6539f519ec46ee274ba3f3ae042e5fd9c25d2
CRs-Fixed: 2191031
2018-05-12 04:31:30 -07:00
Kiran Venkatappa
3619e6668f qcacmn: Update target resorce config with TWT params
Number of AP TWT and AP TWT stations are added in
target_resource_config to provide the configuration for TWT.
Add support in WMI to provide appropriate defaults for TWT.

Change-Id: Ica91f981d59a015b0b4cda41ba951b6ba22e8120
CRs-Fixed: 2212667
2018-05-03 09:12:54 -07:00
Naveen Rawat
2630545223 qcacmn: Add get channel width from phy mode API
Add get channel width from phy mode API which will be used by
ndp schedule update event.

Change-Id: I13d00c0b818eb0da434c8a5372b2ab7b6693f22a
CRs-Fixed: 2216801
2018-05-02 18:46:16 -07:00
Vinay Adella
4662d4e744 qcacmn: Support to enable/disable SWBA events in beacon offload
When SWBA event is enabled, the FW will sent an event to the
host on every TBTT beacon.
Note that, unlike the legacy offload chips, this event is not
used by the host to send out the beacon frame itself.

Change-Id: Icf4440d79f7dbfb544f9d98c4de0e84bdb150459
CRs-Fixed: 2200805
2018-04-30 05:56:24 -07:00
Edayilliam Jayadev
9265122fcf qcacmn: Extract meta data from dbr event
Extract meta data from the dbr wmi event.

CRs-Fixed: 2219818
Change-Id: Ib19588775060e75017e9777206132a0efeec6223
2018-04-25 23:49:01 -07:00
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