Графік комітів

1897 Коміти

Автор SHA1 Повідомлення Дата
Sandeep Puligilla
7225a3b99b qcacmn: Merge Scan manager and scan database umac id
Scan module is single component containing scan manager
services and scan database services so merge Scan manager
and scan database umac component id's.

Change-Id: I02f946824e34bb68c979b6ef3d2026aeb4cd1447
CRs-Fixed: 1113735
2017-01-31 19:36:39 -08:00
qcabuildsw
3e03c1f0f1 Release 5.1.1.9
Release 5.1.1.9

Change-Id: Ia0c43ed89d383750f94566353b08e077f620bd7c
CRs-Fixed: 688141
2017-01-31 18:53:14 -08:00
Houston Hoffman
aa12e04bad qcacmn: noinline dp_tx_send_msdu_multiple when QDF_LOCK_STATS
When QDF_LOCK_STATS is enabled, dp_tx_send_msdu_multiple needs to
not be inlined to avoid an [-Werror=maybe-uninitialized] compilation error.

": error: 'msdu_info' may be used uninitialized in this function"

Change-Id: I46edc3e3f5fdc498cb31c4eab38c89f91def10ba
CRs-Fixed: 2000132
2017-01-31 18:53:14 -08:00
Houston Hoffman
72ddc02a93 qcacmn: Propperly free ce recv buffers durring driver unload
Ce recv buffers that were given to hardware and never returned
need to be freed.

Change-Id: I427ef993110e24dcbbc1891fe3eb456f688526ae
CRs-Fixed: 2000136
2017-01-31 18:53:13 -08:00
Houston Hoffman
fc0a960b55 qcacmn: Handle allocation failure in dp_rx_buffers_replenish
Need to handle allocation failure when replenishing rx buffers.

Change-Id: Iad9fad5b14bd0f9599105e255689f8fa174b816d
CRs-Fixed: 2000138
2017-01-31 18:53:12 -08:00
Houston Hoffman
3274fbc178 qcacmn: Remove ce_debug_cmplsn_context_srng
static globabl variables are not thread safe.

Change-Id: Ib315051d6a1da99740b501131cae449f8440e83c
CRs-Fixed: 2000140
2017-01-31 18:53:11 -08:00
Houston Hoffman
540222c531 qcacmn: Set defaults for QDF_LOCK_STATS features
Allow kbuild to enable/disable these features, but provide
defaults if the kbuild is unaware of these features.

Change-Id: Icd8054b5607749fd385f6664b8e06b31894c56c7
CRs-Fixed: 1111956
2017-01-31 18:53:10 -08:00
Houston Hoffman
8d67f466cc qcacmn: Add acquired by to lock stats
Record the last function to acquire a lock.  Improve
detectability for failure to release spinlocks.

Change-Id: I4c13dfbb2dad322c119914a325ff9edeee60fbf4
CRs-Fixed: 1111956
2017-01-31 18:53:09 -08:00
Houston Hoffman
ea5d86fe25 qcacmn: Add spinlockstats list
Keep all spinlocks on a list for offline debugging.
Also support detection of duplicate destroy calls.
Also support detection of not calling spinlock_destroy.

Change-Id: I75f520bb87c06111eabf0f610d4751e98a932c99
CRs-Fixed: 1111956
2017-01-31 18:53:08 -08:00
Houston Hoffman
805668a63d qcacmn: add stats infrastructure to trylock
Remove false positives for locks acquired with trylock.
Trylock was not recording the timestamp when the lock was
acquired. Therefore an old timestamp was used when releasing
the lock and the infrastructure would report that the lock
was held for longer than it was.

With the infrastructure set to generate a crash when a lock
is held too long, these false positives make the system unstable.

