Commit Graph

91 Commits

Author SHA1 Message Date
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
Sathish Kumar
5cf9805bc3 qcacmn: Changes in direct buffer Rx module
1. Add support upto 2048 buffers in the ring
2. Add API to print current ring status per module per pdev
3. Start module ID numbering from 0

Change-Id: I7954007c6c486877ffb2ab91724885af2fbaab8c
CRs-Fixed: 2263968
2018-06-25 03:17:55 -07:00
Vignesh U
0dc7935c0f qcacmn: Add global dispatcher for host DFS confirmation check
Add tx_ops and rx_ops for host dfs confirmation check.

Change-Id: Id77b1561d933cae79276532f01de8ae7843f3bba
CRs-Fixed: 2211883
2018-05-21 03:53:23 -07:00
Jeff Johnson
4cee5cf7cc qcacmn: Fix typo "seperate"
Replace typo "seperate" with correct spelling "separate".

Change-Id: I742473a16b79c5b91722c3642c983a7fa6dfd252
CRs-Fixed: 2238309
2018-05-17 00:46:54 -07:00
Naveen Rawat
8f4c9087bf qcacmn: Fix CP_STATS rx_ops registration
Fix CP_STATS rx_ops registration in wlan_lmac_if.c, by including
dispatcher header and directly referencing public dispatcher tgt
APIs.

Change-Id: Id42aac8d2a7f1311d4319c77db05eadd75ee4aa0
CRs-Fixed: 2228934
2018-04-23 06:31:29 -07:00
Naveen Rawat
a2a1eb1619 qcacmn: Add umac implementation of get_tx_power
Add changes to support get tx power from within cp_stats
component.

Change-Id: I3882ec63b21abfe884a8cdd7edca7f58e8eb541b
CRs-Fixed: 2210311
2018-04-19 22:06:49 -07:00
Naveen Rawat
d24bebbf24 qcacmn: Add umac implementation of get_wake_lock stats
Add changes to support get wake lock stats from within cp_stats component.

Change-Id: I93855e4a1635afa97b4d5235ddb9cd92654f943d
CRs-Fixed: 2210309
2018-04-17 13:17:54 -07:00
Santosh Anbu
9d32d1dfc5 qcacmn: Move retrieval of wmi_handle to target_if layer
Remove inconsistent API for scan start and stop, where pdev_wmi_handle
is derived from psoc_handle at the WMI layer instead of using
the wmi_handle passed from the above layer i.e target_if

Change-Id: If259260e6f8cf77bf68748a8130db4440b88588a
CRs-Fixed: 2203048
2018-04-15 23:15:26 -07:00
Naga
a3d376270a qcacmn: Add support for cp stats in global_umac_dispatcher
Add support for cp stats lmac Tx and Rx Ops data structure
and handle Rx Ops registration

CRs-Fixed: 2192386
Change-Id: I07f41d8550778142abf01d8bd66c8c373c479ac2
2018-04-06 17:49:48 -07:00
Edayilliam Jayadev
01b4921127 qcacmn: Enable spectral registration to direct dma
Enable registration of spectral feature to direct dma

CRs-Fixed: 2219121
Change-Id: I483e87b9a6c7dcd297bc8b88d24c49e8d80ed547
2018-04-06 13:25:41 -07:00
Edayilliam Jayadev
2703fafbe2 qcacmn: Use new phymode for vht in 2G
Today for VHT in 2G, we are sending WMI_HOST_MODE_11NG_HT20/40
as phymode values to FW. Change this to WMI_HOST_MODE_11AC_VHT40/20_2G
which are dedicated phymodes defined for VHT operation in 2G.
This change is applicable only for tlv based chipsets.

CRs-Fixed: 2205265
Change-Id: I9482bfd1834285a21b5a45b6c039a13e9cd80479
2018-03-29 06:57:55 -07:00
Manikandan Mohan
a2993a595c qcacmn: Fix export symbol for multi drivers compilation
Update umac module files to use qdf_export_symbol to facilitate
multiple driver module compilation support.

Change-Id: Id982b3e0593b7c90244f2025decd10e97cb62f9c
CRs-fixed: 2197751
2018-03-19 19:58:12 -07:00
Shiva Krishna Pittala
a143f83a27 qcacmn: Add Netlink deinit functionality in Spectral
Define os_if_spectral_netlink_deinit to close the Spectral socket and
de-register the os_if callbacks

Change-Id: I3d054c2a2d630d4d959861d3620592010d04c09a
CRs-Fixed: 2186113
2018-03-06 03:53:47 -08:00
Arif Hussain
c8fe4680ae qcacmn: Fix sending dfs offload enable command sequence
Currently dfs offload command is sent during event registration
when psoc object is created. Dfs offload command is sent by accessing
pdev object, as pdev object during this time may not be created
or maybe in logically deleted state and sending command may fail.
This failure may cause wifi_dfs_psoc_enable and thereby effecting
other module objects.

