Commit Graph

19983 Commits

Author SHA1 Message Date
Mohit Khanna
0bb3f018bf qcacld-3.0: Add NAN TX checksum offload INI entry
Currently there is a single INI item tcp_udp_checksumoffload to enable
or disable this feature for all the adapters. In some cases, we want to
be able to enable this feature selectively for NAN mode.

Add nan_tcp_udp_checksumoffload ini item to enable or disable checksum
offload feature specifically for NAN mode. If
nan_tcp_udp_checksumoffload is 'true' and tcp_udp_checksumoffload is
false, hardware checksum offload will be enabled only for the NAN
adapter and not for other adapters.

CRs-Fixed: 2698342
Change-Id: I56319095e6229d77ddb5c790d0af9c6ba0267611
2020-06-16 12:20:10 -07:00
nshrivas
cdd88ebae9 Release 5.2.0.190K
Release 5.2.0.190K

Change-Id: Ieb1c73d29968cc480635f95351cb980c1154e514
CRs-Fixed: 774533
2020-06-16 10:23:42 -07:00
Min Liu
0bf96737c8 qcacld-3.0: Set Wi-Fi configurations - NSS
Add attributes in SET_WIFI_CONFIGURATION to dynamically
configure capabilities - NSS.

Change-Id: Ib8174443d6737bc1f6c2737397bd915064715461
CRs-Fixed: 2709121
2020-06-16 10:23:42 -07:00
nshrivas
f710f5ef89 Release 5.2.0.190J
Release 5.2.0.190J

Change-Id: Iaf925d24d3b161d9edba51f950563453b5c3b339
CRs-Fixed: 774533
2020-06-16 06:15:45 -07:00
Subrat Dash
706377360e qcacld-3.0: Parse device info nl attribute in the oem vendor cmd
Userspace uses enum qca_vendor_oem_device_type to indicate
device type as vdev or pdev in the oem data vendor nl command.

This attribute is set to 1 to indicate that the oem data command
is meant for pdev and it is 0 for vdev. The default is vdev when
this nl attribute is not present.

The host driver should update the pdev_id of the vdev and fill
the pdev_vdev_flag to 1 for pdev commands.

Change-Id: I8bdf436759e0935c52bb09c2865fcb4a7a5ee4fc
CRs-Fixed: 2693892
2020-06-16 06:15:45 -07:00
nshrivas
caa2bd2e72 Release 5.2.0.190I
Release 5.2.0.190I

Change-Id: If300a5c4b5c80f64b4fb82f1fae1c5ac029c898d
CRs-Fixed: 774533
2020-06-16 01:52:52 -07:00
Srinivas Dasari
dc72fffd2b qcacld-3.0: Deprecate command support for QCA_NL80211_VENDOR_SUBCMD_NAN
QCA_NL80211_VENDOR_SUBCMD_NAN_EXT is introduced to carry NAN
command data along with channel info. This channel info is needed
to enable DBS on DBS supported platforms. The command data is sent
to firmware as it on non-DBS platforms.
Userspace is expected to send NAN commands through
QCA_NL80211_VENDOR_SUBCMD_NAN_EXT if it's supported. It can send
QCA_NL80211_VENDOR_SUBCMD_NAN if QCA_NL80211_VENDOR_SUBCMD_NAN_EXT
is not supported, which is expected to happen on older
platforms(non-DBS).
So legacy NAN command QCA_NL80211_VENDOR_SUBCMD_NAN is not allowed
on DBS platforms, as the command is sent to firmware without
enabling DBS.
Event part of QCA_NL80211_VENDOR_SUBCMD_NAN is still intact as it
carries NAN events from firmware to userspace.

Change-Id: Ie1aaf9f7ea051009125c972de4f0de13942448fb
CRs-Fixed: 2699605
2020-06-16 01:52:52 -07:00
nshrivas
515ea41025 Release 5.2.0.190H
Release 5.2.0.190H

Change-Id: Ic8103a08963900c99982422f58bef2e5aef44808
CRs-Fixed: 774533
2020-06-15 21:52:20 -07:00
hqu
e2e9ea6d37 qcacld-3.0: Add support for 64-clients
Add support for 64-clients.

