Commit Graph

104 Commits

Author SHA1 Message Date
Gyanranjan Hazarika
2c54581814 qcacmn: Changes for BSS Color Enahancement FR40903
1. QDF_MODULE_ID_BSSCOLOR added for logging
2. BSS Color Offload supported trace added
   as target_if_info

Change-Id: I00db87f6619f7857dd83cf1eb5d805780c501805
CRs-fixed: 2242109
2018-10-05 22:10:06 -07:00
Chaithanya Garrepalli
3e93e5f8ae qcacmn: changes to enable peer map V2 messaging
Host changes to enable HTT version 2 messaging for
PEER map and unmap in FW and changes to handle these
messages in host

Change-Id: Ifbe478212bbbc9c9ea1c1e4791c7a78407c376cc
2018-09-15 11:11:04 -07:00
Gyanranjan Hazarika
3dff295d8c qcacmn: Changes for Draft 3.0
Make the HECAP and HEOP changes for 11ax Draft3.0.
Draft2.0 support can still be enabled by unsetting
SUPPORT_11AX_D3 in config.unified.wlan.profile.

Change-Id: I0c0fd885a43b672baca61011b75a51526481b1ee
CRs-fixed: 2294235
2018-09-11 16:42:22 -07:00
Manoj Ekbote
b8de937cc4 qcacmn: Initial support for 11ax MBSSID IE
1. Service ready ext includes a parameter for max
BSSID indicator.
2. Beacon template includes MBSSID IE offset.
3. Vdev create and up cmds include more parameters.

Change-Id: I71214eacdaa886725b7ea8f61db3a743ba6597e9
CRs-Fixed: 2306638
2018-08-31 19:09:55 -07:00
Venkateswara Swamy Bandaru
4dd4a62272 qcacmn: Extend target type checks of qca8074v1 to qca8074v2
Extend target type checks of qca8074v1 to qca8074v2

Change-Id: Ie5eba980af03c87f0086ffe2c2c89d7dc86dc71f
CRs-Fixed: 2292315
2018-08-29 03:08:00 -07:00
Yeshwanth Sriram Guntuka
f3c286ed15 qcacmn: Reduce log level for few prints to debug
Reduce log level for few prints to debug to avoid flooding
of prints to console.

Change-Id: I514585cc87d51ead15fb1f40d45f62023628d9bb
CRs-Fixed: 2296839
2018-08-18 19:17:22 -07:00
Kiran Venkatappa
ef65ce37d7 qcacmn: Add TWT requester/responder bits in soc caps
TWT requester/responder capability is reported by FW in service bitmap.
Based on this support set soc's extcap feature bit. This is used while
adding extended capabilities IE to set TWT REQ/RSP bits in IE.

Change-Id: I304e9fa4dc32bd3c2f47901bc34438cb188d138a
CRs-Fixed: 2290026
2018-08-09 16:24:58 -07:00
Dustin Brown
3fc809d63d qcacmn: Reduce target_if info logging
Excessive logging in target_if has been identified as the root cause of
a watchdog timeout. Reduce target_if logging in normal operation paths
to debug level to avoid excessive CPU use.

Change-Id: If384474270bb4b860100b98e5eea81d54b7c2184
CRs-Fixed: 2286630
2018-07-31 15:25:52 -07:00
Srinivas Pitla
d898ceddfa qcacmn: Change wmi ready wait to qdf_event
In current implementation, wait_queue is used for waiting on WMI ready
event, it is now changed to event mechanism

Change-Id: I08b4f088874b7c63e20b129f14dbac01851496e5
CRs-Fixed: 2276900
2018-07-19 23:12:53 -07:00
Shashikala Prabhu
d50f3a6b05 qcacmn: Fix 4.9GHz issue for legacy devices
In the scan channel list, host sends both 2.4GHz and 4.9GHz channels to FW
because there are ieee channels which have same value in 2.4 GHz and 5GHz
bands.  Example: channel 1 is 2.412 in 2.4GHz and 4.942 in 5 GHz.
When converting a channel to freq, the host uses low/high 2GHz and 5GHz
frequency ranges. For a partial-offload 5GHz pdev, both low/high 2.4 GHz
and 5 GHz frequencies are set and hence 4.9 GHz channel is converted to
2.4GHz frequency.

To fix the above issue, based on the wireless modes remove either low/high
2.4 GHz or low/high 5 GHz frequency based on the wireless modes.

Change-Id: I1fb0a56c70d1dc0ffc2731da3f25c910af46bb41
CRs-Fixed: 2239771
2018-07-12 04:58:51 -07:00
Kabilan Kannan
762ad5db89 qcacmn: Add SAR V2 support
Add changes to support SAR V2 power limits