To fix this, avoid using pdev objects during psoc enable, and send
pdev object specific command when pdev is created.

Change-Id: Ia10d493267259d0fbd918453e532b4f244029163
CRs-Fixed: 2179845
2018-02-23 06:05:56 -08:00
Shiva Krishna Pittala
101778698b qcacmn: Move Spectral Netlink APIs to os_if layer
Spectral Netlink related APIs are currently present in
target_if layer, move them to os_if layer.

Change-Id: I86a5495f6ec8aa85a2e9639902503a522b023f8e
CRs-Fixed: 2151548
2018-02-09 09:21:00 -08:00
Subrat Mishra
172974d1c3 qcacmn: Fix for Beacon burstmode issue
Fix beacon burst mode issue in FILS Discovery disable case.

Change-Id: Ieb711577a761ed80d6865b14563d80277857dfce
CRs-Fixed: 2180991
2018-02-09 00:42:28 -08:00
Srinivas Pitla
ee54aea6d8 qcacmn: Add target_if changes to DFS
Use target_if APIs to get dfs offload capability

Change-Id: Ic23770b0407e33e4b031bbbc4a8224663ac57e32
CRs-Fixed: 2177109
2018-02-03 15:11:02 -08:00
bings
9c524f5fc4 qcacmn: Restore WMI_DFS_RADAR_EVENTID for Rome FW
Currently WMI handler for WMI_PHYERR_EVENTID is used to handle DFS and
spectral scan phy errors; but Rome FW still uses WMI_PHYERR_EVENTID
and WMI_DFS_RADAR_EVENTID and does not have spectral scan phy errors.

Restore WMI_PHYERR_EVENTID and WMI_DFS_RADAR_EVENTID as Rome FW
requirement.

Change-Id: I16761f6da947619a5969ac8dcd09498d508ad715
CRs-Fixed: 2160954
2018-01-27 00:10:32 -08:00
Subrat Mishra
bf12587bd1 qcacmn: Support for SWFDA Event & FD Frame tx
Add new WMI EVENT, SW FILS Discovery Alert Event, to get
firmware trigger to transmit FILS Discovery Frames.
Add WMI command to send FD frame buffer to firwmare.
Add WMI command to set FD period interval in mili seconds.

Change-Id: I8cb6279ec4431b9236bd32c548228a0dc6598664
CRs-Fixed: 2118098
2018-01-19 17:26:23 -08:00
akosigi
fffcebf2e9 qcacmn: Converge FTM feature
Support for FTM to make it common between WIN and MCL.

Change-Id: I4a65ca6d73d83e71f6a04405b5c41cdddb0a3c71
CRs-fixed: 2148283
2018-01-16 18:29:53 -08:00
Shashikala Prabhu
a7db8ce9a1 qcacmn: Add function pointers to get regdb information
Add function pointers to set/get chan 144 support, program
country code and get current regdomain information from
regdb component. These information is used by WIN offload and
lmac layers.

Change-Id: I6344260a7761e958eeee9e5d7faf091812ed4ed2
CRs-Fixed: 2160593
2018-01-15 15:39:16 -08:00
Soumya Bhat
108f090a00 qcacmn: Greenap componentization follow up patch
Greenap APIs and calls

Change-Id: I1242db788155f68dd91b72b94a48f78869eb835f
CRs-Fixed: 2142183
2018-01-15 04:26:43 -08:00
Himanshu Agarwal
b3c81ac057 qcacmn: Green AP UMAC componentization
Add APIs, structures for Green AP component.

Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5
CRs-Fixed: 2166428
2018-01-12 12:20:17 -08:00
Sathish Kumar
7607184303 qcacmn: Clean up direct buf rx framework
Direct buffer rx framework is cleaned up to have the following
changes -

1. Init and deinit during target interface open and close to avoid
   multiple inits and deinits in case of multi-SOC chipsets
2. Register WMI events required for the framework through PSOC
   enable and disable
3. Rename API that attaches hal soc and osdev objects to psoc object
4. Module ID numbering starts from 0. Modify usage to adhere to it
5. Add API to get LMAC IF tx ops from psoc

Change-Id: Ieceeb6c0e1a89c32f23b9c252e74671cd5c4a69b
CRs-Fixed: 2167614
2018-01-11 04:43:42 -08:00
Vivek
5747b78091 qcacmn: Move mgmt descriptors per pdev for probe response throttling
Mgmt tx rx descriptors are now used instead of WMI descriptors
for management Tx/Rx.
Since WMI descriptors were per radio to support probe response throttling
the mgmt descriptors should also be moved from per psoc to per pdev.

