提交線圖

2806 次程式碼提交

作者 SHA1 備註 日期
Kapil Gupta
1ff1f2ef82 qcacmn: validate hw caps before dereferencing
Currently we are dereferencing hw caps without validation which
may cause kernel panic.

Add changes to validate hw caps before dereferencing.

Change-Id: I642dd4c0db872c4cf3bdff7e5fbccbacc82f307d
CRs-Fixed: 2049122
2017-05-25 02:19:34 -07:00
Dustin Brown
c7e0c63260 qcacmn: Create QDF timer multiplier get/set APIs
In order to provide greater flexibility on emulation platforms, replace
the current hard-coded QDF_TIMER_MULTIPLIER with a pair of get/set
methods, configurable at runtime.

Change-Id: I0757da6c2129db08459411eaef75b6183f1aa557
CRs-Fixed: 2049309
2017-05-24 23:56:53 -07:00
Dustin Brown
a17c68d656 qcacmn: Consolidate PMO ObjMgr Abstractions
Begin moving ObjMgr abstractions to their own file, ensure API
consistency, and ensure proper usage from within PMO.

Change-Id: I013ae3b9d7be22378420913df0d2283431398af3
CRs-Fixed: 2047321
2017-05-24 11:24:26 -07:00
Ishank Jain
6290a3c543 qcacmn: Add APIs to enable HTT FW Stats
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message

Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
2017-05-24 02:41:10 -07:00
Kiran Venkatappa
8dac1dba72 qcacmn: Increase peer count to support 16 vaps in DBDC
Increase peer count to support 16 vaps per radio in DBDC mode

Change-Id: I9c75ee4051aa23c6c078a022d7d3f214b8e58971
CRs-Fixed: 2048254
2017-05-24 02:41:09 -07:00
Venkateswara Swamy Bandaru
15c68dadff qcacmn: Fix channel information mesh frame tx completion
Added channel info to meta header in mesh frame tx completion.

Change-Id: If032ee92330cc76c683f2b81af3707bccfe76fa9
CRs-Fixed: 2003389
2017-05-24 02:41:08 -07:00
Dustin Brown
a4c33f01bc qcacmn: Define new qdf_cpu_to_be*() macros
Add a set of OS agnostic CPU-to-Big-Endian byte order macros to QDF.

Change-Id: I8315dd55cf909abb871f7e7eb73684ed794fb134
CRs-Fixed: 2041099
2017-05-23 23:24:48 -07:00
Kiran Venkatappa
8dfac0797a qcacmn: Changes to support pdev_id in host from zero
pdev_id in FW starts from one. Zero is reserved for Soc. But host uses
pdev_id starting from zero. Make WMI changes to take care of this
difference and always provide and accept pdev_id starting from zero at
WMI. Use 0xFF for SoC on host.

Change-Id: I49f481e54bbaeea9359753bc7d3da9092fc9559a
CRs-Fixed: 2045125
2017-05-22 17:05:25 -07:00
Subrat Mishra
5bdc4b3014 qcacmn: Fix vdev set ssid
Modified to accept ssid of length 32 characters for vdev.
It was taking only 31 characters.

Change-Id: I98c54b23b1c7d70546a548979cef6a1af9ddb064
CRs-Fixed: 2049607
2017-05-22 17:05:24 -07:00
Pamidipati, Vijay
03f1a662a7 qcacmn: TSO Bug fix
Add fix to handle a case where the head SKB carries no payload
and only EIT header

Change-Id: I4513944d1e1f491f985be522bc04be6845c8a3c4
CRs-Fixed: 2004658
2017-05-22 17:05:23 -07:00
Venkata Sharath Chandra Manchala
35503cce26 qcacmn: TSO fixes
1. Unmap tso common segment only after receiving
   completions for all the tso segments for a given
   skb.
2. Keep a track of num of free tso descriptors available
   in the pool of tso descriptors.

Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950
2017-05-22 17:05:21 -07:00
Manjunathappa Prakash
ae66cda533 qcacmn: Remove excessive per packet logging in dp_rx_process()
Move excessive per packet logging inside undefined compile flag.
Eventually need to remove this debug logging.

