コミットグラフ

9848 コミット

作成者 SHA1 メッセージ 日付
nobelj
da9b69116b qcacmn: remove ppdu_info from list before free
during pdev deinit, while freeing ppdu_info it need to be
removed from the list before freeing.

Change-Id: I2829daf3ed58c7a143fba09d68eb6f0278accdf0
2020-11-25 22:25:14 -08:00
Bapiraju Alla
e8dfd0b73a qcacmn: Add INI parameter to configure NAN in 6GHz
Currently, there is no INI parameter to control NAN feature in 6GHz
frequency band. Because of this, there is no provision to disable the
NAN in 6GHz when there is no requirement.

To address this, add INI parameter to configure NAN feature in 6GHz.

Change-Id: Ibc653d6241d176f7fb75f18d2886175231ad71cc
CRs-Fixed: 2817925
2020-11-25 14:45:58 -08:00
Santosh Anbu
abbeda0b03 qcacmn: Support stop-start cmd enqueue mlme ops
Add change to support mlme ops to enable enqueuing stop-start
cmd to serialization queue when CSA is triggered for a DFS channel.

Change-Id: I9f2dca3bc4ccfe40bd40c7e04b3ce035df56d19d
CRs-Fixed: 2825760
2020-11-25 10:50:40 -08:00
Gerrit - the friendly Code Review server
34e43d37b1 Merge changes into wlan-cmn.driver.lnx.2.0 2020-11-25 07:51:39 -08:00
gaolez
1d0d4cbe6b qcacmn: Optimize congestion score calculation
In current code logic, in case of channel utilization value less
than 3, the congestion value treated as “not present” and give
it a medium score. This will cause a very clean channel get a medium
score.

To fix the issue, need calculated congestion score from 1-100 and
not 0-100.

Change-Id: I6abb257e8298e4db3104fdc20351bbadaa7c2ec5
CRs-Fixed: 2812978
2020-11-25 04:51:35 -08:00
Himanshu Batra
569cc296ed qcacmn: Add basic infra for connection manager UTF
Add basic infra for connection manager UTF

Change-Id: Id111a4bcda970e927b73441be55de4d33a694796
2020-11-25 00:52:13 -08:00
Yu Wang
ca591b0db7 qcacmn: move component 'coex' to qcacld project
'coex' component is MCC specific, move to qcacld project.

CRs-Fixed: 2721763
Change-Id: I271301c28748f6b14afb59e105cc9f418e43a9c4
2020-11-24 22:51:16 -08:00
Jyoti Kumari
bd99f03445 qcacmn: Drop remaining IEs if any corrupted IEs are present
Scan entry fails if any coruppted IEs are present

Introduced new ini parameters to enable scan based on ie
corruption. If ini parameter is enable then scan module skips
all IEs following coruppted IEs and adds scan entry without
completely dropping the frame. Otherwise if ini parameter is
disable then scan entry fails on corrupted ie.

Change-Id: If17b68448dd3e6ac3e98ed854ed67d7f16d9dff7
CRs-Fixed: 2806932
2020-11-24 10:55:46 -08:00
Rakesh Pillai
e9899b2a2f qcacmn: Add support to send packet marked by upper layer to FW
Upper layer (OS_IF) can mark certain packets to be sent
to FW. Mark such packets as exception, so that it is sent
to the FW.

Change-Id: I44af2b06793712be7236f831b6b2604123d72bb1
CRs-Fixed: 2813172
2020-11-24 10:55:42 -08:00
sandhu
4e87b183a7 qcacmn: Reduce memory used by rx error ring history
reduce the memory used by rx error ring history.

Change-Id: I5f4113af799bb57c5545893130acd4cf8e4db024
CRs-Fixed: 2807711
2020-11-24 08:49:07 -08:00
Yeshwanth Sriram Guntuka
acbca27d9d qcacmn: Reset RXDMA_BUF ring filters when mon mode is disabled
Rxdma err destination could still grow even after monitor
status ring filters are reset as part of monitor mode
disablement which will result in RXDMA2SW ring back-pressure.

Fix is to reset RXDMA_BUF ring filters when monitor mode is
disabled.

Change-Id: Ifd56f6bdbf6a5e4c5d39fc5c71dd85925e3d5f33
CRs-Fixed: 2818011
2020-11-24 08:49:04 -08:00
Bapiraju Alla
197fc297c3 qcacmn: Add log while dropping FW diag events
FW diag events will be dropped when number FW diag events pending for
processing is reached to configured RX_DIAG_WQ_MAX_SIZE value. Add a
log when these diag events a getting dropped for debugging purpose.