Change-Id: Ife7af8db51a45660bc27d1e5b857e38f4dd40935
CRs-Fixed: 2217069
2018-06-29 13:31:50 -07:00
Kabilan Kannan
8727ab68ff qcacmn: Add sanity check in init/deinit function
Add sanity check in init/deinit memory alloc
function.

Change-Id: Icb9862fabb64d9d82f302c1264c7cd74af1b1a0f
CRs-Fixed: 2196072
2018-06-25 19:54:10 -07:00
Arif Hussain
ecef5a4024 qcacmn: Add api to get dfs offload service bit in target_if
Add api to get dfs offload service bit in target_if.

Change-Id: I771ae8a2194250769d6e6d609b0a1863012110ea
CRs-Fixed: 2264477
2018-06-25 10:02:30 -07:00
c_cgodav
b69942b3c9 qcacmn: CE Debug Enhancements WMI interface
Add WMI interface for the smart logging feature.

Change-Id: Ife3784020d1b9458c2b09b6a2f31f55aab5f57ec
CRs-Fixed: 2001507
2018-06-21 05:22:17 -07:00
Pratik Gandhi
46837cc4f9 qcacmn: Export symbol to other modules
Export symbol to get Pdev WMI handle for other modules.

Change-Id: Ie46133eac5898ac51fde9b42f66bc365bcc938f4
CRs-Fixed: 2217556
2018-06-14 13:04:48 -07:00
Lihua Liu
562c9115ce qcacmn: Add NULL check for qdf_dev in init_deinit_free_num_units()
As return of wlan_psoc_get_qdf_dev(), qdf_dev may be
NULL. Add null check in case referencing null.

Change-Id: I7e9bd54e5f4b5260f664bdd4ccee0e4267e2b81e
CRs-Fixed: 2247327
2018-06-07 10:48:29 -07:00
Tushnim Bhattacharyya
5539b45b88 qcacmn: Initialize reg_cap in init_deinit_populate_phy_reg_cap
Initialize local array reg_cap in init_deinit_populate_phy_reg_cap
to avoid accessing uninitialized fields in the array.

Change-Id: I9afb8d47cc12b3d1626aa64a52f9583d45df5f34
CRs-Fixed: 2232822
2018-06-04 12:11:10 -07:00
Akshay Kosigi
dbbf2c45da qcacmn: Replace ucfg prefix with lmac
Replace functions with ucfg as prefix in init_deinit_ucfg file with lmac as
prefix

Change-Id: I90d77dd5ddae4854ea68eeb67dc1b4fc356c2fe3
CRs-Fixed: 2182449
2018-05-11 22:40:16 -07:00
Akshay Kosigi
2a216edab0 qcacmn: Replace void pointers with appropriate/common structure types
Void pointer usage may lead to memory corruption due to
wrong pointer is typecasted. Hence define structure for all, and modules
internally typecasting based on their type

Change-Id: I6271ed8aa3f94254fd85f41962f23ea36895154e
CRs-Fixed: 2182452
2018-05-11 22:40:13 -07:00
Linux Build Service Account
4b7d7fc2bd Merge "qcacmn: Add missing entry to VERBOSE_STR[]" 2018-05-08 03:46:11 -07:00
Kiran Venkatappa
7095e2e883 qcacmn: Increase num_peers to include bss_peers
bss peer are used for each vdev. Include this count also in the num_peer
count sent to FW.

Change-Id: I71c4858ebe416a644f9e100a8d28ac1fd7989757
CRs-Fixed: 2233009
2018-05-07 06:37:12 -07:00
Linux Build Service Account
4d71268f01 Merge "qcacmn: Converge dbglog and diag_event_log" 2018-05-07 00:58:56 -07:00
Chaithanya Garrepalli
2f5727960b qcacmn: Initialize dp peer map memory after WMI service ready
Initialize the peer map and peer hash memory based on the config
received from target in service ready event

Change-Id: I8e1b62cd9586f5b2be7acb863a106d2486be1b35
CRs-Fixed: 2223428
2018-05-02 03:19:29 -07:00
Pratik Gandhi
b002f889e7 qcacmn: Converge dbglog and diag_event_log
Converge dbglog and diag_event_log component through fwlog api
interface. It abstracts dbglog and diag_event_log from other
components.

Change-Id: I8f86a4381fbb9af8386320906337638113c8f189
CRs-Fixed: 2217556
2018-05-01 23:01:44 -07:00
Sathish Kumar
77f3c438f0 qcacmn: Fix memory leaks in direct buffer receive(DBR) module
Module param capabilities stored per module per pdev and overall
target dbr ring capabilities allocated and stored during service ready
are not freed during detach.

