Commit Graph

12674 Commits

Author SHA1 Message Date
Guisen Yang
b51b03ddca qcacmn: Add shadow address for CE3
When sending BE stream in epping mode, it fails when writing
registers of CE3 because the addr is not defined. Add this addr
to support epping mode data transfer.

Change-Id: I0d01cbee889c272b35a02bd1aca47f341f1edd2e
CRs-Fixed: 2901231
2021-03-24 09:48:04 -07:00
Pavankumar Nandeshwar
f3998b3f1d Revert "qcacmn: Reset rxdma2host dst ring mask for ipq5018 target"
This reverts commit I513a78639898c6f2bd9ea5418def03d64d7232d0.

Change-Id: Ia5952dae9c08a2227b0f6369cfe652007df41919
2021-03-24 06:44:27 -07:00
Manikanta Pubbisetty
86e32fb122 qcacmn: assert on processing invalid RX ring descriptors
Currently, we break the dp_rx_process() reap loop when we encounter
a ring descriptor with invalid bit set in SW cookie. If the HW
has copied old/stale entries in the ring, then we will end up
processing the same entry every time we try to reap the ring.
Instead, assert on processing such invalid entries so that
we can obtain useful debug information.

CRs-Fixed: 2904509
Change-Id: Iddde959a573ddf4ca364e1fb7a54ed0eaf4dc169
2021-03-24 06:44:23 -07:00
sheenam monga
3d7e6fb7c1 qcacmn: Remove unused api to find channel is dsrc or not
Remove unused api reg_is_dsrc_chan and wlan_reg_is_dsrc_chan.

Change-Id: I5f4d8aef6aee2c65fd6d0847fac88c1059e53490
CRs-Fixed: 2903007
2021-03-24 06:44:19 -07:00
Kiran Kumar Lokere
902d27c0d4 qcacmn: Vendor attribute for 6GHz connection with all security types
Add a QCA vendor attribute to configure the driver to allow the
6GHz connection with all security types. This attribute is used for
testing  purposes.

Change-Id: Icbd493a9a28bef77d8a31f12082a37a1bacdfd35
CRs-Fixed: 2900829
2021-03-24 04:33:40 -07:00
Kiran Kumar Lokere
3b81ea6e27 qcacmn: QCA vendor attribute to ignore SAE H2E requirement mismatch
Add a QCA vendor attribute to ignore SAE H2E requirement mismatch
for 6GHz connection. This attribute is used for testing purposes.

Change-Id: I9d1a5680d3949da1a8009f4689d0c2859f15989f
CRs-Fixed: 2900813
2021-03-24 04:33:36 -07:00
Ananya Gupta
6432642d91 qcacmn: rx desc sanity for reo error entry
Same cookie was provided in REO srng and REO exception
ring. As a result, NULL pointer dereference occurred in
dp_rx_reo_err_entry_process.
To fix this, adding nbuf paddr sanity check in
function dp_rx_reo_err_entry_process.

CRs-Fixed: 2892345
Change-Id: Ie359921d8a270a3428b8286792941e84b0c68425
2021-03-24 04:33:32 -07:00
Vivek
7bb2bd6eba qcacmn: Add API to get reference if not logically deleted
There are API to get vdev by reference from psoc by vdev id,
if either the vdev is in any state or the vdev is created state.

The wlan_objmgr_get_vdev_by_id_from_psoc return the vdev reference
only when the vdev is in CREATED state.

If the VDEV is in ALLOCATED or LOGICALLY DELETED state,
the API returns NULL.

In this new API we need to get the reference when
it would be in ALLOCATED state and not in LOGICALLY DELETED state.
We need an API to get vdev by reference only
if the vdev is not in logically deleted state.

Add API to get vdev from psoc by vdev id if
the vdev is allocated state and not in logically deleted state.

CRs-Fixed: 2901595
Change-Id: I1611c7e2a223ca8c4b0c3bf79ded35b2e958d113
2021-03-24 02:12:30 -07:00
Nitin Shetty
2c31ece247 qcacmn: adding peer_id check for MEC
adding peer_id check to MEC detection.

