Gráfico de commits

6149 Commits

Autor SHA1 Mensaje Fecha
Pragaspathi Thilagaraj
935a05da75 qcacmn: Handle the wmi event WMI_ROAM_BLACKLIST_EVENTID
The firmware sends a new wmi event WMI_ROAM_BLACKLIST_EVENTID
to send the blacklist AP list.

Change-Id: I04fab853efbded48285ac063bb39c64f342c229b
CRs-Fixed: 2369107
2018-12-26 07:47:53 -08:00
Rachit Kankane
6adabaf78a qcacmn: define FT_8021X and FT_PSK suites
Define WLAN_AKM_SUITE_FT_8021X and WLAN_AKM_SUITE_FT_PSK for kernel version
less then 4.14.

Change-Id: Id5518511bc4f639fff6d1e20bcf0aad973d9ab46
CRs-Fixed: 2362888
2018-12-26 07:47:50 -08:00
Pragaspathi Thilagaraj
9327725639 qcacmn: Send bss_load_bss_sample_time over WMI_ROAM_BSS_LOAD_CONFIG_CMDID
Add changes to send bss_load_bss_sample_time over the wmi
command WMI_ROAM_BSS_LOAD_CONFIG_CMDID.

Change-Id: Iab882f0474071458ed8b8876d8edda987b76e94d
CRs-Fixed: 2372167
2018-12-26 07:47:47 -08:00
Pragaspathi Thilagaraj
9341ee36b8 qcacmn: wmi changes to send bss load trigger config to firmware
Populate the load bss trigger configuration values based on the
ini values and send them to firmware.

Add wmi changes to send bss load trigger config to firmware.

Change-Id: Ib2e21904bc7b8d87e5f51824d2694b90a3ac53f2
CRs-Fixed: 2367773
2018-12-26 07:47:44 -08:00
phadiman
497573091a qcacmn: Add Sanity Checks
Stats are updated periodically and
are categorized to soc, pdev, and
vdev

While the stats are getting updated
and if pdev, or vdev gets detached
in the same time, the stats handlers
will deference a NULL pointer

Hence Add basic sanity checks to DP
layer for soc, pdev and vdev inside
stat handlers

Change-Id: Ic4919b9c205679e1d6e7c571c577339be65c1bad
2018-12-26 03:39:21 -08:00
Ajit Pal Singh
d1698b6d90 qcacmn: Rename CONFIG_QCN7605 as QCN7605_SUPPORT
Rename CONFIG_QCN7605 as QCN7605_SUPPORT since QCN7605_SUPPORT
is already present/being used.

Change-Id: I1739bf86a9eb02aa6920f06bc929f686a5fa8f54
CRs-Fixed: 2369622
2018-12-26 01:21:24 -08:00
Disha Das
df10f65cb7 qcacmn: Move out Crypto files
Move only-win-specific crypto files from cmn_dev to
component dev

Change-Id: I55c2c44100d3a9c0799ccbafd2ce31aa242d3e71
2018-12-25 22:18:43 -08:00
Wu Gao
49bd1b5fa5 qcacmn: Check mgmt txrx desc element status before put to free list
To avoid double add to free list, check mgmt txrx desc element status
firstly.

Change-Id: Ib8f6f719016e19a76cc4fd1007800abf59ebf872
CRs-Fixed: 2348587
2018-12-25 05:21:07 -08:00
Priyadarshnee S
ca5c186642 qcacmn: APL9 Regdomain Changes for Korea
The following changes are made on APL9 regdomain:
* Include channel 149 in the supported channel list.
* Change the regulatory tx power for 5150-5250 frequency range to 23dBm.

Change-Id: I2bb01acbf60d814a2bc2c35a86f7f2c30583aad9
CRs-Fixed: 2366774
2018-12-25 00:40:48 -08:00
Paul Zhang
976c92285c qcacmn: Remove the CONFIG_MCL
Cleaning up cmn code by getting rid of CONFIG_MCL
in file utils/fwlog/dbglog_host.h.

Change-Id: I01cc1805ef2a2d57935216da79a4294a89be1411
CRs-Fixed: 2359889
2018-12-24 20:24:29 -08:00
Sravan Kumar Kairam
8d6f762744 qcacmn: Add QDF macro for is over gsi ipa wdi out param
Add QDF abstraction macro to read ipa wdi out structure param
is over gsi member.

Change-Id: I48c848b432168cba46ded985023291077488b2be
CRs-Fixed: 2367310
2018-12-24 12:15:53 -08:00
Qun Zhang
80cc5ab546 qcacmn: Add sanity check before pointer dereferenced
Add sanity check before pointer dereferenced in wifi_pos APIs.

