提交線圖

16263 次程式碼提交

作者 SHA1 備註 日期
Hariharan Basuthkar
722f740848 qcacmn: Add an API to translate the 6G channel enum
Add an API reg_translate_6g_chan_enum to translate an index between
MIN_6GHZ_CHANNEL and MAX_6GHZ_CHANNEL, to an index between 0 and
NUM_6GHZ_CHANNELS.

Change-Id: I5eaacf36403252a56293b8fadc797ac2aacd751d
CRs-Fixed: 3099080
2022-01-26 10:59:53 -08:00
Hariharan Basuthkar
3d2e170e10 qcacmn: Add support for 6G super channel list
Since there are multiple power modes in 6G, the current channel list
alone is not enough to represent the capability of the chip or
device. Given a channel, in many cases it may be required to know all
the power modes that are supported by this channel.

To represent this information per channel, the concept of a super
channel list is introduced. This super channel list is essentially a
mapping between a channel and supported power modes, and
their associated attributes, such as power values, Indoor/Outdoor etc.

The 6G super channel list is stored in the regulatory pdev private
object.

Change-Id: I8657fed17823929c87110aa7a6cf24fe898bb78f
CRs-Fixed: 3098998
2022-01-26 10:59:48 -08:00
Adwait Nayak
df88a8bdc9 qcacmn: Place pktlog specific code under BE_PKTLOG_SUPPORT
Introduce a new flag "BE_PKTLOG_SUPPORT" for beryllium specific
pktlog support.

Change-Id: If91156541b322905ad5d97cf2d9d7ae687290ecb
CRs-Fixed: 3115832
2022-01-26 10:59:42 -08:00
Jingxiang Ge
a1f2c00c65 qcacmn: Always enable ce debug history for ce2/ce3
Current there is no ce debug history when testing
perf build, so it is hard to debug some issue.

Here it only enable ce2/ce3 on perf build, which keep
only necessary log here.

Change-Id: I29b998939cfa25f0547a9871721c6daeb0fdd961
CRs-Fixed: 3058740
2022-01-26 01:04:24 -08:00
Shashikala Prabhu
236152dcc0 qcacmn: Register callback to get max supported FW phymode
Register a callback to get max supported FW phymode for the given
channel list.

Also, corrected the array index value used to populate the DFS flag and
phymode.

Change-Id: Id635a159acac085827831726d3020cc209b810cf
CRs-Fixed: 3083405
2022-01-25 16:53:32 -08:00
Ananya Barat
6083809cd0 qcacmn: Change NOL timers to HR timers
In the 5.4 kernel, a kernel timer expiry is delayed at the rate of 1 sec
per minute (approx). This accrues to 30 seconds for NOL which is a
30 minutes timer

To avoid the delay use HR(High Resolution: "hrtimer_start") timer for NOL

Change-Id: Ia1072532120d909bbbb73d6acb74643956a66900
CRs-Fixed: 3043864
2022-01-25 13:04:14 -08:00
Jeevan Kukkalli
afea807ac6 qcacmn: Fix memory leak
Monitor cdp ops structure is dynamically allocated, free it
during cdp ops deregistration.

Change-Id: Ic88a22ded0d20e48d00fc8270698ba084d3200a3
2022-01-25 11:53:35 -08:00
Ananya Gupta
f54a51648c qcacmn: Send EAPOL pkt to stack in rx_err path
Send only eapol packets to stack and drop other packets
when found in rx err path when either REO or RXDMA push
reason is set to ROUTE type.

Change-Id: If1f43426adf21f7d00f17d369cd7fde7f7f85866
CRs-Fixed: 3114312
2022-01-25 09:23:13 -08:00
Neha Bisht
ebf445a844 qcacmn: Avoid use of map and unmap API in simple path
Add qdf wrapper for dma_clean_range and avoid use of DMA
map/unmap APIs in Tx. simple fast path.
Gain of ~150 Mbps is observed while running 4 radio traffic.

