Commit graph

4,477 commits

Author SHA1 Message Date
Sravan Kumar Kairam
ea66b6843b 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
Venkata Sharath Chandra Manchala
8ec45bbd33 qcacmn: Propagate reception type parameter
Propagate reception type data captured at peer level
to pdev level

Change-Id: Ie57ee07d6deccbf4aa5259d9e30bd1437fb304ee
CRs-Fixed: 2207518
2018-03-21 18:57:46 -07:00
Amar Singhal
0894f015d8 qcacmn: Use the right index while accessing ipv6 array
Zero comp value if changed; would be 1 to 8. When accessing
ipv6 array, the access can go out of bounds if value is 8 since
the bytes array is of size 16 (0 to 15). Fix that.

Change-Id: I38eb1d3be2840bfbb5fdc9c72606ce51e29cb0ce
CRs-Fixed: 2196076
2018-03-21 17:27:51 -07:00
Rajeev Kumar
19735e75ce qcacmn: Rate limit CE access log to avoid watchdog bark
Rate limit CE access log to avoid watch dog bark because of
excessive console logging.

Change-Id: I460a39f02206f651eafc26febd5628766e471483
CRs-Fixed: 2207647
2018-03-21 15:29:48 -07:00
Dustin Brown
f74576cb84 qcacmn: Add TX credits after WMI logging
While processing a host-to-target credit report, the number of available
credits is incremented before recording the credit report event in the
WMI history log. This can lead to tricky debug scenarios where there is
an available credit, but the WMI history log does not show that a credit
report has been processed. In htc_process_credit_rpt, log the credit
report in the WMI history log before incrementing the available credits
field.

Change-Id: Id8632c85348bec38b6c46549a68f613d102b2ae5
CRs-Fixed: 2204248
2018-03-21 13:52:19 -07:00
Neil Zhao
6b6bf629d2 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
Santosh Anbu
efe6c5a884 qcacmn: Increase log level of HIF module
Increase log level of HIF module to ERROR so as to print the CE Ids
when dumping the CE registers as part of target failure handler.

Change-Id: I278f836590cd717c7bdeaf414023aeb646f9da2f
CRs-Fixed: 2205508
2018-03-21 05:57:50 -07:00
Sravan Kumar Kairam
376e5f1e3f qcacmn: Add IPA component related definitions
As part of IPA componentization remove IPA from HDD module
and make it as an independent component. Add qdf module ID
and Objmgr ID for IPA module.

Change-Id: Id99089f8188e8b1dbf7e1f60d3a127bec770706d
CRs-Fixed: 2180176
2018-03-21 03:39:37 -07:00
Nandha Kishore Easwaran
ac0b96edf9 qcacmn: Add Pktlog service msg in ce config
Add pktlog service message for CE5 in CE configuration.

Change-Id: I49dddd11ca1805a9f519b881d573e8ff4b7ffeb2
CRs-fixed: 2209371
2018-03-21 03:39:35 -07:00
Amir Patel
2b2435e564 qcacmn: Avoid memory use after free in scan node delete
Scan node del API is modified to check refcnt before
deleting node. Mark node delete with scan node del before
releasing ref to avoid get ref

Change-Id: I1cde576cd47eb4effe8af38c2d77f02a21349dfb
CRs-Fixed: 2208987
2018-03-21 03:39:33 -07:00
Om Prakash Tripathi
8a54599b3a qcacmn: put bss reference taken in cfg80211_inform_bss_frame
cfg80211_inform_bss_frame_data() takes an extra reference of
bss and it shall be freed by caller.

Change-Id: I6e2a37327fc369d01d237e7ff57221333709b53f
CRs-Fixed: 2205608
2018-03-21 03:39:31 -07:00
Krunal Soni
d45830e34f qcacmn: Add new diag event to capture connection stats
Add diag event and its structure to log various connection statistics
after the connection has been made.

Change-Id: I3572cd9230d89e2d4154fd43579c258a2e2bdb58
CRs-Fixed: 2208509
2018-03-20 22:35:20 -07:00
Krunal Soni
6ace02054e qcacmn: Add new diag events to log TX and RX mgmt frames
Add diag events and their structures to log TX and RX mgmt
frames.