Change-Id: Ib12bab1d7bfbe20689148274941f3c0d86f256c6
CRs-Fixed: 2370311
2018-12-24 05:44:56 -08:00
Visudha Sathurappan
bbd9d427a7 qcacmn: Removed unused DFS function
Remove unused mlme function to get dfs object and replace
it with the dfs equivalent.

Change-Id: I3ffadb77072fa119957469e0bf97fa4a80f99ac9
CRs-Fixed: 2368988
2018-12-24 05:44:53 -08:00
Yeshwanth Sriram Guntuka
c4a14ea149 qcacmn: Add host support for db2dbm RSSI changes
Add host support for db2dbm RSSI changes. Firmware
indicates this capability when underlying hardware
has RSSI reporting feature. Based on this capability
host will know if firmware sends SNR or RSSI. If no
capablity is present then host will convert SNR to
rssi using a fixed offset of -96. If capability is
present host will directly use the rssi as it is.

Change-Id: I9058f16c6280d466feb96cf88a8a0d8cd7b02032
CRs-Fixed: 2364025
2018-12-24 03:33:04 -08:00
Mohit Khanna
5868efa4bf qcacmn: Split RX TLV prints to multiple lines
Currently we are printing one single big print to dump the RX TLVS. This
is causing truncation at the QDF_TRACE level, which can accommodate only
512 bytes or so right now. Split the RX TLV print, so that it can fit
int the QDF buffer.

CRs-Fixed: 2370080
Change-Id: I1385ab0dfe2a52e34132487ac55973e291d84db5
2018-12-24 03:32:57 -08:00
Edayilliam Jayadev
4c002343ad qcacmn: Time stamp WAR for spectral
Spectral HW time stamp gets reset when a reset happens in
within target. This can potentially result in unpredictable
behaviour during classification. To mitigate this calculated
offset is added to the time stamp value in the FFT report.

HT = Spectral HW timer
AT = Actual time stamp in spectral report
CF = Time stamp correction factor
CT = Corrected time stamp
L = Time stamp in the last FFT report before reset
F = Time stamp in the first FFT report after reset
D = Time gap between the last spectral report before reset
    and the end of reset(This is provided by FW via direct
    DMA framework)

                         ***Target Reset***
                                 ^
                                 |
                            |<---D---->|           time line--->
       _______________________________________________________
       ^                    ^          ^  ^
       |                    |          |  |

HT --> 0                    L          0  F

AT --> 0                    L             F

CF --> 0                    0           (L+D)

CT --> 0                    L          (F+L+D)

Spectral driver corrects the time stamp received from target
using the following formula and sends upwards.

CT(Corrected time stamp) = AT(Actual time stamp) +
                           CF(Correction Factor)

Calculation of Correction factor (CF):-
---------------------------------------
Initialization : CF = 0
CF += (L + D) (Done only for the first spectral report after reset)

This scheme takes care of the wrap around in the 32 bit time stamp
which would have occurred if the timer was not restarted due to
target reset.

CRs-Fixed: 2356382 2355486
Change-Id: I17b55d39eb91eb03b867bcfddaf3eb03d1fc5d1b
2018-12-24 03:32:52 -08:00
chenguo
bae040f144 qcacmn: fix excessive logging during update peer statistics
Change the QDF log level during update peer statistics. It is not
necessary because during roaming it is possible the peer is not
there when we update statistics. Also use QDF_TRACE_RL to replace
QDF_TRACE to avoid massive log prints.

CRs-Fixed: 2353709
Change-Id: I2896e6874b2802ee1d8bf05c6daf064e1953a5d5
2018-12-24 00:11:03 -08:00
Chaithanya Garrepalli
4ff6e41de9 qcacmn: add peer_id and msdu_len in qdf_nbuf_cb
Add peer_id and msdu_len in qdf_nbuf_cb these
fields are used for lithium rx performance
optimization

Change-Id: Iba291812397a5e7648953c2dc1b2c18a5c5a18af
2018-12-23 21:58:51 -08:00
Paul Zhang
5753f9bbe0 qcacmn: Refactor operatition to hostscan_adaptive_dwell_mode_no_conn INI
Ownership of hostscan_adaptive_dwell_mode_no_conn is changed from HDD to
scan module. So scan module doesn't have to rely on HDD to obtain the
INI setting.

CRs-Fixed: 2357888
Change-Id: If3c3d93f0e1763e778eb6e3e70e23231fb01a67e
2018-12-23 00:01:04 -08:00
Amir Patel
ee49ad5b58 qcacmn: Fix vdev list synchronization issue
Take required lock for vdev list iteration and peer list
iteration

