커밋 그래프

12685 커밋

작성자 SHA1 메시지 날짜
Himanshu Batra
add02fc7c9 qcacmn: Add public API for ext cm pointer
Add public API for ext cm pointer

Change-Id: I4208efd33e4fb09dfd3601c0ac5ca086d8ae3475
2021-03-25 09:44:06 -07:00
Vijay Krishnan
0e98aa285b qcacmn: Modify dmesg prints on channel change
When Swift Radio change its channel multiple times, there are some
dmesg prints in the console. These prints will come in default. Therefore
modified in such a way that these prints are enabled only through
debug level.

CRs-Fixed: 2902742
Change-Id: I7e4c40ec934fb920bf9e769afb40426b593345c8
2021-03-25 05:37:00 -07:00
sheenam monga
8c26a66b29 qcacmn: Add conditional compilation for util_is_noninh_ie
Currently util_is_noninh_ie is called based on WLAN_FEATURE_MBSSID,
but definition doesn't depend on WLAN_FEATURE_MBSSID which may
cause compilation issue.

Fix is to keep definition under WLAN_FEATURE_MBSSID feature flag

Change-Id: I409c367c98bf1fe06c1c3107348f4a469ebdbd07
CRs-Fixed: 2907601
2021-03-25 03:36:26 -07:00
Pragaspathi Thilagaraj
f8039b129e qcacmn: Add new TWT teardown status code
Add new TWT teardown status code to indicate firmware teared
down the TWT session due to concurrent connection established.

Change-Id: I9b0fb5c5179355f34bd07e91a996da3ade1c9ce8
CRs-Fixed: 2899575
2021-03-24 15:01:00 -07:00
Nandha Kishore Easwaran
bcc7d05422 qcacmn: Record PN and OOR error per peer
Record PN error and OOR error per peer and display the
error count in fc_peer_stats.

Change-Id: I694efbcaa280659f7a62f1343e26a196067cc524
2021-03-24 12:04:29 -07:00
Jia Ding
4737cf81c4 qcacmn: Add qdf macros for IPA TX two pipes
Add qdf macros to support IPA TX two pipes configuration.

Change-Id: I9d8b960355c084c49a664efafa7aac3153602572
CRs-Fixed: 2750078
2021-03-24 09:48:30 -07:00
Adwait Nayak
4eea90754c qcacmn: Add Non-inheritance IE support on STA
If there is any non-inheritance element present as part of the
nontransmitted BSSID profile then while generating scan entry
for that profile, driver need not inherit those list of
element IDs and list of element ID extensions from the
transmitted BSSID profile.

Since non-inheritance element is an element ID extension, it
should be part of extension element. So the logic we use over
here is to find if there are any extension element present in
the nontransmitted BSSID profile. if yes, then only go ahead
with below logic or else go with the normal flow.

Logic:
Mark and store the start of the list of element IDs and
list of Element ID extension.
While generating the new ie for the non transmitted BSSID
profile, do not inherit the IEs present in the above
mentioned lists.

Change-Id: I466afa8273e841b6f7656b1dc59342bc2d4f13bc
CRs-Fixed: 2883389
2021-03-24 09:48:26 -07:00
Adwait Nayak
4a74588f2e qcacmn: Add support for split profile BSSID in MBSSIE
If any nontransmitted BSSID profile is fragmented across
multiple MBSSID elements, then it is called split profile.

For a split profile to exist we need to have at least two
MBSSID elements as part of the RX beacon or probe response
Hence, first we need to identify the next MBSSID element
and check for the 5th bit from the starting of the next
MBSSID IE and if it does not have Nontransmitted BSSID
capability element, then it's a split profile case.

This change is responsible in accumulating the non
transmitted BSSID profile, fragmented across multiple
MBSSIDs, so that the scan entry will not miss any
information.

Change-Id: Ia78cc47d1ffd03ada659d257b83741e7ab921fa2
CRs-Fixed: 2883389
2021-03-24 09:48:22 -07:00
Amruta Kulkarni
5c1ca03ebe qcacmn: Support roam sync ind in CM
Add support for roam sync indication in
connection manager.

Change-Id: I750403aa0dfa6c615f9bca832898c63af608d28d
CRs-Fixed: 2901863
2021-03-24 09:48:18 -07:00
Guisen Yang
80d5b0dc18 qcacmn: Set correct host ce count in epping mode
In epping mode, the host ce count is not set correctly. And
then host will receive interrupt with incorrect ce id which
will trigger watchdog bite. Set the correct host ce count
and this issue can be fixed.

Change-Id: Ia91534fcfd1265e96f39ffd961ad794db3a4748a
CRs-Fixed: 2901231
2021-03-24 09:48:13 -07:00
Guisen Yang
7f654edca5 qcacmn: Do not return error if ol_ctx is NULL
For chips that do not use BMI, the epping enable process
will break if the epping_enable() flow is returned when
ol_ctx is NULL. This should not happen because ol_ctx
is only used when BMI is enabled. Whenever ol_ctx is referred
to, it will be checked for NULL before use, so we should
not return error here.

Change-Id: Ia873536a294b79f774193493646519163baf28c4
CRs-Fixed: 2901231
2021-03-24 09:48:08 -07:00
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