Commit Graph

9555 Commits

Author SHA1 Message Date
Yu Wang
6f01abdb21 qcacmn: initialize coex psoc obj when psoc is created
In current code, coex psoc obj is initialized in psoc open, the
configurations will be cleared in psoc close/open during
idle shutdown/restart.
To keep the configurations during the entire lifecycle of psoc,
initialize coex psoc obj when psoc is created.

CRs-Fixed: 2714050
Change-Id: I3cda4c7fd1c0ac482d44a9e80df342a8255fca9d
2020-09-16 13:40:25 -07:00
Jayachandran Sreekumaran
e238ccb793 qcacmn: Add config option to set rts/cts rate
Add config option to set rts/cts rate.

Change-Id: Ifaaca2f60c90508ebbc88e096c6c1ce0b80bb7de
CRs-Fixed: 2771302
2020-09-16 13:40:22 -07:00
Ankit Kumar
bdddeb7c22 qcacmn: Add frame vdev id check in tx
Drop frame if it is not for the vap, to which
client is connected.
Enable this check only for ap.

Change-Id: I33d7eb79267490bdb8697e4e45f789e9f6279f0e
CRs-Fixed: 2756304
2020-09-16 09:30:33 -07:00
Jayachandran Sreekumaran
c886b4c527 qcacmn: Maintain peer object refernce during frame delay
Maintain the peer object reference while delaying the processing
of peer frames.

Change-Id: Ia3df18f1281403c6ed36bfbc307b6928d3db9040
CRs-Fixed: 2769113
2020-09-16 07:11:14 -07:00
Jayachandran Sreekumaran
107f53c315 qcacmn: iot_sim frame drop support for disassoc and deauth
Add iot_sim frame drop support disassoc and deauth frames.

Change-Id: I26fb606d49a05754f1175c36b8fb14d1003c75f0
CRs-Fixed: 2765421
2020-09-16 04:51:58 -07:00
Debasis Das
26833e494d qcacmn: Unmap previously mapped frags in case of failure
While creating sg frames,if map fails for a fragment,
the previously mapped fragments must be unmapped.
Also, the nbuf mapping should happen for headlength.

Change-Id: I218efa60be7100a661da7bc3783fa25e5203a273
2020-09-16 04:51:55 -07:00
Abhinav Kumar
a253ce3577 qcacmn: Remove unused roam ini gRoamBeaconRssiWeight
Currently, gRoamBeaconRssiWeight is not used in HOST or
FW.

Remove logic to pass value of INI gRoamBeaconRssiWeight
to FW.

Change-Id: Ifa1472ef413d20d0e54649bc24dd6c8d6aac4bc7
CRs-Fixed: 2770278
2020-09-16 04:51:51 -07:00
Nisha Menon
095453ad08 qcacmn: Increase num of entries in CE2 dest and status rings
Increase the num of entries in host side from 32 to 64
so FW can post more descriptors to host src ring
without hitting ring full condition. This is to avoid
back pressure issues in FW. The memory increase is
by 32*4K allocations.
This change is applicable to all HSP targets.

Change-Id: Ia973e13b9d9b2b682957ae19fc3f23dd49bef401
CRs-Fixed: 2761953
2020-09-16 02:33:21 -07:00
Chaithanya Garrepalli
be355211df qcacmn: initialize dp peer state lock before ast add
As DP peer state lock is used in add_ast API initialize
it before calling this API

Change-Id: I212449f6bd25b05241c35678f2d77f779f4fab4e
2020-09-16 02:33:17 -07:00
Mohit Khanna
8e57f126b5 qcacmn: Use zero timeout in non interrupt mode during force wake
Currently we use a single timeout value of FORCE_WAKE_DELAY_TIMEOUT_MS
during hif_force_wake_request. A 50ms value is not enough in some cases
to bring MHI to M0 from M2/M3_fast states. This can result in a write
failure.

In certain cases, when not in an interrupt context, it should be okay
to wait slightly longer for MHI to transition into M0.
Hence, pass 0 as the timeout value to pld_force_wake_request_sync.
This API calls CNSS API which uses a blocking call -  mhi_device_get_sync,
to transition MHI to M0, when a value of zero is passed.

Change-Id: I738bf9c4a9a83c943186445cba0174df18a45c74
CRs-Fixed: 2766674
2020-09-16 02:33:14 -07:00
Kani M
bc64bbccf3 qcacmn: Error handling in Crypto API
Incorporate cleanup in the error handling for
Crypto API.

Change-Id: I223d8149eada20b7bf5b2c92d485a26b88d1a00e
2020-09-15 23:03:54 -07:00
Gerrit - the friendly Code Review server
2b0ec006bd Merge changes into wlan-cmn.driver.lnx.2.0 2020-09-15 22:08:44 -07:00
gaurank kathpalia
4609c06b56 qcacmn: Handle serialization activation and hw mode change resp
Handle the serialization activation callback for connect and
disconnect and hw mode change resp for connect.

