Commit Graph

2668 Commits

Author SHA1 Message Date
Dustin Brown
e226cebdd2 qcacmn: Add Scheduler Watchdog Timer
In order to catch long running scheduler messages, start a watchdog
timer before processing each message, and stop the timer after each
message is processed. When the watchdog timer expires, immediately
crash the device in debug builds for easier debugging.

Change-Id: I4b43a9e12fc1f5b8a795fec790fe7548a100d9db
CRs-Fixed: 2037094
2017-04-26 17:01:52 -07:00
Arif Hussain
d6b243219d qcacmn: Fix compilation with scheduled scan start delay
cfg80211_sched_scan_request start delay is added from
KERNEL_VERSION 4.4, and schedule scan plans is backported but
not the start delay.

This change is to make sure start delay accessed from request
only for KERNEL_VERSION 4.4 to avoid compilation issues with
CFG80211_MULTI_SCAN_PLAN_BACKPORT.

Change-Id: I3469ef457bb1f97fdddfb7491fbcaa2e64a16e8a
CRs-Fixed: 2038458
2017-04-26 15:11:45 -07:00
Sathish Kumar
52cfdcf001 qcacmn: Add support for WMI_COEX_CONFIG command
Add support in WMI layer to configure coex config command for
lithium based chipsets

CRs-Fixed: 2037499
Change-Id: Ib83407524bd3b5cdad28f73a6ccc36d4a0271779
2017-04-26 06:46:29 -07:00
Sathish Kumar
af374199c1 qcacmn: Remove WDS peer event population for lithium based targets
WDS peer event is not supported on lithium based targets. Remove the
population of WDS peer event in TLV.

Change-Id: Ie31e543eb7be40787ab19afec7830178807190ac
CRs-Fixed: 2035040
2017-04-26 02:41:38 -07:00
Sravan Kumar Kairam
eeacf8c236 qcacmn: Add target interface set run time pm in progress
As part of UMAC componentization add target interface set run time
pm in progress during runtime suspend.

Change-Id: Ia5a679f5e5c290f8e4e90fded86586c98073eff3
CRs-Fixed: 2030168
2017-04-25 17:25:29 -07:00
Dhanashri Atre
cdfde22d94 qcacmn: Disable per pdev rx ring on MCL
Ensure that the per pdev rx ring configuration is disabled on MCL

Change-Id: Ie23bb371f9475cf4008dce098dc9c7d712078fe4
CRs-Fixed: 2033532
2017-04-25 16:28:41 -07:00
Venkateswara Swamy Bandaru
851184b0e4 qcacmn: Add support to extract SRP IE in beacon
Added support to extract spatial reuse parameter IE in beacon receive.

Change-Id: Ia7ce2a58ae8b65cddd9b3f8d969bd95b459aab3e
CRs-Fixed: 2033106
2017-04-25 15:00:34 -07:00
Abhishek Singh
6e7489e3e8 qcacmn: Move user configured params from scan filter to scan params
Some user configured params are passed in filter during scan request.
Added them in scan defaults params and update them from user config.
Also use these params from scan def params instead of filters.

Change-Id: Ice2817c2f135289d7a3dbfa94c9c06263473ce2d
CRs-Fixed: 1095299
2017-04-25 13:02:22 -07:00
Om Prakash Tripathi
0078b78f06 qcacmn: add set/get APIs for max active scans
Add set/get API for max parallel active scans supported.
Max active scans allowed is set from ext service ready event
handler(8 as of now). Once FW announces this capability, FW
announce value must be used instead of hardcoded value 8.

Change-Id: I2af3a34c9f55f92c47aebbd12838a8d8fc6e3ba7
CRs-Fixed: 1095299
2017-04-25 13:02:21 -07:00
Sravan Kumar Kairam
2f5bf3e645 qcacmn: Add pmo set runtime pm in progress in lmac interface
As part of UMAC componentization add pmo set runtime pm in progress
operation in lmac interface.

Change-Id: I54e778326133feb014dc5fec3213a0d19f3f7392
CRs-Fixed: 2030168
2017-04-25 12:10:24 -07:00
Om Prakash Tripathi
cdcbb39764 qcacmn: update average rssi in scan entry
If elapsed time since last rssi update for a particular
scan entry is smaller than a thresold, calculate a
running average of the RSSI values. Otherwise last RSSI
is more representive of the signal strength.

Change-Id: I4cbecc8b6bfbb73c272544114b063b25c26e14fe
CRs-Fixed: 1095299
2017-04-25 11:01:06 -07:00
Abhishek Singh
d9e8b4f531 qcacmn: Fix error while adding beacons with CSA IE
Fix error while processing beacon with CSA IE.
Log the event and add the beacon/probe with CSA IE in
database.