Change-Id: Ic97ebb83190b5061734832f6dc6dcdb6d0bdac2b
CRs-Fixed: 2625495
2020-06-15 21:52:20 -07:00
hqu
03c1b12671 qcacld-3.0: Add maximum sta number limitation for each pe_session
Currently use maxStation to create dph_hash_table for each
pe_session, actually maxStation is total allowed maximum
sta for all pe_session that gets from ini gSoftApMaxPeers
and firmware capability.

SIR_SAP_MAX_NUM_PEERS is maximum sta number for each pe_session
and can be configured from config file, add max_sta_of_pe_session
to limit maximum sta number for each pe_session, set
max_sta_of_pe_session as minimum value between maxStation and
SIR_SAP_MAX_NUM_PEERS.

Change-Id: Iaa01c91cd164c470b3f76bffc826ca5abdd4d0d3
CRs-Fixed: 2676484
2020-06-15 21:52:12 -07:00
nshrivas
653f2d1dbb Release 5.2.0.190G
Release 5.2.0.190G

Change-Id: I2849fc97819d06de8e9a4516674f312cf816657c
CRs-Fixed: 774533
2020-06-14 22:14:05 -07:00
Jinwei Chen
3f4590be9a qcacld-3.0: flush batched GRO_NORMAL packets
Kernel 5.4 has applied batched GRO_NORMAL packets processing
for all napi_gro_receive() users. this requires NAPI users to
call napi_complete_done() or napi_complete() at the end of every
polling to flush batched GRO_NORMAL packets.
However, by current wlan driver design, napi_gro_recevie()
is not happened in same NAPI polling context and done in another
thread context, it likely packets which have not been flushed from
napi->rx_list will get stall until next RX cycle.

Fix this by adding a manual flushing of the list right after
napi_gro_flush() call to mimic napi_complete() logics.

Change-Id: Id8c1b9360c380c9631c85f5e048ae2cd2798f65b
CRs-Fixed: 2673959
2020-06-14 22:14:05 -07:00
nshrivas
fb6b07815b Release 5.2.0.190F
Release 5.2.0.190F

Change-Id: If4fa8ac1af4c5269aa91e19cd11f9173b1830f46
CRs-Fixed: 774533
2020-06-13 03:23:38 -07:00
Rakesh Pillai
f316ead4db qcacld-3.0: Vote for high DDR bandwidth in FTM mode
In FTM mode, we are not voting for any DDR frequency,
which leads to uneven TX/RX duty cycle, since the DDR
frequency will entirely depends on any other subsytem's
vote.

Vote for VERY HIGH BW in FTM mode.

Change-Id: I7f85fb9889d9119c7224c9bcd9688327e78f15ff
CRs-Fixed: 2706143
2020-06-13 03:23:38 -07:00
nshrivas
6fe1bde368 Release 5.2.0.190E
Release 5.2.0.190E

Change-Id: I9795b1dd4ce1543e903c2ab43ab21294b2c729f6
CRs-Fixed: 774533
2020-06-12 23:33:21 -07:00
Abhishek Ambure
3118d4c038 qcacld-3.0: Add support for ESS RSSI roam trigger reason
In the beacon, ESS report element gives the information of a BSS
that station learns and uses for roaming. Hence enable BIT(16)
ROAM_TRIGGER_REASON_ESS_RSSI of "roam_triggers" INI.

Change-Id: I47f35c3fad640054a54ccb3874475a1c59b51489
CRs-Fixed: 2688522
2020-06-12 23:33:21 -07:00
nshrivas
1c029227d1 Release 5.2.0.190D
Release 5.2.0.190D

Change-Id: I458db3c7bc57dcdf2005d07a6d25f8665b95c94d
CRs-Fixed: 774533
2020-06-12 21:28:16 -07:00
Jianmin Zhu
d8097322f0 qcacld-3.0: Add reference when access vdev
adapter->vdev should never be referenced directly, and instead
must be accessed only via hdd_objmgr_get_vdev() and
hdd_objmgr_put_vdev() so that proper reference counting is
enforced.

