Commit Graph

199 Commits

Author SHA1 Message Date
Sathish Kumar
637da89a76 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
Rajeev Kumar
9024c71ff2 qcacmn: Separate WMI diag rx event logging
FW generates too many diag events and these diag events
also come on CE-2 together with other critical control
path WMI events and easily over-run useful control path
WMI RX even log buffer. Separate WMI diag rx event loggig
in a separate log buffer such that useful control path WMI
log event buffer is not over-run.

Change-Id: I89b5d88036bc9d7e57e8e16858bc556be4e2ed41
CRs-Fixed: 2318083
2018-09-27 15:00:49 -07:00
Rakshith Suresh Patkar
35fe7b0e07 qcacmn: Enable wbuff support for WMI
Register WMI with wbuff for pre-allocation of
skbs. Register at wmi_unified_attach() and
de-register at wmi wmi_unified_detach().

Change-Id: I9d6df1a8480324dd2a258de12672669a8fbe8940
CRs-Fixed: 2313935
2018-09-24 05:07:30 -07:00
Linux Build Service Account
b2483ec0f1 Merge "qcacmn: Spatial Reuse changes" into wlan-cmn.driver.lnx.2.0 2018-09-20 04:22:38 -07:00
Qiwei Cai
3690d3b451 qcacmn: export wmi_mtrace for use in all TLV files
wmi_mtrace is defined as static in wmi_unified_tlv.c and
used in TLV functions, but some TLVs need to be featurized
and moved to separated TLV files. Need to export wmi_mtrace
for external use.

Change-Id: I9459ec01c9cd4a89f3544d6a9831acba56e6a278
CRs-Fixed: 2314779
2018-09-18 11:10:23 -07:00
Rachit Kankane
d42762f9fb 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
13b34f8718 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
Venkat Karthik Kantamneni
6c0038653b qcacmn: WMI command/event Extended dump using qdf_debugfs APIs
Currently only 16 bytes of wmi command/event messages are logged
excluding wmi header information.

By enabling WMI_EXT_DBG whole command/event messages can be dumped
using qdf debugfs apis. This will help if it is needed to
collect whole command/event messages information.

Change-Id: I72dff1279b1145b8d2ee415db97656f457c0136f
CRs-Fixed: 2309286
2018-09-12 10:23:27 -07:00
Rajeev Kumar Sirasanagandla
dfa2486c37 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
Rachit Kankane
fcb0cdcbaa qcacmn: Featurize WLAN_FEATURE_PACKET_FILTERING
Featurize packet filter properly, as this feature was partially featurized.

Change-Id: Ic10407f8593b14ad22535233ac5b442f3066b627
CRs-Fixed: 2304237
2018-09-06 05:48:09 -07:00
Arif Hussain
7aee544f7b 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
54c543fa99 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
ff8ae5ae88 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
110deeba30 qcacmn: Remove wmi_unified_get_buf_extscan_hotlist_cmd()
Change "qcacmn: Add revised extscan start hotlist monitor API" (Change
Id Ie705f2462c7d5befa691f1ab57293e55ab68e3e2) recently added a revised
"start hotlist" handler. The only known client of the existing
interface was converted to use the new interface with change
"qcacld-3.0: Refine the extscan start BSSID hotlist logic" (Change-Id
I4d9f982177bc61a751ba0e7437fe55482dfd2723) so remove the now obsolete
interface.

Change-Id: I6e43170daa3ed2d932f1f2fa6717ea230a37ea8b
CRs-Fixed: 2294278
2018-08-14 02:15:52 -07:00
Aditya Sathish
10fa477d03 qcacmn: Clean up wmi component prints
Clean up WMI component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msg appends them by default.

Change-Id: Ie375e6fda2943f5f2b7287da4374ef9d7470d593
CRs-Fixed: 2243843
2018-08-10 18:11:27 -07:00
Jeff Johnson
5d2803d1c7 qcacmn: Add revised extscan start hotlist monitor API
There is an existing WMI command which is used to start the extscan
hotlist monitor, wmi_unified_get_buf_extscan_hotlist_cmd(), but this
API has multiple issues:
1) The "get_buf" in the name implies it retrieves something, but it
   doesn't.
2) The full name is not a "mirror" of the companion function that
   stops the monitor, wmi_unified_extscan_stop_hotlist_monitor_cmd().
3) The current function has an "int *buf_len" parameter that is unused.

To address these issue introduce a new function with "mirror" naming,
wmi_unified_extscan_start_hotlist_monitor_cmd(), which has an
appropriate parameter list.