Change-Id: I87989b21daf4a2dfb74c8cfbba09be2af53dd1b2
CRs-Fixed: 1111956
2017-01-31 18:53:07 -08:00
Houston Hoffman
d2e9dcd716 qcacmn: balance spin_lock_create (lro)
Adding lock stats print upon spinlock & mutex destroy.
The spinlock destroy of the lro unloading lock in the
napi context did not match the create in location.
When a station adapter goes down and is brought back up,
the mismatch appears.

Change-Id: I137e6ffce3fb23f32a085b9fa36b065449a6d8a1
CRs-Fixed: 1111956
2017-01-31 18:53:06 -08:00
Houston Hoffman
a4b5f900be qcacmn: Don't flush irq_enable register write
The Common subsystem shutdown is allowed after the irq_enable
register is written.  A race condition in host (multiple other
interrupts firing on the same core). Can delay the register read
and allow the common sub system to be shutdown before the read.
The read would then cause an SNOC error as the register is unclocked.

Change-Id: Icb90c185eabcbd63b28b02bdf5c1de2d06d3620e
CRs-Fixed: 1108494
2017-01-31 18:53:05 -08:00
Houston Hoffman
ee0e0bbc33 qcacmn: balance spin_lock_create (mc_timer)
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.

Change-Id: I670bef0aeca03b61ad6d2f1ffec404b6c33f9002
CRs-Fixed: 1100505
2017-01-31 18:53:04 -08:00
Houston Hoffman
03f4657b7b qcacmn: balance spin_lock_create (ce)
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.

Change-Id: I50b4db8412e336fcc22514be3ae4aaa2188415a8
CRs-Fixed: 1100505
2017-01-31 18:53:03 -08:00
Houston Hoffman
3c84105dc1 qcacmn: balance spin_lock_create (napi)
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.

Change-Id: Id3c432e1f6982ea47bdf1de5c15f1a3568df4eb9
CRs-Fixed: 1100505
2017-01-31 18:53:02 -08:00
Houston Hoffman
1ced412f80 qcacmn: featurize LOCK_STATS functionality
LOCK_STATS does profiling and catching of instances where
locks are held too long.  Separate out these two concerns
with separate macro flags.

Change-Id: Idb530baa23c5fcde84689bf910988da22e36123d
CRs-Fixed: 1100505
2017-01-31 15:32:48 -08:00
Houston Hoffman
b6cbf5e312 qcacmn: add stats to spinlock & mutexes
Wish to profile spinlock & mutex usage.
Bug on when spinlock is being used to protect
large regions of time.
(1mS for irq disabled, 5mS for bh disabled,
5ms for regular spinlock).

Change-Id: I95190a0d3d407a91a869f9f015e61d75e80830a7
CRs-Fixed: 1100505
2017-01-31 15:32:32 -08:00
Houston Hoffman
7dcbb86c23 qcacmn: Introduce qdf_spin_is_locked
Add a wrapper to check if a spinlock is currently
locked without acquiring it.

Change-Id: I867cfd00a61b1632e9652cdffc896b2654e3c338
CRs-Fixed: 1100505
2017-01-31 13:51:21 -08:00
Houston Hoffman
94f80a1b70 qcacmn: make qdf_print useable without qdf_trace.h (2)
qdf_trace prototype needs to be defined as well.
note: i_qdf_trace.h is still needed for qdf_print
to be used, but we have removed dependencies of
i_qdf_trace.h on other include files (so this is fine).

Change-Id: I01052d00c1619e4847de702a687554badd47882f
CRs-Fixed: 1100505
2017-01-31 13:51:17 -08:00
Houston Hoffman
125692a240 qcacmn: make qdf_print useable without qdf_trace.h
Allow qdf to print messages without including qdf_trace headers.
qdf_trace.h contents are not available in several qdf headers because
qdf_trace.h includes those headers.  By moving the log level enum
to the types.h file, qdf_print will be universally available.

