Gráfico de commits

2770 Commits

Autor SHA1 Mensagem Data
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
Om Prakash Tripathi
104e0664e6 qcacmn: Add TLV support for thermal throttling
1. Add multi radio support for thermal throttling
2. Add TLV WMI support for thermal throttling

Change-Id: I2cdbf9a4acdd9346c0fe3dd24c510885cc8fef8e
CRs-Fixed: 2041264
2017-05-15 17:00:09 -07:00
Adil Saeed Musthafa
2ef2787255 qcacmn: pass parameter array to set the debug levels
Pass an array of values each of which contains a combination of
module-id and level. This way the levels can be set before all the
dependent KO modules are loaded

CRs-Fixed: 2042170, 2046694
Change-Id: If8c8260cc25e25bd821462f7d8860a13a5961148
2017-05-15 17:00:07 -07:00
Kris Muthusamy
ea7dc9339d qcacmn: Hawkeye emulation WAR
SKBs allocated from higher memory instead of
lower memory range. This is needed for Hawkeye
emulation

Change-Id: Ibeb27c43ee882d772b9166731804faefab2e406e
CRs-Fixed: 2046721
2017-05-12 17:59:10 -07:00
Sathish Kumar
64cdfa8a23 qcacmn: Extract pdev id from vdev id received in WMI_CHAN_INFO_EVENTID
Add support in utils layer to extract pdev id from vdev id using object
manager APIs.

Use the API to extract pdev id from vdev id received through the
chan info event handler for lithium based chipsets.

CRs-Fixed: 2043869
Change-Id: Ibf1f1f91d505d53219ca9a2f5d94beb8553edfe3
2017-05-12 19:54:18 +05:30
Pratik Gandhi
5e6d8d121f qcacmn: Correct definition of HOST_IE_ADDRESS and HOST_IE_ADDRESS_2
Current definition of HOST_IE_ADDRESS and HOST_IE_ADDRESS_2 does not
count for UMAC base address.

Change-Id: I8ed5c718a5187c3f5b50f34e72b1b4748d302777
CRs-Fixed: 2041191
IRs-Fixed: 220231
2017-05-11 06:25:41 -07:00
Abhishek Singh
ac80309005 qcacmn: Add runtime suspend logic for scan
Add runtime suspend logic for scan, to block runtime suspend when
scan is started and unblock when scan is completed.

Change-Id: I61c9afaf996d1ac97bfb5ffb0cd8a3abc971051e
CRs-Fixed: 2035675
2017-05-11 06:25:40 -07:00
Rajeev Kumar
a5c1fa5c1b qcacmn: Rename power_management_offloads to pmo
Power_management_offlaods is really a long directory name
hence rename it to pmo such that it aligns with existing
naming convention.

Change-Id: Idbfc30fa6b9cb677173bbd266f75ac6a5988a406
CRs-Fixed: 2045421
2017-05-11 03:47:25 -07:00
Abhishek Singh
f95b9e4248 qcacmn: Add wait for cancel scan on pdev and vdev
Add cancel scan sync api which will wait for scan to be aborted on
pdev or vdev.

Change-Id: Ie02eb981154856cda38ef70f42fdfcf82bb88961
CRs-Fixed: 2038092
2017-05-11 02:13:25 -07:00
Venkateswara Swamy Bandaru
0b9f5ec37c qcacmn: Smart antenna API convergence
Added sa_api_tx_ops, sa_api_rx_ops and their initialization. SA API component
id is also added along with sa_api objmanager calls.

Change-Id: I2e912106dcc900e5eba19090c0157827e08264f3
CRs-fixed: 2038298
2017-05-11 10:45:35 +05:30
Linux Build Service Account
a584ea1e46 Merge "qcacmn: Update host WMI service enums with new additions" 2017-05-10 10:22:54 -07:00
Kiran Venkatappa
f16c6d09f4 qcacmn: Update host WMI service enums with new additions
Update enums in WMI service enums that got introduced in the latest
FW headers.

Change-Id: I46f70ff5eb41aee15f8cac784cc85201a3362fca
CRs-Fixed: 2045146
2017-05-10 15:20:29 +05:30
Linux Build Service Account
c9dda4429c Merge "qcacmn: SON convergence" 2017-05-10 02:12:04 -07:00
Linux Build Service Account
467fede484 Merge "qcacmn: Move the lock initialization to module open for policy manager" 2017-05-10 02:11:59 -07:00
Tushnim Bhattacharyya
1f1ccf7b8b qcacmn: Move the lock initialization to module open for policy manager
Move the lock initialization to module open from module enable for policy
manager.