Change-Id: Ib3efc05426105494f13ada7efed6175f88c5d141
CRs-Fixed: 2708758
2020-06-12 21:28:15 -07:00
nshrivas
dfad1b6031 Release 5.2.0.190C
Release 5.2.0.190C

Change-Id: Ie5bb0272bb698391fa46e413378b251d5b0e5a8c
CRs-Fixed: 774533
2020-06-12 09:04:13 -07:00
Surabhi Vishnoi
040f58df32 qcacld-3.0: Compilation fixes when CONFIG_WLAN_CFR_ENABLE is set
For adrastea targets, enhanced CFR is not supported. When only
CONFIG_WLAN_CFR_ENABLE is set, some compilation errors are
observed as CONFIG_WLAN_ENH_CFR_ENABLE is not set true.

Fix these compilation errors when only CONFIG_WLAN_CFR_ENABLE
is set for targets which do not support enhanced CFR.

Change-Id: Ifafa3880757c5595e1cb2da45aae1c87d50a7aae
CRs-Fixed: 2706901
2020-06-12 09:04:11 -07:00
nshrivas
fd1cc0302e Release 5.2.0.190B
Release 5.2.0.190B

Change-Id: I9aaefb61ffdebe1ae1183385573ea18d67813932
CRs-Fixed: 774533
2020-06-12 01:04:08 -07:00
Sourav Mohapatra
8f28b9e42b qcacld-3.0: Check for invalid put_ref scenario for sta_info
Currently in the ref_count mechanism used for sta_info, the driver has
no checks to determine if there are any faulty ref counting instances.
In case multiple ref_put are done for a single take_ref, it can lead to
a memory corruption.

Add a sanity check in hdd_sta_info_put_ref that causes a device assert
in case the put_ref is called on a sta_info with already zero ref_count.

Change-Id: I0b502e1df4c37601b46cc727acc94a72a401e051
CRs-Fixed: 2707614
2020-06-12 01:04:08 -07:00
nshrivas
7066cf0560 Release 5.2.0.190A
Release 5.2.0.190A

Change-Id: I7903414ba20b1000f96c1455e2907efdc4eb85aa
CRs-Fixed: 774533
2020-06-11 05:30:53 -07:00
Min Liu
fde76d4e9c qcacld-3.0: Set Wi-Fi configurations - bandwidth configurations
Add attributes in SET(GET)_WIFI_CONFIGURATION to dynamically
configure capabilities - CHANNEL_WIDTH and DYNAMIC_BW.

Change-Id: I4d577f057e5d1b385ab7a6fadcb344dc30b85c4c
CRs-Fixed: 2694656
2020-06-11 05:30:53 -07:00
nshrivas
58347393f4 Release 5.2.0.190
Release 5.2.0.190

Change-Id: Ifa245908f2eee044dcea98323dac62d672a1c141
CRs-Fixed: 774533
2020-06-11 02:04:35 -07:00
Nisha Menon
46b0fb5f0c qcacld-3.0: Add node to sysfs to print wlan mem usage
The wlan_mem_stats node will print the DMA, SKB and heap
memory allocated in the wlan host driver. This is applicable
to perf and defconfig builds.
File path to new node is:
/sys/kernel/wifi/wlan/wlan_mem_stats

Change-Id: Ic05423d362de1ef07a3ecbdd6408a7226e2a3c2f
CRs-Fixed: 2680360
2020-06-11 02:04:35 -07:00
nshrivas
6d3dbec5df Release 5.2.0.189Z
Release 5.2.0.189Z

Change-Id: Ib875cdde7cdd1677d9d09900342a231d6ab5fa93
CRs-Fixed: 774533
2020-06-10 20:23:08 -07:00
Alan Chen
6ead5beaab qcacld-3.0: Add a wakelock and prevent suspend during idle shutdown
System suspend is occurring a few seconds before idle shutdown while
it was set to deinit state. Add a wakelock and prevent suspend during
idle shutdown.