Change-Id: Ia8f53ed86bdd68b79341b4526a404e5d62c91170
CRs-Fixed: 1100505
2017-01-31 13:49:51 -08:00
Houston Hoffman
14201bf72d qcacmn: support logtime conversion for qtimer
The api qdf_get_log_timestamp is the fastest way to get a
high resolution timestamp in the system, however its
scaling is not consistent.  This adds some conversion
apis for logging time differences in human readible quantities.
This also adds the reverse conversion.

Change-Id: I6c22132514c2cebb67c850260214a7f734bf8670
CRs-Fixed: 1100505
2017-01-31 13:14:50 -08:00
Orhan K AKYILDIZ
0f521bf9be qcacmn: Harden NAPI event handler
Make sure that NAPI event handler would handle events only
after it has been initialized. Check init flag before procesing
the event and emit a warning and return an error to the caller.

Change-Id: I9d2b84560ee2363ecf2a570dbef0275dfb87786a
CRs-Fixed: 1091678
2017-01-31 13:14:49 -08:00
qcabuildsw
93e24e385d Release 5.1.1.8Z
Release 5.1.1.8Z

Change-Id: Ief482e1a0d8dc123d949e5e3bd03d0ba7a44bc06
CRs-Fixed: 688141
2017-01-31 12:44:56 -08:00
Sathish Kumar
febd4b7b54 qcacmn: Update QDF Debug Framework
Update QDF debug framework with API to store and to get the print index.

As a part of QDF framework convergence, we need to update the QDF framework.

Add API to handle the print index in the converged QDF framework.

Change-Id: I871c09189202d021405777db732e8821e7aaca7c
CRs-Fixed: 1108907
2017-01-31 19:33:48 +05:30
qcabuildsw
45cbe075a7 Release 5.1.1.8Y
Release 5.1.1.8Y

Change-Id: If11ede80d1d49e248a5a188dad0e9bf6ad9f7c1e
CRs-Fixed: 688141
2017-01-30 22:18:24 -08:00
Houston Hoffman
3ba070e41e qcacmn: Include pld_common.h later
The pld_common.h stub doesn't include all the header files it needs
for compilation.  Let it get included from hal_internal.h through
hal_api.h.  In this manner, all the required .h files will allready
be included.

Change-Id: I40d107d2305baabe57719afe854bad4428d74a23
CRs-Fixed: 1113131
2017-01-30 22:18:24 -08:00
Houston Hoffman
403c2df426 qcacmn: Fix wmissing errors in shadow_register code
hif_prepare_hal_shadow_register_cfg and hif_print_hal_shadow_register_cfg
needed to be declared static after enabling "Werror=missing-prototypes"

Change-Id: I3682436edb7bcb3ee02f1c4037aefc82863c0ec5
CRs-Fixed: 1113131
2017-01-30 22:18:23 -08:00
Houston Hoffman
10fedfc050 qcacmn: move shadow_config_v2 to srng services
Wish to keep ce_main.c independent of hal.

Change-Id: Ia1caddc9cb81ac996955ad316e4646a4abc8b876
CRs-Fixed: 1113131
2017-01-30 22:18:22 -08:00
Houston Hoffman
e3c1a37468 qcacmn: add sanity check of shadow configuration
When shadow registers replace other register addresses,
ensure that they are configured to point at the registers
that would be written to with shadow registers disabled.

Change-Id: I789021fe394cad2ce50cbbeb2943827b6d5e464f
CRs-Fixed: 1113131
2017-01-30 22:18:21 -08:00
Houston Hoffman
5141f9d1e8 qcacmn: construct shadow v2 config
In this change, hif requests hal construct the shadow register
configuration for all the necessary datapath rings.  Then hif
requests hal append the configuration for the srng rings used
by the host copy engine module.  When constructing the shadow
register configuration, the hal makes note to use the shadow
register addresses instead of the actual addresses.

Change-Id: Ide8f523dece0d1dc6eb05f4c86739ece7909c25a
CRs-Fixed: 1113131
2017-01-30 22:18:20 -08:00
Houston Hoffman
f483307b62 qcacmn: Support shadow_reg_v2_cfg in dummy pld
Need dummy stubs for compilation.