Change-Id: I44716537dcb3f559c1c27401bb579239c98a9f02
CRs-Fixed: 2009818
2017-05-09 19:05:45 -07:00
Bharat Bhushan Chakravarty
145d393444 qcacmn: SON convergence
1) Defined modularized public api for cdp module
to track inactivity and over load detection.
2) Initialization calls are added to attach and
detach SON specific api.
3) operating system specific calls are replaced with qdf calls.

Change-Id: I130d1e99208d6454f5d9888774534cc6d619ad83
2017-05-09 17:29:11 -07:00
Srinivas Girigowda
6e0cfd9494 qcacmn: HIF: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce the log spam in kmsg.

Change-Id: I29121bb4cc1272aa1fb88183914530dd21c64272
CRs-Fixed: 2017427
2017-05-08 16:51:52 -07:00
Ravi Joshi
36f68ad7cb qcacmn: Enable support for receive defragmentation
Enable support for receive defragmentation on Lithium.

Change-Id: I6c1213db29d3b6e0a11506d6945d9ea05ece2c73
CRs-Fixed: 1109359
2017-05-08 14:59:04 -07:00
Ravi Joshi
e7148bdd67 qcacmn: Add new files for supporting rx defragmentation on cdp
Add new files for supporting receive defragmenation on converged
data path.

Change-Id: Ibe225cc116a10a94fd07add7964bba405b02414e
CRs-Fixed: 1109359
2017-05-08 14:59:02 -07:00
SaidiReddy Yenuga
e8deb197cf qcacmn: Add missing vendor commands and attributes to host from hostapd
Few vendor commands are missing in qca_vendor.h, compared
to qca-vendor.h file present in hostapd.

Add the missing vendor commands and attributes in
driver qca_vendor.h file.

CRs-Fixed: 2034479
Change-Id: Ib95e6cbbf163b904a22fb4eb65d96e9ff8dddf49
2017-05-08 14:59:01 -07:00
Ajit Pal Singh
2563e838ea qcacmn: Use macro WLAN_POLICY_MGR_ENABLE around policy_mgr API usage
Policy manager API usage in common scan module should be enclosed in
macro WLAN_POLICY_MGR_ENABLE, so that it can be optionally used along
with policy manager.

Change-Id: I76602657b4945a973f30d6b129a6b3896b9fdf9e
CRs-Fixed: 2042734
2017-05-08 14:58:59 -07:00
Ashok Ponnaiah
922d5a4dbf qcacmn: Add NULL check for regulatory tx ops
Add NULL check for regulatory tx ops

Change-Id: Ib2cc4c795948111c9405ae14de66ad1ab5ccbdd8
2017-05-08 14:58:58 -07:00
Linux Build Service Account
5954e29ed4 Merge "qcacmn: test change to validate on how to exclude MCL changes in WIN" 2017-05-08 01:53:25 -07:00
Baila, Shashikala Prabhu
0e5c6c7ec7 qcacmn: Add API get Regdomain ID
API is added to get Regdomain ID from Regdb component.

Change-Id: I78424fa4b608d00cb44033a5860403b19da0b9c8
CRs-Fixed: 2002892
2017-05-07 20:02:36 +05:30
Baila, Shashikala Prabhu
dedc15dc74 qcacmn: Add API to get country ISO
API is added to get country ISO from regDB component.

Change-Id: I264fa4ffaa87127895613ab397efbb416c440f75
CRs-Fixed: 2002892
2017-05-07 20:02:18 +05:30
Baila, Shashikala Prabhu
08fd8610b3 qcacmn: Added API to get the current country code
API is added to get the current country code from Regdb component.

Change-Id: I9c9e7027c9e99f31f72d4a0222d4db1dfa8a7baa
CRs-Fixed: 2002892
2017-05-07 20:02:00 +05:30
Baila, Shashikala Prabhu
03816f3742 qcacmn: Fix memory leak during channel list building
Free the reg rule pointers while handing error conditions.
Also free pointers when channel list building is completed.