Change-Id: I553a650ea04daa5aa22ee43376b9359aed58c59f
CRs-Fixed: 2776022
2020-09-15 18:25:02 -07:00
aloksing
f1ebce2cec qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS

Change-Id: Ie65a3707aa24213daf97c2bf36310d6471b31733
2020-09-15 18:24:59 -07:00
Alok Singh
60e5004ace qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: I29fd5e645c7b43c74e28494c83a6f7d460165e2e
2020-09-15 18:24:56 -07:00
Alok Singh
8ae5bcc124 qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: If77efc6a5b451bf2cf4acb59d5a2126ce486f02f
2020-09-15 18:24:52 -07:00
Alok Singh
45298ac99f qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: Ia6d1781f2bf1eea85d4af357e37a00b1f78e264e
2020-09-15 18:24:49 -07:00
Alok Singh
68874e3c6b qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: I18c687ad0564ec70e28cf1f33f26501dda6ee5c5
2020-09-15 18:24:45 -07:00
Alok Singh
54aae4d5e6 qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: I1dc098793e1df658666343d4293fe3f1c02daf34
2020-09-15 18:24:42 -07:00
Alok Singh
43932952ca qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: Icfa7946a447f3cfe8c6ce933a618e8dbb67bd6a0
2020-09-15 18:24:39 -07:00
Alok Sing
40502e26b4 qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS
Handle same return type in caller function

CRs-Fixed: 2764185
Change-Id: I87b1e6ee5e06e4e6af81395d977595335fe0bc5c
2020-09-15 18:24:35 -07:00
aloksing
a9d5d1ee00 qcacmn: Change return type to QDF_STATUS
wmi_unified_register_event return QDF_STATUS

CRs-Fixed: 2764185
Change-Id: I266e5042ff45ba33ab5d53592515bceb4fec92ac
2020-09-15 18:24:32 -07:00
gaurank kathpalia
b35ff6577c qcacmn: use proper event post API for internal and external events
Use cm_sm_deliver_event() API to post the event from any
callback/req/resp from external modules. i.e serialization/hw mode
callback OR any resp from SB/other module or req from NB.

And use cm_sm_deliver_event_sync() API to post the event when the
SM lock is already taken i.e. internal posting of the event.

Also to avoid any race add the connect/disconnect req to the
connection manager request list after posting to the SM.

Change-Id: I98fc39be5ef51242553dae54448c3fe2cb9604d2
CRs-Fixed: 2776010
2020-09-15 18:24:29 -07:00
Debasis Das
721fccdad5 qcacmn: For me pkts, unmap buffer that holds dest mac
Before freeing me packets, the buffer holding the dest mac
address must be unmapped.

Change-Id: I551666efb0a17245d7d654cdf362a470410ceda4
2020-09-15 16:01:18 -07:00
Liangwei Dong
2b2ff01a06 qcacmn: Set thermal action to FW in thermal mgmt command
Set "action" field when send WMI_THERMAL_MGMT_CMDID
to firmware. Then driver can configure the target management action
based on different customer requirement.

Change-Id: I3da5eea0d756444ede816be5cb74407863d63781
CRs-Fixed: 2767144
2020-09-15 11:38:52 -07:00
Jhalak Naik
41e8d82db9 qcacmn: Hex dump generation for WMI events and commands
This records all the WMI events and commands, for all
PDEVs. Set WMI_EXT_DBG flag to enable this feature. Refer
Original Change-Id: I18e46f683e35912cad717ca3b9cc3d1885315362

Change-Id: I4c9bdfe6fdd195656ca0c01ca400eba595be24a3
CRs-Fixed: 2762266
2020-09-15 11:38:47 -07:00
Sandeep Puligilla
1e325d2b3a qcacmn: Add Interface module ID
Add interface module in the qdf trace.

Change-Id: I4053c46fec29bcae75a0505e93f53f01a05d3332
CRs-Fixed: 2767862
2020-09-15 09:28:57 -07:00
Jia Ding
9f0246370d qcacmn: Do smmu unmap for IPA TX and RX doorbell registers
During driver initialization, IPA TX and RX doorbell registers
are provided to wlan as physical addresses. With SMMU S1 enabled,
they're mapped to IOVA of wlan domain.

On driver deinit path, do smmu unmap for the two IOVA addresses.

Change-Id: I85ef1c3e99bef504abf09eebf9ace760b68f35f1
CRs-Fixed: 2768303
2020-09-15 09:28:54 -07:00
Naga
c4cd90a9c4 qcacmn: FR-64492 WDS Extended support
- Added data structure for wds ext peer
- Enhanced DP peer structure to maintain
  wds ext peer data structure, which inturn
  maintain pointer to osif device.
