Commit graph

9,517 commits

Author SHA1 Message Date
Srinivas Girigowda
a5aa1420d2 qcacmn: Replace WMI_LOGW() with wmi_* appropriate log level
Replace WMI_LOGW() with  with wmi_* appropriate log level.

Change-Id: Idfc41fed4f31fb197ca8f46d3ed3a4af21f2fdae
CRs-Fixed: 2774563
2020-09-17 10:18:45 -07:00
Srinivas Girigowda
29eadb8bc6 qcacmn: Replace WMI_LOGP() with wmi_* appropriate log level
Replace WMI_LOGP() with wmi_alert() or with appropriate log level.

CRs-Fixed: 2774563
Change-Id: I53ad75f3b645306551250f7f400f8802692a01a3
2020-09-17 10:18:41 -07:00
Manikanta Pubbisetty
905d9e33fb qcacmn: add INI to place FST in CMEM
In addition to firmware capability, add INI param to decide FST
placement in CMEM.

Change-Id: Icc5fdfa49e35665b59efce3fc1f1855d84c16140
CRs-Fixed: 2778898
2020-09-17 10:18:38 -07:00
Manikanta Pubbisetty
b36165ae23 qcacmn: export CMEM FST firmware capability to DP
Firmware advertizes its support to place FST in CMEM,
export this capability to DP.

Change-Id: I265246bcfd38a36e34c4ede66e117a92bb185032
CRs-Fixed: 2772238
2020-09-17 10:18:34 -07:00
Manikanta Pubbisetty
9c25cded62 qcacmn: add WMI service flag to place FST in CMEM
Firmware advertizes the capability to allocate CMEM memory for
FST via a WMI service flag; adding the support for the same.

Change-Id: Ic33bf0584f5ce4880fdfe5abe8fd4cf2a653a06e
CRs-Fixed: 2771256
2020-09-17 10:18:30 -07:00
Manikanta Pubbisetty
3433cf4974 qcacmn: add HAL APIs to configure FSE in CMEM
Adding HAL APIs for adding and reading flow search entries(FSEs)
in CMEM.

Change-Id: If8282c8be38a85e2344bb55ffa4e63a7577daa20
CRs-Fixed: 2771198
2020-09-17 10:18:26 -07:00
Manikanta Pubbisetty
1a4e3a96c7 qcacmn: add APIs to access CMEM
Adding write/read APIs for accessing the CMEM.

Currently in QCA6750, UMAC and CE windows are statically mapped,
a new static window for CMEM is added for CMEM transactions.

Change-Id: Ie10b33a6f468c6e4db314ea85856414962ef29e3
CRs-Fixed: 2771193
2020-09-17 10:18:23 -07:00
Manikanta Pubbisetty
2db8a92735 qcacmn: add FSE CMEM HTT response
CMEM FSE details like offset into CMEM where flow search table(FST)
is allocated and the size of the FST will be sent by the firmware
in response to FSE setup message. Adding the logic to parse the
response message and update the CMEM parameters in the SW FST.

Change-Id: Id1dd4b59be02c175da3fc6fcb5ed56e6f491133a
CRs-Fixed: 2771187
2020-09-17 10:18:19 -07:00
Manikanta Pubbisetty
059a6df613 qcacmn: add data structures to place FST in CMEM
Adding data structures required to place FST in CMEM.
CMEM is an on-chip memory in QCA6750.

Change-Id: I39d47d6f0514941497d41301643344ee3b2dad30
CRs-Fixed: 2771186
2020-09-17 10:18:16 -07:00
Yeshwanth Sriram Guntuka
fcdcc1005f qcacmn: Do not set pkt len to HTT_MAX_MSG_SIZE in PPDU ind handling
Skbs allocated for CE1 ring are of size 2048 bytes. On
receiving PPDU stats HTT message, skb is pulled for 8
bytes corresponding to the HTC header length. As part of
dp_ppdu_stats_ind_handler, skb len is set to HTT_MAX_MSG_SIZE.
In the case where skb allocation is exactly of 2048 bytes,
including HTC header length, the aforementioned set_len
causes the skb to be expanded due to lack of tailroom.
This causes the skb data pointer to be changed which results
in invalid memory access.

Fix is to remove the qdf_nbuf_set_pktlen as skb len is
appropriately set by HTC layer.

Change-Id: Ied68c30456dc0e263ccfd03102962233a0e43d9f
CRs-Fixed: 2777516
2020-09-17 00:21:57 -07:00
Amruta Kulkarni
c8c0eee515 qcacmn: Fix compilation errors in IF mgr
- Fix compilation errors seen after correcting Kbuild typo.
- Add debug logs in Interface mgr api's.
- Update disconnect functions to have correctly typed parameters.

Change-Id: Iea5b32c374da6eef2aa804483388072c297b5eff
CRs-Fixed: 2774517
2020-09-16 21:04:56 -07:00
Sandeep Puligilla
d57e7836dc qcacmn: Initialize the interface module
Initialize the interface module.

Change-Id: Ia62d17c7f92f001f00ee5cff7cf0a6d1dc4f08ce
CRs-Fixed: 2776686
2020-09-16 21:04:52 -07:00
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