Commit Graph

3520 Commits

Author SHA1 Message Date
Gurumoorthi Gnanasambandhan
c1e317ea40 qcacmn: Fix compile error
2017426 removed rssi_args causing compile error.

Change-Id: I5f428535373cd7716e993f4447b27fc33296aa5c
2017-10-13 13:43:44 +05:30
Soumya Bhat
835033e388 qcacmn: Fix TX PPDU stats issues
1. Define bitmap array appropriately and expand ppdu per user
tx stats array to accomodate upto 8 users stats
2. Fix issue where even with 1 WLAN STA user_index was exceeding zero
3. Allocate 5 bits for ppdu_type variable

Change-Id: I969c929c3e16d4027a5e642a0a9195979c95e9cc
CRs-Fixed: 2121122
2017-10-12 14:22:42 -07:00
Sathyanarayanan
0a00062f58 qcacmn: Fix MIPS regression
Change-Id: I34d30e097cfedef9b805d3e97cd256da232b1e28
CRs-Fixed: 2123844
2017-10-12 14:22:39 -07:00
Himanshu Agarwal
99881a9668 qcacmn: WMI changes to send BSS scoring params from INI to firmware
Add support to send BSS scoring params from INI to firmware.
Firmware will use these params to select best candidate during
roaming.

Change-Id: Iad0e71c770ac4f4c31ce3b19552f09fd27dc37bf
CRs-Fixed: 2121739
2017-10-12 14:22:36 -07:00
Govind Singh
bc679dc919 qcacmn: Do not allow CE register access when recovery is in progress
Currently, Shadow registers is not implemented for all registers.
This can lead to unclocked access and followed by NOC errors.
In Rx path Interrupt Status and src/dst read index are directly
accessed without shadow block. Target may execute
reset sequence due to PDR/SSR while rx path is active.

Avoid direct access to below registers if target is crashed due
to PDR/SSR.

HOST_IE_ADDRESS
HOST_IS_ADDRESS
CURRENT_DRRI_ADDRESS
CURRENT_SRRI_ADDRESS

Return from ISR without scheduling the bottom half if target is
crashed due to PDR/SSR.

Change-Id: Ifa993e978579b4d061d21281338494292e19700a
CRs-Fixed: 2123967
2017-10-12 14:22:34 -07:00
Gyanranjan Hazarika
4a2f03c01c qcacmn: Add support for 'he_ltf' command
Currently, we do not have support for 'he_ltf' command. But we need
this command for certain IOP testcases. Add support for 'he_ltf'
command.

Change-Id: I296b18762aaa52da80a5755c5bcca8dbd12d9b13
CRs-fixed: 2118948
2017-10-12 14:22:30 -07:00
Karunakar Dasineni
ea027c5bf2 qcacmn: Adding back lost LMAC interrupt changes
Redo some of the LMAC interrupt mapping changes made in
Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3, which were lost
due to a recent change made to support MSI.

Change-Id: Ic566e7285feaeb9058defe01c5e704be3135ed2d
CRs-Fixed: 2113818
2017-10-12 14:22:27 -07:00
Orhan K AKYILDIZ
9e5b93c55c qcacmn: Limit yield log to rx data CEs
A recent change added NAPI yield stats update call for all CEs.
With another receent change that shortened the yield time, we see
a lot of logs complaining about CEs where this particular stats
are not applicable to. Limit the stats update to NAPI CEs.

Change-Id: Ia17a4ddf53ce52116f30d48190f47914721a548e
CRs-Fixed: 2092084
2017-10-12 14:22:24 -07:00
Arif Hussain
6dfa7ee2a1 qcacmn: Add utils_ prefix to dfs public functions
Add utils_ prefix to all dfs public APIs.

Change-Id: I154c9f9a324c1af815363d3cbf52febd1bed342e
CRs-Fixed: 2124362
2017-10-12 14:22:22 -07:00
Krunal Soni
fe33ab5fde qcacmn: Enhance serialization cancel command API
Current wlan_serialization_cancel_request API cancels commands which
are in pending queue but it doesn't cancel command which are in active
queue.

Enhance the API to allow requester to cancel the commands from active
queue as well.