The reason for this is probe response throttling should happen per radio
and not per psoc since if the mgmt frames peding counter is
maintained per psoc, it could affect other radios of the same psoc also.

The maximum number of mgmt descriptors per psoc was 50.
This is also changed to 512 mgmt descriptors per pdev which is the
same as WMI descriptors per radio as used earlier to support
probe response throttling.

Change-Id: Ibb46082e0acf340800418a7e9689a29cd688bdab
CRs-Fixed: 2146177
2018-01-08 09:39:20 -08:00
Sandeep Puligilla
1e1def7550 qcacmn: Spectral scan module initialization for MCL
Changes to support spectral module initalization
on MCL platform.

Change-Id: I968e199d0090d11480f111acca1240c3fb8117ba
CRs-Fixed: 2161633
2017-12-26 17:27:04 -08:00
Shashikala Prabhu
153b2881cf qcacmn: Do not allocate DFS object for 2GHz radio
DFS is applicable only for 5GHz radio. Therefore, do not
allocate DFS object for 2GHz  radio.

Change-Id: I5e8aec0c876e7862890fae689950bfbb4eae5255
CRs-Fixed: 2153493
2017-12-22 23:24:41 -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
Kiran Venkatappa
303c1f655e qcacmn: Add target_if ops init for offhchan txrx
offchan txrx module should query target to know offchan_data_tid
support. Add target_if ops for offchan module to query this.

Change-Id: I8bca8bbaa5c68eb42daf025235b50a5b512d6911
CRs-Fixed: 2145450
2017-12-04 03:25:30 -08:00
Edayilliam Jayadev
e0c7fbdb93 qcacmn: Callback functions for legacy spectral apis
Use table of function pointers for legacy api calls
instead of calling legacy apis directely

CRs-Fixed: 2146231
Change-Id: Ia5840208d0de5bd4e78c1d27b8ffdc0cf6cbf298
2017-11-30 05:27:58 -08:00
Shiva Krishna Pittala
a3d50e8a85 qcacmn: Removing WIN specific structures from spectral
Removing WIN specific structures 'scn' and 'ic'
from the spectral module in cmn_dev

CRs-Fixed: 2146258
Change-Id: Ie4def4dfb401f4b1a5920277f8fa79acb67dd46b
2017-11-30 05:27:55 -08:00
Shashikala Prabhu
2a9f2a0525 qcacmn: Rename dfs_ioctl.h as wlan_dfs_ioctl.h
Rename dfs_ioctl.h file as wlan_dfs_ioctl.h and
move it from cmn_services directory to dfs dispatcher.

Change-Id: I75e0337bd84b71cf77975656423f78f9b016285f
CRs-Fixed: 2127833
2017-11-21 07:32:05 -08:00
Abhijit Pradhan
f9df7db9b5 qcacmn: Avoid functions with a very long list of arguments
To avoid passing multiple parameters to MLME functions from DFS
component, use a common structure between these components and
pass the structure instead of long list of parameters.
Define the common structure in cmn_services directory to access
it in both the components.

Change-Id: I02dde0780eebbce0886685d1f72a62c84e5b4eeb
CRs-Fixed: 2146000
2017-11-21 07:32:03 -08:00
Abhijit Pradhan
7383ef9d7e qcacmn: Fix compilation issues for DFS component disable/enable
Header files are included in appropriate places to avoid compilation
errors. To disable/enable DFS component from non-common code at
compile time, use macro QCA_DFS_COMPONENT_ENABLE in config  file.

Change-Id: I0d4fe27ee0d76412c109aa3f64485ea1ac2a5e3a
CRs-Fixed: 2134355
2017-11-05 04:45:51 -08:00
Edayilliam Jayadev
a9919d6e12 qcacmn: Changes to wext interface for external acs
Private ioctls for external acs operation like
set icm active, get channel load info, clear chan load info,
get nominal noise floor were transported and
handled by spectral module. We seperate this ioctls
from spectral by adding new IWPRIVs(get_icm_active,
set_icm_active, get_nominal_nf, clear_chan_info)and
moving their handlers out of spectral.

CRs-Fixed: 2126313
Change-Id: I8c6b56b85d566f5bc7f6217f6fbc99fa23171cdd
2017-10-30 01:39:07 -07:00
Shaakir Mohamed
a1a7e163af qcacmn: Add support for bangradar for hawkeye
Add support for bangradar command to send unit test command
to firmware as a hook to simulate radar injection

Change-Id: Ieaa7eab6d452ab864a10beca1478d0e61d605107
CRs-fixed: 2113724
2017-10-15 15:48:09 -07:00
Shashikala Prabhu
41eff4f752 qcacmn: Initialize DFS radar table based on dfsdomain
* Initialize the radar table based on dfsdomain for country
  KOREA and CHINA.