It is expected that all clients of the existing API will be moved to
the new API, at which point the existing API can be removed.

Change-Id: Ie705f2462c7d5befa691f1ab57293e55ab68e3e2
CRs-Fixed: 2289368
2018-08-02 18:30:15 -07:00
Jeff Johnson
166035708a qcacmn: Clean up the extscan unified WMI (phase 2)
For a full explanation of the problem and phased solution refer to
"qcacmn: Clean up the extscan unified WMI (phase 1)", Change-Id
I11800361b572331cfada00fb7d518c314df20b43, in the qca-wifi-host-cmn
project.

For phase 2 (this change):
Replace all references of the badly named identifiers with references
to the properly named substitutes. Note that this phase may touch
multiple repos and may involve a number of separate changes.

Change-Id: Ie19d632faa50b23f18a2214a7b2502830ff3fbd3
CRs-Fixed: 2282767
2018-07-24 20:35:51 -07:00
Rajeev Kumar Sirasanagandla
9d7a69fa78 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
08c0193177 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
cc79b35edf 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
Kabilan Kannan
a348b62987 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
a5eb9a2e00 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
74cce66d76 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
Nachiket Kukade
e8ce8629e4 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
Nirav Shah
e83f214054 qcacmn: Add support to configure buffer size from kbuild
Add support to configure logging buffer size from
per-OEM kbuild based on memory requirement.

Change-Id: Ia91d79e5e738b1c9787015de101c3f67ccde46aa
CRs-Fixed: 2253438
2018-06-15 21:31:16 -07:00
Wu Gao
2a3bc05615 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
5b1429d0ed 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
Naveen Rawat
76cbf2f220 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
Wen Gong
e36b84a85a qcacmn: Add DFS master feature flag
Add config flag to enable / disable DFS master feature

Change-Id: Iddd82dd5f117a4d75fda161f5a531aa7eab25016
CRs-Fixed: 2222557
2018-05-24 00:49:52 -07:00
Shashikala Prabhu
6c90a3ebda 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
f445f5c560 qcacmn: wmi: Fix misspellings
Address the following issues in the wmi folder:
CHECK: 'addres' may be misspelled - perhaps 'address'?
CHECK: 'COMAND' may be misspelled - perhaps 'COMMAND'?
CHECK: 'defintion' may be misspelled - perhaps 'definition'?
CHECK: 'happend' may be misspelled - perhaps 'happened'?
CHECK: 'managment' may be misspelled - perhaps 'management'?
CHECK: 'messsage' may be misspelled - perhaps 'message'?
CHECK: 'overriden' may be misspelled - perhaps 'overridden'?
CHECK: 'poiter' may be misspelled - perhaps 'pointer'?
CHECK: 'refering' may be misspelled - perhaps 'referring'?
CHECK: 'refrence' may be misspelled - perhaps 'reference'?
CHECK: 'shrinked' may be misspelled - perhaps 'shrunk'?
CHECK: 'succesfully' may be misspelled - perhaps 'successfully'?
CHECK: 'succesful' may be misspelled - perhaps 'successful'?

Change-Id: Ie97e4d83cc88a2610524b38adc3474cdd31170d9
CRs-Fixed: 2241590
2018-05-19 19:40:53 -07:00
Jeff Johnson
6957cd1777 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
Jeff Johnson
951133e572 qcacmn: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I7d88e57b97fa6d217630d4a5d5c365b56e714428
CRs-Fixed: 2238309
2018-05-17 00:47:23 -07:00
Naveen Rawat
9734fa97f7 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
96afb7f274 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
c461aeff4f 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
Edayilliam Jayadev
42ce0e4c2f qcacmn: Extract meta data from dbr event
Extract meta data from the dbr wmi event.

CRs-Fixed: 2219818
Change-Id: Ib19588775060e75017e9777206132a0efeec6223
2018-04-25 23:49:01 -07:00
Kiran Kumar Lokere
af132c141a qcacmn: Add support to set the MU EDCA params to FW
Add support to set HE MU EDCA parameters to FW

Change-Id: I1aa641764248c0fd834d8790d2268887d3ab0903
CRs-Fixed: 2220230
2018-04-20 02:33:37 -07:00
Naveen Rawat
1d095b079a qcacmn: Fix memory allocation in NDP firmware events
Fix memory allocation during NDP firmware events by allocating
memory before wmi_extract APIs are called.

