Commit Graph

16277 Commits

Author SHA1 Message Date
Tallapragada Kalyan
9639c91317 qcacmn: buffer replenish and reap without map and unmap
use dma_inv_range call instead of dma map and unmap
APIs during replenish and reap. This complete code is
under a compile time macro.
before change: 4160Mbps @ 96.5% (core 3)
after change: 4160Mbps @ 90.5% (core 3)

Change-Id: I61bca349a369ace06cd86f353880108cee013cb1
2022-01-20 10:01:09 -08:00
Jianmin Zhu
03f7a9accb qcacmn: Avoid spin_lock_bh in ipa wlan rx callback
Spin_lock_bh is introduced in ipa wlan rx path by security fix
I0c0bc6e60efa193126ba1e3eca36c5e02f7f76a3,
wlan_ipa_w2i_cb->cdp_peer_state_get->dp_get_peer_state->
dp_peer_find_hash_find->qdf_spin_unlock_bh(&soc->peer_hash_lock),
which make rx pkt aggregation failed, for each rx pkt, once
put into backlog queue, net_rx soft irq is scheduled to handle it.
For each rx msdu, ipa rx work thread, net_rx soft irq and iperf/app
thread are scheduled, which make rx throughput failed to meet KPI.

To avoid spin_lock_bh, don't call cdp_peer_state_get for each rx pkt,
only call 1 time, and save peer auth state in IPA context, for following
pkts, just get peer auth state from IPA context without spin_lock_bh.

Change-Id: I36196bab4626194bda254219c4c44dc4f029cff0
CRs-Fixed: 3098860
2022-01-20 10:01:03 -08:00
sheenam monga
0bff382086 qcacmn: Add support to get power type string
Add support to get reg power type string from
reg power type enum value.

Change-Id: I73df51a2494eb0246f395343df8f921991a2b80a
CRs-Fixed: 3111420
2022-01-20 10:00:58 -08:00
Himanshu Batra
6c9b3cb72c qcacmn: Add API to check target state while enabling IPA autonomy
Add API to check target state while enabling IPA autonomy

Change-Id: I2d04b2989e129a8ab70fec908c06e509545c7a8c
2022-01-19 15:30:44 -08:00
Shiva Krishna Pittala
6f5abf5990 qcacmn: Add Host enums for spatial reuse WMI pdev params
Add Host enums for the following WMI pdev parameters related to
Beryllium Spatial Reuse.
    - WMI_PDEV_PARAM_OBSS_MIN_DURATION_CHECK_FOR_SR
    - WMI_PDEV_PARAM_TRUNCATE_SR
    - WMI_PDEV_PARAM_CTRL_FRAME_OBSS_PD_THRESHOLD

CRs-Fixed: 3112080
Change-Id: I19accc6dc2a744599ccce6ebf683499d92881993
2022-01-19 15:30:39 -08:00
Amit Mehta
a1707871a1 qcacmn: Get PCI slot from PLD API
Currently, in the case of single pdev we return the PCI slot as 0.
But in case where the device is attached to PCI slot 1, API will
still return 0.

Make changes to always get PCI slot from PLD API instead of
returning PCI slot as 0 in case of single pdev.

Change-Id: I39b55eeb3ebfbd6c08d7cc15a1ac49932af78b51
CRs-Fixed: 3103192
2022-01-19 15:30:34 -08:00
Ashish
5fe88ada0a qcacmn: Free scan request if netdev is NULL or get vdev ref fails
Currently driver just cancels the scan request and does not free
scan request memory if netdev is NULL or get vdev ref fails,
which leads to memleak.

To address abobve issue, free the scan request if netdev is NULL
or if get vdev ref fails.

Change-Id: Id6605e76a8c0977df93428f2aeb73c0bdfb84685
CRs-Fixed: 3107784
2022-01-19 14:19:07 -08:00
Bing Sun
af3885dcdb qcacmn: Update wlan_eht_cap_info according to draft 1.3
Update wlan_eht_cap_info according to draft 1.3

