Commit Graph

13310 次程式碼提交

作者 SHA1 備註 提交日期
Yu Wang
98a3fceeb3 qcacmn: Enhance DCS event handler to support AWGN event
Handle DCS-AWGN event and take actions accordingly:
For STA mode, if the interference locates on primary 20MHz,
disconnect from AP; otherwise, find a max interference free width
and trigger channel change.
For SAP mode, if the interference locates on primary 20MHz,
try to select a random interference free channel and trigger channel
change (stop SAP if no channel is selected); otherwise, find a max
interference free width and trigger channel change.

Change-Id: I33e79f454b459b12ad84f8b0f3259403037464ee
CRs-Fixed: 2958675
2021-07-02 19:02:13 -07:00
Abhishek Singh
61d75799c8 qcacmn: Add new reason code in qdf_hang_reason
Add new reason code QDF_VDEV_SM_OUT_OF_SYNC, in qdf_hang_reason.

Change-Id: I528fa1d2dc32ff8d8e4b7e38f16bce04cda48b5b
CRs-Fixed: 2982366
2021-07-02 13:54:08 -07:00
Ruben Columbus
1be92c16c8 qcacmn: correct tid boundaries on error
add >= sign on values of tid where DP_MAX_TIDS is missused

Change-Id: Ib50f65705835f69ff3ca5c2b2a3edb7f8064adeb
2021-07-02 11:44:12 -07:00
Krishna Rao
e49588b31e qcacmn: Add RL variants for MLO QDF trace APIs
Add missing ratelimited variants for MLO QDF trace print APIs.

Change-Id: I05e3232bf7d40e13b201d13f92ebe35a93bc71dd
CRs-Fixed: 2982212
2021-07-02 11:44:07 -07:00
Hariharan Basuthkar
140f495b6c qcacmn: Export ucfg_reg_get_cur_6g_ap_pwr_type to use outside UMAC
Export the ucfg API ucfg_reg_get_cur_6g_ap_pwr_type, so that it can be
used by the APIs outside the UMAC module.

Change-Id: I46a23f2d3a2545dcc07373f664b419c125f557e1
CRs-Fixed: 2981562
2021-07-02 09:41:42 -07:00
Amit Mehta
909feab5a8 qcacmn: Check irq free before enable
During deinit process we free the IRQs and call kill tasklet.
There is the possibility that Tasklet might be running when we
call kill tasklet and as part of tasklet exit it will try to
enable the corresponding CE IRQ which has already been freed.

Adding check for IRQ free condition to avoid any IRQ enable
calls after IRQ free is done.

Change-Id: I9d58ffbb3738251e3d8114631e2daacd07e33d7d
CRs-Fixed: 2973309
2021-07-02 09:41:38 -07:00
Vevek Venkatesan
f49df07dae qcacmn: add support to clear the consumed HW descriptors
Add support to clear/reset the consumed HW descriptors
to zero.

Change-Id: Idccb120afa448c4f958a3177f27cab9b1197ac3e
CRs-Fixed: 2978850
2021-07-02 07:24:54 -07:00
Chaithanya Garrepalli
6332137696 qcacmn: DP init changes for QCN9224
Changes to initialize DP for Target type QCN9224

Change-Id: If9b69b79946060dd802eb0554280813186de1f7a
2021-07-02 05:02:52 -07:00
Aditya Sathish
6b048962f6 qcacmn: Add support for scanband config for cfg80211 scan
cfg80211tool athX scanband <val> config is used to
select a specific band to scan (i.e., 2.4GHz and/or
5GHz). The initial support for this command was
added as an iwpriv for WEXT-based scanning through
IOCTL. However, on bringing up cfg80211 support,
support for not extended for the cfg80211-based
vendor scan.

Add support to ensure that this command will
control band configuration for scanning for cfg80211
vendor scanning.