Change-Id: Iab3d2a1028325b6e8ade61b0b023f126b61db4e5
CRs-Fixed: 2367955
2018-12-22 02:54:18 -08:00
Jianmin Zhu
1aed4e8324 qcacmn: Remove CONFIG_MCL in roam_offload_scan_params
Replace CONFIG_MCL with WLAN_FEATURE_ROAM_OFFLOAD in
struct roam_offload_scan_params

Change-Id: Ibf9c393effc78a201525ae53cb9ced127244ee67
CRs-Fixed: 2363094
2018-12-22 02:54:15 -08:00
Arif Hussain
ee8d84061c qcacmn: Add null pointer validation in init_deinit_alloc_num_units()
Make sure mem_reqs is not null in init_deinit_alloc_num_units().

Change-Id: Id93616fa8b4bfda8216b34e15169fa1636efa5f3
CRs-Fixed: 2347695
2018-12-21 19:23:47 -08:00
Akshay Kosigi
46050aa104 qcacmn: Add NULL check for WMI handle
Adding NULL checks for WMI handle while registering or unregistering
events or event handlers

Change-Id: Icdf7032bad7289e62f5d7b17aab9780bcdf0ab1d
2018-12-21 10:05:40 -08:00
Pamidipati, Vijay
eb0e456d68 qcacmn: Add missing NULL check in DP rx path
Add a missing NULL check for peer object in rx_da_learn API
Also add missing elements in pdev_stats_cmn_tlv structure.

CRs-Fixed: 2357352
Change-Id: Ie54fd0a6a45f00d60420c391098f22b0097de3ac
2018-12-21 10:05:35 -08:00
Edayilliam Jayadev
db29e57ef8 qcacmn: remove CONFIG_WIN from Spectral module
Remove CONFIG_WIN macro from Spectral module.

CRs-Fixed: 2369720
Change-Id: I67154341497230c66b3c3f5a09894c8b2eff8bff
2018-12-21 10:05:32 -08:00
chenguo
8df4d46103 qcacmn: Remove the unnecessary info printing in SIRQ context
dp_reo_desc_free function can be executed in SIRQ context, so it
should not be expected that INFO printing which might cause locks
holding too long.

CRs-Fixed: 2367454
Change-Id: Ic77126fa62329547494ec6b672111c6183fadac2
2018-12-21 10:05:28 -08:00
Shiva Krishna Pittala
8512b848a6 qcacmn: Use QDF trace APIs for Spectral logging
Component level logging functions of Spectral module are calling
vprintk internally, change them to use QDF trace APIs
so that Spectral logging can be controlled at run time from qdf_cv_lvl.

Change-Id: I8244a29918718c70a8f384ea8df2d5c2ad5bfad2
CRs-Fixed: 2369842
2018-12-21 10:05:25 -08:00
Rajeev Kumar Sirasanagandla
cc123bcab3 qcacmn: Ignore default country update during wlan restart
After driver load and interface up, if user changes the country code
and performs the interface down, now if interface change timer expires,
stop modules is invoked. When user again tries to do interface up, as a
part of start modules, update channel list indication comes from FW
with default country info from BDF file which overwrites user specified
country information.

To resolve this issue, if current country is set by user and if
driver gets notification to update channel list from FW with
different country code during restart of wlan modules then ignore
master channel list and send the current user country to FW.

Change-Id: I0a0c57eda03827dc3fef59928569bf2f0bc32634
CRs-Fixed: 2340798
2018-12-21 02:40:57 -08:00
Kiran Kumar Lokere
40d7624678 qcacmn: Fix the min and max values for boolean cfg item
Correct the MIN and MAX values for Boolean CFG item.

Change-Id: I0b4eb8b293d5517036fc5691b4c3657a811d9bdf
CRs-Fixed: 2357920
2018-12-21 02:40:52 -08:00
Abhishek Singh
cdcec49770 qcacmn: Cleanup unused scan configs and params
Cleanup unused scan configs and params from scan module.

Change-Id: Icbc6ccf63071606e97d36c7efee65b5fd6c3f5f4
CRs-Fixed: 2369076
2018-12-19 18:52:22 -08:00
Vignesh Mohan
cadbce4bca qcacmn: Fix Enhanced Bangradar in Partial Offload
Fix Enhanced Bangradar to add only the subchannels into NOL
based on its parameters during call, and not the entire set
of current subchannels.