Change-Id: I1f34148079de820c51150184e0558331dfd7cabe
CRs-Fixed: 3108903
2022-01-19 12:35:24 -08:00
Mukul Sharma
7a88422105 qcacmn: Add new vendor attributes to avoid coex unsafe frequencies
Add additional attributes in QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT
vendor sub command to avoid usage of unsafe frequencies on wifi
interfaces sent from userspace to the driver/firmware.
The driver/firmware shall use restrictions and power cap accordingly
to restrict the usage of these frequencies on operating interface(s).

Change-Id: Ib2234137e436f1ddfe1163aed6e1d4b291f19aa8
CRs-Fixed: 3098836
2022-01-19 09:31:25 -08:00
Jinwei Chen
8883f9c1c7 qcacmn: add TX packet count per TX data ring for KIWI
Add TX packet count per TX data ring for KIWI

Change-Id: Ifc7d5774b6e804ba25f4a8e732d406fca3623dda
CRs-Fixed: 3111184
2022-01-19 05:39:35 -08:00
Neha Bisht
657ceed6e5 qcacmn: Fix QUIC Copyright Year Markings
Fix QUIC Copyright Year Markings

Change-Id: I7297986e56af0b396fc92f0a7b98fb47d0feec42
2022-01-19 05:39:30 -08:00
Nandha Kishore Easwaran
3a1a2dac52 qcacmn: Fix QUIC Copyright Year Markings
Fix QUIC Copyright Year Markings

Change-Id: I69e1fcc0d505930daa3726760ea1b8ba65f8ae9e
2022-01-19 04:30:16 -08:00
Nandha Kishore Easwaran
58351920f8 qcacmn: Disable interrupt for unused CEs
Add Disable interrupt flag for unused CEs in QCN9224.

Change-Id: I8eb175226a44f79f5e9d91ace4b0e4d32458bdc6
2022-01-19 04:30:11 -08:00
Amit Mehta
bfe03e92a3 qcacmn: Reduce MSI count for DP from 9 to 7
Currently, we are assigning 9 MSI Vector to DP.
But in some target available MSI Vector are less 
because of which they are unable to assign 9 MSI
Vector to DP.

So, to fix the issue reduces MSI requirement for
DP from 9 to 7 and mux DP interrupts.

Change-Id: I48da2d0e8921db3298903a398f981e5b45a60987
CRs-Fixed: 3111170
2022-01-19 03:03:27 -08:00
Balaji Pothunoori
ede155309e qcacmn: initialize variables to address whunt compilation
This change is to initialize the variables to address
whunt compilation issue.

Change-Id: Ib2234137e436f1ddfe1163aed6e1d4b291f19189
CRs-Fixed: 3110041
2022-01-19 03:03:22 -08:00
Manoj Ekbote
8f94e32594 qcacmn: Add QDF API for nbuf truesize
Added API to return size of nbuf including header and
data and variable data area

Change-Id: Ie707a18adab7f2e4407f4aa8c481cd86012011a3
2022-01-18 12:53:51 -08:00
Manoj Ekbote
7d4426b213 qcacmn: Use a memory limit for Tx monitor feature
To avoid any crash/issues due to low memory, a limit
can be specified by the user for each soc.

Change-Id: I5a54b2d8af3769042720f85d0759b487c44e8fcc
2022-01-18 12:53:46 -08:00
Sai Pratyusha Magam
48624fde82 qcacmn: Fix incorrect copyright markings
Fix incorrect copyright markings in wlan_crypto_global_api.h

Change-Id: Ifb64e410d43f33cbd377332fbd6ec703746824b6
2022-01-17 05:43:39 -08:00
Karthik Kantamneni
8ef76b5b38 qcacmn: Fix deleting unused timer in QCA6750 target
In QCA6750 target hif sleep timer is not used but timer
delete is performed during deinit path.

Fix this so that hif sleep timer delete operation is not
performed in QCA6750 target.