Change-Id: Ia7552460e91a50888ef04e0ebd79a0350dd16d1a
CRs-Fixed: 2033231
2017-04-25 08:57:35 -07:00
Padma, Santhosh Kumar
6d2e862c77 qcacmn: Get CCA from firmware
Requirement is to get CCA from frmware when connection fails due to
assoc/auth/probe response timeout. These are common changes to get
CCA from firmware.

Change-Id: I062343ed065d7b0c38b9e3b24ecfa9851b9b1537
CRs-Fixed: 2031843
2017-04-25 05:56:02 -07:00
Venkateswara Swamy Bandaru
bd3fc8eaf9 qcacmn: Add SR LOAD variance iwpiv support
Added OL_ATH_PARAM_ACS_SRLOADVAR in ol_ath_param_t Pdev configuration
parameter.

Change-Id: I59580f0500f7691af5188cdefece022f1abdbec9
CRs-Fixed: 2036205
2017-04-25 03:20:50 -07:00
Dustin Brown
47bd625a19 qcacmn: Change max queued WMI commands to 1024
Increase the maximum number of queued WMI commands to 1024, up from 256.

Change-Id: I79e2f0d835bf9e91bfa4e8ec3eed8391b9540c1b
CRs-Fixed: 2036638
2017-04-25 01:52:32 -07:00
Arif Hussain
61cbab79c3 qcacmn: Fix frame-larger-than Werror in dfs
Fix Werror=frame-larger-than by reducing size
of DFS_MAX_NOL_CHANNEL from 128 to 80.

Change-Id: I37271a48bf5172c3fb2d568b58e8f7448bf4ed28
CRs-Fixed: 2017481
2017-04-25 01:08:38 -07:00
Nandha Kishore Easwaran
2668994354 qcacmn: Adding cdp interface for wdi events
Adding subscribe and unsubscribe functions for wdi events in
cdp layer to enable for legacy alone and disable for lithium
data path.

Change-Id: Ibdf449393d0cb59c4c46c712c7a72695e086ab6c
2017-04-25 00:11:05 -07:00
Kiran Venkatappa
a973e13df7 qcacmn: Add objmgr dbg ref id for offchan txrx component
DBG ref id is used to get and free peer reference. Add offchan component
dbg ref id to get and free peer refernces from offchan component.

Change-Id: I23eed8e9ae63b3c48f65d2f42b73984997196dbd
CRs-Fixed: 2030050
2017-04-24 22:55:32 -07:00
Kabilan Kannan
9e5be67bab qcacmn: Fix excessive logging problem in TDLS
TDLS registered for optional action frames to print the
information about unknown peer commands. This causes
problem in the system with too many logs.
Remove the optional action frames registration from
the TDLS component.

Change-Id: Iec2ee86ae1b3139858f6a1ff5b96477bc6dae169
CRs-Fixed: 2037911
2017-04-24 20:45:36 -07:00
Wu Gao
d5fc9c0b8e qcacmn: Add runtime pm lock for P2P
Add runtime pm lock for remain on channel request in P2P component.

Change-Id: Ic29c5edf9e9325d1f9b65d766385327b91b0d14a
CRs-Fixed: 2036085
2017-04-24 20:06:00 -07:00
Arif Hussain
cc21cb2e15 qcacmn: Add acs range support in random channel selection
Add support to conside auto-channel selection range in random channel
selection algorithm.

If acs is enabled, random channel is selected from acs channel range.

Change-Id: I6ccf9ae58aa2d9b63133de3f98030078bf13cf49
CRs-Fixed: 2017481
2017-04-24 17:07:52 -07:00
Pamidipati, Vijay
c9a13a52c8 qcacmn: Set addr_search flags according to vdev opmode
Add support to set addr_search flags in WLAN Tx Descriptor
as per vdev operational mode

Change-Id: I25fcd4bf450982f8aecc6e91236211c17d5f3f22
CRs-Fixed: 2004658
2017-04-24 15:55:13 -07:00
Arif Hussain
83e1488870 qcacmn: extract dfs events
Add support to extract dfs events.

Change-Id: I2889d419954dec8ed3714dd0fd7383f3a3586f6e
CRs-Fixed: 2017481
2017-04-22 10:55:23 -07:00
Arif Hussain
ef4372eeb0 qcacmn: Fix issue in getting channel list in dfs component
Need to pass valid weight list and length to pcl api to
get channel list. So pass valid weight list and length.

