Commit Graph

16194 Commits

Author SHA1 Message Date
Yeshwanth Sriram Guntuka
8e11d1a8fb qcacmn: Add frag dma unmap handling for SG packets
DMA unmap for scatter gather packets is done using
only frag0 dma address and the entire packet length
which will lead to incorrect behaviors. Add handling
to do dma unmap for all the fragments of SG packets.

Change-Id: I614553d9f96c573f0095c9be38706fd4ac3223ab
CRs-Fixed: 3112424
2022-01-22 09:53:24 -08:00
Rajeev Kumar
8568210a52 qcacmn: Add log message for RTPM prevent API triggered resume
Add a log message to indicate RTPM resume is requested by RTPM
prevent runtime suspend API.

Change-Id: Ifb90493d1ea48601bb40708b1a2d7a821144a9b2
CRs-Fixed: 3110580
2022-01-21 21:53:35 -08:00
Rajeev Kumar
3b085fd248 qcacmn: Clear num stats over QMI once WoW enter/exit
Num stats over QMI indicates how many stats requests are fetched
without triggering RTPM resume. If RTPM resume/suspend happens in
the middle then num stats over QMI counter should reset. Add logic
to reset num stats over QMI counter during WoW enter/exit.

Change-Id: I34fe93759bf8a7a2a6c0d4b389ad96b8e1ba4d6c
CRs-Fixed: 3110590
2022-01-21 20:03:54 -08:00
Ananya Gupta
940984c6a6 qcacmn: Check for tx desc leak or corruption
Tx descriptor is not being freed and put back in tx desc
pool for a long time. As a result, system is not going
into suspended state.
To find this descriptor, during dp_bus_suspend and
dp_runtime_suspend, parse through the descriptor pool to
check for any descriptors not freed for a long and trigger
self recovery when found.

Change-Id: Id97c5c8537c9bec922f4e254b5bf094505ee61ff
CRs-Fixed: 3109868
2022-01-21 11:42:27 -08:00
Namita Nair
d3e9c9ca97 qcacmn: Fix TCL_DATA_CMD struct parsing in KIWI crash dumps
The compiler removes unreferenced TCL_DATA_CMD struct from the
object file. Hence this cannot be parsed in the dumps. This fix will
inform the compiler to retain the structure.

Change-Id: I6bc12893769f17dc3f51130b7e947f62b1bd3ea9
CRs-Fixed: 3105021
2022-01-21 05:16:44 -08:00
Subrat Mishra
1e5ee08ad6 qcacmn: CDP interface support for Tx Capture Stats
Add CDP interface structure and ops functions for getting Tx Capture
stats.

Change-Id: I5b01e2ab21aec566848eee805d6a702da150d328
CRs-Fixed: 3111860
2022-01-21 01:54:05 -08:00
Hariharan Basuthkar
c4a60f425c qcacmn: Add REG_AFC_CMD_RESET_AFC to enum reg_afc_cmd_type
Add a new member REG_AFC_CMD_RESET_AFC to enum reg_afc_cmd_type.

Change-Id: I73110cc899eb454936aef6e7d112679bc106aab0
CRs-Fixed: 3106098
2022-01-21 01:53:59 -08:00
Harsh Kumar Bijlani
1b4de61a20 qcacmn: Resolve WIN errors
Resolve WIN errors

Change-Id: I124990d54c5da295bf14d199e297116c56e06d08
2022-01-20 21:14:03 -08:00
Ananya Barat
82711507b5 qcacmn: Abstract ms_to_ktime in qdf
Add API qdf_time_ms_to_ktime which is an abstraction of ms_to_ktime
to the qdf layer.

Change-Id: Ie6510007b61bc3b3ac28648983b30a3c52e97098
CRs-Fixed: 3043864
2022-01-20 18:59:55 -08:00
aloksing
b4dce7b534 qcacmn: Fix Copyright Markings
Fix Copyright Markings

Change-Id: If1f917bd1be3b9e12a4f22ebd6cc5ad52ef0ca48
2022-01-20 16:33:21 -08:00
abhinav kumar
6c158c59d4 qcacmn: Get per channel pno scan config service capability
Firmware advertises the service capability bit
WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL when it supports per
channel scan config flags. Get this and cache in psoc.

If firmware supports WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL,
it uses the upper-12 bits(bit-20 to bit 32) of channel_list
for flags and lower 20-bits(bit-0 to bit-19) for frequency.
If firmware doesn't support it, then channel_list holds the
frequency value only. Fill the flags and frequency accordingly.

Change-Id: I30d36a3c164e23cf0395129e5b93d186b81aa8a6
Crs-Fixed: 3103921
2022-01-20 14:13:40 -08:00
Aakanksha Doda
913e7a6bea qcacmn: Update Quic Copyright year markings
Update Quic Copyright year markings

Change-Id: Ib25b9cf5798d6c803f23f97c88ef34310effbfea
2022-01-20 13:15:46 -08:00
Nandha Kishore Easwaran
8ec7a3a162 qcacmn: Make intr thres zero for unnecessary interrupts
Make interrupt threshold zero for interrupts that are not
needed by host.

Change-Id: Id80c0be77b29b3b47cf3af568ae82f03f33d6f33
2022-01-20 12:10:04 -08:00
Himanshu Batra
289a751055 qcacmn: Update Quic Copyright year markings
Update Quic Copyright year markings

Change-Id: Idb93456c55e3c2d412a19147bb76ea737fe1eaf4
2022-01-20 11:04:32 -08:00
Neelansh Mittal
fc1320b1fa qcacmn: Fix LF Copyright Markings
Fix LF Copyright Markings

Change-Id: I450e95a08a4cf6105932e98486a185ea1fb2dabf
2022-01-20 11:04:26 -08:00
Amrit Sahai
dd6932077d qcacmn: Add support for retry counters
add support to account for msdu retry counters in per pkt
Tx completion path

Change-Id: Icd9d90a40d0c3f50ffdba7c4e30731eec0e825c0
2022-01-20 11:04:21 -08:00
Rathees kumar Chinannan
b0f35c7a6c qcacmn: Set Mcast control parameter for isolation mode
Set Mcast control parameter for isolation mode.

Change-Id: Id582e89d897af609c8584daca774d36f7d889d8c
2022-01-20 10:01:14 -08:00
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