提交图

13303 次代码提交

作者 SHA1 备注 提交日期
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
Kiran Venkatappa
776febf6f0 qcacmn: Update MLD address in vdev create command
Send MLD mac address in vdev create WMI for MLO.

Change-Id: Ia9088542194c502446cf2107306569a40eae90fd
CRs-Fixed: 2958839
2021-06-28 23:16:51 -07:00
Wenxiu Han
e17a5d9251 qcacmn: Check null pointer before use
In API hif_batch_send(), the variable ce_tx_hdl is dereferenced in
if_batch_send() without null check. Check for null before use to
avoid dereference a NULL pointer.

Change-Id: I05c38e180a448522d13d68369b77b45314eac227
CRs-Fixed: 2968584
2021-06-28 23:16:46 -07:00
Wu Gao
0971daad9f qcacmn: Add wakelock for enhanced CFR
There is potential risk when starting CFR and resume happens at same
time, so this change adds wake lock for enhanced CFR.

Change-Id: Ifbde12cb73092b7fc4ef517e57051af4ffe7a79f
CRs-Fixed: 2974733
2021-06-28 19:25:58 -07:00
Abhishek Singh
2c0f545cbf qcacmn: Remove unused commands from serialization
Remove unused commands from serialization.

Change-Id: I4692cc66c7288344e7b74644d08224a1e9772541
CRs-Fixed: 2978645
2021-06-28 12:24:45 -07:00
Mohit Khanna
4105f31776 qcacmn: Compilation error fix in HW CC code
Fix compilation error in hardware based cookie conversion.
CRs-Fixed: 2978344

Change-Id: I4487dcf116fb71b623ea4aa1f55144a07619dccc
2021-06-28 07:22:44 -07:00
Arun Kumar Khandavalli
4d8b3bb683 qcacmn: Add the api to set smmu fault state
There is a time involved between the smmu fault initiated
and the eventual system panic. In this time there is a
possibility of the nbuf history being overwritten losing
the information on the nbuf which might has actually caused
the SMMU fault.

Set the ssmu state and dont track the nbuf's when the smmu
fault is detected.

Change-Id: I579da332766618161567764656005ef13667270e
CRs-Fixed: 2960070
2021-06-28 05:11:12 -07:00
Jyoti Kumari
aab3676557 qcacmn: Don't use dfs_find_target_channel_in_channel_matrix()
As part of regulatory cleanup, remove
dfs_find_target_channel_in_channel_matrix()

Use dfs_find_target_channel_in_channel_matrix_for_freq() instead
of dfs_find_target_channel_in_channel_matrix()

Change-Id: I8750b95d5cf4a4fa3d738c2209edf1328794d486
CRs-Fixed: 2959916
2021-06-28 02:59:24 -07:00