Change-Id: If1470a4c780b4b718346982a69d6e5fb60e2287f
CRs-Fixed: 2049401
2017-05-22 13:16:14 -07:00
Adil Saeed Musthafa
5a0a7073fd qcacmn: Limiting a function declaration within CONFIG_MCL
Function dbglog_set_log_lvl needs to be commented out for WIN compilation
since enum DBG_LOG_LVL is not converged. Functions nl_srv_bcast and
nl_srv_is_initialized needs to be exported out for pushing FW Diag Log
events to user-space (cnss-diag)

CRs-Fixed: 2048651
Change-Id: I57a4bd3d78680b97bd75191ca58349abeb77240a
2017-05-22 09:39:52 -07:00
Baila, Shashikala Prabhu
4140c76598 qcacmn: Fix regdb compilation error
Compiler does not allow very large local variable/array.
Error: 'the frame size of 1512 bytes is larger than 1190 bytes'

Change-Id: Ic74543c25fcb46596d49e9c0bb60f1f3c6f3f16c
CRs-Fixed: 2047212
2017-05-22 09:00:13 -07:00
Adil Saeed Musthafa
03e2ac22d7 qcacmn: Change DP_TRACE level to FATAL (instead of NONE)
Change DP_TRACE and DP_TRACE_STATS to use FATAL level.
Set DP module at QDF_TRACE_LEVEL_FATAL by default.

Change-Id: Ia894c6695699192feed204bb0dffdb9cfd59480c
CRs-Fixed: 2048931
2017-05-20 19:26:09 -07:00
Abhijit Pradhan
40dd86dbfe qcacmn: Populate ext-service-ready info before using
The legacy call back reads  per pdev frequency information (and
other information) from extended service event. The ext-service-ready
must be extracted and stored in per PSoc structure before pDev can
read it.

Change-Id: I9d6245c7c58a14b7aa08642c84b3a51b20e3d0c2
CRs-Fixed: 2047212
2017-05-20 14:35:59 -07:00
Dustin Brown
e1d3d092f6 qcacmn: Add scheduler logging macros
To reduce boilerplate code, add standard logging macros to the scheduler
module.

Change-Id: I478ec2d16d340f419135101704f0ab3a5bf0b4d8
CRs-Fixed: 2042761
2017-05-19 23:58:21 -07:00
Rajeev Kumar
f37f18e2b3 qcacmn: Trigger panic on SKB memory leak in debug builds
To catch SKB memory leaks trigger panic on SKB leak in SLUB debug builds
if CONFIG_HALT_KMEMLEAK is enabled.

Change-Id: I25b65454ec3954fdcbf6e39390ac793ee77fc1f4
CRs-Fixed: 2049330
2017-05-19 23:06:35 -07:00
Author: Neil Zhao
5ad91c1a6f qcacmn: part of FR 38654 splitmac(umac converge)
1) WLAN driver doesn’t response to management frames.
e.g. associate request.
2) WLAN controller will process and send response to AP,
AP sends response to WIFI client.
Modified hostapd is used for testing purpose.
3) WLAN controller calls splitmac API(add_client) to
add WIFI client using specified info e.g. rates etc. on AP.
4) Do the rest init, e.g. EAPOL exchanges.

Change-Id: I688c598b6b879a1ab5f21457e299c47ccede79b0
CRs-Fixed: 2034582
2017-05-19 17:39:40 -07:00
Abhishek Singh
9f6058d24d qcacmn: Add support for PMO suspend and resume scan API
Register PMO suspend and resume scan API. In suspend API, abort
all pending scans.

Change-Id: Iec03383a958f1bf93d77a86c351532270c7fdcb8
CRs-Fixed: 2038163
2017-05-19 13:51:42 -07:00
Krishna Rao
0243d51fbe qcacmn: Set max active scan limit for non-TLV chipsets
Call target_if_scan_set_max_active_scans() to set the max active
scan limit to WLAN_MAX_ACTIVE_SCANS_ALLOWED, for non-TLV
chipsets.