Change-Id: Id303c59cbb2a36f6c358f34b4885a0af66f5dac1
CRs-Fixed: 2123090
2017-10-12 14:22:19 -07:00
Om Prakash Tripathi
cc9b3a4856 qcacmn: Drop scan events if scan req not in active queue
Host driver forece fully frees scan requests in below cases:
1. vdev being deleted
2. command timed out
In above cases scan request is freed and scan module
posts scan cancelled event internally to registered handlers.
Drop any event received after scan is cancelled.

Change-Id: Id66b6cc6a400916af9bfaf0c09dbb92d7f27db4e
CRs-Fixed: 2123090
2017-10-12 14:22:16 -07:00
Yeshwanth Sriram Guntuka
ca2862d351 qcacmn: Add host diag events for wow stats
Propagation from qcacld-2.0 to qcacld-3.0

Add diag event for wow packet counters stats.
The event EVENT_WLAN_POWERSAVE_WOW_STATS will be used to
inform the wow stats packet counters.

Change-Id: I9d1760aa6b790544b9879e7ef18d4f5359e0e245
CRs-Fixed: 1087714
2017-10-12 14:22:14 -07:00
Manjeet Singh
c73cd7db11 qcacmn: Follow spec for NL80211_CMD_START_SCHED_SCAN
qcacld-2.0 to qca-wifi-host-cmn propagation

If no SSID are passed to NL80211_CMD_START_SCHED_SCAN cmd,
interface spec requires that an active scan is not needed.
Therefore a passive scan is now requested by cfg80211_sched_scan_request
for this case.

Change-Id: I1b1b9232ffb9d8d5c0bc9a1d75145d39c9fe9e6b
CRs-Fixed: 902092
2017-10-12 14:22:11 -07:00
Ajit Vaishya
2636384f2c qcacmn: Fix kernel check patch warnings in fwlog
Fix msm-4.4 kernel check patch warnings for fwlog module.

Change-Id: I84656de36b4b32d4e139021174ad8220cd6d845e
CRs-Fixed: 2041367
2017-10-12 14:22:09 -07:00
Ajit Vaishya
8dc86d6e54 qcacmn: Fix kernel check patch warnings in PTT
Fix msm-4.4 kernel check patch warnings for PTT module.

Change-Id: I3bb7170c971f66178efe5cda837337a2e362f822
CRs-Fixed: 2041367
2017-10-12 14:22:07 -07:00
Kabilan Kannan
78acc11a99 qcacmn: Fix WIN compilation problem
Fix the compilation problem in tx non std interface
function.

Change-Id: I61c92a8545e5a468202a1032449f590938f199b1
CRs-Fixed: 2124351
2017-10-12 14:22:04 -07:00
Dustin Brown
f653d16e6c qcacmn: Remove qdf_handle_t from unused qdf_defer APIs
There are many QDF APIs require a qdf_handle_t parameter. None of these
APIs actually use the qdf_handle_t parameter, meaning it can be
completely removed. As a step toward globally removing this unused
type, remove qdf_handle_t parameters from unsed qdf_defer APIs.

Change-Id: I0568aa7cbd430abc0d046143482a067d96bf6313
CRs-Fixed: 2112646
2017-10-12 14:22:02 -07:00
Venkata Sharath Chandra Manchala
5fd835b44b qcacmn: Cleanup unused typedef variables
Remove unused typedef rx_callback_fp in
datapath flow.

Change-Id: Ie40f8ab02a1437d2c86aadb2f35f5f548f00f1bc
CRs-Fixed: 2123478
2017-10-12 14:22:00 -07:00
Mahesh Kumar Kalikot Veetil
3b236ec96b qcacmn: Fix compilation issue in ptt_cmd_handler()
The feature CNSS_GENL is enabling compilation of some part of the
code. This feature depends on CONFIG_CNSS_GENL. Fix some of the basic
compilation issues.

Change-Id: I5cd3645cd8a10367abcfe89abda8de16548385b7
CRs-Fixed: 2123538
2017-10-12 14:21:58 -07:00
Shashikala Prabhu
41eff4f752 qcacmn: Initialize DFS radar table based on dfsdomain
* Initialize the radar table based on dfsdomain for country
  KOREA and CHINA.