* Move UMAC related APIs from lmac_api.c to utils_api.c  file.

Change-Id: I9dc2acdf23fc10469884d23bb91f352d2ac259ca
CRs-Fixed: 2110760
2017-10-12 14:21:55 -07:00
Shashikala Prabhu
4f8130e8c9 qcacmn: Fix Zero CAC DFS kernel panic
* Moved target type macros to global target_if header file.
* Fixed kernel panic: Channel details were written in  invalid
  memory location.

Change-Id: Ia9134b8dad651e53f57243c45eb93fb86ddd94c5
CRs-Fixed: 2104219
2017-10-03 08:24:05 -07:00
Venkateswara Swamy Bandaru
73c74698c9 qcacmn: Add generic api get interface id from pdev
Add generic api in mlme txops to get interface id for pdev.

Change-Id: I8896d3d3d53183b2015cdf159985802e6f6629c8
CRs-Fixed: 2117431
2017-10-01 13:35:11 -07:00
Kai Chen
7df3f4f74b qcacmn: Regulatory add 4.9 channel support
Add 4.9 channel support. Populate 4.9 channel to
channel list

Change-Id: I5a8f990fd28cba027b5200cb3dd8dc1949a7db7c
CRs-Fixed: 2105631
2017-09-19 09:59:24 -07:00
Kiran Kumar Lokere
a78b4bfb67 qcacmn: Add support to process channel avoidance event
Add support to process channel avoidance event

Change-Id: I19ce742406a4778ac0f279faf0bf853bc9069eb0
CRs-Fixed: 2080241
2017-08-13 16:56:55 -07:00
Shashikala Prabhu
3519b96e24 qcacmn: Fixed regdb kernel panic
Analysis:
Seen kernel panic when setting the NULL country code in FW.

Solution:
Send an indication to Offload layer if Firmware fails to set
the country code.

Change-Id: Ic01ee170cfca31d840236625c1d1497426eafc68
CRs-Fixed: 2083318
2017-08-08 02:25:47 -07:00
Abhijit Pradhan
af06bcbb63 qcacmn: Add API to get current dfs domain
Add API to get current DFS domain from regulatory component

Change-Id: Iabe4abb0966791e68130ff2d1a7305768893bfcc
CRs-Fixed: 2078153
2017-07-23 13:57:17 -07:00
Shashikala Prabhu
8c01b66c0e qcacmn: Fix DFS kernel panic
Due to dfs and 'ic' flag mismatch, ieee80211_find_channel()
was returning channel as NULL.

Change-Id: I2c8a09b5a1018d7daf2a925bcad7063a6b0e2988
CRs-Fixed: 2067959
2017-07-23 13:57:16 -07:00
Abhijit Pradhan
fe7233a795 qcacmn: Fix DFS kernel panic
As part of DFS component destroy, "ic" is accessed to reset
NOL list and PRECAC channel list, but "ic" is already deleted
as part of MLME component destroy. And therefore invalid memory
access happens.

Reset NOL list and PRECAC channel list before "ic" deletion.

Change-Id: I1dbf273f1ea51945493140bfce9bfa116ad0c488
CRs-Fixed: 2071164
2017-07-21 17:07:00 -07:00
Abhijit Pradhan
c5152c7904 qcacmn: DFS code cleanup
* Remove nif and sif keyword.
* Combine nif_dfs_detach and sif_dfs_detach.
* Combine nif_dfs_attach and dfs_attach.

Change-Id: Ibf4638a64fac976846bfcb1eae91f3f3bb3e994e
CRs-Fixed: 2071164
2017-07-21 17:06:59 -07:00
Mukul Sharma
a4b8d35756 qcacmn: Move PMO from CMN to CLD
Move PMO from CMN to CLD.

Change-Id: I0545e7d2c934ff6558694b439b33c1debf0f5e0a
CRs-fixed: 2071526
2017-07-14 17:36:04 -07:00
Abhijit Pradhan
59626eba4b qcacmn: Set country code for full-offload using iwpriv command
For full-offload, send user country code to FW using WMI
command.

Change-Id: I84acbd7ce30aa9a8ce590c8fadea2cb5914240fe
CRs-Fixed: 2053849
2017-07-13 22:02:53 -07: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
Ravi Kumar Bokka
4a517a223e qcacmn: Auto Detect SoC Power Collapse Failure changes
Add host support for detecting SOC power collapse failures in FW and
communicating the same to framework.

Change-Id: Icee39c896802c4d7136e0b8ef442a33feeb4799c
CRs-Fixed: 2016580
2017-06-27 22:13:06 -07:00