Change-Id: Ifc303991bdf274fa7426794eaf71517722e9f386
CRs-Fixed: 2824458
2020-11-24 08:48:59 -08:00
Ananya Gupta
a550225eb1 qcacmn: Rate limit logs when wake request fails
Excessive logging is detected when force wake request
command fails.
Rate limit the logs in hif_force_wake_request and
hal_write32_mb.

Change-Id: I9b1166074dfdb2d58d811571c802a75a6dbc03c5
CRs-Fixed: 2823961
2020-11-23 21:57:39 -08:00
Ananya Gupta
28998adf14 qcacmn: Changing log level in dp_tx_msdu_multiple
Excessive logging was detected in dp_tx_msdu_multiple.
To fix this, Reduce log level when tx_hw_enqueue fails.

Change-Id: I66d58d12aff037896c7623c6755a443092673a88
CRs-Fixed: 2823453
2020-11-23 15:22:33 -08:00
Rakesh Pillai
8f4a2eeaa5 Revert "qcacmn: Add INI support to enabling sending ICMP to FW"
This reverts commit Change-Id: I98f8f751dc75a3d6f2296f0844529e9c72c4090b.
This INI is moved to HDD_DP.

Change-Id: I451fa50621fdc8b6cbe027bdf1495788914481c9
CRs-Fixed: 2824623
2020-11-23 13:19:31 -08:00
Nandha Kishore Easwaran
a90712e15d qcacmn: Add extra parameters to gpio command
Add extra parameters to gpio wmi command since they
are required for smart antenna config.

Change-Id: I3b363c7b508862ded8aacffb9e0a39328e8b2b94
2020-11-23 06:38:30 -08:00
Nandha Kishore Easwaran
de94037c5f qcacmn: Add extra parameters to gpio attr
Add extra parameters mux_config, drive and init_enable
to gpio config command.

Change-Id: I439aec6cbd6769a36c7f5629f9249bdd25466138
2020-11-23 06:38:25 -08:00
Venkateswara Swamy Bandaru
59234d61cb qcacmn: Fix memalloc failure issue in MBSSID IE parsing
Fix MBSSID IE pasring by properly incrementing offsets while
pasing the IE.
Copy ext IEs also in final iteration.
Minor code readability changes done along with the above fixes.

Change-Id: I3aaf5dd440b48c4229ddefc37f75703fc58ba994
CRs-Fixed: 2814732
2020-11-22 23:09:23 -08:00
Jinwei Chen
18762e5b16 qcacmn: Use rxdma error frame as rx_mpdu_error count
RX error stats from REO2TCL ring is just for RX 2K jump/
OOR frame, host should not count them as rx_mpdu_error
stats for user space which will think wifi connection is bad
easily in noise environment.

Align this part logic with Helium that count TKIP/MIC error
frame, for HST/HSP, use error counted from RXDMA instead.

Change-Id: I2e488bedaed166ce410c53eb7e9710d7933c2717
CRs-Fixed: 2821147
2020-11-21 18:07:31 -08:00
wadesong
e2d233c757 qcacmn: Fix a KW issue in crypto set function
In function target_if_crypto_set_key(), array pn's size is 16,
while params.key_rsc_ctr's length is 8, so the length of src
buffer(params.key_rsc_ctr in this case) should be used when
copying data to dest buffer(pn).

Change-Id: Ifa9156963c3da0234dbf8755a4d1f7bf3b96d0ff
CRs-Fixed: 2822715
2020-11-21 02:20:23 -08:00
phadiman
95b9a6e63a qcacmn: HOST Memory Optimizations (in NSS offload mode)
Number of DP rings used in HOST mode and NSS offload mode differ
and in current scenario the rings are allocated unconditionally.

Allocate only required number of rings based on the HOST mode and
NSS Wi-Fi offload mode and based on the number of radios supported
per SOC.

CRs-Fixed: 2790504
Change-Id: I20ce1908da47c197ea3b406f8704b964f3d8f7d1
2020-11-21 02:20:19 -08:00
Bapiraju Alla
b130521bd3 qcacmn: Process FW diag events in a separate worker thread
Currently, FW diag logs, management frames and stats responses are
processed in worker context. Because of this, there is a possible
out of memory scenario when there are huge number of diag events
waiting in work queue.

To address this, process diag events in a separate worker thread and
set the limit for the number of diag events that can be queued in
work queue.