Current implementation of enhanced bangradar sets bangradar entry,
in DFS, to 1. Since bangradar does not use subchannel marking,
enhanced bangradar did not work either.

Introduce a new boolean entry in DFS structure that does not follow
bangradar and does subchannel marking.

Change-Id: Idf44b80a6cae3f1c8a3c7b430a233e3fd29ba0c5
CRs-Fixed: 2368100
2018-12-19 09:32:28 -08:00
Vinay Adella
77d43a89b9 qcacmn: Fix array out-of-bounds in the during CE config
The unused CE11 is accessed in ce_construct_shadow_config_srng,
but not allocated.
Fix this by allocating memory for CE11 in the global structure

CRs-Fixed: 2365374
Change-Id: Iefd9129e486891e27f5964eecc1a2d1efc080d06
2018-12-19 09:32:25 -08:00
Nachiket Kukade
c64e33df96 qcacmn: Add modules to handle and extract NAN events
As part of supporting NAN DBS, new WMI TLVs are defined so
that Host can maintain the status of NAN Discovery in sync
with the Firmware. Move the older handlers into the NAN
related files. Also add modules to extract information from
the new TLV's and fill up the event parameters to pass
them to the NAN component. add support for explicitly
disabling NAN due to concurrencies.

Add modules to handle and extract the info from NAN events.

Change-Id: Ic03baaaef45106353c211a813e11e33a90cd41ca
CRs-Fixed: 2338059
2018-12-18 14:29:29 -08:00
Vignesh Mohan
1e3cb514eb qcacmn: Account for gaps in subchannels list
The radar affected subchannels list that is sent along with RCSA
was not built properly due to unreliable (contained 0s) subchannels
list provided by subchannel marking function.
The implementation used a single iterated loop to traverse through the
subchannel array elements, not counting 0s as possible inputs.

Search through each element of the list to find if the subchannel
is present and break if successful.

Change-Id: I5cd5ce7b6a334247c7d8733ee8433f957480c1dd
CRs-Fixed: 2364640
2018-12-18 10:13:11 -08:00
Nachiket Kukade
30ed5c4456 qcacmn: Add support for the new NAN EXT vendor command
As part of the NAN Discovery DBS support, new vendor command
- QCA_NL80211_VENDOR_SUBCMD_NAN_EXT - has been defined that
can carry the binary blob encapsulated within an attribute
and can carry additional attributes to enhance the NAN command
interface. Add the related definitions to support this command.

Add definitions to support the new NAN EXT vendor command.

Change-Id: I83c12c7512066434f8974619e1d953ac78d3a40d
CRs-Fixed: 2339032
2018-12-18 10:13:08 -08:00
Edayilliam Jayadev
83da2273d9 qcacmn: Add Spectral bin scaling parameters as attributes
Add Spectral scaling parameters as vendor attributes to
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
vendor subcommand.

CRs-Fixed: 2368187
Change-Id: I212515782c052dca52be1c17f2ec28878554fdb6
2018-12-18 07:46:19 -08:00
Vignesh Mohan
6eeb76ce92 qcacmn: Remove subchannel marking fail prints in PO
The cfg tool command to enable/disable subchannel
marking called a WMI to be sent to FW without checking
if dfs is offloaded to FW.
This added fail prints in log for partial offload and direct
attach even if subchannel marking was set.

Fix the cfg command to send a WMI to FW only if dfs is offloaded.

Change-Id: Ifae574ed6aeb49c4058d89374fdcc81b8d43a5bc
CRs-Fixed: 2334258
2018-12-18 00:08:11 -08:00
Mohit Khanna
16816ae8d0 qcacmn: Enable GRO for TCP packets
Add support for GRO functionality for TCP packets.
- Pass GRO config to DP layer as a part of dp_update_config_parameters
- Add API to read the number of active RX contexts from DP layer
  cdp_get_num_rx_contexts
- Fill GRO info into skb->cb from rx_tlv during dp_rx_process

CRs-Fixed: 2346995
Change-Id: I1c143d8ce2c7522ba2c76142fb6cc82193df5608
2018-12-18 00:08:08 -08:00
Mohit Khanna
43938664a0 qcacmn: Support for DP_RX_THREAD stats
Add CDP macro for DP_RX_THREAD stats.

CRs-Fixed: 2346995
Change-Id: I66f8956d422394c1db2ece46b294a7d7168c4e62
2018-12-18 00:08:05 -08:00
Mohit Khanna
287adee89c qcacmn: Add DP print rate limit macros
-Add rate limit macros
-Change existing dp_info to QDF_TRACE_LEVEL_INFO_HIGH so that the dp_info
 prints donot log to kmsg.