Change-Id: I976bdece04857045e272c5c3e26db51fb63c51cf
CRs-Fixed: 2706275
2020-06-10 20:23:07 -07:00
Wu Gao
5e262a7c8b qcacld-3.0: Use min/max macro to update start/end range of 6ghz
Use MIN_6GHZ_CHANNEL to replace CHAN_ENUM_5945, MAX_6GHZ_CHANNEL to
replace CHAN_ENUM_7105, since min/max channel of 6ghz may be changed.

Change-Id: Ibb0aa4182162d956d632b271cbbfef5af07f918c
CRs-Fixed: 2706639
2020-06-10 20:23:04 -07:00
nshrivas
5d55b3cb4c Release 5.2.0.189Y
Release 5.2.0.189Y

Change-Id: I2e777b8ed05b708254285807b145408eb278089f
CRs-Fixed: 774533
2020-06-10 18:13:36 -07:00
Srinivas Dasari
662a62841c qcacld-3.0: Don't create wifi-aware0 interface if NAN is not supported
Currently, NAN discovery interface(wifi-aware0) is created if both
host and firmware support NAN separate vdev feature. But NAN
feature capability(gEnableNanSupport) is the master of these
capabilities. Don't create wifi-aware0 if gEnableNanSupport is
disabled.
Also, don't allow NAN iface creation for the kernels less
than 4.14 as NAN interface is allowed by kernel only from 4.14.

Change-Id: Iaf10974c373b2a77d2c24a78540910f78a3dc768
CRs-Fixed: 2706997
2020-06-10 18:13:36 -07:00
Saket Jha
160fab39e1 qcacld-3.0: Correct arguments for fisa rx flow setup
Due to recent changes, hal_rx_flow_setup_fse() should receive hal_soc as
argument during rx_flow setup.

Change-Id: Ic39f476b211417469e004d85cd03c6b868d97405
CRs-Fixed: 2706239
2020-06-10 18:13:33 -07:00
nshrivas
9f20215b52 Release 5.2.0.189X
Release 5.2.0.189X

Change-Id: I9a74974d324e17c1587eccdbaba9134fd3c842f5
CRs-Fixed: 774533
2020-06-10 11:53:25 -07:00
Abhinav Kumar
555d20fd3d qcacld-3.0: Fix invalid opclass error while processing BCN RPT
In case if AP's country code present as "US 0x4" in beacon report
request, it means AP wants us to use global opclass.

Fix is to allow driver to use global opclass AP's country code
present as "US 0x4" in beacon report.

Change-Id: I3f6c132803dc4c5a85aea95c5fc39ac7be670aee
CRs-fixed: 2706733
2020-06-10 11:53:25 -07:00
nshrivas
610272d619 Release 5.2.0.189W
Release 5.2.0.189W

Change-Id: I9d29b5a5a454b3d8c782ec51acfa858f505cce4b
CRs-Fixed: 774533
2020-06-10 07:26:02 -07:00
Mohammed Siddiq
c09b4e4631 qcacld-3.0: Add ipci apis for SOC wake and athdiag
Add PLD layer ipci bus apis for soc wake request,
wake release, athdiag read and athdiag write.

Change-Id: I966b4d47b6967615c11420d0b991ac175bf7c276
CRs-fixed: 2702459
2020-06-10 07:26:02 -07:00
Utkarsh Bhatnagar
8dc550caba qcacld-3.0: Change prior conditions required for chainmask
Change the prior conditions required for configuring Rx Chainmask &
Tx Chainmask.
Below conditions should be met for setting chainmask:
1. Antenna sharing should be disabled.
2. If gEnable2x2 is 1 then enableBTChainSeparation must be 1
   else gEnable2x2 should be 0.
3. DBS should be disabled (gDualMacFeatureDisable = 1)
   or HW should be DBS 2x2 capable
4. set TX/RX chainmask 3 in ini (gSetTxChainmask1x1/gSetRxChainmask1x1)
5. HW should support TX/RX chainmask as 3

Change-Id: If83c55af47abb591cdf1b5d2e3981d80bc305bf2
CRs-Fixed: 2705520
2020-06-10 07:25:58 -07:00
Abhishek Ambure
9e3400ac77 qcacld-3.0: Add support to configure max ndi host supports
Introduce INI "ndi_max_support" to configure max number of ndi
interfaces host supports. Host configures max number of ndi
interfaces support in firmware using WMI_INIT_CMD.