Change-Id: Id9582210937da1dd5147aa3e85e0cd0df6b5ac90
CRs-Fixed: 2017481
2017-04-22 01:45:27 -07:00
Baila, Shashikala Prabhu
1cc7633792 qcacmn: regdb: HT40+ and HT40- is fixed for 2GHz
For 2GHz HT40+/HT40- band width reg_get_2g_bonded_channel_state function
always returns the state as invalid due to function argument mismatch.

Change-Id: Ida04339fcaf680807aa425b3f28c627baa317b02
CRs-Fixed: 2002892
2017-04-22 00:50:38 -07:00
Rajeev Kumar
c0f54cd23b qcacmn: Make client kick out event as wake-able event in SAP mode
In SAP mode if APPS is in power collapse state and an associated client
leaves the BSS then FW can only wake up host if WOW_CLIENT_KICKOUT_EVENT
is configured as wake-able event, hence make client kick out event as
wake-able event in SAP mode.

Change-Id: I8f81f8f84c655dbd5a4e058786a98e9d550aa018
CRs-Fixed: 2036656
2017-04-21 21:06:38 -07:00
Sandeep Puligilla
c4e05fd98d qcacmn: scan get results failed during connect
Scan get results failed to fetch the filtered
results during connection.

Updated the sorting logic in scan database
management.

Change-Id: I81734f1f5b3a48ca65ea5b8ce717b4bec7265b27
CRs-Fixed: 2036864
2017-04-21 20:25:43 -07:00
Orhan K AKYILDIZ
bcc3c4e149 qcacmn: Add paddr support for 32-bit host arch
Add support for 32-bit host architecture where dma_addr_t
is 32 bits and  bus addresses are of 64 bits on MAC and IPA.

Change-Id: Icd976b42391e83a7ad15081e1feb0462b93c682f
CRs-Fixed: 2014038
2017-04-21 18:48:13 -07:00
Mohit Khanna
79db2c47aa qcacmn: Debug enhancements for rx_buffer history
Add the following:
- iwpriv support (dumpStats 10) to dump the counters

Change-Id: Ie349e1cc8794e1a6cc5345a24c37b35dca074a24
CRs-Fixed: 2001331
2017-04-21 18:48:12 -07:00
Ravi Joshi
0c547bbd85 qcacmn: Export API to add radiotap header
Exporting a new API for updating radiotap header.

Change-Id: I1f942aa52ef737f68bb0578019f67e107a425fb0
CRs-Fixed: 1113187
2017-04-21 18:06:33 -07:00
Arif Hussain
9fba31ea0b qcacmn: Register DFS component API in target_if
Register DFS component API in target_if and add API's to
handle radar found and cac found events from firmware.

Change-Id: I3f3d2ff5401e5c969a3df24f51e8aa57f4e17017
CRs-Fixed: 2017481
2017-04-21 02:25:09 -07:00
Ashish Kumar Dhanotiya
485d594ea1 qcacmn: Race condition while using pkt log buffer
There can be a race condition if two different threads use the
pkt log buffer at the same time. This issue can lead to Use-After-Free
of the packet log buffer.

To address this issue, protect the pktlog buffer access using spinlock.

Change-Id: I75d9375c9d85ac26dab1c06658d3f0fdbeb62935
CRs-Fixed: 2034486
2017-04-21 00:25:09 -07:00
Arif Hussain
8d88af5f32 qcacmn: Random channel selection public API
Add random channel selection public API.

Change-Id: I5502116fab17716a9d8f2f41ddd67bcbcdd1328c
CRs-Fixed: 2017481
2017-04-20 20:20:48 -07:00
Arif Hussain
c64510ba8b qcacmn: Process DFS events from firmware
Add support to process DFS events from firmware.

Change-Id: I38bea404fdb50d80430c8b14a2a4f6a729d3557e
CRs-Fixed: 2017481
2017-04-20 20:20:46 -07:00
Abhijit Pradhan
b973986b38 qcacmn: dfs memory leak fixed
dfs_detach function was called from ol/lmac layer during ath_detach.
To fix the memory leak dfs_detach function called from dfs pdev
destroy function.

Change-Id: I41602c17ac9ab0b6eb1e9fbe9abe764d00ed0e93
CRs-Fixed: 2001106
2017-04-20 17:50:57 -07:00
Kabilan Kannan
021a75a82b qcacmn: Fix TDLS UMAC memory init issues
scheduler message structure needs to be initialised to zero
before populating it contents.
Init scheduler msg structure to zero during the structure
declaration.

Change-Id: Ib6281b7d3b0a103be5adf65d12c20a28f48065f5
CRs-Fixed: 2034220
2017-04-20 16:26:00 -07:00
Amar Singhal
c73c207412 qcacmn: Move public data structures
Move remaining regulatory public data structures to
reg_services_public_struct.h