Change-Id: I3af2f49895a79a45b3add246eeb9025b1df92faa
CRs-Fixed: 2183493
2018-04-04 07:37:36 -07:00
Kiran Venkatappa
2d881fd9a7 qcacmn: WMI interface changes to configure TWT
Add WMI interface changes required to configure TWT

Change-Id: I307f65f8049caf8365fb496fd69f91600ddbd832
CRs-Fixed: 2212556
2018-03-29 13:16:14 -07:00
Vivek
7346528a39 qcacmn: Replace A_UINT with appropriate types
There are instances of use of older A_UINT/A_INT.
Replace all such instances with the qdf u_int*_t/int*_t.

Change-Id: I7ce29b03f29a0d1a0cf87cfd3c846f4694da4c2a
CR's-Fixed: 2210869
2018-03-26 04:58:12 -07:00
Sravan Kumar Kairam
dcb5f80ac3 qcacmn: Modify WMI cmd to point to IPA CLD component
IPA module has been moved to CLD component under the converged
driver model. Point the wmi API's and structures to the newly
defined files.

Change-Id: I96205f7cc18dbea1c05a5f6314490ea6b3dd75fd
CRs-Fixed: 2180176
2018-03-21 18:57:49 -07:00
Chaithanya Garrepalli
09744011e5 qcacmn: Send max commands as param to wmi_unified_attach
Modify arguments of wmi_unified_attach to use struct to
send attach params instead of individual params. Add max
WMI commands as a param. Based on requirement MAX WMI
commands value is different. In case of AP that supports
16 VAPs and more than 512 clients, 1024 commands is not
enough. Use this param to configure this value based on
the requirement.

Change-Id: I4e778475481e509051dfbac70980614b644e1b4a
CRs-fixed: 2034438
2018-03-15 04:26:08 -07:00
Surabhi Vishnoi
b1a06b7e42 qcacmn: Move the WMI_MAX_CMDS macro
The WMI_MAX_CMDS macro was defined in wmi_unified_priv.h, move it
to wmi_unified_param.h so that it can be used to set
wmi_unified_attach_params.

Change-Id: I33aaa3c1fb189c7ef660ccbc5262afd0a1ee258b
2018-03-15 04:26:06 -07:00
Pratik Gandhi
2675a27bb7 qcacmn: Fix compilation issues for FW header abstraction
fwhdr_abstrct: Fix compilation issues for WIN firmware header abstraction.

Change-Id: Id76a6f29fd41ae559cf377029428224d59bd03fb
CRs-Fixed: 2140921
2018-03-09 07:28:50 -08:00
nobelj
d9c2dc8893 qcacmn: Add support for chan_nf noise floor
Add function for extract_nfcal_power_ev_param and
register wmi_pdev_nfcal_power_all_channels_event_id event
to support noise floor in HK.

Change-Id: I6eef823b507be94c65df026664244eec7fc07e24
CRs-Fixed: 2157972
2018-03-02 16:34:27 -08:00
gaurank kathpalia
a2a2c714e1 qcacmn: Add qdf time api to get time of the day in millisec
qcacld-2.0 to qcacmn propagation

Adds qdf time api to get time of the day in millisec

Also send host timestamp to firmware, so that firmware can print the
logs timestamp in sync with host via the wmi interface,with
api wmi_send_time_stamp_sync_cmd_tlv()

Change-Id: Id6acfc5227fdca2fbf8d266998fdfc4046adc5f4
CRs-Fixed: 2193978
2018-02-28 23:35:53 -08:00
Arif Hussain
b4da347cac qcacmn: Add bss color collision detection support
Add support for bss color collision detection.

Change-Id: Ia3d64917518c2aa5fc4a10bb7f3f8db2d47bc5d7
CRs-Fixed: 2185238
2018-02-10 09:12:46 -08:00
Pratik Gandhi
073fa004f8 qcacmn: WMI registration change to support to WIN modularization
Change WMI initialization sequence to support WMI modularization.
TLV and Non-TLV modules calls WMI module registration based on target type.
WMI attach will call respective attach routines based on registration.

Change-Id: Id56446f491d129758537913d2d5d6633f8dec918
CRs-Fixed: 2179854
2018-02-07 12:12:05 -08:00
Himanshu Agarwal
3f5d65a1ab qcacmn: Remove dependency on WMA layer for green AP component
Remove dependency on WMA layer for green AP component by registering
green AP events through target_if layer.

Change-Id: I8fe9079c6ba6b23cd5f1d98a7d1b333fde31f19b
CRs-Fixed: 2178143
2018-02-06 17:33:03 -08:00