Commit Graph

197 Commits

Author SHA1 Message Date
Anirban Sirkhell
0f2677d572 qcacmn: Fix possible NULL pointer dereference
In son_ol_send_null(), check for the return value of
GET_WMI_HDL_FROM_PSOC() before using it.

Also, pass argument of type wmi_unified_t in calls
to wmi_unified_stats_request_send().

Change-Id: Idfedae2fcbde6d18b1829adefcabac0adbc55859
CRs-Fixed: 2371368
2019-02-07 04:58:01 -08:00
Edayilliam Jayadev
d4b7e3b572 qcacmn: Populate spectral capability and send via cfg80211
Populate Spectral capability structure with scaling parameters
from extended service ready event parameters. Send the spectral caps
via cf80211 interface.

CRs-Fixed: 2379652
Change-Id: Id0372bdd40843c2101df32d2e71920027a24909f
2019-02-05 04:02:20 -08:00
Nachiket Kukade
e2c9a74022 qcacmn: Combine all NAN related flags with WLAN_FEATURE_NAN
Flag WLAN_FEATURE_NAN_CONVERGENCE was added to protect the
converged NAN code inside NAN Component. Since the original
NAN Discovery related code has now been moved inside NAN
component, keeping this flag separate doesn't make sense.

Combine this flag with WLAN_FEATURE_NAN flag which is the
original NAN feature flag.

Change-Id: I0045dcccd36524cbcd4253347c9e0a5704193c2b
CRs-Fixed: 2377393
2019-02-04 10:44:44 -08:00
Jeff Johnson
6a00f1e830 qcacmn: Address Unified WMI "get link status" deficiencies
The original implementation of the "get link status" feature contains
some design and implementation details that are not ideal, so fix the
following deficiencies:
- The link_status_params struct contains three fields that are unused.
- The only link_status_params field that is used, session_id, uses
  legacy terminology instead of converged terminology
- The wmi_unified_link_status_req_cmd() implementation uses a void
  pointer instead of the correct underlying type for the WMI handle.

Note that change I508ec083298caa45d4cbb1ba28b21e47e379a804
("qcacld-3.0: Align with revised "get link status" Unified WMI") is
interdependent with this change.

Change-Id: I057ca0aff4a627c7fcdb9f90a5da46473813f60a
CRs-Fixed: 2381364
2019-01-22 05:06:43 -08:00
Harprit Chhabada
71c9846f58 qcacmn: Use the same callback signature for MCL as WIN
Callback signature in wmi_process_fw_event_default_ctx
is different for WIN and MCL. Make it same.

Change-Id: I28ad8e6068742095bdb9bc265e46dead8bfb217d
CRs-Fixed: 2372980
2019-01-21 03:55:04 -08:00
Arif Hussain
61847a9ba6 qcacmn: Use function name instead of file name in debug logs
Replace all instance of file name to function name in debug logs.