Fix above mentioned memory leaks through below changes
1. Free module param capabilities allocated per pdev during ring deinit
2. Free DBR ring capabilities allocated during service ready event
   as part of target psoc info free.
3. Free DBR entries allocated per event received from target

Change-Id: I93d5126063d3fa0094e15d57a75f03cf63b3c494
CRs-Fixed: 2228428
2018-04-27 05:26:39 -07:00
Santosh Anbu
929e1e9760 qcacmn: Send WMI cmd only on completion of wmi_init
Call WMI cmd to set btcoex only on successful completion of WMI init.

Change-Id: Ifd911f7729fd47f6ff2ad1c3e8b16f53db5689e4
CRs-Fixed: 2208266
2018-03-23 09:56:03 -07:00
Sathish Kumar
6b55904827 qcacmn: Fix issues in direct buffer rx module
1. Populate number of capabilities after extracting service ready ext param
2. Deinit ring during pdev destroy only if ring is configured
3. Do not allocate module param if no capability is shared for
   the pdev by target

Change-Id: Ie92b7fc882ba8b7755fea150c724459264a0ea79
CRs-Fixed: 2192671
2018-03-04 16:50:54 -08:00
Nandha Kishore Easwaran
8bb56ebedc qcacmn: Initialize preferred_hw_mode to MAX
Initializing preferred_hw_mode to WMI_HOST_HW_MODE_MAX and removing
preferred_mode check. This is needed for Napier where preferred_hw_mode
of 0 is a valid configuation which represents single radio mode.

Change-Id: I8998745427427021f219667e03f767c66527d579
CRs-Fixed: 2192227
2018-03-02 16:34:35 -08:00
Dustin Brown
fb6527630f qcacmn: Deprecate WLAN_MACADDR_LEN
At some point WLAN_MACADDR_LEN was added to the driver, despite
QDF_MAC_ADDR_SIZE already serving the same purpose. There are cases
where these two macros are implicitly assumed to be the same value.
This is a classic single-source-of-truth violation, and only serves to
confuse developers. Deprecate WLAN_MACADDR_LEN and use
QDF_MAC_ADDR_SIZE instead.

Change-Id: I4e941d5e17d161a5810e693c89b95ae08f83c6b0
CRs-Fixed: 2179728
2018-02-28 14:57:53 -08:00
Pratik Gandhi
8713aa61ff qcacmn: Additional export symbols for split of kernel modules
Add additional Export symbols to support modularization in
WIN.

Change-Id: I4e5e7a7f38b7dae4c5e5f0865a4799caaa3870ea
CRs-Fixed: 2179854
2018-02-12 15:45:00 -08:00
Manoj Ekbote
d1d26229a8 qcacmn: Extract MAC address list in ready event
FW provides a list of MAC addresses in ready event,
one per radio. Change event handler to extract the
list. Legacy HW will use the single MAC address
function.

Change-Id: If0a9db3b7dab81bbeed387d2b7417100021e912d
2018-02-10 00:52:16 -08:00
Arunk Khandavalli
e460c52c3f qcacmn: update the pcl info from the converged structures
Update the pcl information from the converged strutures.

CRs-Fixed: 2179012
Change-Id: Id9269e85728409645266e1edc17d03237144a9cc
2018-02-08 07:55:50 -08:00
Arunk Khandavalli
9f8a064726 qcacmn: Invoke the legacy cb for ready event
Invoke legacy callback for ready event.

CRs-Fixed: 2179013
Change-Id: I104cc12d6fa0f65320d20ab71d6fff3a0d1d9a95
2018-02-03 15:11:20 -08:00
Srinivas Pitla
5530895779 qcacmn: Add API to get num radios
Introduce API to get number of radios

Change-Id: Idb0b6fdf9fe7e524b20016ff5cf6497ca6f13318
CRs-Fixed: 2177109
2018-02-03 15:11:18 -08:00
Sathyanarayanan Esakkiappan
38c6f988d5 qcacmn: Pass psoc/pdev object as ctrl objects to DP
pass psoc/pdev object as ctrl pointers to instead of legacy objects.
It introduces new APIs to get feature pointers of psoc/pdev.

DP attach API param modified to pass ctrl psoc (psoc object)

Change-Id: I3d83f28c3e72e5ee984a4220b9d5cf3c4522b501
CRs-Fixed: 2177109
2018-02-03 15:11:15 -08:00
Srinivas Pitla
0b9d3b241a qcacmn: Define API to get component handles
Introduce APIs set and get component handles