CRs-Fixed: 2969914
Change-Id: Ie3b7140ea78f15533e73fbe6251e670e6faa6d29
2021-07-02 02:46:47 -07:00
Jinwei Chen
f6d5584698 qcacmn: Refine HW cookie conversion
(1)naming change in HW CC related function
(2)refinement for cookie ID generation regardless of
SPT page address 4k aligned or not
(3)move CMEM size check under cookie conversion macro

Change-Id: Ib32d802f5512e5facfa4130826406943fb3d27f1
CRs-Fixed: 2977304
2021-07-02 00:33:58 -07:00
Karthik Kantamneni
8c19a927bf qcacmn: Skip sending WMI REORDER_QUEUE_SETUP for BAR frames
When host receives BAR frames with OOR/2K jump in sequence
number it updates REO HW with new starting sequence number
and requests F.W to setup peer reorder queue. But REORDER_QUEUE_SETUP
is already requested to F.W as part of initial add BA in host.

So while handling OOR/2K jump BAR frames don't send
REORDER_QUEUE_SETUP to F.W

Change-Id: Idc3657e901dc792f699b53c45e4ae5133d286891
CRs-Fixed: 2981280
2021-07-01 22:18:37 -07:00
Ashish Kumar Dhanotiya
09f8d73a48 qcacmn: Add support for 320MHz in get 5g bonded state API
Currently reg_get_5g_bonded_channel_state_for_freq,
reg_get_bonded_chan_entry and reg_get_bw_value apis don't
have support for 320MHz BW.
With this change add support for 320 MHz in above APIs.

Change-Id: I9a5563464a8969d19315a10013fd21f805dae184
CRs-Fixed: 2975464
2021-07-01 13:44:31 -07:00
Debasis Das
273d2795c6 qcacmn: Initialize variable that collects return status of functions
The variable used to collect the status of function calls
should be initialized.

Change-Id: I2716673455ca4b48c4945739f2e43343be488234
2021-07-01 11:23:30 -07:00
Manikanta Pubbisetty
88c01f6191 qcacmn: increase force wake timeout
Increase force wake timeout to 500ms for perf builds.

Change-Id: Ib665418b5de63048f02d7093d12813f4babdbf72
CRs-Fixed: 2979062
2021-07-01 11:23:26 -07:00
Chaithanya Garrepalli
f79a68f685 qcacmn: Fix lithium HAL generic APIs
HAL generic APIs which use HW definitons that
do not have same value across all lithium chipset
are moved to header files. So that these will be
compiled with appropriate header files

Change-Id: I6c167afa4212c5e884f5e18ff1ccb3bbbba8f5f5
2021-07-01 09:06:06 -07:00
Vevek Venkatesan
05487e226c qcacmn: rate limit error log in dp_2k_jump_handle
Error log peer not found is coming spurious in
dp_2k_jump_handle on continuous error pkts, so
rate limit the same.

Change-Id: If4b577a7759136ea824ca62b63ef91d102b8decb
CRs-Fixed: 2978939
2021-07-01 04:24:36 -07:00
Karthik Kantamneni
292e767c1e qcacmn: Remove affinity hint for CE irqs in QCA6750 target
CE irqs affinity is set to gold cores, but affinity
hint is not removed while freeing irqs.

So remove CE irq affinity before freeing them.

Change-Id: If3822422f823cb3caa6e291387a2beadc62049b7
CRs-Fixed: 2975529
2021-07-01 02:04:19 -07:00
Jinwei Chen
a566938d33 qcacmn: fix HW CC compilation issue on 32bits system
fix compilation issue on 32bits system for HW cookie conversion
change.

Change-Id: I24ef02f61d55fb0402a1312a76e39303ab761f41
CRs-Fixed: 2980021
2021-07-01 02:04:14 -07:00
Kiran Venkatappa
fea75dc9eb qcacmn: Move mlo mgr struct header inclusion under feature flag
Move inclusion of wlan_mlo_mgr_public_structs.h under feature flag to
avoid compilation error in branch where new MLO files are stripped.

Change-Id: Iaf9fd4cde63e057afeec11948385c123a38eb65f
CRs-Fixed: 2981045
2021-06-30 16:44:03 -07:00
Chaithanya Garrepalli
86e00108f4 qcacmn: fix for backpressure issue on RxDMA ring
Fix for backpressure issue reported on NSS offload case
on PCIE radios