Change-Id: Ie6e5b905a3b591cf724cd6b024bec0612f9e2e0c
CRs-Fixed: 2818013
2020-11-21 00:20:27 -08:00
Lincoln Tran
8652562a87 qcacmn: Add API to check for passive frequency
Add new API to check if frequency is passive or not. The API checks
the channel flag against REGULATORY_CHAN_NO_IR.

Change-Id: I166a7a79517f81c23ff933d2657ef3f4c551c082
CRs-fixed: 2822205
2020-11-20 16:24:50 -08:00
Himanshu Batra
c8fc486dd6 qcacmn: Activate connect/disconnect from serialization via schedular
On completion of connect/disconnect request, the command is removed from
serialization queue. If there if any connect or disconnect request in
serialization pending queue for the same vdev, the command is moved from
pending to active queue in the same context.
All this operation happens under CM SM lock. As part of activation of
next command, the CM tries to acquire same lock to dispatch even to
connection SM. As a result, deadlock is observed.
Add fix to Activate connect/disconnect from serialization pending queue
via deferred context using scheduler

Change-Id: I7f2873ab6d2a639b55ccc54e37463a892d9aae94
CRs-fixed: 2820539
2020-11-20 10:43:47 -08:00
Tiger Yu
9fc47f763e qcacmn: Add cfg_dp_sg_enable to get ini key dp_sg_support
Add cfg_dp_sg_enable to get ini key dp_sg_support by cdp_cfg_get.
And add some comments for CFG_DP_SG to clarify more.

Change-Id: I34de242eacbdcf55398afe64b91f5534f205fa22
CRs-Fixed: 2822536
2020-11-20 10:43:43 -08:00
Nandha Kishore Easwaran
1a0bc1efc4 qcacmn: Data path changes for big endian platform
Add reo ring descrptor swap in case of big endian platform.
Convert msi_data into little endian format before writing into
MSI_DATA register. Also change into little endian format while accessing
the shared LMAC registers.

Change-Id: I07f4ae4e6df4608201b63d325c2cbc37436d1592
2020-11-20 08:35:22 -08:00
Paul Zhang
47c1479e3f qcacmn: Add test configuration attr to enable/disable full bandwidth UL MU-MIMO
Define a QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_FULL_BW_UL_MU_MIMO to
enable/disable full bandwidth UL MU-MIMO subfield in the HE PHY
capabilities information field for testing purposes.

Change-Id: I666abb2654603069140bd603ae0377ea01a720fa
CRs-Fixed: 2816951
2020-11-20 08:35:18 -08:00
Tiger Yu
36bf66878e qcacmn: Fix buffer overflow written in the dp_soc_interrupt_detach
Use sizeof instead of REG_BAND_UNKNOWN to fix buffer overflow written
in the dp_soc_interrupt_detach.

Change-Id: Iffad59346c487e34632f1c60b2c88e635f6e83a0
CRs-Fixed: 2822433
2020-11-20 04:03:42 -08:00
bings
7f63da092c qcacmn: Update NOL to platform even there is no nol channel
After clear nol channel, the number of nol channel is 0. We should update
this information to platform.

Change-Id: Ia39be9a2c53067629460ead6000c2661ead07f63
CRs-Fixed: 2818936
2020-11-19 22:46:18 -08:00
sandhu
f39a270b60 qcacmn: Add function to convert Hw to qdf status
Enhance qdf tx rx to hw tx completion status mapping .Function
to convert Hw to qdf status.Add a additional func arg to qdf_dp_trace_ptr.
Add dummy func argument to existing qdf_dp_trace_ptr func calls.

Change-Id: I38865d63dc7383c55686d2d0187a262b3b6d5acc
CRs-Fixed: 2810601
2020-11-19 20:39:12 -08:00
Yeshwanth Sriram Guntuka
ca3d4fecef qcacmn: Add PCIe link status sanity before enabling CE IRQ
Check for PCIe link status and enable the CE IRQ only
if link is active.

