Commit Graph

399 Commits

Author SHA1 Message Date
Jeff Johnson
f0e54b019b qcacld-3.0: UMAC: Add support to retrieve SAR power limits
Recently change "qcacld-3.0: Add SAR power limit configuration"
(Change-Id: I137ce9bde2fa05e363d5af17e155dc739d862c5f) added the
ability to dynamically configure Specific Absorption Rate (SAR) power
limits. Now update the UMAC layer to add the ability to retrieve the
current active power limits.

Change-Id: Ifdf1d8b2e4d507348f013f1bcac1045bf13caa65
CRs-Fixed: 2161448
2018-01-23 12:30:13 -08:00
Ryan Hsu
6fdc60fcae qcacld-3.0: clean up the FTM legacy code
clean up the ftm legacy code

Change-Id: If56f46386108b04f8c1ec73804976c61019a6ffe
CRs-fixed: 2169366
2018-01-22 11:20:52 -08:00
Naveen Rawat
7154974018 qcacld-3.0: NAN datapath cleanup
Cleanup NAN datapath legacy code left after NAN componentization

Change-Id: I5828002d2363e01f63b0a643a0c59abd52bc4f19
CRs-Fixed: 2117687
2018-01-20 01:44:58 -08:00
Arif Hussain
ee10f9089e qcacld-3.0: Add obss detection offload support
Add support for obss detection offload support.

Change-Id: I27fdef1604f6f92890dda024fbc8f9d13df602a3
CRs-Fixed: 2170187
2018-01-17 17:49:06 -08:00
Padma, Santhosh Kumar
0ab7817dc3 qcacld-3.0: Add support for GMAC MIC validation
Add changes to validate MIC for the received protected
MC/BC frames with GMAC group management cipher suite.

Change-Id: Ie5f60674a452d2d930acc9ff9eb55de37645097a
CRs-Fixed: 2164828
2018-01-16 11:29:05 -08:00
yeshwanth sriram guntuka
41f936c740 qcacld-3.0: Add config support for BTM offload
Add ini to configure BTM offload configuration
which is sent to firmware as part of RSO start
via wmi btm config cmd.

Change-Id: I69c792705b208014af8f1878f7645d957dde6c06
CRs-Fixed: 2109793
2018-01-15 17:46:07 -08:00
Himanshu Agarwal
b229a14b67 qcacld-3.0: Add support for Green AP UMAC componentization
Add support for Green AP UMAC componentization.

Change-Id: I4e41ee6c5dfd055c273096c56de4fa253727b429
CRs-Fixed: 2166756
2018-01-12 12:20:09 -08:00
Naveen Rawat
012137620e qcacld-3.0: Fix interpretation of PPET capability populated by FW
Firmware will provide PPET capability per phy, and phy in-turns is
tied to a band. Add support for per band HE PPET in host, which will
allow correct HE PPET advertisement based on channel.

Change-Id: I476dede3b0f6df107b9980c141c0dbca90f950f1
CRs-Fixed: 2166741
2018-01-12 01:53:40 -08:00
Nachiket Kukade
2c73ade073 qcacld-3.0: Cleanup WMA and SME code related to DISA
DISA feature has been moved to a CLD component under the converged
driver model. This renders original code in WMA and SME obsolete.
Remove it.

Change-Id: Ia44acd9a3e31bf0d1098f7d423f0c28a2b7fe5fa
CRs-Fixed: 2161950
2018-01-09 13:39:55 -08:00
Kiran Kumar Lokere
decad51801 qcacld-3.0: Do not send DTIM value to FW during beacon process
Do not set the listen interval with DTIM value while processing
the connected AP beacon. Host processes the connected AP beacon
only when device in non WOW mode and FW expects the listen
interval to be always 1 when device is in non WOW mode hence
do not set listen interval with connected AP's DTIM value

Change-Id: I8a1bce1010ba271efdd1d7b8572e06d7c3693e07
CRs-Fixed: 2164690
2018-01-08 18:28:30 -08:00
Amar Singhal
ef59eee054 qcacld-3.0: Remove un-necessary checks on iface ptr value
In many cases, iface ptr value cannot be NULL. Remove the
un-necessary check iface ptr value.

Change-Id: Ic7430dd2a5e660daf08b007cbc9f0fcedad7ef01
CRS-Fixed: 2162236
2018-01-08 00:32:05 -08:00
Hanumanth Reddy Pothula
07e5f99716 qcacld-3.0: Remove FW memory dump feature
qcacld-2.0 to qcacld-3.0 propagation

FW memory dump feature is no longer used. Hence remove FW memory
dump feature code changes.