Change-Id: Ib0492deb5136550a45abe78b9fc7a8903884631f
2021-06-30 13:49:09 -07:00
Mohit Khanna
af887c113d qcacmn: Changes to Init TX Rings for BE
DP/CFG changes to initialize extra TX/TX Comp Rings in BE.

CRs-Fixed: 2937302
Change-Id: Ia8a8ed717eb0e1bfa9d2e1ff917941a7ea91bc28
2021-06-30 13:49:03 -07:00
Rakesh Pillai
08c76c5170 qcacmn: Route all the REO error indication to APPS for WCN7850
For WCN7850, all the REO errors are supposed to be handled
by the APPS core. In accordance with this design, re-route
all the REO error frames to the APPS facing rx-error ring.

Change-Id: Id6f956a1459d318a5876696842ca87fa29e1e27b
CRs-Fixed: 2965087
2021-06-30 13:48:56 -07:00
Rakesh Pillai
daa5590673 qcacmn: Handle all the REO error codes
For certain wlan chips, eg WCN7850, all the REO error
codes are routed to the APPS core and none are handled
by the firmware.

Add support to handle all the REO errors. Currently for
all the newly handled REO errors, the packet is dropped
and the corresponding link descriptor is returned to the WBM.

Change-Id: I94f3afcbfc129befcb94db2dea855151bf8114f1
CRs-Fixed: 2965087
2021-06-30 13:48:50 -07:00
Rakesh Pillai
e28d968b5a qcacmn: BAR frame handling for 2K-jump and & OOR error
Currently the detection of whether a frame arriving on the
rx-error ring is done via the flags in the ring descriptor.
For targets which support providing previous PN in the
rx-error ring descriptor, the flags indicating BAR frame
will not be present in the ring descriptor.

Add BAR frame check and handling in the OOR and 2K-jump
frame processing handlers.

Change-Id: Iaba763559a84f1c1f6a193e01945124f08c506f2
CRs-Fixed: 2965086
2021-06-30 13:48:43 -07:00
Rakesh Pillai
593a7c6ae2 qcacmn: Attach hal ops to get current PN number
Register, for WCN7850, the hal ops to get the
current PN for a packet from the tlvs.

Change-Id: I9fabc84aee318de2031bfa5f88dafe19b723079a
CRs-Fixed: 2965086
2021-06-30 13:48:37 -07:00
Rakesh Pillai
5d44eac10a qcacmn: Enable PN check for 2K-jump and OOR frames
Currently the EAPOL/ARP/DHCP frames arriving as 2K-jump
or out-of-order frmaes are being delivered to the network
stack, without checking for the packet-number sequence.

WCN7850 has hardware support to provide the packet number
of the previous successful re-ordered packet from hardware.
Use this feature to check if the packet-number are in proper
sequence for these EAPOL/ARP/DHCP packets arriving as 2k-jump
or out-of-order packets before submitting it to the network
stack.

Change-Id: I1078452afce4bc00b2509436295e5bd80000feb4
CRs-Fixed: 2965086
2021-06-30 13:48:31 -07:00
Rakesh Pillai
e4c918b6ca qcacmn: Fix OOR & 2K-jump BAR frame handling
Currently the error_code is not passed as an argument
for BAR frame handling. Due to this, if a BAR frame is
received which is OOR or 2K-jump frame, then the sequence
number from the BAR frame is not programmed to the REO.
This can eventually lead to failure in re-ordering of
the subsequent data frames.

Pass the proper error code for BAR frame handling.

Change-Id: I0ea01a3c9bb9c77923e88a5b742ff2dd974c8483
CRs-Fixed: 2965086
2021-06-30 13:48:25 -07:00
Rakesh Pillai
6dc0996ee6 qcacmn: Add Near Full IRQ stats to interrupt stats
Add the near-full irq stats as a part of the
global soc interrupt stats.