Change-Id: I0e96bfee43fe810da8c861cb0f4535fb0ba7f6f7
2022-01-25 03:21:47 -08:00
Priyadarshnee Srinivasan
4654e2b73e qcacmn: Fix channel find failure for NOL chan i/p
The channel finding APIs invokes regulatory API reg_fill_channel_list
to fetch the channel params for a given freq. However,
reg_fill_channel_list considers NOL channels as disabled
Hence if the input freq is in NOL, channel finding fails.

Hence in reg_fill_pre320mhz_channel(),
(a) : For MCC, invoke reg_set_channel_params_for_freq()
      which considers NOL channels as disabled.
(b) : For WIN, invoke wlan_reg_get_channel_params()
      which considers NOL channels as enabled.

Change-Id: Ib184aee665525a9eff57d0d9214925a919e5269f
CRs-Fixed: 3089609
2022-01-25 03:21:41 -08:00
Sai Pratyusha Magam
36f141c9a4 qcacmn: Pass key index from wlan_crypto_getkey function
Pass key index from wlan_crypto_getkey function

Change-Id: I3a09e67358f2bc30c0789489d2c0184c475c7776
2022-01-25 01:33:51 -08:00
Bing Sun
407222392e qcacmn: Add wlan_eht_cap_info_network_endian
Add wlan_eht_cap_info_network_endian to parse eht cap IE from
user config

Change-Id: I5c6cb43e98ac02326948ce2d501f9b4ef3f7800b
CRs-Fixed: 3113928
2022-01-24 21:13:45 -08:00
Tallapragada Kalyan
ab28074b13 qcacmn: Access peer and its parameters only if peer_id changes
1. avoid accessing CFG parameter in per pkt path.
2. Access peer, vdev and pdev only when current peer_id
   is different from previous peer_id.
3. Avoid HKv1 and v2 checks in WDS learning path.

Change-Id: Id7fb7a29c642480f8ca58738dbb0c92130e44ecd
2022-01-24 17:00:31 -08:00
Amith Ajith
f3c393d735 qcacmn: Move partial offload dfs code under macro
Move partial offload dfs code under WLAN_DFS_PARTIAL_OFFLOAD macro.

Change-Id: Ibbda6b5935deb3e165aa26a01b1ee32f40ee8a6f
2022-01-24 15:50:23 -08:00
Kiran Venkatappa
af29776e45 qcacmn: Add support to config max MLO links and MLD max
Add max MLO (WLAN_UMAC_MLO_MAX_VDEVS) and MLD max WLAN_UMAC_MLO_MAX_DEV
in #ifndef block so that this can be overridden by cflags.

Change-Id: Iaa2dd1a8d6759b9f9e79bc076e8a4e4673921be8
CRs-Fixed: 3115703
2022-01-24 15:50:18 -08:00
Balaji Pothunoori
7192d90810 qcacmn: update unsafe channel list for SAP for freq extcmd
Currently unsafe channel list updated from firmware using
"wmi_wlan_freq_avoid_event_id".

This change is to update unsafe channel list for vendor
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT which we receive from
userspace.

Change-Id: I57ff334e9cf47468c30bc6884a9ead0a65a92eab
CRs-Fixed: 3103275
2022-01-24 14:41:12 -08:00
narayan
1a3cc5efc1 qcacmn: Legacy CFR code cleanup
Remove legacy CFR routines and code as part of legacy
CFR code cleanup.

Change-Id: I652da06ea7813013f46d509981e83c4b3581074c
CRs-Fixed: 3113932
2022-01-24 14:41:07 -08:00
Adwait Nayak
10c1ced2ac qcacmn: Fix for monitor issues in WKK
Fix for monitor issues in WKK.

Change-Id: Ie0dbd39b6a9b0014d85b2bdd58113326ac937ba0
CRs-Fixed: 3109099
2022-01-23 22:41:05 -08:00
Naga
15ee4b1a2a qcacmn: correct LF copyright year
correct LF copyright year.

Change-Id: Ia631bf4f1f452d3c8171b2b99ed9a68a08fc647e
CRs-Fixed: 3114190
2022-01-23 03:33:13 -08:00
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