Change-Id: I2f30c46d0087dc6a31fcb874713a574fe5936ea7
CRs-Fixed: 2208506
2018-03-20 22:35:17 -07:00
Ashok Ponnaiah
455eb68470 qcacmn: export few crypto functions
Export few crypto function for other modules use.

CRs-fixed: 2203383
Change-Id: If9ee188b96d1c537a3fe7f5c37e85683fe069276
2018-03-20 22:35:15 -07:00
Dustin Brown
950ceeeb80 qcacmn: Add configuration component implementation
Add the implementation for the new configuration component.

Change-Id: If94e9b4015a7c43674112925206b54a33bd3e340
CRs-Fixed: 2196022
2018-03-20 20:02:22 -07:00
Dustin Brown
00e22124e6 qcacmn: Add configuration component header files
Add header files for the new converged configuration component.

cfg_dispatcher.h: Contains dispatcher lifecycle handlers
cfg_define.h: Tools for components to define new configuration metadata
cfg_ucfg.h: Contains APIs for consuming configuration at runtime
cfg_converged.h: Contains a collection of configuration metadata from
	all the converged components

Change-Id: Ief5d3e33dca1bc5f8dba47d9e0c03a97ad1b371f
CRs-Fixed: 2196017
2018-03-20 20:02:20 -07:00
Dustin Brown
f02993c7ec qcacmn: Rename QDF_TRACE_RATE_LIMITED
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers. Instead of using QDF_TRACE_RATE_LIMITED
directly, consumers should use the level-specific versions instead.
To prevent new consumers of QDF_TRACE_RATE_LIMITED in the future,
rename this API to __QDF_TRACE_RATE_LIMITED.

Change-Id: I06d35f5277fe2e11fbcc0e7e00b6fa99a84bda78
CRs-Fixed: 2208564
2018-03-20 20:02:18 -07:00
Manjunathappa Prakash
86f4ba70f3 qcacmn: Allocate HW link desc pools for each mac
MCL operates on both macs with single pdev. So allocate HW link
descriptor pools for each macs.

Change-Id: I5a373bfbd1d15557e1fc66b8af17c2a130cdf5f9
CRs-Fixed: 2176848
2018-03-20 15:55:02 -07:00
chenguo
cd0f313885 qcacmn: Add RXDMA err process for RING 1
In monitor mode, it is needed to reap RXDMP error ring for RING1.
Also need to replenish for RING1.

Add this missing operations.

CRs-Fixed: 2190071
Change-Id: I8cd60c6cb70b472a26d55783d0964e85e99680b9
2018-03-20 15:55:00 -07:00
Manjunathappa Prakash
d9ce350f01 qcacmn: Initialize and reap both 2.4GHz and 5GHz MACs
Initialize MAC1 along with MAC0. 2.4GHz monitor mode operates on
MAC1 so initialize MAC1 and reap both MAC0 and MAC1.

Change-Id: Id281def37d460b224f5f571893266f193846fd0c
CRs-Fixed: 2176848
2018-03-20 15:54:58 -07:00
jitiphil
0081d767f1 qcacmn: Fix buffer overflow in process_tx_info and process_rx_info
Currently data in "pl_tgt_hdr" is used directly from firmware without
any length check which may cause buffer over-read.

To address this issue add length check before accessing data offset

Change-Id: Ic2930fdf7168b79a8522be282b0e1cd19214742a
CRs-Fixed: 2191170
2018-03-20 14:34:00 -07:00
Chaithanya Garrepalli
974da2640a qcacmn: Avoid reference of peer object after peer_teardown
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.

Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
2018-03-20 07:38:25 -07:00
Nandha Kishore Easwaran
3053deedfa qcacmn: Avoid mcast check in qwrap isolation mode
Donot perform mcast echo check in case of qwrap isolation mode.
In qwrap isolation mode, packets from wired station reaches the wireless
station via the rootap. Thus we need to allow loopback packets in qwrap
isolation mode.
Also add a configuration to set isolation mode.

Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0
CRs-fixed: 2204033
2018-03-20 05:59:09 -07:00
Tallapragada Kalyan
71c46b9357 qcacmn: WDS and AST specific code under different compile time flag
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.

Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
2018-03-20 05:59:07 -07:00
Om Prakash Tripathi
dc56b1e39a qcacmn: Detach scan object on release memory callback
Detach scan start request object from serialization object
on release memory callback. It's requred as some times
serialization ends up calling callback funtcions even after
calling release memory command due to race conditions.