Change-Id: Idded43c122d565f5aa70584463aad9e2ee6b4f69
CRs-Fixed: 2965081
2021-06-30 13:48:19 -07:00
Rakesh Pillai
813b3bb474 qcacmn: Add near-full irq handler for TX completion ring
Add the handler to process the near-full condition
on the tx completion ring.

Change-Id: I547cd27d2a8a347fca1cebc6b27072f2d1d8a99d
CRs-Fixed: 2965081
2021-06-30 13:48:13 -07:00
Rakesh Pillai
5605d45923 qcacmn: Add near-full irq processing handler for RX ring
Add the handler to process the near-full condition
on the rx ring.

Change-Id: I426480386c4716702f8410ed87c70160decaa03f
CRs-Fixed: 2965081
2021-06-30 13:48:07 -07:00
Rakesh Pillai
20dddcb585 qcacmn: Add handler for near-full irqs for consumer rings
Add the handlers to process the near-full irqs for
the rx, tx_completion, wbm_error and reo_status rings.

Change-Id: Ia5a2abb6d66a96e8dcb5c651d24769382db0d666
CRs-Fixed: 2965081
2021-06-30 13:48:02 -07:00
Rakesh Pillai
47af4d320f qcacmn: Move to index based assignment for srng register offset
Currently the hardware srng register offset is statically
assigned to the handle. This can lead to incorrect index access
when targets (eg: wcn7850) is added which require additional
register offsets to be stored in the hw srng register offset table.

Move to the index based assignment of the srng register offset.

Change-Id: I8e38bdd0c28068029a0267fce706edf4378b9df8
CRs-Fixed: 2965081
2021-06-30 13:47:57 -07:00
Rakesh Pillai
37e2c6d9ed qcacmn: Register IRQ for near full irq
WCN7850 has support for near full indication for
the consumer srngs. This interrupt is used to take
preventive actions to avoid ring full watchdog irq
trigger.

Register for the near full irq and add the necessary
ext groups for these near-full irqs.

Change-Id: Ic16381fceabc54e6c52b34dd13abea74cad4d38c
CRs-Fixed: 2965081
2021-06-30 13:47:51 -07:00
Manjunathappa Prakash
cebffa806d qcacmn: Add support for additional REO rings for Beryllium
Beryllium supports additional REO rings to cater increased bandwidth.
Enable additional REO rings.

Change-Id: I5124c92e30e4ac56a78b6f5f38d1c91a2933bba8
CRs-Fixed: 2930184
2021-06-30 13:47:46 -07:00
Linux Build Service Account
b845bfdce4 Merge "qcacmn: Add WMI support for AWGN interference detection" 2021-06-30 04:12:54 -07:00
Linux Build Service Account
a9babbde7e Merge "qcacmn: Update Japan operating class table" 2021-06-30 04:12:53 -07:00
Yu Wang
15c52e32f7 qcacmn: Add WMI support for AWGN interference detection
Add APIs to extract AWGN information from the DCS WMI
interference event received from FW.

Change-Id: I4b2f9f4ef012553dac2a405dc7ac12aef9452354
CRs-Fixed: 2958675
2021-06-29 23:49:31 -07:00
Lincoln Tran
888f9d0de8 qcacmn: Update Japan operating class table
For operating class 128 and 130, a new center channel was added to list.
Update the table to reflect the new channels.

Change-Id: I6157f02089f7b4f16231a6bb35d829343bbc968f
CRs-fixed: 2975890
2021-06-29 23:49:26 -07:00
Linux Build Service Account
0d1a4b3ca1 Merge "qcacmn: Add new API to update ap power type for 6G roam" 2021-06-29 22:40:56 -07:00
Gururaj Pandurangi
ea4286f808 qcacmn: Add new API to update ap power type for 6G roam
Add a new API reg_get_6g_power_type_for_ctry to update ap
power type when STA roams in/out of 6GHz channel. It is
invoked during initial connection and sch beacon process
during roaming.