Change-Id: I54790f3b20af4f4b265ab37b593d300032f00fa5
CRs-Fixed: 3108047
2022-01-17 05:43:34 -08:00
Subrat Mishra
95a5d8be88 qcacmn: Define cdp api interface for dp_mon_stats
Add new CDP API interface to get monitor pdev rx stats.

Change-Id: Ifbe25c4b804135541e0fb938cc99bc2713dfb344
CRs-Fixed: 3084586
2022-01-17 02:14:44 -08:00
Subrat Mishra
0a5f55fb4a qcacmn: Add more stats to cdp_soc_stats structure
Add more stats to cdp_soc_stats interface structure to ship it to
userspace. Move soc, delay and jitter stats apis from dp_main.c to
dp_stats.c.

Change-Id: Idb7f8b706e8744350d7fb2e8802d9303b3f25b5c
CRs-Fixed: 3084586
2022-01-17 02:14:38 -08:00
Chaithanya Garrepalli
362e95bae6 qcacmn: Add NULL check in dp_mlo_get_soc_ref_by_chip_id
In dp_mlo_get_soc_ref_by_chip_id API add null check
for ml_ctxt

Also correct intraBSS code for mlo disabled cases

Change-Id: I25eb07e9ccd714ba819730c765dc07b00dd15482
2022-01-15 03:03:16 -08:00
Kiran Venkatappa
9d402b668b qcacmn: MLO Teardown sequence
Trigger MLO teardown and wait for response before proceeding with soc
power down.

Change-Id: Ie1d00408862459b0e5240ef3151a0d969ab65e80
CRs-Fixed: 3102143
2022-01-14 20:53:14 -08:00
Pavankumar Nandeshwar
8f62ddf128 qcacmn: Fix QUIC Copyright Markings
Fix QUIC Copyright Markings

Change-Id: I396830ab402318cd2385a5bed8dc3af373b8148b
2022-01-14 11:53:34 -08:00
aloksing
6143dc1b09 qcacmn: Add wmi command to enable probing all bw
initialize wmi command id and service id

Change-Id: I657860545af945794260689da7154aec14b91899
2022-01-14 10:54:22 -08:00
Chaithanya Garrepalli
5f1d523c46 qcacmn: Fix peer_id passed to mon peer API
Fix peer_id passed to dp_monitor_peer_tid_peer_id_update
API

Change-Id: I16516858abb64a1ff847197cf6a8cc4b64c0df52
2022-01-14 03:50:18 -08:00
chunquan
be297ae0ae qcacmn: Replace blacklist/whitelist with denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist

Change-Id: Ic10f0bb187f44c00f07752cd859a08342a945628
CRs-Fixed: 3087605
2022-01-14 03:50:13 -08:00
Bing Sun
037561c0a4 qcacmn: Add a QCA vendor attribute to indicate ACS over EHT
Add QCA_WLAN_VENDOR_ATTR_ACS_EHT_ENABLED flag attribute to conduct ACS
for EHT mode. The driver can consider EHT specific parameters such as
puncture pattern for ACS when this flag attribute is indicated by
userspace.

Change-Id: I9cb0b7a6bc830a5f4f01a7a7fa5212cc6b2c3a95
CRs-Fixed: 3108987
2022-01-13 15:04:53 -08:00
Pavankumar Nandeshwar
c9f584b99f qcacmn: Handle failure cases in txrx_peer allocation
Handle failure cases in txrx_peer allocation and
return appropriate errors to the callers.

Change-Id: I51fb519af86344e078eabfcc3f2883522361e1d9
2022-01-13 13:04:29 -08:00
Harsh Kumar Bijlani
f4c7e777f0 qcacmn: Add APIs to get txrx peer, tgt peer and primary link peer
Add APIs to get txrx peer, tgt peer and primary link peer from peer
for both MLO enabled and disabled scenarios.