* Move UMAC related APIs from lmac_api.c to utils_api.c  file.

Change-Id: I9dc2acdf23fc10469884d23bb91f352d2ac259ca
CRs-Fixed: 2110760
2017-10-12 14:21:55 -07:00
Sathish Kumar
b432fc0ef7 qcacmn: Add support for configuring ACK timeout pdev param
Add support in host to configure ACK timeout pdev param through
WMI interface

Change-Id: Ifc43cd146fbbf6ef818268acf69789b38b28e384
CRs-Fixed: 2042639
2017-10-12 14:21:53 -07:00
Pamidipati, Vijay
d7eb83ec15 qcacmn: Add missing fields in CDP Rx PPDU Statistics structure
Enable reaping of HAL PPDU Status ring when ol stats are enabled.
Added peer mac address and first_data_seqcntl fields into CDP Rx PPDU_stats
structure. Added support to disable printing of per packet stats through
iwpriv command.

Change-Id: If0f967676e867c7ba9870770c3c818cbea43461a
2017-10-12 14:21:51 -07:00
Yue Ma
04dfab5ac6 qcacmn: Add API to init scan runtime suspend lock
Commit fb9d5acfed and 645749571d introduce an API to deinit scan
runtime suspend lock in order to fix a memory leak issue. However,
it breaks SSR because scan lock init and deinit are not matching
during SSR which results double free happens in the rmmod after
SSR. Add the API to init scan runtime suspend lock so that it can
be added in the correct place during SSR.

Change-Id: Ied85b16b199fdbf43fef4c966bed56c9f7bb0e86
CRs-fixed: 2120661
2017-10-12 14:21:48 -07:00
Houston Hoffman
d42ab38aa3 qcacmn: Remove WMI_CONTROL_SVC_WMAC1/2 from the default service map
WMI_CONTROL_SVC_WMAC1/2 services are not supported by adrastea/rome firmware.

Change-Id: Ibf5ab94c44e91f9e61110b5c395c69a408d12b77
CRs-Fixed: 2122123
2017-10-12 14:21:47 -07:00
Yun Park
2fedb13531 qcacmn: Add IPA ownership clear for Intra-BSS Tx packets
Set IPA ownership for intra-BSS Tx packets to avoid skb_orphan(), and
clear the ownership after check it to avoid ipa_free_skb() is called
when Tx completed.

Change-Id: I03883773e418bb5518ea63a324d22503173ea436
CRs-Fixed: 2064191
2017-10-12 14:21:44 -07:00
Poddar, Siddarth
24fd1943fc qcacmn: Add wmi send multiple mcast filter api
Add wmi command api that can add/delete
multiple mcast filters.

CRs-Fixed: 2100751
Change-Id: Id253c5a3dfdf682cdca66478d9d840990f9c4a23
2017-10-12 14:21:42 -07:00
Sravan Kumar Kairam
02139a7de9 qcacmn: Validate buffer length in wmi tlv check and pad tlvs
Currently there is no validation of the buffer length passed by the
caller in the function to validate the TLV's coming for an event/
command. This may cause possible null pointer reference. In this
change validate the buffer length passed by the caller.

Change-Id: Ia365cf78acce3a235b9e15e6ed95a1aaa06b4c6f
CRs-Fixed: 2105739
2017-10-12 14:21:40 -07:00
psimha
eae1b41e33 qcacmn: Fix uninitialized access to rx desc pool lock
Add a check to prevent access to a uninitialized lock.
This occurs on the failure path of pdev attach.

Change-Id: I8be9d7c97095a3ba96b6d1a8599ee2412eb8f5d6
CRs-Fixed: 2099448
2017-10-06 14:18:03 -07:00
Poddar, Siddarth
5c57a8905e qcacmn: Add register/deregister data stall detect cb api
Add register and deregister data stall detect callback apis.

Change-Id: I59d5871b7ec03da4b4f69d87b14f7eb5e8606c4a
CRs-Fixed: 2090654
2017-10-06 12:27:19 -07:00
Balamurugan Mahalingam
d85083e7be qcacmn: Remove pld_common.h from pld_stub folder which is no longer used
Change-Id: Ib3d6f6b45dbc15f3ad0c00e03be3b179afd923b9
2017-10-06 10:25:17 -07:00
Abhijit Pradhan
77561584ad qcacmn: Define DFS logging APIs
1) Define logging(alert, err, warn, info, debug) on top of
   QDF abstractions for DFS component.