Change-Id: Ida655f83630c369df746e7c0c9d61a8fee2932a2
CRs-Fixed: 2140261
2017-12-28 11:54:10 +05:30
Naveen Rawat
df221b7f73 qcacld-3.0: Avoid WMI_HE_OPS macros in lim
Avoid using WMI HE Ops macro in lim and use dot11f struct for
HE Ops instead. Keep the tranlation to FW interpratation of
HE Ops in wma layer only.

Change-Id: Ie94795541aaddb7ae291ff451b938ebb96f74dbf
CRs-Fixed: 2145510
2017-12-12 01:26:05 -08:00
Paul Zhang
99fe884782 qcacld-3.0: Implement interface to set WLM level
WLAN Latency module (WLM) is added by fw to gain latency
because of schedule out of service like power saving,
scanning, roaming etc. per the level set by framework.

Change-Id: Id4305e5e66dcce464447aff56296c7d027347ea2
CRs-Fixed: 2142391
2017-12-11 22:08:19 -08:00
Varun Reddy Yeturu
a48bc418c6 qcacld-3.0: Fix implicit enum conversion in csr_fetch_valid_ch_lst
Fix implicit conversion from enumeration type 'tSirRFBand'
to different enumeration type 'eCsrBand'

Currently 3 different types of enums exist to enumerate the
band type.Remove eCsrBand and tSirRfBand and
use tSirRFBand everywhere.

Change-Id: I1862c6d3a5daca7523870b7f0931ee4f20c7ce4f
CRs-Fixed: 2145080
2017-12-07 23:18:56 -08:00
Naveen Rawat
b0c5b6b6a0 qcacld-3.0: Statically allocate DPH hash table
DPH hash table is allocated for each session of depth equal to
max possible peers. This memory chunk goes upto 33KB in size and
may fail. Instead allocate the memory from BSS segment so that
run-time allocation is not needed.

Change-Id: I56d6adb7934faef1940ab8515fed30646f536ab2
CRs-fixed: 2149563
2017-12-07 19:26:50 -08:00
jiad
cd49ec74b5 qcacld-3.0: indicate tkip mic error to protocol layer
Currently tkip mic countermeasure is not supported for Napier. Fix is to
indicate tkip mic error indication to protocol layer so that errors can
be propogated to supplicant.

Change-Id: I8ee94343e76040e360f0887a826c07f98545f71f
CRs-Fixed: 2151984
2017-12-06 06:56:47 -08:00
Yeshwanth Sriram Guntuka
d5aae7fcf4 qcacld-3.0: Add check to validate vdev id
Set ARP stats command is sent to firmware after
SAP is stopped. As a result, invalid vdev id is
sent in the set ARP stats param resulting in
firmware crash.

Fix is to add check to validate vdev id before
sending set ARP stats command to firmware.

Change-Id: Ia7ab56b9d5aa6a0fd53d84ef1264feea395dd44c
CRs-Fixed: 2149289
2017-12-04 15:27:51 -08:00
Naveen Rawat
d773414489 qcacld-3.0: Send WOW timer pattern to firmware
Send WOW timer pattern to firmware when suspend is requested and
INSTALL_KEY is not sent to firmware yet. This will allow firmware
to wake host in case Eapol frames are not received and do a graceful
disconnect.

Change-Id: Ibbcc0af85ee9ddcd7f6559c83c67274508193004
CRs-Fixed: 2127634
2017-12-02 01:40:45 -08:00
Will Huang
3cd2b7c566 qcacld-3.0: Enable D0WOW for pcie
Enable FEATURE_WLAN_DOWOW for pcie.
This is for backward compatible with rome fw.

Change-Id: Ia2107ff6939666b4a0bd19d57149d17814f2dfb5
CRs-Fixed: 2070426
2017-11-28 19:39:01 -08:00
Krunal Soni
8d184fa082 qcacld-3.0: (Part-1) Refactor open & close session logic in SME module
Current open and close session APIs mainly defined in HDD, SME, and SAP
modules are not proper. They require some design changes to maintain the
consistency.

In order to achieve the goal of making symmetrical design for open and
close session logic, refactor existing API in SME module which could
serve as stepping stone for SAP module and HDD module changes.

CRs-Fixed: 2147968
Change-Id: If39d191084a9f3f58b88f36d71cf42878a43b484
2017-11-22 17:41:20 -08:00
Padma, Santhosh Kumar
aa2433ee51 qcacld-3.0: Add changes to handle WMI_ROAM_SYNCH_FRAME_EVENTID
Firmware sends beacon/probe response, reassoc request and
reassoc response using new event WMI_ROAM_SYNCH_FRAME_EVENTID
when the data that it wants to send via WMI_ROAM_SYNCH_EVENTID
exceeds max length 2k in firmware. Add changes to handle
WMI_ROAM_SYNCH_FRAME_EVENTID in such a scenario.