Change-Id: I767a467a4b70435037f5ccce9e740f95f8b6112a
CRs-Fixed: 2821406
2020-11-19 18:23:25 -08:00
Jianmin Zhu
c6aee5cbd6 qcacmn: Fix assert when connect WEP AP
When 5G open mode AP and 2G WEP mode AP use same ssid,  and WEP mode AP is
selected to connect on UI, 5G open mode AP will be candidate in driver
too for wrong security filter(WLAN_CRYPTO_CIPHER_NONE is supported by
default, WEP match isn't checked at all for open AP).
Since 5G is preferred, 5G open mode AP is selected and connected at last,
peer is set as authenticated without waiting for key install.
But WEP mode AP is assumed connected in wpa supplicant, so WEP key is sent
to driver and F/W later. If peer is set as authenticated before PTK is
installed, data may be sent without encryption, so F/W add assert for such
order.

To fix this issue, when reset cipher and auth set in vdev, don't keep
WLAN_CRYPTO_CIPHER_NONE and WLAN_CRYPTO_AUTH_OPEN, just set to 0,
all cipher and auth set should be get from connect request,
scm_check_wep can be called for open mode AP in scm_is_security_match,
when only WEP cipher is set in filter, open mode AP won't be selected.

Change-Id: I48f9e74d0e8e31e789f33d038b11614d6b2ee6d0
CRs-Fixed: 2820129
2020-11-19 18:23:21 -08:00
Tallapragada Kalyan
b9d5c7d2b7 qcacmn: move the TX notify comp flag to MCL specific cb structure
The TX notify comp flag is used only by MCL, hence moving
to the MCL this field to the MCL specific cb private structure.

Change-Id: I707ab9252dea705552df9678eedd8501f479672e
2020-11-19 06:58:26 -08:00
Nisha Menon
4677d5bdf5 qcacmn: Memory stats for SKB usage and Tx desc cnt in datapath
Add sysfs node for DP level memory stats:
/sys/kernel/wifi/wlan/wlan_dp_mem_stats
These include Tx, Rx SKB memory allocated, Tx/Rx
buffer count, outstanding Tx desc count.

Change-Id: I839a5f2ec4e763ca11cdea2093368ca6dc52d8cf
CRs-Fixed: 2724460
2020-11-18 16:23:53 -08:00
Nisha Menon
3db73f1414 qcacmn: Add memory stats pertaining to DP usage
Add sysfs node for DP level memory stats:
/sys/kernel/wifi/wlan/wlan_dp_mem_stats
These include Tx, Rx SKB memory allocated, Tx/Rx
buffer count, outstanding Tx desc count.
Add and subtract the skb memory for Rx/Tx when
the map/unmap functions are invoked.

Change-Id: If62cc47bb60f7eb63f60e861f755f3417248677f
CRs-Fixed: 2724482
2020-11-18 16:23:49 -08:00
Hariharan Basuthkar
3824548f38 qcacmn: Add reg_rx_ops for wlan_reg_is_range_overlap_6g
Add reg_rx_ops for wlan_reg_is_range_overlap_6g, to use the API
outside the umac.ko module.

Change-Id: Iac64d9f15d5d5bed00b2656571dfba34e9933bc4
CRs-Fixed: 2818160
2020-11-18 12:04:11 -08:00
Hariharan Basuthkar
fb1b1fe407 qcacmn: Fix compilation error when CONFIG_BAND_6GHZ is disabled
Add a static inline definition for wlan_reg_is_range_overlap_6g
when CONFIG_BAND_6GHZ is disabled, to fix the compilation error, that
is seen when CONFIG_BAND_6GHZ is disabled.

Change-Id: I26cf77c029d7d27887c242a1c7c300219c125256
CRs-Fixed: 2817943
2020-11-18 12:04:07 -08:00
Rakesh Pillai
904ad769a0 qcacmn: Skip setting rx tids for monitor mode self peer
Currently the rx tids are getting setup for the
self peer in monitor mode. This leads to sending
commands to the reorder-hw and the hardware generates
its responses.
In Monitor mode, none of these rings are reaped, since
the reorder-hw is not used. This opens up a possibility
of backpressure on the reorder-hw rings.

Skip setting up the rx tids for monitor mode
self peer, since they are not used.

Change-Id: I37bade9ef5c8bd536a01371cc059ebbcfb85ee5a
CRs-Fixed: 2815866
2020-11-18 12:04:04 -08:00
Yeshwanth Sriram Guntuka
1df1553343 qcacmn: Use only shadow writes for REO remap and WBM HP reg
REO remap register direct writes as part of SAP stop could
result in a NOC error if the UMAC is in low power state.

Fix is to use shadow register writes for REO remap and
WBM HP registers.

Change-Id: Ie515c3d28f4ccdd99a3757808f1ab6c5cf373e3d
CRs-Fixed: 2813105
2020-11-18 09:54:55 -08:00
Debasis Das
e85ef5624f qcacmn: Add resource config flag for VoW
Add support to use resource-config flag to
enable/disable optimization for VoW.

Change-Id: Iff20f09ad3b8f21d49d269ec2eeb3f8b70704c6f
2020-11-18 07:46:34 -08:00
Jhalak Naik
04188da78f qcacmn: Cap the FFT bin values to 255
FFT bin values can span 10 bits for HKv1, HKv2 and Pine.
This change is to cap the values to 8 bits for such case
on these platforms.

Change-Id: I144b00b1ed21a3281f79050bb1ab63bd857e47b1
CRs-Fixed: 2804192
2020-11-18 07:46:30 -08:00
Amir
df60a16001 qcacmn: Disable rxdma1 functionality for LM256 profile
As monitor mode is not supported on LM256 profile,
disable rxdma1 functionality on same

Change-Id: I64e5de02d56801bfd46e32a6c64a1286e4d7ecb0
CRs-Fixed: 2819904
2020-11-18 05:40:30 -08:00
gaurank kathpalia
7a2fd984a7 qcacmn: Fix unused params in 6Ghz security check APIs
Remove few unused params in 6Ghz security check APIs.

Change-Id: I2b88b72d18145d7b537520c30e499ba40c86f5f3
CRs-Fixed: 2820363
2020-11-18 03:38:13 -08:00
Saket Jha
b46ee401e1 qcacmn: Enable monitor mode in mission mode
While in mission mode, add support for monitor mode to be created as
another interface to support STA + monitor mode. Create a new
mon_vdev_timer to be started during vdev_attach and calling
dp_mon_vdev_timer to reap monitor rings while in this mode.

CRs-Fixed: 2815653
Change-Id: I631deb5121d7997cded524befd11883079a23aaf
2020-11-17 23:18:52 -08:00
Ankit Kumar
8f311b08dd qcacmn: Drop frame if msdu len received is Zero
In monitor destination ring, sometime buffer with
msdu_len zero is observed.
Drop frame if msdu len is zero.

Change-Id: I327e180a52ec5f4e0d9fc2d0391262cba0dbe09d
2020-11-17 23:18:49 -08:00
Himanshu Batra
5d68a204f0 qcacmn: Resolve compilation issues for CM
Resolve compilation issues for CM

Change-Id: I5f652c568479aef94e6e22ecada496471c3cdb75
CRs-Fixed: 2820487
2020-11-17 14:06:37 +05:30
Tallapragada Kalyan
c0396e72ea qcacmn: use qdf_nbuf_headlen API to get the length in TX path
currently qdf_nbuf_len is being used to get the length of
the tx pkt, but this API also interprets the nbuf CB field
to adjust the length if extra_frags are present.
The concept of extra_frags is applicable only for legacy
drivers but in lithium as cb is not reset in the driver the
qdf_nbuf_len API is mis-calculating the length if extra_frag
field in cb is set by any network stack protocol.
To avoid this qdf_nbuf_headlen API is used to get the length
of the TX pkt.

Change-Id: Ie1e0b4b2168daf93ae77f4c995f5c3476a27b433
2020-11-15 23:15:52 -08:00
Tallapragada Kalyan
c0d82e2d46 qcacmn: remove the additional intra-bss check for NAWDS in tx path
remove the additional intra-bss check for NAWDS in tx path
as it is a redundant check.

Change-Id: I92be5c615ac396939e2a6542af41aea158ffc05f
2020-11-15 23:15:48 -08:00
Mohit Khanna
a939d20dbf qcacmn: Move delayed-reg-work active_work_cnt decrement
Currently, we decrement active_work_cnt in a while loop in delayed
register worker and later on make a "allow_l1" call to enable L1ss.
The bus suspend routine depends on the value of active_work_cnt to
determine if any register writes are pending. In case there are, bus
suspend is rejected.
As a result its possible that when bus suspend happens, the
delayed worker while processing the last remaining enqueued
write,  makes the active_work_cnt to 0. This will allow the bus suspend
routine to continue to disable the bus, even before the
delayed-reg-worker has called allow_l1 and run to completion. This may
lead to a NOC error while calling "allow_l1" API from
delayed-reg-worker.

Hence, move the decrement of active_work_cnt to the very end in
hal_reg_write_work function.

Change-Id: Iec602f97c953df1c6a018310fd02ab458547ce3a
CRs-fixed: 2813733
2020-11-14 20:04:04 -08:00
Rakesh Pillai
98f8f751dc qcacmn: Add INI support to enabling sending ICMP to FW
Add INI support to enable the feature of sending
ICMP packets to FW at regular intervals.

Change-Id: I888bb2f65e8a497c3e6541f213def905d6dd0727
CRs-Fixed: 2813169
2020-11-13 15:09:15 -08:00