Change-Id: Id0f74032de40bad679c27fe3e5ab1bf83e6dfcf5
CRs-Fixed: 2208227
2018-03-20 05:59:04 -07:00
Anish Nataraj
5034701e13 qcacmn: Assign ldpc from ppdu info and non-amsdu counter increment
Update ppdu rx stats ldpc value into cdp rx indication structure
Also, increment non-amsdu counter for peer/vdev/pdev level stats

Change-Id: I252b71756db7019c5a6d60eeebf9f0c782266e34
2018-03-20 02:10:09 -07:00
Anish Nataraj
0dae67614e qcacmn: Assign bss peer in peer map event
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer

Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
2018-03-20 02:10:07 -07:00
Manikandan Mohan
eb61d7e09f qcacmn: Add WLAN Module name as log prefix
Add WLAN module name as logging prefix in multiple wlan driver
compilation environment for differentiating the logs pertaining
to each driver module.

Change-Id: Ib3aeaa280e3beb0de8ceb105e0989cb6004964d6
CRs-fixed: 2197751
2018-03-19 19:58:20 -07:00
Manikandan Mohan
b5387d4102 qcacmn: Fix export symbol for multi drivers compilation
Update dfs module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Ib1b9605b7c017b1f366fe01b8f7e1ca0379fe217
CRs-fixed: 2197751
2018-03-19 19:58:18 -07:00
Manikandan Mohan
3fc6592581 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
Manikandan Mohan
0f3c99b8ef qcacmn: Fix export symbol for multi drivers compilation
Update objmgr module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I603a164ecfa2cc21f56cd823c84fb4b430546701
CRs-fixed: 2197751
2018-03-19 19:58:14 -07:00
Manikandan Mohan
a2993a595c qcacmn: Fix export symbol for multi drivers compilation
Update umac module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Id982b3e0593b7c90244f2025decd10e97cb62f9c
CRs-fixed: 2197751
2018-03-19 19:58:12 -07:00
Manikandan Mohan
56a2bf8921 qcacmn: Fix export symbol for multi drivers compilation
Update target_if module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I83b2d79a96909a2661a89a1129e17c291e9a2e03
CRs-fixed: 2197751
2018-03-19 19:58:10 -07:00
Manikandan Mohan
56c2608fa3 qcacmn: Fix export symbol for multi drivers compilation
Update spectral module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: I2ae9f4b38d67600f10a9c8991a5095ff50f7dfb2
CRs-fixed: 2197751
2018-03-19 19:58:08 -07:00
Manikandan Mohan
a18b86465c qcacmn: Fix export symbol for multi drivers compile
Update qdf files to use qdf_export_symbol to facilitate multiple
driver module compilation support.

Change-Id: I3bd0068bc2002b48a42da2c8f72bf84d49a6170f
CRs-fixed: 2197751
2018-03-19 19:58:06 -07:00
Manikandan Mohan
5bdb2fe470 qcacmn: Fix export symbol for multi drivers compilation
Update driver files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Ic7d7f65b79e92957b02c0386ba98af2adf17506b
CRs-fixed: 2197751
2018-03-19 19:58:03 -07:00
Sravan Kumar Kairam
cc33f70e91 qcacmn: Fix SMMU enable compilation error
Fix SMMU enable compilation error by protecting
IPA SMMU OS abstractions under feature flag.

Change-Id: Ib6a241d16a1906dad59781f1592988ce7eba1e57
CRS-Fixed: 2203169
2018-03-19 09:34:45 -07:00
Sravan Kumar Kairam
3738db4d3f qcacmn: Add QDF IPA abstraction for WDI UL params
Add QDF abstraction for WDI UL params used for IPA
WDI RX configuration.

Change-Id: If9daee345fbbd730e49fd236381273045919737e
CRS-Fixed: 2199017
2018-03-19 09:34:43 -07:00
Sravan Kumar Kairam
4e417e0ad0 qcacmn: Add APIs to get IPA SMMU status
Add APIs to get the IPA SMMU status