Change-Id: I2c0821f3547b4ee86cd6860a150a5a7991947abb
CRs-Fixed: 2122429
2017-11-15 02:29:47 -08:00
Krunal Soni
2b906c85b7 qcacld-3.0: Remove unused WMA APIs
Remove unused WMA APIs which are not being used anymore.

CRs-Fixed: 2132544
Change-Id: Icf272b2dc8772d6720a6dc605702c1c6cc84ac02
2017-11-14 18:04:17 -08:00
Kabilan Kannan
6894e6a121 qcacld-3.0: Remove the deprecated IOCTL in TDLS
IOCTL "WE_TDLS_CONFIG_PARAMS" is no longer used, and the code
related to the IOCTL can be removed.
Remove IOCTL "WE_TDLS_CONFIG_PARAMS" in the host driver

Change-Id: I5c873b9571228f0d2b4fcd4782267a2cc40fc20a
CRs-Fixed: 2120491
2017-11-13 13:26:38 -08:00
Yeshwanth Sriram Guntuka
2ba6fe9132 qcacld-3.0: Add ini to configure different OCE features
Add ini support to configure different OCE features
which is sent as bitmap to firmware via vdev_set_param
command.

Change-Id: I2c679a6fe902e1b41ba984ed2255eee02ed29549
CRs-Fixed: 2121585
2017-11-10 09:38:49 -08:00
Jeff Johnson
c1e6278e02 qcacld-3.0: Use enum QDF_OPMODE
Change "qcacmn: Rename enum tQDF_ADAPTER_MODE" (qca-wifi-host-cmn
Change-Id I20f1b6d1a0ab4b8fe6a85cefdff96a49e2f4652c) renamed enum
tQDF_ADAPTER_MODE to QDF_OPMODE. Update all references to use the
new name.

Change-Id: Ic6f663dac11a100f168b2626c7c0fbcaccbfca4f
CRs-Fixed: 2141065
2017-11-10 00:27:42 -08:00
Mukul Sharma
b10c8c7370 qcacld-3.0: Move to target_resource_config from wmi_resource_config
Currently, host is using the wmi_resource_config instead
target_resource_config. There are two INIT command
method is exposed by WMI, hence to converge on one
use target_resource_config and perform cleanup
for other.

Change-Id: Ic50b1c644ce1e61568c2079627727cad766e02c8
CRs-Fixed: 2138506
2017-11-08 19:42:25 -08:00
Mukul Sharma
0c1c379514 qcacld-3.0: Add wow user pattern support in PMO
Add wow user pattern support in PMO.

Change-Id: I186e650e3a165ea0aeaada4bba880005c5be8b5f
CRs-Fixed: 2135644
2017-11-08 03:01:19 -08:00
Krunal Soni
8afae9b62d qcacld-3.0: Fix to propagate key-receiver-sequence-counter to WMA
SME module propagates KeyRSC to MAC/PE module but MAC/PE doesn't
pass this counter to WMA and due to which WMA is not able pass to
next module.

Add a fix to propagate KeyRSC field from MAC to WMA module and further
down in stack.

CRs-Fixed: 2130761
Change-Id: I157a44610e184b5e10d838fbc5d6b810e3efd6db
2017-11-07 22:56:29 -08:00
lifeng
7c607dd603 qcacld-3.0: Add a timer to reduce and resume beacon interval
qcacld-2.0 to qcacld-3.0 propagation

Reduce the beacon interval just before the channel switch.
This would help in reducing the downtime on the STA side which
is waiting for beacons from the AP to resume back transmission.

Switch back the beacon_interval to its original value after
the channel switch based on the timeout. This would ensure
there are atleast some beacons sent with increased frequency.

Change-Id: I37db52713d9e2c78abbb97a7cd0274d9da35bfd2
CRs-Fixed: 1094958
2017-11-07 01:13:18 -08:00
Tushnim Bhattacharyya
8629489f02 qcacld-3.0: Stop the opportunistic timer when hdd stop happens
Stop the opportunistic timer & take action if needed when hdd stop
happens. Also, take action when set_hw_mode request to FW times out.