CRs-Fixed: 2049689
Change-Id: I4e5700ed5e7ffbde49652a961ecd14fb3eacaceb
2017-05-19 12:53:42 -07:00
Dhanashri Atre
2fb392b7d5 qcacmn: Changes needed to support new hardware header files
Changes in the HAL APIs to adapt to the new hardware E6 header files.

The changes are in:
- The MSDU link extension descriptor
- The RX MSDU TLV (type_offset)

CRs-Fixed: 2033542
Change-Id: Ib314194f66fd2feea901f849753c9c91ec4a040c
2017-05-19 11:51:04 -07:00
Sandeep Puligilla
140c41ee36 qcacmn: Register scan rule callback with serialization
Register Scan rule callback API with the serialization module.

Change-Id: Ie578413a13bc7adcac0ed2a56d9574ad00b7e51c
CRs-Fixed: 2037248
2017-05-19 05:27:19 -07:00
Dustin Brown
d7cfa497c7 qcacmn: Fix regression in qdf_trace_hex_dump
During convergence, a new module log level table was introduced, however
qdf_trace_hex_dump still points to the old table. Use the newly
introduced module log level table in qdf_trace_hex_dump.

Change-Id: I243a8c8b0ed84d501a472189d89074815ab67334
CRs-Fixed: 2046137
2017-05-19 05:27:18 -07:00
Amar Singhal
90ae139bc4 qcacmn: Add callback for dynamic changes to current channel list
For dynamic master channel list, compute per pdev current channel
list as well. Provide API for user to register callback to be called
whenever current channel list for a pdev changes.

CRs-Fixed: 2012415
Change-Id: Ie86a719306178a1c3579c2b534a52a12ec3e0b1d
2017-05-18 13:42:24 -07:00
Amar Singhal
02771a0b9a qcacmn: Put structure to dynamic channel management
The current channel list maintained per pdev can be modified from
multiple entry points. Define a generic framework to compute the
new current channel list. This helps in isolating the current
channel list computation.

Change-Id: Id5eb1bb6b66ba50c90387bdc76bb95497945a5a8
CRs-Fixed: 2012415
2017-05-18 13:42:23 -07:00
Kiran Kumar Lokere
a843634983 qcacmn: Add support to send new country to FW
Add support to set new country code to the FW

Change-Id: Id24967b7c9e93bfbf045f494f142be9e33e16483
CRs-Fixed: 2042879
2017-05-18 13:42:21 -07:00
Kiran Kumar Lokere
a42244ef4d qcacmn: Add support for regulatory component ucfg APIs
Add regulatory component ucfg apis to provide user configuration

Change-Id: I870563da5dea64a9dc95055710e3325c6806a60a
CRs-Fixed: 2012415
2017-05-18 13:42:20 -07:00
Pratik Gandhi
2c07e44574 qcacmn: Fix for read and write operations in wmi_recording
With linux4.4 definition of seq_printf is changed. New definition
updated in driver applies va_start twice which causes incorrect
output hence definition is updated to make sure va_start is applied
only once. For write operations using copy_from_user to avoid
crash due to accessing user space area.

CRs-Fixed: 2042210
IRs-Fixed: 201729
Change-Id: I4043ab027411d42e15adaf53e6e92ae57aa987c7
2017-05-18 12:00:21 -07:00
Ishank Jain
b463d9a735 qcacmn: Bug fix for NAWDS
Add missing break statement after case to enable NAWDS in DP

Change-Id: Ia4fa740e083761d7cf8d798d82f33b7762bf58a3
CRs-Fixed: 2008205
2017-05-18 10:36:51 -07:00
Ishank Jain
243d0f17ad qcacmn: Fix to update Tx Completion stats correctly
Tx rate stats werent getting updated correctly due
to usage of wrong wrong macro

Change-Id: I1e3e4b0b44015b7c9d78baaa0b9a9e4cf62a6497
CRs-Fixed: 2045275
2017-05-18 10:36:49 -07:00
Ishank Jain
997955e336 qcacmn: Add Support for Inspect Path for Lithium
Add peer-id in the meta data for the reinjected by the FW
and queue them to the HW.