Change-Id: I717d65c4ba33feac2ac488548efe3fdf95598ca8
2021-03-24 02:12:26 -07:00
Amruta Kulkarni
f4891e164c qcacmn: Fix declaration of wlan_cm_set_candidate_advance_filter_cb
Fix wlan_cm_set_candidate_advance_filter_cb declaration.

Change-Id: I33582e5219552f90fc0c2a858dc3f5c6560762ee
CRs-Fixed: 2905202
2021-03-24 02:12:22 -07:00
Jia Ding
ebe1849453 qcacmn: Add WBM2SW4 support
To support IPA TX two pipes, WBM2SW4 is added as second WBM2IPA TX
transfer ring.

Change-Id: Id0762003c1d91e3614b15df2bc51f90e27add43c
CRs-Fixed: 2750073
2021-03-23 23:43:37 -07:00
Karthik Kantamneni
09f1f1fe46 qcacmn: Fix IPA SMMU mapping issue for RX buffers from refill pool
Refill pool buffer IPA mapping is done during allocation time,
but in some cases where IPA pipes enable/disable happens in between
previous mapping is not valid which is causing SMMU fault from IPA module.

Fix this by moving IPA mapping before replenishing buffers to RXDMA ring.

Change-Id: Ie6c5eb791b6f832f311a6e89489aebef37094d8f
CRS-Fixed: 2901819
2021-03-23 23:43:33 -07:00
Jeevan Kukkalli
c3c6473b36 qcacmn: Set mon delayed replenish entries
Set monitor delayed replenish entries for target type
QCA5018/QCN6122

Change-Id: I2042dfd2b1ff975907d829e1f111daf40f0f8e3c
CRs-Fixed: 2888346
2021-03-23 23:43:29 -07:00
Pragaspathi Thilagaraj
0cb0420cc7 qcacmn: Introduce reason code for TWT teardown due to concurrency
The firmware sends new reason codes to indicate TWT teardown due to
single channel and multi channel concurrency. Update the enum
qca_wlan_vendor_twt_status to represent new reason code.

Change-Id: I49b35ca9570a4faf73f6c93eb957c357576efd1e
CRs-Fixed: 2904365
2021-03-23 21:39:39 -07:00
Radha Krishna Simha Jiguru
12f0091fad qcacmn: Do not account rx_desc_alloc fails for Rx packet error
Rx desc alloc failures foes not really reflect rx packet errors.
So rx desc alloc failures shall not be counted as packet errors

Change-Id: I85ed478bbb3af24ff680a338aca86d3b4548ad8d
2021-03-23 21:39:34 -07:00
Shwetha G K
4ff5e4ef13 qcacmn: change get spectral handle to non-inline
Change the get_target_if_spectral_handle_from_pdev() api to
non-inline for code size reduction.

CRs-Fixed: 2896467
Change-Id: Icb92643a9c0d85a1b4328cd0c516d6d771877a4f
2021-03-22 09:31:56 -07:00
Li Feng
8055c97ed3 qcacmn: Use ktime_get_real_ts64() api from kernel v5.4.0
Use ktime_get_real_ts64() api from kernel v5.4.0.

Change-Id: Ica8b5d2daa7560472eed084145587e3ad189503f
CRs-Fixed: 2900092
2021-03-20 20:45:49 -07:00
Chaithanya Garrepalli
20500d66ae qcacmn: Fix double free false positive with qdf_nbuf_unshare
In qdf_nbuf_unshare_debug() API remove the refernce of old nbuf
before calling skb_unshare(). As skb_unshare() will free old nbuf
and allocate a new one for a cloned skb.

Change-Id: I2a2f0277934268a346e13a0779e204f02c9bcf5b
2021-03-19 18:51:26 -07:00
Linux Build Service Account
ca3deac271 Merge "qcacmn: lock on queue" 2021-03-18 15:09:09 -07:00
Ruben Columbus
2216aa520b qcacmn: lock on queue
Adding lock for dp_txrx_ppdu_stats_handler given
that insertion and deletion happen in different cores.

Change-Id: Ic0102d615f02cbfed70acc1114a314426466638e
2021-03-18 13:47:18 -07:00
Linux Build Service Account
e185a0ea20 Merge "qcacmn: Enable the minidump API based on Kernel Version" 2021-03-18 12:38:51 -07:00
Aditya Kodukula
45e98f35da qcacmn: Enable the minidump API based on Kernel Version
The minidump API msm_minidump_remove_region() was added to the
msm-kernel from version 4.19 so, to avoid compilation failures in
older kernel versions, enable the feature flag WLAN_QCOM_MINIDUMP
for kernel beginnig with 4.19 version.