Change-Id: Iff731675772859f02c975005b2656eaa41c6f360
CRs-Fixed: 2377894
2019-01-17 22:20:46 -08:00
Jeff Johnson
3caa53099c qcacmn: Remove SSID hotlist support
Change Ie6c4a9847f2daa9ba2aebd17f386d584201b86d6 ("qcacld-3.0: Remove
obsolete set/reset ssid hotlist") in the qcacld-3.0 project removed
the only client of the WMI SSID hotlist infrastructure. Since this
infrastructure is obsolete, remove it.

Change-Id: I4a1de39c982947bbf4958d976426f95e3217f1a3
CRs-Fixed: 2381277
2019-01-17 13:12:49 -08:00
Kiran Kumar Lokere
25531c4717 qcacmn: Add support for SET KEY convergence
Make changes to the cmn driver to support SET KEY
convergence feature

Change-Id: I17b5f368a1f735eb394ea70f9b61cc033c3eb20a
CRs-Fixed: 2358796
2019-01-08 18:21:17 -08:00
Harprit Chhabada
6407dc4721 qcacmn: Create header file for wmi_unified_bcn_buf_ll_cmd
wmi_unified_bcn_buf_ll_cmd in wmi_unified.h had compilation flag
CONFIG_MCL. To get rid of the compilation flag, a separate header
file is created

Change-Id: I0bbcdf749f461f6880aacc1e3ef4e8e8fdc08ff6
CRs-Fixed: 2366773
2018-12-26 20:27:35 -08:00
Keyur Parekh
c28f839a84 qcacmn: FR-50469 Pktlog for particular peer mac address support
This FR is to enhance existing pktlog debug tool
This feature will allow to capture pktlog for particular
peer mac address.

Change-Id: I3676095536185f25b0d498e03f70246260a324fd
2018-12-06 00:03:13 -08:00
Kiran Kumar Lokere
7ec465930a qcacmn: Add support to configure action frame in HE TB PPDU
Add support to send the action frame in HE TB PPDU configuration
to firmware.

Change-Id: I8f8f63652e0890736266766b283411464f8903b9
CRs-Fixed: 2347028
2018-11-22 00:43:44 -08:00
gaurank kathpalia
07e79f5860 qcacmn: Fill vdev nss chain params structure
Fill the nss chain params structure, with the dynamic params
and send to FW.

Change-Id: I6d9589b1af33a3bf2d4895424c22ca0c24b4b9a8
CRs-Fixed: 2349795
2018-11-16 05:10:23 -08:00
Ashish Kumar Dhanotiya
c4fd271d20 qcacmn: Send the vdev chain params to fw
Send the vdev nss, chain params to fw.

Change-Id: Ie62ea5001c579545b43b4c30ab15d9023e636042
CRs-Fixed: 2347628
2018-11-16 05:10:17 -08:00
phadiman
e5a330acf6 qcacmn: Set WMI Endpoint as Async
Conditionally set WMI enpoint as
async only for WIN and revert it
for MCL

Change-Id: I8969fffb4ba72909839baea2bdd12723665a8a4f
2018-11-15 01:38:33 -08:00
Arif Hussain
e1a66b56e2 qcacmn: Add support for obss spatial reuse default threshold
Add support to send default offsets to firmware.

Change-Id: I5d566fbd5eb074e7aac94f793c5431734c2e0922
CRs-Fixed: 2345173
2018-11-07 00:12:24 -08:00
Uraj Sasan
ff4f2d20fb qcacmn: Add Support for msdu retry stats
Requirement to provide various msdu retry stats to host:-
1. successfully transmitted msdus
2. Retried msdus
3. msdus retried for more than once
4. failed msdus

Change-Id: I4cd7dfceae16b4223df605fa174299858a8651c8
2018-10-30 03:43:20 -07:00
Alok Singh
1ae17d8c6f qcacmn: Add ctl failsafe event
CTL failsafe event handler adds the capability to inform host
when failsafe algorithm invoked.

CRs-Fixed: 2333137
Change-Id: I91298c9be1f0f8291c927dbd3ac4a2a9f1b9f31b
2018-10-18 02:17:40 -07:00
Qiwei Cai
770c90f8ca qcacmn: Featurize WMI APIs and TLVs that are specific to MCL
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.
Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)

Change-Id: I03a68b0db30a3aa585b269ab0a1745b37bc7e0b7
CRs-Fixed: 2316935
2018-10-16 13:40:25 -07:00
narayan
a566dce41a qcacmn: WMI support added for sifs_trigger interval config
FR: TDMA Support for Wave2 Radios (host support)
Added a wmi cmd for configuring the interval between successive sifs
trigger frames given by the user app. Added a separate wmi cmd instead
of wmi param with reference to further scope.

Change-Id: Ifa778a761e3495ef7abab5f63a49661b307034ae
CRs-Fixed: 2330484
2018-10-16 11:38:15 -07:00
Gyanranjan Hazarika
584a187b8d qcacmn: changes for BSS Color Enahancement FR40903
Added WMI extract API for beacon_tx_status_event