Change-Id: I8bfcd802f10b8ecf9908a02d492f1ad757d8f7ec
CRs-Fixed: 2177109
2018-02-03 15:11:13 -08:00
Srinivas Pitla
cc75651c34 qcacmn: Converge initial HOST FW handshake
Implement service ready, ext service ready
ready event handler, init command preparation
and other required APIs

Change-Id: Iaf707227c1e94bb492dd86bd2d0916a1cf875498
CRs-Fixed: 2177109
2018-02-03 15:11:07 -08:00
Varun Reddy Yeturu
a7ef89abb1 qcacmn: Ensure legacy_callback is not NULL before calling
Check legacy_callback function pointer is non NULL before
calling the function

Change-Id: I4953b87486214f704eaf357e663f0fbc310fb965
CRs-Fixed: 2160759
2017-12-28 03:38:31 -08:00
Sathish Kumar
26190a142e qcacmn: Add support for direct buffer rx module
Direct Buffer Receive provides the driver with a mechanism by which
target can transfer information directly into host memory via DMA.

Add following support for direct buffer rx module -

1. Add UMAC component ID for direct buffer rx module to be utilized
   for object manager APIs
2. Add support for populating DMA capabilities shared by target in
   object manager maintained extended service ready event.
3. Add support for Tx Ops for direct buffer rx module.

Change-Id: I2fa60e8572cbcc0d1fa7830e7e94b6e486bdcc78
CRs-Fixed: 2158297
2017-12-21 15:26:10 -08:00
Abhijit Pradhan
ca7d77b408 qcacmn: Fill per psoc regulatory info
Move per psoc regulatory info from pdev level function to psoc
level function.

Change-Id: Id06c6fee110ce929925f568db3a3b507214294d5
CRs-Fixed: 2066122
2017-07-12 12:08:42 +05:30
Kiran Venkatappa
be23decc06 qcacmn: Initialize mac_phy_count to zero before populating macphy params
mac_phy_count should be initialized to zero before populating machphy
params. Target stop/start framework skips attach/detach which means
mac_phy_count should be initialized explicitly.

Change-Id: I9fe537c3a7e375397982174f6a63599a961ba8d3
CRs-Fixed: 2065321
2017-06-26 15:36:01 -07:00
Dustin Brown
69280df6ee qcacmn: Fix bounds check in populate_mac_phy_capability
In populate_mac_phy_capability, bounds on an array are checked after
writing to the array. This leads to writing to one past the end of the
array under error conditions. Check the bounds of the array before,
rather than after, writing to it in populate_mac_phy_capability.

Change-Id: I34c7415b8fb925bea5a715214e3aa3ac8a4bacc8
CRs-Fixed: 2059155
2017-06-12 17:19:23 -07:00
Vivek
57522058e9 qcacmn: Add target information details to target_iflayer
Add a new target_psoc_info structure in the target if layer with the
following members

wmi_handle
target_type
target_version
target_revision

Also update the psoc data member tgt_if_handle to point to target_psoc_info
instead of pointing to WMI handle directly.

Updated all calls to psoc_get_tgt_if_handle to target_if_get_wmi_handle
which inturn calls psoc_get_tgt_if_handle and getting the tgt_if_handle
returns the WMI handle

CRs-Fixed: 2048277

Change-Id: Icb02d5f3c09f7f9bb7eff4d814ef3ce90ddb84bd
2017-06-08 11:34:37 -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
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
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
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
Vikram Kandukuri
d4aa277e8b qcacmn: Static and Dynamic chain mask selection
Host support for Static and Dynamic chain mask selection.
parse new TLVs from ext service ready,copy tables to
wlan_objmgr_soc object.

CRs-Fixed: 2016643.
Change-Id: Ia4735eb4c7774c381df01f56696e8c86fc6c56ab
2017-04-17 02:13:26 -07:00
Rajeev Kumar
d7673a3c08 qcacmn: Remove duplicate (ext)service ready structures from WMI
Object manager psoc service ready api provides host (ext)service ready
data structures hence remove duplicate copy from wmi_unified_param.h
and change WMI to use psoc service ready data structures.

Change-Id: Iaec20e9b818077ed1ca58754c4b1bc6deaedd761
CRs-Fixed: 2002016
2017-03-03 04:20:32 -08:00
Vivek
0f86c40b01 qcacmn: Populate service ready data in PSOC
WIN side chanegs to populate service ready data in PSOC is now
yet ready hence  call PSOC object populate API.

Change-Id: Ib8d41fb94108447b8f10cf2d1cd5bf08f43863c6
CRs-Fixed: 2012638
2017-03-02 13:41:29 -08:00