Change-Id: Iba7a293fb9ca3e5ffe967e8d610251df8c2a3969
CRs-Fixed: 2901746
2021-03-18 11:51:39 -07:00
Linux Build Service Account
b789a2c995 Merge "qcacmn: Fix compilation issues when WDS feature is enabled" 2021-03-18 09:38:15 -07:00
Linux Build Service Account
ed47b67673 Merge "qcacmn: Add check to discard multicast echo packets" 2021-03-18 09:38:15 -07:00
Gerrit - the friendly Code Review server
673c336829 Merge changes into wlan-cmn.driver.lnx.2.0 2021-03-18 09:07:38 -07:00
Subrat Dash
589ec44aa3 qcacmn: Fix compilation issues when WDS feature is enabled
Fix compilation issues when CONFIG_FEATURE_WDS flag is enabled.

CRs-Fixed: 2899655
Change-Id: I65fcee6269ad41918bc8e968532249a3e4a4ad35
2021-03-18 07:43:17 -07:00
Subrat Dash
ecb559ab6f qcacmn: Add check to discard multicast echo packets
The bridge forwards the multicast packets to all the
interfaces attached the bridge.

When the STA network interface receives such packets
from bridge and send it to the AP, it is echoed back
from the BSS.

These packets are not intended for the bridge as it
will lead to looping.

Add a check to detect and drop such packets when
received back from the BSS.

Refactor dp_rx_mcast_echo_check function to fix
compilation errors from the above change.

CRs-Fixed: 2894272
Change-Id: I3f9e92c3598af11d3ff4e6b9b8afbc4110a926fc
2021-03-18 07:43:13 -07:00
Karthik Kantamneni
1807be0f1e qcacmn: Add CE delayed reg update support for QCA6750
Add support to update CE srngs HP/TP in delayed manner
for QCA6750 target. This avoids busy wait in register update.

Change-Id: Id825a6fdf709187765ff823cb3015db21a024af3
CRs-Fixed: 2894094
2021-03-18 03:38:36 -07:00
Hariharan Basuthkar
906b316eec qcacmn: Export wlan_reg_get_tx_ops
Export wlan_reg_get_tx_ops, to use in modules outside UMAC.

Change-Id: I0028632539567c77aecf5d4369c56cfc25550c46
CRs-Fixed: 2886560
2021-03-18 03:38:32 -07:00
Deeksha Gupta
4ea1f79ac8 qcacmn: Add new TWT attribute to configure wake mantissa in us
Add support for below TWT setup additional parameters:
Mantissa in Microsecond

Change-Id: I4d60393892477ac63e28a5df5274e04334bcfe42
CRs-Fixed: 2892933
2021-03-18 03:38:28 -07:00
Himanshu Batra
9fbf9e7de2 qcacmn: Support custom scan filter and candidate list sort
Add APIs to support customer scan filter and candidate list
sorting based on user perference

Change-Id: I9b5d46c7851a0afd4513f50c50c43baf26c29d0c
CRs-Fixed: 2896741
2021-03-17 11:06:36 -07:00
Shiva Krishna Pittala
d710aaf1e4 qcacmn: Don't print the FFT report in Spectral report mode 0
target_if_dump_fft_report_gen3() function doesn't check if the FFT report
is present in the Spectral report. Add the report mode 0 check to avoid
printing FFT report when it is not there.

Change-Id: Ia825cd7927ec7ffa41473649d381c717b0ef26c9
CRs-Fixed: 2898904
2021-03-16 14:49:06 -07:00
Jingxiang Ge
2c6d25c0ad qcacmn: Add detection for tasklet delay
This feature is used to detect CE tasklet scheduling delay
and credit response delay issues.

Change-Id: I9a8fcb425edd5cf96fae5f6cd3bfc7f51172c814
CRs-Fixed: 2874874
2021-03-16 00:45:23 -07:00
Linux Build Service Account
f4729e7ebf Merge "qcacmn: Fix invalid nss value from Rx PPDU stats for 11g clients" 2021-03-15 16:38:24 -07:00
Neha Bisht
2a1614de67 qcacmn: Fix invalid nss value from Rx PPDU stats for 11g clients
Fix invalid value of nss coming from Rx PPDU stats for 11g clients