Change-Id: I994d912da79597cf71477fc632c8e678008271a5
CRs-Fixed: 2968243
2021-06-29 21:39:22 -07:00
Linux Build Service Account
e6702160f9 Merge "qcacmn: Handle EAPOL frames in wbm error ring" 2021-06-29 19:41:36 -07:00
Linux Build Service Account
07bcd91819 Merge "qcacmn: Add version info to the AFC request structure for compatibility" 2021-06-29 19:41:36 -07:00
Linux Build Service Account
5bc090b969 Merge "qcacmn: Define new structure for AFC request parameters" 2021-06-29 19:41:36 -07:00
Harsh Kumar Bijlani
65ba1ff543 qcacmn: Release pdev monitor lock in failure scenario
Release pdev monitor lock when srng access start fails for monitor
destination ring.

Change-Id: Id3c0959ff5ac682c89eddfe4b21b45c2b9e1ad94
CRs-Fixed: 2967383
2021-06-29 15:05:11 -07:00
abhinav kumar
96f19b772c qcacmn: Add support to print candidate rssi in kmsg
First Requirement:
In case of WTC_BTM roam trigger reason, if FW reports rssi
threshold for 5G and 6G AP via wmi_roam_trigger_reason,
Host should print it in kmsg.

If wtc_candi_rssi_ext_present is set (1), It means fw
reports 5g and 6g candidate rssi (new firmware case).
If wtc_candi_rssi_ext_present is clear (0), It means fw
doesn’t report 5g and 6g candidate rssi (old firmware case).

Host use flag "wtc_candi_rssi_ext_present" to keep backward
compatibility.

Second requirement:
As per user space, value for scan mode in WTC command, is
like below:
0: no Scan, 1: partial scan and 2: full scan.

For NO scan case, FW sends value
ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION (3)
in wmi_roam_trigger_reason-> wtc_scan_mode. When driver receives
WTC scan mode as ROAM_TRIGGER_SCAN_MODE_NO_SCAN_DISCONNECTION,
it should print value as 0 instead of 3.

Convert WTC scan mode comes from FW to
wmi_configure_roam_trigger_parameters->scan_mode to make it
compatible to WTC command.

Change-Id: I8266460aac1272d345e4349c2ca52b4f9a745d4c
CRs-Fixed: 2965362
2021-06-29 12:45:46 -07:00
Paul Zhang
fa7cf78ebf qcacmn: Rate limit wmi ext2 service null error log
For some platform, ext2 service bitmap is not supported. So rate
limit the wmi ext2 service bitmap NULL error log to avoid
excessive console logging.

Change-Id: I383632669e4e4a59dd9e6e3ce82626a7cd3e42b3
CRs-Fixed: 2949180
2021-06-29 03:54:33 -07:00
Liangwei Dong
143f8487df qcacmn: Fix incorrect channel state for NOL channel
For 2G and 5G, the secondary channel list is coming from
master channel list which is not filtered by NOL.
Fix by using cur_chan_list to fill the secondary channel
list for 2G and 5G part.

Change-Id: I5e9ede6e39a66ad1a2f0e6c32c151ef175be6dab
CRs-Fixed: 2976916
2021-06-29 03:54:29 -07:00
Abhishek Singh
04a8eb2045 qcacmn: Code cleanup for connection manager Macro
Code cleanup for connection manager Macro.

Change-Id: I1526187e5efc6f4e38265d617c0342b4c1ea1228
CRs-Fixed: 2978727
2021-06-29 01:33:15 -07:00
Bapiraju Alla
35de216ce0 qcacmn: Update scan cache entry to support multi link beacons
Update scan cache entry to cache the information required for MLO scoring.

Change-Id: I3b4a848e51a49725970ee2ffd9e44c7efdbad682
CRs-Fixed: 2958058
2021-06-28 23:17:00 -07:00
Amruta Kulkarni
4897a16bf8 qcacmn: Add MLO params for VDEV start
Add MLO enable flag and assoc link info in VDEV start params

CRs-Fixed: 2969194
Change-Id: I4871b0471a042449894c9f730b41555cc010f3da
2021-06-28 23:16:55 -07:00