Commit Graph

12666 Commits

Author SHA1 Message Date
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
Priyadarshnee Srinivasan
d617a3a77f qcacmn: FW-Host Handshake for REG_CHAN_LIST_CC_EVENT
In order to support different power levels of 6G AP and client,
the channel list event from FW namely "REG_CHAN_LIST_CC_EVENTID"
is modified to add few parameters specific to 6GHZ devices.
Hence the existing event is replaced by REG_CHAN_LIST_CC_EVENT_EXT for
all 2G/5G/6G pdevs in FW. Therefore, after the service ready event, FW
sends the channel list for the configured country/regdomain via
REG_CHAN_LIST_CC_EVENT_EXT. This mandates that all host software need
to have the processing capability of REG_CHAN_LIST_CC_EVENT_EXT to bring
up the AP.

As there can be host software which has not yet implemented the
version of "REG_CHAN_LIST_CC_EVENT_EXT", backward compatibility is lost
if "ONLY REG_CHAN_LIST_CC_EVENT_EXT" is sent by FW.
Hence a 3 way handshake between host and FW is established.

1. FW advertises its capability of processing REG_CHAN_LIST_CC_EVENT_EXT
id via wmi service bit 'wmi_service_reg_cc_ext_event_support'.
2. If the host is capable of processing the "REG_CHAN_LIST_CC_EVENT_EXT"
event id (which is done based on registration of this event), host
sends the capability in WMI_INIT_CMDID setting a bit in host_service_flags.
3. Based on host capability advertised in WMI_INIT_CMDID, FW decides to
send the old event ("REG_CHAN_LIST_CC_EVENTID") or the new event
("REG_CHAN_LIST_CC_EVENT_EXT").
4. If there is no flag indicated by host to FW in WMI_INIT_CMDID, FW
by default sends the old event ("REG_CHAN_LIST_CC_EVENTID").

CRs-Fixed: 2876360
Change-Id: Ibe95f414ad9fff0e5641bcc6e60450ef9afe245b
2021-03-11 19:43:58 +05:30
Amruta Kulkarni
7fe3773331 qcacmn: Remove wlan_reg_set_channel_params
- Remove wlan_reg_set_channel_params and the callers
 associated code.
- Clean up part of CONFIG_CHAN_NUM_API functions.

Change-Id: If9583e674752d6f47de8d7d6bc946909509957b5
CRs-Fixed: 2883773
2021-03-11 19:42:48 +05:30
Manikanta Pubbisetty
14d38b77fb qcacmn: disable EXT grp irqs and drain TXRX during suspend
Any update to the SRNG TP/HP when the device is in low power
state would result in system errors. It is recommended to disable
EXT grp irqs and drain TXRX before sending power save enter command
to the FW. This will ensure that no interrupts are received while
in power save mode and as a result there wont be any HP/TP updates.

Change-Id: Ibf952bbc2c6d13fb3e4ca6b4845bc9cc887fa694
CRs-Fixed: 2883135
2021-03-11 19:41:34 +05:30
Gururaj Pandurangi
c4377e8d3d qcacmn: Remove the wlan_reg_get_chan_enum instances
As chan num may be same for different bands, getting chan enum
from channel number can provide incorrect results.
Use wlan_reg_get_chan_enum_for_freq API to get chan enum instead
of the wlan_reg_get_chan_enum.

Change-Id: Ibf08bba31e3778cb4857612d2c95813558be5bc9
CRs-Fixed: 2885860
2021-03-11 19:40:22 +05:30
Alan Chen
1370e032e9 qcacmn: Update default values of INI items
Update default values of INI items to most commonly used values
in WCNSS_qcom_cfg.ini file on commercial devices.

Change-Id: Ie3a4ce2cbf4bc2352d5ebc5be939a47818a6d594
CRs-Fixed: 2874759
2021-03-11 19:38:51 +05:30
Nisha Menon
ed3a77563a qcacmn: Add wbm head/tail pointer stats to dp_txrx_stats
Add wbm head/tail pointer stats to dp_txrx_stats and ring
usage percentage for all SRC and DST rings.
Stats added to the following cmd: iwpriv wlan0 txrx_stats 26 0

CRs-Fixed: 2865996
Change-Id: I7d144d87c5f3485ec9ba85f50b036b69a64e53c6
2021-03-11 18:01:27 +05:30
Linux Build Service Account
483b74ee86 Merge "qca-wifi: Filter to add AP channel report based on opclass" 2021-03-10 08:08:37 -08:00
Aditya Kodukula
7679b0651a qcacmn: Add params to the wlan_minidump_remove function
For the minidump feature, the wlan_minidump_remove function
definition is modified. So, update the function parameters
accordingly at all instances of the wlan_minidump_remove function.

Change-Id: I5a346f6cdf423ece02fb08d68e4422251af54876
CRs-Fixed: 2860435
2021-03-09 21:07:01 -08:00