Change-Id: I32f1e38e93a5805e0d85b800cc4e070cd6f79669
CRs-Fixed: 2133388
2017-11-04 06:59:44 -07:00
Rajeev Kumar Sirasanagandla
996e529f9d qcacld-3.0: Add support to query RCPI info
RCPI is measure of received RF power in the selected channel for a
received frame and is measured at the antenna connector and shall be
measured over an entire frame. It is a monotonically increasing,
logarithmic function of received power level.

Wlan firmware computes RCPI.

Add host support to query firmware for RCPI information of peer
mac address in sta, p2p client, softap and p2p go modes.

Change-Id: I43a061ad4ed0fceb66dbd82b1c35b7678ee2259c
CRs-Fixed: 1092612
2017-11-01 13:56:47 -07:00
Varun Reddy Yeturu
62c3265af2 qcacld-3.0: Check firmware MAWC capability
Check for the target capability for MAWC(Motion Aided Wireless
Connectivity) feature before sending the roaming or PNO based
MAWC WMI commands to the firmware.

Change-Id: I0cc344d8307cf43996c2eede835bf9069790fa56
CRs-Fixed: 2117825
2017-10-26 16:53:08 -07:00
Dustin Brown
05557181ba qcacld-3.0: Abort suspend if critical events are in flight
There are some events from firmware that the driver would prefer to
process immediately. In some cases, these events can race with the
suspend process such that the event is not processed until the device
resumes. Keep a counter of so called "critical events" so the suspend
process can be aborted in the event of the aforementioned race
condition.

Change-Id: Ic8a557368d6cb62bed9fba424c851b48b16bc574
CRs-Fixed: 2125904
2017-10-25 13:41:18 -07:00
Srinivas Girigowda
ea4d806da9 qcacld-3.0: Fix checkpatch warnings (SPACING)
Fix checkpatch warnings (SPACING).

Change-Id: I966fe641b4722cc15584defc42c90921090687fb
CRs-Fixed: 2126814
2017-10-24 16:40:54 -07:00
Dustin Brown
d0a7656c2b qcacld-3.0: Converge on recommended wake lock duration
Over time, many arbitrary wake lock durations were chosen with very
little observational evidence to support them. Converge on a standard
recommended wake lock duration, which can serve as a starting point for
finding an appropriate wake lock duration.

Change-Id: Ie54c415870c96117d72ead4d677c4bfb2aad3ae4
CRs-Fixed: 2126685
2017-10-23 20:23:56 -07:00
Naveen Rawat
d8feac152e qcacld-3.0: Update 11AX - HE IE's based on new draft - 4/4
Update HE Capability/Operation IE based on new draft version D1.3.

Update driver changes for the frame changes made as part of
Ia295422fa697edea8a571be359f9983110bba969.

Change-Id: I22e4641e8fd15d647eb655c41c61389da8775766
CRs-Fixed: 2092845
2017-10-20 01:11:15 -07:00
Vignesh Viswanathan
731186f0ff qcacld-3.0: Add service_available_event handler for FILS roam capability
Currently, wmi_service_bitmap field in WMI_SERVICE_READY_EVENT is
exhausted. WMI_SERVICE_AVAILABLE_EVENT is available for upcoming
capability intimations.

Add service_available_event handler in host driver to extract
FILS roaming capability of fw. Based on this capability only,
send RSO, update connect params, HLP IE commands, GTK offload
are sent to fw.

Change-Id: I320ba86d29109d8cba23830ef9cb5e159792f19a
CRs-Fixed: 2094229
2017-10-19 13:52:33 -07:00
Wu Gao
7afc615be0 qcacld-3.0: Remove legacy P2P codes in WMA
To reduce code size, remove legacy P2P codes in WMA layer

Change-Id: Id34951ac907365ab4fcff6783000d745e84a8de7
CRs-Fixed: 2111575
2017-10-18 23:50:53 -07:00
Nachiket Kukade
8983cf61d2 qcacld-3.0: Support for configuring voltage corner mode
This change adds support for configuring voltage corner mode
thorugh INI parameter. User will provide a bitmap which will
be passed on to the FW during initialization. In this bitmap,
each pair of bits till BIT27 correspond to different phymode,
bw combination. Bit values signify voltage corner configuration.

Change-Id: I9e86d43079225b6f08fdd281c8f424b18abcffe9
CRs-Fixed: 2109884
2017-10-18 03:55:01 -07:00
Himanshu Agarwal
a1539d3e22 qcacld-3.0: Add sanity check for num_hw_modes and num_phy
Add sanity check for num_hw_modes and num_phy in wma_populate_soc_caps()
for WMI_SERVICE_READY_EXT_EVENTID.