Change-Id: I658d434c46989f90b527f7d6a8e5a4da032628f7
CRs-Fixed: 2002892
2017-04-20 15:45:06 -07:00
Srinivas Pitla
f7aec735b4 qcacmn: Add param to ol params to dump objects of object manager
New iwpriv command has added to dump pending/active objects of
object manager

Change-Id: Ifff3bbb2dd2e168243a263a138c294fb1ed679fd
CRs-Fixed: 2022458
2017-04-20 10:51:27 -07:00
Karunakar Dasineni
ca792543cf qcacmn: Enable WDS learning only when configured
Add support to make WDS source port learning in lithium datapath
to be configurable.

Change-Id: I63eb64d6f46560a31f8e40a806d05d1dceddd784
CRs-Fixed: 2004658
2017-04-20 10:51:25 -07:00
Venkateswara Swamy Bandaru
7e19ec5b53 qcacmn: Fix mesh rate extraction from meta header
Accoring to new meta header format mcs, nss, preamble_type and retries
information will present in rate_info field. Changes done to extract
these fields and update ext2 header to firmware.

Change-Id: I56926f39f2ba17446418c7eae0fd382247430df8
CRs-Fixed: 2003389
2017-04-20 08:18:12 -07:00
Adil Saeed Musthafa
469053dcb6 qcacmn: Reducing function name to fix unresolved symbols
There is a limitation in function name length for exported
symbols, because of this we are seeing unresolved symbols.

CRs-Fixed: 2016643.
Change-Id: Idffc3a9d958c8042cf32ba3b07ca3020c31db6be
2017-04-20 05:20:00 -07:00
Arif Hussain
91ac5ea418 qcacmn: Add random channel selection algorithm
Add random channel selection algorithm in DFS component.

Change-Id: Ic2d3ee3c6156213564a3eb354dfffa1bbc7ff01d
CRs-Fixed: 2017481
2017-04-20 03:16:32 -07:00
Arif Hussain
63acfd2b2e qcacmn: Fix frequency offset signedness in channel marking logic
Change frequency offset to signed, as offset is negative if
radar found in lower frequency compared to center frequency.

Change-Id: Ic33411e5638684c4aacbb424eddc19827ef5e60e
CRs-Fixed: 2017481
2017-04-20 00:04:57 -07:00
Kabilan Kannan
7e189c3436 qcacmn: Add TDLS off channel changes for TDLS UMAC
Add TDLS offchannel and related osif changes in TDLS
UMAC component.

Change-Id: Ic562709eb8a6361322860c4f7333633a7894af99
CRs-Fixed: 2034220
2017-04-20 00:04:56 -07:00
Kabilan Kannan
e81cb8eac8 qcacmn: Add os_if changes for tdls management
Add os interface changes to send tdls management
frames to tdls component

Change-Id: Ib675e4b089a88ad618f918d9992a777c7221b34c
CRs-Fixed: 2034220
2017-04-20 00:04:54 -07:00
Kabilan Kannan
8398292c6d qcacmn: Add scan related events for TDLS component
Add Scan start and complete events for TDLS component

Change-Id: Ibb452d2823115ec16a7c6e9f88c9ad6cac48930c
CRs-Fixed: 2034220
2017-04-20 00:04:53 -07:00
Kabilan Kannan
b197624f96 qcacmn: Populate tdls scan interface member
Add tdls scan interface changes to notify
tdls status to scan

Change-Id: Ie9dc9ffda41414238ba6ad47704d42b5a0aaa53d
CRs-Fixed: 2034220
2017-04-20 00:04:52 -07:00
Kabilan Kannan
791f7aa23b qcacmn: Add TDLS ucfg changes for sta connect/disconnect
Add TDLS ucfg interface changes for sta connect, sta
disconnect and tx/rx data sample

Change-Id: Ic57a91b70fe462ee031dc0cf54112601aae0dfc4
CRs-Fixed: 2034220
2017-04-20 00:04:50 -07:00
Kabilan Kannan
3e4752133a qcacmn: Add sta connect/disconnect in TDLS UMAC component
Add sta connection and disconnection event related
methods into TDLS component

Change-Id: I1309792cf68df87b1ecf5a7686ac645ac21d1c7c
CRs-Fixed: 2034220
2017-04-20 00:04:49 -07:00
Kabilan Kannan
97bc1c725a qcacmn: Add TDLS management frames
Add TDLS management frames implementaion in TDLS
umac component

Change-Id: I46943f7df119894e0d54df2c6edb08ed4546a389
CRs-Fixed: 2034220
2017-04-20 00:04:48 -07:00