Change-Id: Ie48711972dd3eef35fdd7bf736e91bfce4cd41f3
CRs-Fixed: 3107160
2022-01-13 06:52:58 -08:00
Harsh Kumar Bijlani
8722ec5b68 qcacmn: Add support to set enhanced stats in pdev
Add support to set enhanced stats in pdev via cdp pdev set param
functionality.

Change-Id: I4c271dfc71511a0869a795c2adbb0e0eb55ba9d0
CRs-Fixed: 3108103
2022-01-13 04:54:27 -08:00
abhinav kumar
9c2ce46fc6 qcacmn: Allow FW to scan 6G chan based on RNR flag only
First host checks below two things in host scan request:
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in host scan request.
2. At least one 6G channel is present in the host scan req.

If any of the above conditions satisfies, Host fills all
remaining (other than channel(s) present in host scan req)
valid 6 GHz channel(s) to scan requests and set the flag
FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s).

Host sends this updated channel list via WMI command
WMI_START_SCAN_CMDID_param_tlvs->channel_list for host scan
to firmware.

With this change, driver allows Firmware to scan 6G channels
based on RNR IEs only (for colocated APs reported by 2.4/5
GHz APs).

Change-Id: I2d9d2aac58bbc521b2476756d5919647bdc265cc
CRs-Fixed: 3103873
2022-01-13 04:54:22 -08:00
Rachit Kankane
dffef9958a qcacmn: enable SON target_if
Add WLAN_FEATURE_SON to enable SON target_if

Change-Id: Ib4bca0eb5813d1fdd7becf6705ab7129a26e26e5
CRs-Fixed: 3102441
2022-01-13 03:03:20 -08:00
Amruta Kulkarni
9d1cdbc568 qcacmn: Add MLO roaming callback api
Add MLO roam sync callback api for lfr3 mlo roaming.

Change-Id: I438e63765b0dbda736914fe0ca5e0bd20f96bb86
CRs-Fixed: 3021135
2022-01-13 01:11:50 -08:00
Rakesh Pillai
0972c896cb qcacmn: Enable WMI logging over CE7 for KIWI
Enable the configuration of CE7 to support
FW logging.

Change-Id: Idf103b987c0e5e2d31e7daebfb424cdd9c207610
CRs-Fixed: 3107397
2022-01-12 22:54:14 -08:00
Yu Tian
a20affa799 qcacmn: Avoid overwriting radiotap information in monitor mode
PHY related info. has been updated when processing PPDU status
in Monitor mode, but it's got overwritten uncorrectly when
processing RX_MSDU_START TLV in VHT mode. Change aims bypassing
the wrong update, when it's working in VHT mode.

Change-Id: I2c78db66bc7222e3eebf052fb6e57d6f9d859286
CRs-Fixed: 3108059
2022-01-12 22:54:08 -08:00
Himanshu Batra
49204da745 qcacmn: Clear MLO_STA_LINK flag when clearing MLO capability
Currently the MLO_STA_LINK flag is not getting cleared. If a connect is
received on a different link as assoc link, because of STA_LINK flag,
none of the link will be considered as assoc link.
Add fix to clear MLO_STA_LINK flag when clearing MLO capability.
And also clear the MLO_STA_LINK flag on handling pending connect req.

Change-Id: Iaf7c557786bac7754c4b33c80f0f92cb007870ae
2022-01-12 10:03:51 -08:00
Aakanksha Doda
d92a7a0776 qcacmn: Fix issues with rdkstats
The following issues are fixed with this change-
1. Sojourn stats were printing incorrect values
2. RSSI values were junk numbers

Change-Id: Ibed73cf370a309bf9db5baad37a0e8261c58463b
2022-01-12 05:34:00 -08:00
Chaithanya Garrepalli
3d9c419f95 qcacmn: Fix ML peer refleaks reported in wifi down
Delete MLO peer from primary SOC while ML peer delete