Change-Id: I8516184d5734672d56553fb232bd8e84d89ded58
CRs-fixed: 2242109
2018-10-05 22:10:09 -07:00
Sathish Kumar
a8dcd50683 qcacmn: Featurize WMI APIs and TLVs that are specific to WIN
In the existing converged component, WMI TLV APIs are implemented in
a generic manner without proper featurization. All the APIs exposed
outside of WMI are implemented in wmi_unified_api.c and all the APIs
forming the CMD or extracting the EVT is implemented in wmi_unified_tlv.c.

Since WIN and MCL have a unified WMI layer in the converged component and
there are features within WIN and MCL that are not common, there exists a
good number of WMI APIs which are specific to WIN but compiled by MCL and
vice-versa. Due to this inadvertent problem, there is a chunk of code and
memory used up by WIN and MCL for features that are not used in their
products.

Featurize WMI APIs and TLVs that are specific to WIN
- Air Time Fareness (ATF)
- Direct Buffer Rx (DBR)
- Smart Antenna (SMART_ANT)
- Generic WIN specific WMI (AP)

Change-Id: I7b27c8993da04c9e9651a9682de370daaa40d187
CRs-Fixed: 2320273
2018-10-05 02:14:04 -07:00
Shashikala Prabhu
70da943414 qcacmn: Add wmi wrapper function to get target pdev id from host
Add wmi wrapper function to convert host pdev id to target  pdev id.

Change-Id: I3824a7556bf0b740d069602e9ee5a572c427c49c
CRs-Fixed: 2316715
2018-10-02 13:48:38 -07:00
Linux Build Service Account
1d27cc3a48 Merge "qcacmn: Spatial Reuse changes" into wlan-cmn.driver.lnx.2.0 2018-09-20 04:22:38 -07:00
Rachit Kankane
f96c05eb03 qcacmn: Featurize Roam offload specific WMI cmds
Featurize WMI_ROAM_SYNCH_COMPLETE and WMI_ROAM_SET_RIC_REQUEST_CMDID
under WLAN_FEATURE_ROAM_OFFLOAD feature flag.

Change-Id: Ib5baaea04582049c47a78491c88a9860f688d5bb
CRs-Fixed: 2304139
2018-09-18 01:03:12 -07:00
Pratik Gandhi
3bc1616092 qcacmn: Spatial Reuse changes
Add WMI interface for OBSS Spatial Reuse changes.

Change-Id: I5da23632a8746de749fc623439c9d9cbc02fcea5
CRs-Fixed: 2313292
2018-09-17 04:44:02 -07:00
Rajeev Kumar Sirasanagandla
61a090c1d5 qcacmn: Add wmi support to get firmware roam scan stats
Add wmi layer support to get firmware roam scan statistics which includes
scoring of roam candidates, channels, old and new bssids etc.,

Change-Id: I3a0aafbe66d12eea40e71ceb4c7c3a60b9d6e04f
CRs-Fixed: 2203904
2018-09-07 03:04:10 -07:00
Arif Hussain
ffcaef4344 qcacmn: Add logs in wmi_unified_cmd_send()
In wmi_unified_cmd_send() function, pass function name and
line number of caller and log the same in case of failure,
this approach helps to remove error logs in caller function
there by reducing text segment.

Change-Id: Ib70d55959087021c4495c175d5363375037afe00
CRs-Fixed: 2281983
2018-09-06 01:42:14 -07:00
Arif Hussain
58189eb0bd qcacmn: Add logs in wmi_buf_alloc()
In wmi_buf_alloc() function, pass function name and
line number of caller and log the same in case of failure,
this approach helps to remove error logs in caller function
there by reducing text segment.

Also add wmi_nofl_* macros.

Change-Id: Ib1ac8bf2bbcefa7f0015aff2733d3dc4773b185d
CRs-Fixed: 2281983
2018-09-06 01:42:09 -07:00
Rachit Kankane
898f6ff055 qcacmn: Featurize P2P Listen Offload
P2P Listen offload is not a requirement for Genoa, hence featurize
P2P listen offload code to save memory foot-print for Genoa.