CRs-Fixed: 2346995
Change-Id: If00ece6dda3045bc9fe2232add463b76f7e887d1
2018-12-18 00:08:02 -08:00
Chaithanya Garrepalli
3e4ac1cace qcacmn: Fix for the memory leak in smart monitor feature
Change with fix memory leak observed in case where
smart monitor is enabled and monitor direct bit is not set

Change-Id: Ib556482b9067dbd7418cbe226a19bbbd5844a075
2018-12-17 05:35:48 -08:00
Sravan Kumar Kairam
099671a852 qcacmn: Fix NULL pointer dereference
In dp_rx_mon_status_buffers_replenish after replenish of all
mon status ring rx buffers there is log in which function
local desc list is accessed. But after successful replenish of
all the available free desc, free desc list will be NULL. So
accessing the free desc list in the debug log leads to NULL
pointer dereference. In this change remove the debug log as
before that enough logging is in place to check how many buffers
are replenished.

Change-Id: I306aa52f6f25d9b43afb8548b8c03467aa9f27de
CRs-Fixed: 2366585
2018-12-17 00:37:37 -08:00
Edayilliam Jayadev
33b7c9a31d qcacmn: Fix KW isssues in Direct DMA
Fix KW issues in Direct DMA module.

CRs-Fixed: 2366231
Change-Id: I091d6b451c142928743ff29a1e463321bad7bf4c
2018-12-16 21:36:46 -08:00
Mohit Khanna
705149946b qcacmn: Fix large RX desc pool memory allocation
During dp_rx_pdev_attach and dp_rx_pdev_mon_buf_attach we are allocating
three times as many rx descriptors as there are entries in the ring for
AP usecase. This is not needed for MCL and may need to kmalloc
failures for allocating that much contiguous memory

Allocate only as many RX descriptors as there are ring entries for MCL
usecase.

Change-Id: I8b559a85c3899bcbdc520e71ba5da409314db160
CRs-Fixed: 2342957
2018-12-15 10:07:15 -08:00
Venkata Sharath Chandra Manchala
96e3633874 qcacmn: Pktlog Enhancements
1. Reduce the log level for every buffer received
   from firmware
2. Set the default pktlog buffer size to 10MB.

Change-Id: Iad8827084579592fcfa69056dcfc9d57095151e7
CRs-Fixed: 2364380
2018-12-15 08:43:26 -08:00
Krunal Soni
ce2009b364 qcacmn: Clean-up all peers in-case of SSR
Current driver doesn't clean-up all the peers because the TARGET
state is not marked as reset and due to which nobody is there to
mimic fake peer unmap events to reduce the reference count.

Also, there is no peer delete API being called as well in case of SSR.
Identify the TARGET state in-case of SSR by calling HDD callback
and mimic the unmap events and call peer delete API as well.

CRs-Fixed: 2350285
Change-Id: I878b7a15701c01ac9ef80010086f7e868a631a74
2018-12-14 16:06:30 -08:00
Vivek
50f2998dfa qcacmn: Address review comments for activation cb reason change
There were minor review comments for the change
for adding activation reason also to activation sb
which was not addressed in the changeset
since it had all the necessaary approvals and it
was in path for merge.

Addressed all the comments as part of this change.

Change-Id: I8035adf2dce152e60eef1494aa7f100c2d567f41
CRs-Fixed: 2361327
2018-12-14 16:06:27 -08:00
Vivek
40d1bc8914 qcacmn: Add activation reason to serialization cmd structure
Add field for activation reason to serialization cmd structure
Also modified the other boolean fields to a bit field for optimization

The new field added to serialization command structure will be used
to update the activation reason about how the command was activated,
either directly from active queue or as part of movement of
pending to active queue.

Change-Id: I8a1da79b7ef60e8d8a739ae2f265418418e2c859
CRs-Fixed: 2361327
2018-12-14 16:06:24 -08:00
Vivek
6a84a1c328 qcacmn: Add serialization API to update timers
Add a new API to update serialization timer value for a
give command in the active queue.

Change-Id: I725a35822e881facd9e2f4a51e41ea5ee8d6bbd8
CRs-Fixed: 2352317
2018-12-14 16:06:21 -08:00
Vivek
c4f335719b qcacmn: Add API to peek vdev active queue
Add API to peek into the vdev active queue
and return the command type present in the
active queue of a given vdev

Change-Id: I4a4dc419f4a51645cc7e611ffb7053a8c8240381
CRs-Fixed: 2354133
2018-12-14 16:06:18 -08:00