Change-Id: Ideb78964718699397a1fb5da22c28ec787c5bd0c
2022-01-12 05:33:55 -08:00
Namita Nair
09afbc7282 qcacmn: Handle unsupported EAPOL packet type
In function qdf_fill_wlan_connectivity_log, the unsupported EAPOL
packet types are not dropped.This results in setting the
log_subtype to invalid value zero and the log buffer being forwarded
to wlan_connectivity_log_enqueue. The fix is to drop the unsupported
packets by returning from the function.

The local variable log_buf,of type struct wlan_log_record, is not
null initialized.This could cause some of the  member elements to have
unexpected values.This fix is to null initialize the log_buf structure.

Update Qualcomm copyright to include year 2022

Change-Id: I651329fead1e42282d7811c32eea2359ba970527
CRs-Fixed: 3079947
2022-01-12 01:52:33 -08:00
Ashish Kumar Dhanotiya
1060f380f0 qcacmn: Add new self recovery reason QDF_STATS_REQ_TIMEDOUT
Currently there is no recovery reason for stats request failure.
With this change add QDF_STATS_REQ_TIMEDOUT for stats request
failure.

Change-Id: Ie9ae8259fc20b4d8829b760e818b6a1f9194a9d0
CRs-Fixed: 3106570
2022-01-12 01:52:09 -08:00
Varsha Mishra
64401977de qcacmn: Remove vlan tag from eapol in multipass
EAPOL frame should not have vlan tag when delivering to stack.

Change-Id: Ia961a96489345229d6ee2ea8c2105deb114c0ab5
2022-01-12 01:52:02 -08:00
Chaithanya Garrepalli
1e9b37b023 qcacmn: fix WHUNT compilation issue
Fix compilation issue on WHUNT with MLO
enabled in WCN7850

Change-Id: I57ff334e9cf47468c30bc6884a9ead0a65a92eb5
2022-01-12 12:16:59 +05:30
Aditya Sathish
877cf5ef7e qcacmn: Add QCA attribute for ACS puncturing bitmap
Add support for a new QCA attribute to pass the puncturing
bitmap as part of the DO_ACS vendor command.

CRs-Fixed: 3102366
Change-Id: Ic0e54d82e48bae695baf3be4fd388ec15f81a416
2022-01-11 06:53:14 -08:00
Amir Patel
484c917fbf qcacmn: Fix WKK monitor compilation issues
Fix WKK monitor compilation issues

Change-Id: I04bd89341e61bdcef59ecb03baa6cf53ca970cbe
CRs-Fixed: 3100286
2022-01-10 23:54:10 -08:00
Amir Patel
3abc7d0459 qcacmn: Add API to free sw mon_desc to pool
Add API to free sw mon_desc to pool

Change-Id: Ibc10c7dc9a41d4c972471683b7232c76d46c5109
2022-01-10 23:54:04 -08:00
Amir Patel
76c23ddc4b qcacmn: Add RxMON filter config support
Add RxMON filter config support for WKK

Change-Id: I2f2972d1bc6f6d0b5c8db69bdf21b22854f35fa4
2022-01-10 23:53:57 -08:00
Amir Patel
2219ac036c qcacmn: Use appropriate srng id in htt_srng_setup and ring_selction_cg
Use appropriate srng id in htt_srng_setup and ring_selction_cg
for WKK monitor

Change-Id: Ibe04f51f787e6fa3fe0b9d8a8c6a54a33f673139
2022-01-10 23:53:51 -08:00
Naga
ca09c6cd98 qcacmn: Change BE monitor soc and pdev assignment with macro
Change BE monitor soc and pdev assignment with macro

Change-Id: I0bf47391dea37461cc8356cf3b41c20af0516662
CRs-Fixed: 3096222
2022-01-10 23:53:45 -08:00
Naga
315229c57c qcacmn: Add buffer mgmt for monitor vap
Add buffer mgmt for monitor vap creation
and deletion.

Change-Id: Iabe4c49e1395fa44368a13c3c178e1fd1467e9b5
CRs-Fixed: 3087839
2022-01-10 22:14:12 -08:00