Change-Id: I433af84ba6579ee37fcaa718fff1b2e47987012e
2021-03-15 07:22:51 -07:00
Linux Build Service Account
e8760f9ab7 Merge "qcacmn: Wait until START cmd is removed from ser active queue" 2021-03-15 06:12:10 -07:00
Linux Build Service Account
614ad55e26 Merge "qcacmn: Fix memleaks in Rx refill buffer pool" 2021-03-15 06:12:08 -07:00
Santosh Anbu
09231b4fd6 qcacmn: Wait until START cmd is removed from ser active queue
When START cmd is activated in scheduler context, due to system load
the scheduler may not process the START cmd time for certain time.
During which if VDEV is checked for INIT state, we proceed to
further operation and return.

Now, start cmd in scheduler will be processed, which will try to bring
up the VDEV leading to undefined issue.

To fix this
1. When we are waiting on VDEV to move to INIT state, we should also wait
until START cmd is removed from serialization active queue.
2.With this we ensure that START cmd processing is completed in the
scheduler context as well as make sure that STOP moves from pending to
active and moves the VDEV SM to INIT state.

Change-Id: I51d0a695cd8c0a8b54e74226e04f9cd32ce58e4f
CRs-Fixed: 2894578
2021-03-15 05:16:17 -07:00
Karthik Kantamneni
ca0a3ae0ac qcacmn: Fix memleaks in Rx refill buffer pool
Rx refill lock is not in sync during deinit path causing
mem leak of refill buffers. Set the Rx refill lock during deinit path.

Change-Id: Ic7d07c0fcaae26f6a269afcba4d593be1d5eacad
CRs-Fixed: 2898006
2021-03-15 02:49:23 -07:00
Linux Build Service Account
d0de446be6 Merge /local/mnt/workspace/dharilak/git_history/src/qca-wifi-oss into wlan-cmn.driver.lnx.2.0
Change-Id: I483b74ee86ef648b9e75251097c33a18f9e0f884

* /local/mnt/workspace/dharilak/git_history/src/qca-wifi-oss: (1722 commits)
  Move files dp_txrx_wds.c/.h with history from qca-wifi-oss to CMN project
  qca-wifi: Filter to add AP channel report based on opclass
  qca-wifi: Handle memory leak and LOCK in dfs_precac
  qca-wifi: Add a dispatcher for reg_is_chan_disabled
  qca-wifi: TxCapture: Protect access to defer_msdu_q
  qca-wifi: Do not add 80MHz non DFS channels in precaclist
  qca-wifi: add fix for last set bit to update ba size
  qca-wifi: Move dfs_set_nol back to common code
  qca-wifi: fix on ppdu_info mem error
  qca-wifi: Add definitons for resource profile APIs
  qca-wifi: Command to configure max auth failure packets
  qca-wifi: Add lock for EXTAP table
  qca-wifi: Remove IEEE80211_PARAM_EXT_IFACEUP_ACS
  qca-wifi: Add command to configure scheduler watchdog timeout
  qca-wifi: filter out frames with tlv miss
  qca-wifi: Add new WDI event index for tx capture
  qca-wifi-oss : Start RCAC on 80MHz for 160MHz current operating width
  qca-wifi: update sequence number only on valid
  qca-wifi: fix update bitmap for end of window
  qca-wifi: TxCapture: Fix OOB access of tid array
  ...
2021-03-15 14:04:01 +05:30
Linux Build Service Account
8d43c6de3e Move files dp_txrx_wds.c/.h with history from qca-wifi-oss to CMN project
Change-Id: I28045bd5190af08dbd89cbd6a7b5dab254bc794c
2021-03-15 12:23:07 +05:30
Karthik Kantamneni
65b108ef77 qcacmn: Rate limit excess logs in Tx completion path
Rate limit excess logs in Tx descriptor completion path