Change-Id: I3f25d5f928b6891c06cad6ce3ed81df77d4e33ed
CRs-Fixed: 2024450
2017-05-18 10:36:48 -07:00
Sathish Kumar
adeb66e07c qcacmn: Set default trace level for all modules as NONE
Setting default trace level for all modules registered through shared print
control init as NONE. Any module that requires a valid default trace level
may need to change the trace level in the default array, ensure sanity pass
and merge their changes.

Change-Id: I4d5b195da2646e53dea7beefdd2536fe743ecb34
CRs-Fixed: 2048931
2017-05-18 09:45:23 -07:00
Sathish Kumar
e7e784d1b4 qcacmn: Adding SW workaround for raw mode AMSDU packets
Due to HW limitation, WEP bit is expected to be set in AMSDU packets
transmitted in raw mode.

Set WEP bit if the QOS frame is AMSDU during the tx processing of the
raw mode packet.

Change-Id: Ibaa7d95f6ebcf9016e3c02355b5f0ce909eb9a93
CRs-Fixed: 2042666
2017-05-18 09:45:22 -07:00
Kabilan Kannan
ac7731fc62 qcacmn: Fix TDLS set state cmd sequence for roaming
Firmware expects TDLS set state cmd before vdev stop, but
the cmd is going out of sequence during roaming and induce
crash in the system.
Send the TDLS set state cmd with correct sequence.

Change-Id: Ie106b8a8cebaa7f107c9eff67dda924b231162da
CRs-Fixed: 2048036
2017-05-17 21:07:33 -07:00
Karunakar Dasineni
b92ecffc25 qcacmn: Fix bug in Hawkeye emulation WAR
Fix address check in Hawkeye emulation WAR.

Change-Id: Ia0a70d0b49084b891a74ca440d9a46485b68dd17
2017-05-17 19:30:42 -07:00
Bharat Kumar M
9a5d537249 qcacmn: changes to support lithium nss offload
Changes include
1. nss_cfg parameter to dp_soc.
2. nss_enabled field for pdev.
3. cdp api to enabled nss offload config.
4. skip rx ring configuration when nss enabled.
5. skip timter /interrupt configuration if
   nss is enabled.
6. peer map/unmap event hander.

Change-Id: Ic4a919b6b7e846e18cb15ebcb94f8736a751ecb5
2017-05-17 19:30:25 -07:00
Bharat Kumar M
9e22d3d99e qcacmn: API to read memory info from HAL
HAL modification to provide additional information to
support lithium nss offload configuration.
A new API added to extract addtional information from HAL
Few additional parameter added in get_param function.

Change-Id: I2fb0ed89c2d3cb3ee253b158f7982e1a00ab4353
2017-05-17 19:29:48 -07:00
Linux Build Service Account
4bd3efcdb7 Merge "qcacmn: Extract pdev id from vdev id received in WMI_CHAN_INFO_EVENTID" 2017-05-17 07:51:31 -07:00
Sathish Kumar
7dbde899bd qcacmn: Fix to set TLV header correctly for coex config command
TLV header is incorrectly set for coex config command due to wrong
TLV length passed to the set TLV header API.

Fix issue by setting TLV header passing correct TLV length.

Change-Id: Ica3e2468d26bdaed26cade048f4d440c067ad929
CRs-Fixed: 2037499
2017-05-16 22:08:08 -07:00
Sathish Kumar
470c620cf9 qcacmn: Modify trace related APIs to support dynamic configuration in WIN
New iwpriv commands are implemented in WIN to support dynamic configuration
of verbose level for each of the module IDs.

Add following changes in trace module to support above requirement -

1. Make qdf_get_pidx and qdf_set_pidx common to WIN and MCL
2. Export g_qdf_category_name to be accessible in WIN driver
3. Add macros to derive upper and lower 16-bits from a 32-bit value
   combining module and trace level information used for dynamic trace
   level configuration per module