Change-Id: I591d77ed0b4069d3db1b436e798f1bd047d90242
CRs-Fixed: 1113131
2017-01-30 22:18:19 -08:00
qcabuildsw
ec77860eab Release 5.1.1.8X
Release 5.1.1.8X

Change-Id: I199dc76aaac92f5bec0852018a98347cc79c2447
CRs-Fixed: 688141
2017-01-30 09:06:34 -08:00
Kiran Venkatappa
92521a0c6b qcacmn: Change FIPS event extract APIs
Add pdev_id in FIPS extract params to be used to get appropriate pdev.
Also refactor extart APIs to get all data in one API and implement TLV
APIs.

Change-Id: Ib58d54ad0dcc25814e58f45e7e4a83d01549a523
CRs-Fixed: 1115213
2017-01-30 17:21:41 +05:30
Kiran Venkatappa
627ecd41e4 qcacmn: Add extract API for dcs interference event
Add TLV APIs to extract DCS intereference event. Add pdev id in
extract API used to derive pdev object.

Change-Id: Ie42ec1e3aec899ddc5b6b13d37dfd468ee29df7c
CRs-Fixed: 1115213
2017-01-30 17:21:05 +05:30
qcabuildsw
0001efea92 Release 5.1.1.8W
Release 5.1.1.8W

Change-Id: Ia7000f487d69f9f3507832f1994be6486d03ffd0
CRs-Fixed: 688141
2017-01-30 03:20:39 -08:00
Sathish Kumar
3541df9810 qcacmn: Add extract API for UTF event to support TLV and Non-TLV targets
Add extract API for handling UTF event data received from the target
for both TLV and non-TLV cases.

Change-Id: I62525d7c8663fe90e0e3e76cf5286bb9dc86acd0
CRs-Fixed: 1115293
2017-01-30 03:20:38 -08:00
qcabuildsw
139d36723e Release 5.1.1.8V
Release 5.1.1.8V

Change-Id: Iae2378562178a21418f7dafc5261d36dfe978c5a
CRs-Fixed: 688141
2017-01-27 01:59:42 -08:00
Poddar, Siddarth
d56844e3e5 qcacmn: TSO MAP-UNMAP individual segments one by one
Change the static allocation of tso common info to dynamic
allocation to use this structure later on.
Introduce one more element in tso common info structure
use to store the dma address of EIT header which can be
repeatedly use to assign to the dma address of the 0th fragment
of all the tso segments corresponding to one jumbo skb.

CRs-Fixed: 1106688
Change-Id: I572c7dcd2d29cb19b398e13e0fe7ce6f88ee1641
2017-01-26 22:27:27 -08:00
qcabuildsw
354cad54d4 Release 5.1.1.8U
Release 5.1.1.8U

Change-Id: I25d87b7d97155622e7d2a70447fb6457dace4922
CRs-Fixed: 688141
2017-01-25 18:33:03 -08:00
Mahesh Kumar Kalikot Veetil
66513f2083 qcacmn: Fix a compilation error on QDF mem stats
Correct a dependency between MEMORY_DEBUG and WLAN_DEBUFS. QDF memory
stats is expected to be enabled only when MEMORY_DEBUG feature is
there.

Change-Id: Id14b5ccfa532660b24087f9456f99b1d41f5420c
CRs-Fixed: 1108556
2017-01-25 18:33:02 -08:00
Mahesh Kumar Kalikot Veetil
bdcb4db461 qcacmn: Add QDF memory stats
Create debug file system entries to show current QDF memory usage.
The 'list' option adds a little overhead, which is minimized by
locking node by node while traversing the entire allocated memory
list. Major operation is lock-less, using node reference count.