Change-Id: I737e0e55c2032f89a002adb60fbb68932bef77e0
CRs-Fixed: 2893995
2021-03-13 03:36:10 -08:00
Gururaj Pandurangi
08148f21fa qcacmn: Enable/Disable 6G edge channels ch2 and ch233
Enable lower 6G edge channel ch2 (5935MHz) for APL2 6G regdmn
using a service bit WMI_SERVICE_ENABLE_LOWER_6G_EDGE_CH_SUPP,
which is not enabled by default.
Also, disable upper 6G edge channel (7115MHz) using another
service bit WMI_SERVICE_DISABLE_UPPER_6G_EDGE_CH_SUPP, that
is enabled by default.

Change-Id: Ia7cb7f7d3165375178adbe70adb19b8671496b6d
CRs-Fixed: 2885623
2021-03-12 02:52:25 -08:00
Linux Build Service Account
e3ca9a22ea Merge "qca-wifi: add fix for last set bit to update ba size" 2021-03-11 22:08:38 -08:00
Varsha Mishra
a2ac29d45c Revert "qcacmn: Handle EAPOL frames in wbm error ring"
This reverts commit I66df0b53a36d99b3e9d9000e0bd93bf7677c221d.

Change-Id: I42d01f330f45e07f95f7b45fe1aaf22fba19fbd9
2021-03-11 18:46:49 -08:00
Vivek
afa6d944ca qcacmn: Add API to set scan cache aging time
There is an API to get the scan aging time,
but there in no API to set the scan aging time
and can be configured through INI.

Add API to set the scan aging time run time.

CRs-Fixed: 2894428
Change-Id: Ide2b2eec780dd7ff07ebd783b0916a68c0e94a2c
2021-03-11 14:07:40 -08:00
Abhishek Singh
00bb6dedcc qcacmn: Free crypto keys on connect active
Free crypto keys on connect active instead of disconnect complete,
to avoid race between south bound disconnect, leading to key free and
set key req from supplicant using the same key.

Change-Id: Idae5100d255b4df6b84425114cb66fa8d3b504e0
CRs-Fixed: 2897247
2021-03-11 11:59:03 -08:00
Yeshwanth Sriram Guntuka
b23bcc8b6b qcacmn: Add support to reset SOC rx ext stats
Add CDP interface to support reset of soc rx ext stats.

Change-Id: I381f9b6b27d8d023b1932b7d8587df240c1ff4d0
CRs-Fixed: 2889565
2021-03-11 09:48:46 -08:00
Gururaj Pandurangi
2c8a3ddd35 qcacmn: Add message to print off-channel timestamp
Add a log to print off-channel timestamp to verify
off-channel time.

Change-Id: I6b105a7114d372a9d8f9d6f78c601455180df775
CRs-Fixed: 2895189
2021-03-11 09:48:41 -08:00
bings
4a8bafde55 qcacmn: Add WLAN_VDEV_SS_MLO_SYNC_WAIT and WLAN_VDEV_SS_UP_ACTIVE
For MLO SAP, it can't generate beacon template until all the vdevs
start. To synchronize MLO vdevs start, we add two new substates
WLAN_VDEV_SS_MLO_SYNC_WAIT and WLAN_VDEV_SS_UP_ACTIVE whose parent
state is WLAN_VDEV_S_UP.
Once vdev gets vdev start rsp, notify MLO mgr, who checks whether all
vdevs are active, if so, trigger WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE for
the vdev which is in WLAN_VDEV_SS_MLO_SYNC_WAIT state.
After vdev translates to WLAN_VDEV_S_UP, MLO SAP will translate to
WLAN_VDEV_SS_MLO_SYNC_WAIT, while the other vdev will translate to
WLAN_VDEV_SS_UP_ACTIVE.
MLO sap will notify MLO mgr once it is in WLAN_VDEV_SS_MLO_SYNC_WAIT.
Then MLO mgr checks whether all the vdevs are active, if so, trigger
WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE for the vdev which is in
WLAN_VDEV_SS_MLO_SYNC_WAIT state.
If MLO SAP receives WLAN_VDEV_SM_EV_MLO_SYNC_COMPLETE in
WLAN_VDEV_SS_MLO_SYNC_WAIT state, it translates to WLAN_VDEV_SS_UP_ACTIVE

Change-Id: I8be9c02f62719dbdcf4af79d83173c316c64b765
CRs-Fixed: 2866103
2021-03-11 19:53:31 +05:30