4. Address trace level NONE case during registration to set the correct
   mask

Change-Id: I97be5f26b0d611e96409837fb0c03d55ce5f6e07
CRs-Fixed: 2041247
2017-05-16 22:08:07 -07:00
Anish Nataraj
9f07b47498 qcacmn: Check max scan allowed through API from scan component
Scan component provides API to check maximum scan
allowed. Replace all MAX_SCAN macros with API

Change-Id: I094b61978af015e5800784b90340e39aae94e7ba
CRs-Fixed: 2033852
2017-05-16 22:08:05 -07:00
Edayilliam Jayadev
642201f048 qcacmn: Converge the Spectral feature
Add Spectral TxOps and RxOps interfaces in
psoc towards converging the Spectral feature.

CRs-Fixed: 2028657
Change-Id: If5b46fb9d71529060df6e5b242fcc8976fce82f8
2017-05-16 22:08:04 -07:00
Ashok Ponnaiah
d3bf53a660 qcacmn: Remove unwanted vdev lock
Remove unwanted vdev lock before peer search.

Change-Id: I1ce7a38570cf41ea2155be350f1df0ff5ac56807
2017-05-16 22:08:02 -07:00
Ashok Ponnaiah
c204940877 qcacmn: Remove unwanted vdev_unlock
Removed unwanted vdev_unlock, which doesn't have
respective lock function.

Change-Id: I625d25c55dce382cf549590d88e11487b965b5bf
2017-05-16 22:08:01 -07:00
Baila, Shashikala Prabhu
43ee7b0343 qcacmn: DFS: Get DFS domain from regulatory component
Get the dfs domain from reg component instead of using it from
offload or lmac layer.

Change-Id: I3007ac483c44723b13a0af22df6eb56deac4c7ed
CRs-Fixed: 2047212
2017-05-16 07:26:53 -07:00
Baila, Shashikala Prabhu
da029934e3 qcacmn: Add API to get country ISO from regdb
API is added to get country ISO from regdb component.

Change-Id: I3fdafeeabed2de80d950d8b32cf9b991ddef6e98
CRs-Fixed: 2047212
2017-05-16 07:26:52 -07:00
Baila, Shashikala Prabhu
a5855993db qcacmn: Regdb: Add APL13_WORLD regdomain pair to regdb
Country ALGERIA uses APL13_WORLD regdomain pair.
Add 40MHz support to 5GHz and 2GHz for EGYPT.
Add 20MHz support to 5GHZ for KOREA_NORTH.

Change-Id: Ibb063aefa06e905eb57ad61d7e2d53db1a7d33a5
CRs-Fixed: 2047212
2017-05-16 07:26:51 -07:00
Abhijit Pradhan
0c80b53ac7 qcacmn: Fix DFS nol memory leak
Problem:- If the driver is unloaded before a nol timer fires, the unload
function frees the NOl element. But the memory associated with the nol timer
argument which has a one-to-one mapping with nol still remains in the system
since the nol timer argument memory is freed in the timer function.

Solution:-
1)Instead of allocating a separate structure as input to the timer function
use the NOL element itself as input since NOL element already has the
information needed by the timer function.
2)A NOL element for which  the timer is yet to fire is freed
by the driver unload (dfs_nol_timer_cleanup).
3)When dfs_nol_timer_cleanup is about to free a NOL element the corresponding
timer may be already running. Therefore, it is required to sync/wait for the
timer to finish before the NOL element can be freed. If we do not wait and
free the NOL element the timer may access an invalid memory location.

Change-Id: I4f37b66777491d92a51ff1ffc2651af1ccf5de29
CRs-Fixed: 2045993
2017-05-16 07:26:50 -07:00
Vivek
83f387ac42 qcacmn: Change log levels in scheduler API's
Changed the log levels from ERROR to DEBUG for few prints
in the scheduler API's since the prints were not for errors
but for debugging purposes.

Change-Id: I2a351de5933cfe6ec7e52d48fbc6e32880854276
CRs-Fixed: 2034873
2017-05-16 07:26:48 -07:00