Change-Id: I3c32b4ee2b37421e49acee4bd20d36e7a8a3bf77
CRs-Fixed: 2304555
2018-09-06 01:42:01 -07:00
Jeffin Mammen
31320b31bc qcacmn: Add WMI command for WMM based ATF config
Add new WMI command to support WMM based ATF configuration.
The new WMI command sends the Access category ID and the
corresponding airtime allocation to the firmware.

Change-Id: I7a5fafa6190d779d0fef8982b7b781af54656b19
CRs-Fixed: 2293193
2018-08-17 10:30:02 -07:00
Jeff Johnson
0820b3ab2b qcacmn: Remove wmi_unified_vdev_restart_send() prototype
Currently wmi_unified_api defines a wmi_unified_vdev_restart_send()
prototype, but there is no implementation of this function. This
discrepancy dates back to the initial introduction of the prototype in
change "qcacmn: Add tlv implementation of common unified API" (Change
Id I7e70b48ef5e1df0c0f81c639579e6eb1a6685dc3). Since this function
does not exist, and in fact has never existed, remove the prototype.

Note that another API, wmi_unified_vdev_start_send(), supports both
start and restart capability.

Change-Id: Ia88d8b1e825c806b454428e72d9731ccefd05c01
CRs-Fixed: 2286613
2018-07-31 19:01:27 -07:00
Rajeev Kumar Sirasanagandla
66970850d9 qcacmn: Add WMI layer support for action OUI extensions
Add WMI support to send action OUI extensions to firmware.
For STA interface, this feature is intended to control mode of connection,
connected AP's in-activity time, Tx rate etc.,

Change-Id: I6a0bc9d3f7f0d57805b872cae4baa1fe84fb8193
CRs-Fixed: 2254509
2018-07-24 13:20:42 -07:00
Anirban Sirkhell
d01ccdf6eb qcacmn: Add WMI for estimated airtime calculation
Add support for sending WMI command to firmware
to measure estimated airtime that a new client
will get and populate the result that firmware
returns in the ESP IE.

Change-Id: Ic5fcb11100ecd0597ba02dfa5512e2f4ff3558c9
CRs-Fixed: 2261469
2018-07-06 04:45:23 -07:00
c_priys
b214c2454c qcacmn: WMI Recording Failure on Multi-radio RDPs
WMI recording is done per pdev and hence an instance of
debugfs directory (eg: WMI0, WMI1, WMI2 for 3 radio boards)
has to be created in /sys/kernel/debug/ path.

The wmi handle is per pdev and hence is causing the problem of wmi_instance
being 0 always as each pdev has its own wmi_handle.
WMI1 and WMI2 debugfs directories are not created as wmi_instance
is always 0.

WMI debugfs directory is created for every pdev of the psoc and naming
convention is changed to WMI_SOCx_PDEVx.

Change-Id: Ieb7e9d072d84f699588a8f719508c5cd8d9873fb
CRs-Fixed: 2232472
2018-07-06 00:16:36 -07:00
Amar Singhal
dbff0cc4f2 qcacmn: Make worker thread processing API non static
Worker thread WMI processing API has more broader use now. So make it
non-static.

CRs-Fixed: 2268243
Change-Id: Iae51e1115f5f3664d08c891e8a42d24bd3ef7bcf
2018-06-30 00:18:01 -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
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
Nachiket Kukade
b29adc4a4f qcacmn: Implement the commands that cover APF 3.0 requirements
Android Packet Filter 3.0 requires the framework to be able to
read and write into the APF work memory in the Firmware. It
also requires to be able to enable or disable the interpreter.
New WMI commands are defined for read/write/enable/disable
operations.

Complete the implementation of these new commands.

Change-Id: I852d61eb213d9ae530e8a71069144ef35816f5b8
CRs-Fixed: 2184971
2018-06-20 12:53:13 -07:00
Debasis Das
78495ce966 qcacmn: Fix Integer Overflow Leading to Buffer Overflow
wmi_buf_alloc() API expects length to be passed of type
uint16_t. However, the callers pass uint32_t to it.
This might result in overflow and illegal memory access
thereafter. The fix is to modify the API signature accordingly.