Change-Id: I4c8d67ae191f86175f9cc684ba703fea11e66f1f
CRs-Fixed: 2002892
2017-05-07 20:01:34 +05:30
Baila, Shashikala Prabhu
ae499840fc qcacmn: Regdb Kernel panic fixed
Some countries have no reg rules. Check is added to avoid
NULL pointer dereference in cur_reg_rule.

Change-Id: I1840ca85121f0f61abab8fcf288fdde6a9ca22c5
CRs-Fixed: 2002892
2017-05-07 20:00:14 +05:30
Pradhan, Abhijit
7644ff44b0 qcacmn: Add antenna gain to per regdomain structure
Antenna gains are added to per regdomain structure. Howerver,
during parsing they are copied to per current reg rule and
finally to per channel.

Change-Id: Ib456248e2dee26ed3b2a9878d1b27fc5c9827e81
CRs-Fixed: 2002892
2017-05-07 07:16:20 -07:00
Baila, Shashikala Prabhu
f9889e58d4 qcacmn: Set country code from ioctl
The IOCTL may pass country ISO or country code or regDomain pair
ID as input. In all 3 cases, get the regrules and build master
channel list.

Change-Id: I643734dff175709853cb013b9b58365cceffd5d4
CRs-Fixed: 2002892
2017-05-07 07:15:56 -07:00
Baila, Shashikala Prabhu
9e63cb7b00 qcacmn: Set default country code
When a country code is not available from inside the device
(from EEPROM), a default country needs to be set. Also get
the regdomains from the default country code and build the
master channel list.

Change-Id: If307ad18318b2aea3fcdd149c01b39a678163bb5
CRs-Fixed: 2002892
2017-05-07 07:15:26 -07:00
Baila, Shashikala Prabhu
ae875e5d5a qcacmn: Use sizeof of reg_rule structure instead of using macro
Since the array size can be specified by a different macro or a
different value in future, let the  compiler calculate the array
size directly instead of using the hard-coded value of the macro.

Change-Id: I3fb1719db5165d0155e73c0653ec6f13fa95f69a
CRs-Fixed: 2002892
2017-05-07 07:15:06 -07:00
Baila, Shashikala Prabhu
38dba64552 qcacmn: Parse function is split to modularize code
Instead of having a large function, the parse function is
split into 3 for A)Country ISO B)CountryCode and
C)RegDomain Pair ID.

Change-Id: I5b3574cd54644d1eac13e3eff762eb7cbdd35a73
CRs-Fixed: 2002892
2017-05-07 07:14:03 -07:00
Baila, Shashikala Prabhu
7aae4615a2 qcacmn: Add the country and regdomain parse functions
Country and regdomain parse functions are added for the regDB in
host. Given a country code or ISO or RegDomain, these functions
find the regulatory rules and builds master channel list.

Change-Id: I7c632098561e3bbab1ac6ded2ae80e03d53b00bb
CRs-Fixed: 2002892
2017-05-07 07:12:38 -07:00
Amar Singhal
c2d4953235 qcacmn: Fixes for master channel list
When a new master channel list is created, populate master chan list to all
pdevs. Do not make any assumption on availability of pdevs. Make other
stability and initialization fixes. Also add extra fields to data
structures.

Change-Id: I0a59c41e9425435f6069807a3c5de0b389d8fa5e
CRs-Fixed: 2002892
2017-05-07 06:56:22 -07:00
Rajeev Kumar
452e744883 qcacmn: Define API qdf_create_singlethread_workqueue
Define API qdf_create_singlethread_workqueue to create a single
threaded dedicated work queue.

Change-Id: Iab70044888911c1e4adba63e8eee643d5693d716
CRs-Fixed: 2026443
2017-05-06 23:40:15 -07:00
Nitesh Shah
b79fb55f0e qcacmn: Get channel properly from conc_connection_list table
The channel information is obtained from the conc_connetion_list
table using the index equal to the session_id. But the session in
conc_connection_list table is not kept in the increasing order of
session_id. Thus, the wrong channel information can be obtained.

Thus, the fix is to obtain the channel information from the
conc_connection_list table corresponding to the index whose
vdev_id matches the session_id.

Change-Id: If289ea7c0567b892dba495b878540f9cb5df5668
CRs-Fixed: 2039474
2017-05-05 04:31:29 -07:00