Change-Id: I023d737449283f9ac092d278bde016b208b2c891
CRs-Fixed: 2119887
2017-10-12 14:02:13 -07:00
Himanshu Agarwal
8bcec57472 qcacld-3.0: Add INI support for best candidate algo and RSSI scoring
1) Currently all the parameter to decide best candidate are chosen
   as by default.
   Add INI support for those parameters to change values on basis
   of performance.
2) At the time of calculating best candidate score, rssi consider
   bucket size, good rssi, bad rssi, good rssi percentage from total
   rssi percentage, bad rssi percentage from total percentage.
   Configure these all params from ini.

Change-Id: I808a40486473fcbb161c12fbd369b3b846beb8c2
CRs-Fixed: 2121735
2017-10-12 14:02:08 -07:00
Sandeep Puligilla
819d94f731 qcacld-3.0: Don't roam to 2G AP when 5G only configured
STA is roaming to 2G AP even though 5G
only is configured through ini.
Set weightage of the 2G social channels
to zero so that firmware will not roam
to 2G channels.

Change-Id: I7dea8413618265e0f1fe353da4b858583c1921af
CRs-Fixed: 2117614
2017-10-12 13:59:27 -07:00
Rajeev Kumar
155a3e4a88 qcacld-3.0: Add 1 second timed wake lock for 4 way handshake
Add 1 second wake lock for 4 way handshake to avoid APPS
power collapse in middle of eapol exchange which can delay
the association process.

Change-Id: Ife73dc00aa05b5a80d0a90afd18468bd033ebdd9
CRs-Fixed: 2118533
2017-10-12 13:58:53 -07:00
Jeff Johnson
5a6b660768 qcacld-3.0: Replace typedef tSirLedFlashingReq
The current driver strategy is to converge on unified APIs, and the
unified WMI struct flashing_req_params conveys the same information as
typedef tSirLedFlashingReq, therefore replace tSirLedFlashingReq with
struct flashing_req_params.

Change-Id: I4ef75ee3bff7c83dbf8197bba0802569282a414f
CRs-Fixed: 2121335
2017-10-12 13:57:01 -07:00
Krunal Soni
aadaa27fbd qcacld-3.0: Provide SME API to send unit test command to FW
Current driver forming a unit test command within HDD layer and uses
message passing method to deliver it to WMA layer which
requires HDD layer to have a knowledge of how to form a unit test command.

User SME API to send params to WMA layer and let WMA form a unit test
command and send it directly to FW through WMI layer instead of HDD
forming and passing it down.

CRs-Fixed: 2118725
Change-Id: Id1838939813e6cd2d52cee8720a1f4e0ca34329b
2017-10-06 19:30:50 -07:00
Krunal Soni
a5ccb8007f qcacld-3.0: Keep wake lock while mac config is getting changed
Host should keep the wake lock from the time it sends
WMI_PDEV_SET_MAC_CONFIG_CMDID to FW till it receives the
WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID. This will avoid any fatal
crash condition.

Change-Id: Id16a1957b38acee6cf45c123ea9dbab25aae9b39
CRs-Fixed: 2070779
2017-10-06 12:27:26 -07:00
Nachiket Kukade
aaf8a71ef5 qcacld-3.0: Implementation to change BmissFinalBcnt dynamically
Implementation to change BmissFinalBcnt dynamically.
User can set totalBcnt using the new command
QCA_WLAN_VENDOR_ATTR_CONFIG_TOTAL_BMISS_CNT.
BmissFirstBcnt will retain its default value or from ini.
BmissFinalBcnt will be configured as (totalBcnt - BmissFirstBcnt).

Change-Id: Ie3c3895d48248d349400e755f07edc807e335b44
CRs-Fixed: 2081906
2017-10-04 08:41:24 -07:00
Krunal Soni
332f4afc05 qcacld-3.0: For host-invoked roaming to same AP, don't to send null frm
During host invoked roaming, set WMI_ROAM_INVOKE_FLAG_NO_NULL_FRAME_TO_AP
flag so that FW will not send NULL data frame while doing transition to
same bssid.

CRs-Fixed: 2046964
Change-Id: I043c3d2431e4da5af36fb710bd36a520550abbd3
2017-10-03 16:02:56 -07:00
Krunal Soni
e6a1cda95e qcacld-3.0: Bring back changes of Antenna sharing for STA
Change-id Iafd5666179d079c7bcc950277092cef3046356bf was added to remove
antenna sharing support from SAP and STA case but customer needs those
changes for SAP case only.
So bringing back changes for STA case.

CRs-Fixed: 2117829
Change-Id: I79f7c5ae1fd642f0b26170f066a5409638cdd873
2017-10-03 03:30:44 -07:00