Following debugfs entries are added,

	1. /sys/kernel/debug/<module_name>_qdf/mem/list
	   This lists QDF allocation by file and line number. It takes
	   some time to traverse the entire allocated list.

	2. /sys/kernel/debug/<module_name>_qdf/mem/kmalloc
	   This file shows total kmalloc done by qdf_mem_alloc().

	3. /sys/kernel/debug/<module_name>_qdf/mem/dma
	   This file shows total allocation done by qdf_mem_alloc_consistent()

Change-Id: Ie40a7cb6ee03dd58aebd0fbda0118ab06b64725a
CRs-Fixed: 1084097
2017-01-25 18:33:01 -08:00
Mahesh Kumar Kalikot Veetil
e79aee03e8 qcacmn: Add debugfs support
Create a root directory for debugfs at
/sys/kernel/debug/KBUILD_MODNAME_qdf/. The module name,
KBUILD_MODNAME, is used in the path to avoid conflict in case of
multiple instances of the same driver.

Any sub module in QDF can use this as the root directory to add
further files of directories. While unloading the driver the exit
routine does a recursive cleanup of any remaining files or
sub directories.

Even though debugfs is a Linux specific feature, a logic which is
related to file system for debugging can be added here.

This feature is protected with a compilation flag WLAN_DEBUGFS.

Change-Id: I21cae38b69f45c22121dfe70fe84f02423a26020
CRs-Fixed: 1083771
2017-01-25 18:32:59 -08:00
qcabuildsw
5fe84fede1 Release 5.1.1.8T
Release 5.1.1.8T

Change-Id: Idacb5e39bfd377eba2d401a0f958593bfcbcbbe9
CRs-Fixed: 688141
2017-01-24 20:15:51 -08:00
Houston Hoffman
4a033e4afe qcacmn: Fix wmissing-prototype errors (dp_reo.c)
include dp_internal.h for its prototypes.

Change-Id: I0992d2b14d559a0e641ded52cc74e8fe2434c5e6
CRs-Fixed: 1115552
2017-01-24 20:15:50 -08:00
Houston Hoffman
64c32443c0 qcacmn: make napier_emu_ioremap static
make napier_emu_ioremap static since it has no prototype.

Change-Id: I3ef627d3b1d21e96a8fd0ea6795ef7bfcc265c36
CRs-Fixed: 1115552
2017-01-24 20:15:49 -08:00
qcabuildsw
bedf0fd2fe Release 5.1.1.8S
Release 5.1.1.8S

Change-Id: Ie0b73947ab4cd2260418ebf0b2375ab43e39e6e7
CRs-Fixed: 688141
2017-01-24 02:28:44 -08:00
Debasis Das
c4c2ac4121 qcacmn: Inline funcs for mgmt_txrx southbound API's
Use inline functions to access the mgmt_txrx southbound API's.
CRS Fixed: 1110551
Change-Id: I50f71261618fd6812265738597bd6f2968cef692
2017-01-24 02:28:43 -08:00
qcabuildsw
df39aeb619 Release 5.1.1.8R
Release 5.1.1.8R

Change-Id: I61b87c97397de83a4ecf602eb0a06dc6476501de
CRs-Fixed: 688141
2017-01-23 16:03:22 -08:00
Kiran Venkatappa
df17b072b6 qcacmn: Fix wmi extended service ready handling APIs
Add hw_mode_id. HW mode is received in extended service ready.
This will be used to determine FW capability to support multiple radio.
This is used on host to create multiple instantces of pdev on host.
Change mac_phy_cap extract API to get mac_phy_cap based on hw_mode_id
and phy_id

Change-Id: I9a6abdac8799d167828f13bef61b1a1d8c3e9769
CRs-Fixed: 1113888
2017-01-23 16:03:21 -08:00
qcabuildsw
f7ab3176ff Release 5.1.1.8Q
Release 5.1.1.8Q

Change-Id: Ic4736d53190c1f5bf738a4f3a998b333d29748f9
CRs-Fixed: 688141
2017-01-23 04:32:16 -08:00