- Enhanced DP vdev structure to maintain feature
  configuration, which will be updated during vdev
  creation when feature is flag is set at control
  psoc.
- Enhanced cdp_vdev_param_type and cdp_config_param_t
  to set wds ext configuration into DP vdev
- Enhanced cdp_cmn_ops structure and corresponding
  call back definitons to get peer id, which will
  be saved in osif private structure and to set
  wds ext peer rx.
- Enhanced cdp_ctrl_ops to send event to control
  path when 1st 4 address frame is received from
  backhaul.

Change-Id: Ide0ea54e7b2d480ad646fb84b6e4e3108930f986
CRs-Fixed: 2773492
2020-09-15 07:19:50 -07:00
Ankit Kumar
aae959eec4 qcacmn: Add ini interface for frame vdev id check
Add ini interface to enable disable frame vdev id check
in tx.

Change-Id: Ieedfb11c4ff181255150e9350140b6b6c9b425e6
CRs-Fixed: 2756303
2020-09-15 07:19:46 -07:00
Jinwei Chen
4fdb9be461 qcacmn: Retry reo_dst_ctrl register writing if fails
If reo_dst_ctrl register writing failed, this is a fatal error for
IPA pipe going to down case as RX frames will still be routed to
IPA rings then hit NOC error. retry register writing to see any
chance to write successfully, if fail always, trigger SSR or panic.

Change-Id: I3c03faa28e6cc93f396944579a360d5405c8138e
CRs-Fixed: 2774789
2020-09-15 04:59:41 -07:00
Abhishek Ambure
8248366419 qcacmn: Add ini support for SAE-PK roam score
SAE Public Key (SAE-PK) authentication is an extension of SAE. Host adds
support for SAE-PK APs roam score which host uses to select AP for initial
connection and roaming.
User configures SAE-PK APs weightage using INI "sae_pk_ap_weightage".

Change-Id: I9066c483188bcbf01e3ffbcc4c57f04e1a9129f1
CRs-Fixed: 2769373
2020-09-15 04:59:38 -07:00
Ashish Kumar Dhanotiya
76c1c5f124 qcacmn: Handle connect response in osif for connection manager
Add connection manager connect response handler in osif to
handle and send the connect response to kernel.

Change-Id: If675055cb2133e64b4b32a47271b12a59eac4a66
CRs-Fixed: 2765977
2020-09-15 02:46:07 -07:00
Liangwei Dong
12cef43327 qcacmn: Disable 6Ghz channel update for P2P scan
Currently P2P doesn't support 6Ghz, disable P2P interfaces
6Ghz channel list updating to reduce P2P scan time duration.

Change-Id: Idd851dfb52e123215c5a2bd968f896e88a0dfb0e
CRs-Fixed: 2774756
2020-09-15 02:46:03 -07:00
Min Liu
a77e55a3ec qcacmn: Add NULL pointer check for coex_ops
Add NULL pointer check for coex_ops.

Change-Id: I7e839ed6f8d1ebe9745c5d6094c31613bd620d19
CRs-Fixed: 2773955
2020-09-15 02:46:00 -07:00
Srinivas Girigowda
5040a3b6ed qcacmn: hal: Remove redundant __func__ from the logs
The logging macros implicitly takes care of embedding function name
in the log, hence there is no need to include __func__ again.
Getting rid of redundant __func__ reduces driver memory footprint.

Change-Id: I6b5beea990e78486e1e5aab5a8df5fc2f1e5ab51
CRs-Fixed: 2774457
2020-09-15 02:45:57 -07:00
Srinivas Girigowda
51ba6fe67c qcacmn: utils: Remove redundant __func__ from the logs
1. The logging macros implicitly takes care of embedding function name
in the log, hence there is no need to include __func__ again.
Getting rid of redundant __func__ reduces driver memory footprint.

2. Instead of adding __func__ to the qdf_nofl_* macros, its better to use
   qdf_* which already takes care of adding __func__.

Change-Id: If5717c811016845b5cffcf3fdc97805f3a1b731b
CRs-Fixed: 2774457
2020-09-15 02:45:54 -07:00
Srinivas Girigowda
99cdc9aeff qcacmn: umac: Remove redundant __func__ from the logs
The logging macros implicitly takes care of embedding function name
in the log, hence there is no need to include __func__ again.
Getting rid of redundant __func__ reduces driver memory footprint.

Change-Id: Ife4d1dbb9bfafa4381f1017e331ddef247c649c2
CRs-Fixed: 2774457
2020-09-15 02:45:50 -07:00
Srinivas Girigowda
a104d7b453 qcacmn: dp: Remove redundant __func__ from the logs
The logging macros implicitly takes care of embedding function name
in the log, hence there is no need to include __func__ again.
Getting rid of redundant __func__ reduces driver memory footprint.