2) Use dfs_info for important prints such as CAC timeout,
   NOL timeout, enable/disable radar etc.
3) For everything else use dfs_debug macro.

Change-Id: Id1efc12dd00e7b3f2b8d5627c65f58e619438c82
CRs-Fixed: 2116421
2017-10-06 10:25:15 -07:00
Srinivas Dasari
6d2ffaa980 qcacmn: Increase cld80211 family nlmsg size to 8K bytes
Current cld80211 nl message size depends on PAGE_SIZE. PAGE_SIZE
can be 4K and thus it's limiting the maximum nl message size to
4K bytes. Make the max supported nl message size to 8K bytes
irrespective of PAGE_SIZE.

Change-Id: I58fe8f85a5c9a0476fc5df75d0caa342cc261967
CRs-Fixed: 2053305
2017-10-06 10:25:13 -07:00
Anurag Chouhan
6e56986cae qcacmn: Introduce QCA_NL80211_VENDOR_SUBCMD_HANG
Event indicating to the user space that the driver has detected an
internal failure. The driver is expected to recover from such a failure
automatically, e.g., by resetting the device.
This event carries the information indicating the reason that triggered
this detection.

Change-Id: Ia13e6f102e5e18ec4864ed258728369d51a77ff4
CRs-fixed: 2120886
2017-10-06 07:58:02 -07:00
Gurumoorthi Gnanasambandhan
1b5ceb75a2 qcacmn: Initialize pdev_id for PDEV STATS request and event
Initialize pdev_id for PDEV stats request and response event.
Add param to set pdev stats request timer.

Change-Id: I11f648070cd39f026129d1cf3aa13bf296d25e6e
2017-10-06 02:36:28 -07:00
Kabilan Kannan
60e3b3062d qcacmn: Add host data path functions for TDLS
Add and enable host data path functions for Napier
TDLS.

Change-Id: I228c2dcf4e8d797d173007a3306d112aca5ba52f
CRs-Fixed: 2114813
2017-10-05 19:59:55 -07:00
Dustin Brown
54771c7c6d qcacmn: Throw error if nla_parse is used directly
In order to support multiple nla_parse function signatures across
different kernel versions, a new wlan_cfg80211_nla_parse wrapper was
introduced. However, it is easy for propagations or new code to
reintroduce nla_parse. Redefine nla_parse to throw an error, to prevent
the function from being reintroduced into the code base.

Change-Id: I3015d1b3f25a1469632401899555a6260ba2dfc1
CRs-Fixed: 2116051
2017-10-05 16:59:43 -07:00
Gurumoorthi Gnanasambandhan
25607a7bb8 qcacmn: Handle MIC error indication from Hardware
Handle MIC error reported by Hardware and pass the event to hostapd.

Change-Id: I510808f1e714edab5d4ccc0a2e205988892ea162
2017-10-05 16:11:34 -07:00
Yun Park
92af713fa2 qcacmn: Fix Intra-BSS forwarding issue
Extract ast_table manipulation functions from WDS feature flag

Change-Id: I029e151f608a6bb60344d817d7b7c75b86ca981b
CRs-Fixed: 2110304
2017-10-05 16:11:31 -07:00
Dustin Brown
0d7163dbd4 qcacmn: Log failures to prevent PCIe power collapse
Currently there is no indication when calls into pld_wlan_pm_control
fail. Add an error log in such situations to improve debugging.

Change-Id: Ic061a1735878930a5ab55711da58f8bad1a6a8a6
CRs-Fixed: 2119173
2017-10-05 16:11:29 -07:00
Arif Hussain
6e26c9c1f8 qcacmn: Implement get current list from reg API
Implement api to get current channel list from regulatory API.