Change-Id: I287b9f96b98103e67cf35d0c02488a28af731044
CRs-Fixed: 2701557
2020-06-10 07:25:54 -07:00
nshrivas
9b85558666 Release 5.2.0.189V
Release 5.2.0.189V

Change-Id: I1f5c8c21e4ea993f41bc77b56a4986974ad8f881
CRs-Fixed: 774533
2020-06-10 01:56:06 -07:00
Utkarsh Bhatnagar
3b117bb647 qcacld-3.0: Add pointer sanity check for mac context
Add pointer sanity check for mac context in wma_send_peer_assoc_req
as cds_get_context may return Null for mac context

Change-Id: I75a54d728f2c276a9aeeb1ee7d8ea46180540ac8
CRs-Fixed: 2706149
2020-06-10 01:56:06 -07:00
nshrivas
bce7da8dfa Release 5.2.0.189U
Release 5.2.0.189U

Change-Id: I49aaac7b1119fc2c1951c37cadb54a01ab5f3537
CRs-Fixed: 774533
2020-06-09 23:59:29 -07:00
Kiran Kumar Lokere
2c3a4ea4e9 qcacld-3.0: Fix the 6G band capability config to FW
Convert the 6GHz capability local struct value to raw 32-bit
value to before configure it to FW.

Change-Id: Ia9f7d7d35b0f481ad9ae7d15eec5ee198158da88
CRs-Fixed: 2696392
2020-06-09 23:59:29 -07:00
nshrivas
01762e9be8 Release 5.2.0.189T
Release 5.2.0.189T

Change-Id: Ieb730ee9fd17892c9fa163737351203f85dcf500
CRs-Fixed: 774533
2020-06-09 21:53:26 -07:00
Ashish Kumar Dhanotiya
0e86934fd2 qcacld-3.0: Add driver command to dump function call mapping
Add driver command support to dump all the function call
mapping which is cached in global buffer.

Change-Id: I03b2162ccda171005e6fa8a7bb09cbf9c4819421
CRs-Fixed: 2677976
2020-06-09 21:53:25 -07:00
nshrivas
3c8f4c40b5 Release 5.2.0.189S
Release 5.2.0.189S

Change-Id: If589975cade227843bec0cab53130c592ca53851
CRs-Fixed: 774533
2020-06-09 19:16:01 -07:00
Utkarsh Bhatnagar
4d345a3488 qcacld-3.0: Add pointer sanity check in wma_post_chan_switch_setup
Add pointer sanity check in wma_post_chan_switch_setup

Change-Id: I2972d033605895b0fe626593854798b112621eab
CRs-Fixed: 2706172
2020-06-09 19:16:01 -07:00
nshrivas
ca6015c303 Release 5.2.0.189R
Release 5.2.0.189R

Change-Id: I1b452943179b57f3430a93530213e99b5ae11b86
CRs-Fixed: 774533
2020-06-09 16:29:48 -07:00
Utkarsh Bhatnagar
e78f2a6224 qcacld-3.0: Add pointer sanity check in wma_pre_chan_switch_setup
Add pointer sanity check in wma_pre_chan_switch_setup

Change-Id: If7753f0e99993c3744b5c0d801284b4648a0fde8
CRs-Fixed: 2705037
2020-06-09 16:29:48 -07:00
Utkarsh Bhatnagar
7306d6ec05 qcacld-3.0: Add pointer sanity check for mac_phy_cap
Add pointer sanity check for mac_phy_cap in wma_update_hw_mode_list
as target_psoc_get_mac_phy_cap may return Null for mac_phy_cap

Change-Id: Id45b77fa4daf3df0680ee247355dbc87e0402dd9
CRs-Fixed: 2706156
2020-06-09 16:29:45 -07:00
nshrivas
7cd1daa826 Release 5.2.0.189Q
Release 5.2.0.189Q

Change-Id: I0e49dfacca301be0b21cc63683e4cec1f15bd1e2
CRs-Fixed: 774533
2020-06-09 14:30:39 -07:00