Change-Id: I26bfac840ac6732ac83fb008db8e1702996eb21e
CRs-Fixed: 2774457
2020-09-15 02:45:47 -07:00
Mainak Sen
6f892d8f22 qcacmn: Enable hlos tid override on STA VAP
Enable hlos tid override support on STA VAP
as required for EasyMesh.

Change-Id: Idef271c2459cdb58847313ae04f09917b1858031
2020-09-14 09:55:22 -07:00
Yeshwanth Sriram Guntuka
4aa291d159 qcacmn: Do explicit system wakeup for group intr in D0-WoW
In P2P GO mode, on system suspend to s2idle state, bus
is suspended and D0-WoW is enabled. Ping requests from
P2P client cause the REO interrupt to fire but since
system is in s2idle state, system is not woken-up. This
results in destination unreachability or large rtt for
ping on P2P client.

Fix is to do explicit system wakeup when group interrupts
fire after system is in suspend state.

Change-Id: Ic6f51c3fc8bad6da29adf58972890677a81f2064
CRs-Fixed: 2765037
2020-09-13 12:53:07 -07:00
Jingxiang Ge
3d5a0c6aba qcacmn: Fix align issue for nbuf alloc
Current code it doesn't realize alignment.
Eg: if require 4096Bytes, it will alloc 4099Bytes,
which cause 2 pages here.

Fix is using qdf_align to align memory size.

Change-Id: I8eca9a085c0270f47318e64cefba686eac39a69a
CRs-Fixed: 2773627
2020-09-12 15:59:30 -07:00
Naga
d0a144af3c qcacmn: Define feature flag for WDS extended
Define SOC level feature flag for WDS extended,
which will configured through ini.

Change-Id: I63a6eaeff5946d12cc92f8996c572f025fbc44f2
CRs-Fixed: 2774054
2020-09-12 08:17:22 -07:00
Naresh Parati
566294eb0e qcacmn: Add QCA vendor attributes for ACS over EDMG (IEEE 802.11ay)
QCA_WLAN_VENDOR_ATTR_ACS_EDMG_ENABLED, conduct ACS for EDMG.
QCA_WLAN_VENDOR_ATTR_ACS_EDMG_CHANNEL, return the EDMG channel.

Change-Id: I4b78aea28e3e6be90b1c19e1a4dcfe84eaafa623
2020-09-12 08:17:19 -07:00
Lincoln Tran
2d6c178775 qcacmn: Assign the bss validation event in if_mgr
Assign the candidate validation event handler in the interface
manager. Modify the event data structure to carry information
about the candidate that needs validation.

Change-Id: I6091496df72de34177d4bf5cdfa6fe2db1385084
CRs-fixed: 2774548
2020-09-12 01:59:52 -07:00
Ashish Kumar Dhanotiya
45a6ac131e qcacmn: Handle disconnect ind to kernel for connection manager
Add support in connection manager for disconnect done indication
to kernel.

Change-Id: Ia4e767a95403de04268ed8c5e424974788c90b17
CRs-Fixed: 2765978
2020-09-11 23:39:42 -07:00
Chaithanya Garrepalli
96d7fbafaf qcacmn: fix double nbuf allocation false positive
In qdf_nbuf_queue_free API __qdf_nbuf_free API is
called to free the nbuf which is not clearing the debug
node instead call qdf_nbuf_free API to delete the nbuf
debug node and free nbuf

Change-Id: I34f06a440ce7758d4ea02fbd1d696366460aa871
2020-09-11 19:08:19 -07:00
Nisha Menon
1c50a00210 qcacmn: Update the gold core latency on clearing cpu_mask
Add qdf framework apis to clear cpu_mask and loop
through cpus present and excluded in the cpu_mask.
Use the apis to clear the cpu_mask and loop through
cpus included in and excluded from the cpu_mask to
ensure that the latency of the cores is set correctly.

Change-Id: I131ef3df2ec5b1e5a1a78d39cbc5a5dedbaa2903
CRs-Fixed: 2772353
2020-09-11 16:17:49 -07:00
Rakesh Pillai
c013de5747 qcacmn: Fix the identifier names for SWLM
The identifiers for SWLM are named incorrectly.
Fix these incorrect naming in SWLM.

Change-Id: I107c22df96c65997a349c0dc1a746e06f1c5b5fa
2020-09-11 16:17:46 -07:00
Abhishek Ambure
d2b4830a59 qcacmn: Add vendor attributes to configure FT/OCV/SAE test params
Add new QCA vendor attributes to configure RSNXE Used (FTE), ignore CSA,
ignore SA Query timeout and OCI frequency override with QCA vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION for STA testbed role.

Change-Id: I8f46361023444661bd522c8731b4edd864c8cff6
CRs-Fixed: 2759772
2020-09-11 13:55:49 -07:00