Change-Id: Id0b7aea0c5421fb3033843fd89876a4f1c3528d2
CRs-Fixed: 2062794
2017-10-05 12:18:22 -07:00
Sravan Kumar Kairam
49bc225a92 qcacmn: Implement nbuf alloc fail replenish timer
Implement nbuf alloc fail replenish timer which starts when
there is an nbuf allocation failure and stops when there is
an nbuf allocation success with in the timer expiry duration.

Change-Id: Ie956ea144dec4323664632d00bb8f0f82ba22439
CRs-Fixed: 2036900
2017-10-05 12:18:20 -07:00
Nachiket Kukade
e5738b5a87 qcacmn: Return proper error status from modules under hif_start
Some of the HIF API's that do buffer allocations and operations
return either 0 or 1 as return status. Information is lost since
the same value is returned in case of buffer allocation failures,
queue operation failure or anything else. Caller can't decide if
to perform recovery, graceful failure or BUG_ON.
Return the appropriate error status to the callers.

Change-Id: Idccd3968231d030311fa5581aed78849b729227d
CRs-Fixed: 2105913
2017-10-05 09:20:03 -07:00
Govind Singh
ae820d08e5 qcacmn: Remove diag config from HOST CE config
IHelium uses qmi path for read/write access to
target registers, legacy diag path is not used.
Remove diag config to reduce unnecessary allocations.

Change-Id: Ic251364b5a724c1efd7d34bba55b020189e8e599
CRs-Fixed: 2041887
2017-10-05 09:19:57 -07:00
Naveen Rawat
dec67cca98 qcacmn: Fix compilation error in os_if_wifi_pos_register_nl
Fix compilation error in os_if_wifi_pos_register_nl

Change-Id: I851e0aeef694967ca7580fdb3799baaf74397fd7
CRs-Fixed: 2120477
2017-10-04 19:25:54 -07:00
Krishna Rao
ddd81ae024 qcacmn: Add 11ax channel property flags for use with external ACS
Add 11ax channel property flags for use with external ACS. Use the
remaining available bits in qca_wlan_vendor_channel_prop_flags for the
first few 11ax flags. Then add qca_wlan_vendor_channel_prop_flags_2 as
a continuation of qca_wlan_vendor_channel_prop_flags and add the
remaining 11ax flags there. qca_wlan_vendor_channel_prop_flags_ext is
not used since it is currently not intended for holding such
information.  Rather it is meant for holding additional control
information related to features such as DFS, CSA, etc.

CRs-Fixed: 2115743
Change-Id: I5294f9a8649f79f7012cd790119be773b40f049d
2017-10-04 14:36:03 -07:00
Jeevan Kukkalli
e48dc35af0 qcacmn: Add functionality to send bridge MAC to firmware
Add functions to send bridge MAC programmed from user
space to firmware.This change is part of a workaround
to fix an looping issue which resulted in wrongly adding
bridge's own MAC address to fw WDS table.Send MAC address
to target to avoid adding our own bridge address to fw
WDS table as part of source port learning.

Change-Id: I815d3c3f106cd2f528ac9172712ec6c2f47f4410
CRs-Fixed: 2070956
2017-10-04 14:35:39 -07:00
Linux Build Service Account
d2d6ac58a4 Merge "qcacmn: utils: Replace instances of unadorned %p" 2017-10-04 06:53:39 -07:00
D Harilakshmi
5da9ee74b2 Revert "qcacmn: Propagate config parameters to datapath"
This reverts commit 5a02b1f053.

Change-Id: I52dcfb50998577df8b2b4807adcd322f91d21e45
Signed-off-by: Kalyan Muddala <kmudda@codeaurora.org>
2017-10-04 16:14:12 +05:30
D Harilakshmi
388c21cbb6 Revert "qcacmn: Cleanup Statistics"
This reverts commit 60cb7e6fc9.

Change-Id: I0f8cddbb1833a7f5a2466964a2b06906f01dcdc4
Signed-off-by: Kalyan Muddala <c_kmudda@qti.qualcomm.com>
2017-10-04 15:43:45 +05:30
Jeff Johnson
8104b5db07 qcacmn: utils: Replace instances of unadorned %p
Replace instances of unadorned %p in utils.

Change-Id: Idd12720d45238adad17ffafa6dfb50041022cbe2
CRs-Fixed: 2111274
2017-10-03 23:41:28 -07:00