Change-Id: If09da4978d421269b884f7d3c933c49c81651475
CRs-Fixed: 2218346
2018-06-20 06:33:47 -07:00
Nachiket Kukade
a52b8182da qcacmn: Rename legacy definitions containing BPF to APF
In implementation of Android Packet Filter, functions, variables,
definitions are named after BPF, which stands for Berkely Packet
Filter. The term was more appropriate for Link Layer packet
filters implemented in the Linux kernel, known as Linux Socket
Filters.

The term BPF is obsolete now, so rename it with the
appropriate acronym, APF.

Change-Id: I606afc747cddedb524a41cd8e5998400f04e69f6
CRs-Fixed: 2191531
2018-06-18 16:33:52 -07:00
Wu Gao
dd58f63b13 qcacmn: pmo feature flag disable
In case PMO feature flag disable, add this change. Change
WLAN_PMO_ENABLE  to WLAN_POWER_MANAGEMENT_OFFLOAD.

Change-Id: I875e568dcb239da1b86d1a76cb8cbc925bb13cde
CRs-Fixed: 2243948
2018-06-08 08:31:10 -07:00
Wen Gong
daa9515da8 qcacmn: Add extscan feature flag
Add config flag to enable / disable extscan feature

Change-Id: I6303836226aa2cdcaf3a680d9ce36f2490fde615
CRs-Fixed: 2243749
2018-06-05 06:01:45 -07:00
Wen Gong
583a3b1b18 qcacmn: Featurize dbglog_host
Featurize parsing support for WLAN firmware logs in WLAN host driver

Change-Id: I94a75a0ab09f086209298bdd4870df78e9733a3f
CRs-Fixed: 2228370
2018-05-30 01:42:30 -07:00
Naveen Rawat
8c72007596 qcacmn: Implement ndp schedule update and channel info in ndp confirm
Add support for ndp schedule update event and provide channel information
in ndp confirm event.

Change-Id: Ic2c073dd4f220627cc2bd1a2d52d858136b6b450
CRs-Fixed: 2180310
2018-05-24 11:13:55 -07:00
Shashikala Prabhu
9951d56842 qcacmn: Add WMI changes for host DFS confirmation check
Send average radar parameters to FW.
Extract host dfs spoof check status from FW.

Change-Id: I70c4e5aad0fe1eda55da37abd20cc6d70728edba
CRs-Fixed: 2211883
2018-05-21 03:53:18 -07:00
Jeff Johnson
d6113d67a0 qcacmn: wmi: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Ic86284ff527bb55b681149e38f5c708edda5ce8b
CRs-Fixed: 2230684
2018-05-18 02:17:53 -07:00
Naveen Rawat
97a913abb7 qcacmn: Add target_if/wmi implementation of get_stations_stats
Add changes to support get station stats from within the cp stats
component.

Change-Id: I936ea8e18e519f257ae2d57b384a5a39f4582aed
CRs-Fixed: 2210313
2018-05-16 23:20:19 -07:00
Naveen Rawat
0e634fab65 qcacmn: Add target_if/wmi implementation of get congestion stats
Add changes to support get congestion stats(arp stats) from
within cp_stats component.

Change-Id: Ic3b2f020c0169c9113c1b40738f782cbb3b8f6c5
CRs-Fixed: 2222781
2018-05-14 11:39:24 -07:00
Srinivas Girigowda
aafe28ed40 qcacmn: Consistently use policy_mgr_dual_mac_config
Remove duplicate structs wmi_dual_mac_config and sir_dual_mac_config
and use policy_mgr_dual_mac_config.

Change-Id: I6da6539f519ec46ee274ba3f3ae042e5fd9c25d2
CRs-Fixed: 2191031
2018-05-12 04:31:30 -07:00
Naveen Rawat
caca8b01fd qcacmn: Add get channel width from phy mode API
Add get channel width from phy mode API which will be used by
ndp schedule update event.

Change-Id: I13d00c0b818eb0da434c8a5372b2ab7b6693f22a
CRs-Fixed: 2216801
2018-05-02 18:46:16 -07:00