Change-Id: I5889f35739b220bd4ad38f4278c133cd97141b22
CRs-Fixed: 2176318
2018-03-19 09:34:41 -07:00
Sravan Kumar Kairam
58e0adfb53 qcacmn: Add support for WLAN-IPA WDI2 with SMMU Stage 1
Update WLAN-IPA WDI-2 datapath for DMA buffer sharing with SMMU
Stage 1 translation support. When SMMU Stage 1 is enabled DMA
APIs return IO virtual address(IOVA) instead of physical address.
This IOVA need to mapped to physical address by IPA module
before accessing them.

Change-Id: I33082bc74760b0f12c348238c6f48f5ce5750172
CRS-Fixed: 2072953
2018-03-19 09:34:39 -07:00
Himanshu Agarwal
59c25048cd qcacmn: Add QDF APIs for SMMU Stage 1 translation
Add QDF APIs for DMA buffer allocation and sharing with SMMU
Stage 1 translation support. When SMMU Stage 1 is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by
external module before accessing these buffers.

Change-Id: I88e938d8ebe1f32fdea79e3c3aa8a3638ddfd2b8
CRS-Fixed: 2072953
2018-03-19 09:34:37 -07:00
Linux Build Service Account
b71c52d9c9 Merge "qcacmn: Add per-level logging wrapper APIs" 2018-03-17 04:48:08 -07:00
Linux Build Service Account
16960ff67a Merge "qcacmn: Rate limit logs based on elapsed time" 2018-03-17 04:48:07 -07:00
Dustin Brown
385b73090f qcacmn: Add per-level logging wrapper APIs
Depending on platform limitations and the intended audience of a
particular WLAN driver build, it would be useful to be able to compile
out specific logging level logs completely. To that end, introduce
per-level logging wrappers, which can be compiled in or out by the build
configuration.

Change-Id: Ie062ada403f8a31aebcde691396987ad9e5352b5
CRs-Fixed: 2205888
2018-03-16 21:51:49 -07:00
Dustin Brown
9a94c9a29d qcacmn: Rate limit logs based on elapsed time
QDF_TRACE_RATE_LIMITED() currently rate limits by only printing every
rate'th call to the function from the same location. Instead, prevent
logging messages more than some constant 'k' times per second. This
means any subsequent calls to the API from the same location within 1/k
seconds will be dropped.

Change-Id: I31a3f48f68fb6bc67f59f3157a635345943d3331
CRs-Fixed: 2205794
2018-03-16 21:51:48 -07:00
Linux Build Service Account
c13c0db118 Merge "qcacmn: Add support for vdev feature ext flag WLAN_VDEV_FEXT_AMSDU" 2018-03-16 18:50:48 -07:00
Rajeev Kumar
88de1dba44 qcacmn: Add common QDF API qdf_is_fw_down() to check fw status
Add common QDF API qdf_is_fw_down() to check if FW is down.

Change-Id: I8215665bec6975c8dd47ae3bb8423eeaaeba159c
CRs-Fixed: 2202731
2018-03-16 10:35:54 -07:00
Tallapragada Kalyan
084a46d276 qcacmn: memory leak in invalid peer handler
We need to free the chain of nbufs associated to
an a-msdu if its last msdu is not received and the one
received belongs to a new a-amsdu

Change-Id: Id90e58306650ad885caa79271e81de3bf81ee5bd
2018-03-16 03:36:11 -07:00
Wu Gao
328285da88 qcacmn: Handle multi P2P MGMT frame TX
When P2P mgmt frame comes and there is same channel ROC requested
but not start, it will be failed to restart ROC timer and then drop
this frame.

Change-Id: I40cc2b66a266ebf2aa1017669e6d97b1c7de3da1
CRs-Fixed: 2202954
2018-03-16 00:55:18 -07:00
Wu Gao
e25d5f4ba3 qcacmn: Enable more debug information for P2P
Change log level and enable more debug information for P2P connection.

Change-Id: I459869d48c7f688246bc6e566ad2fae395ff8a2b
CRs-Fixed: 2204758
2018-03-15 23:35:58 -07:00