Graf commitů

13196 Commity

Autor SHA1 Zpráva Datum
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
Rhythm Patwa
5e3dce2207 qcacmn: Add version info to the AFC request structure for compatibility
Add version information to the AFC structure for compatibility issues.

Change-Id: I9f5d1da143f3e543b54b641ab8b82f722e1b5b32
2021-06-27 23:29:26 -07:00
Rhythm Patwa
aa346e9d93 qcacmn: Define new structure for AFC request parameters
Add structures for AFC request and response.

Change-Id: Ibf715d63a108b2317648dc78e4c1d12e48d755a8
2021-06-27 23:28:31 -07:00
Chaithanya Garrepalli
e122023f44 qcacmn: change hal_wbm_err_info to use proper HW headers
HW macros used for hal_rx_wbm_err_info_get_generic_li are
different across chipset. Move this API to header file to
ensure chipset specific HAL is compiled with appropriate
HW headers

Change-Id: I053d243235f187d931048d1fd22293f9142a00c7
2021-06-26 07:27:47 -07:00
Hariharan Basuthkar
b8b8c4e718 qcacmn: 6G regdb changes for 11BE
As per regulatory update #35, increase the max_bw to 320 MHz for the
6G regdomains and reg_rules, in the host regulatory database.

Change-Id: I2443ad4557881207c62d96411c6f4ec17c0fd314
CRs-Fixed: 2905331
2021-06-25 14:15:26 -07:00
Ananya Barat
a63dd03feb qcacmn: Increment num_radar_detects for FO everytime radar is detected
With the current implementation, dfs->wlan_dfs_stats.num_radar_detects
is incremented for radar detections in partial offload alone. For FO,
this stat was not incremented. As a result, when the number of times
radar has been detected is queried with radartool, the stat always
returns 0.

Fix this by incrementing this stat for FO chipsets as well.

CRs-Fixed: 2967882
Change-Id: Ibf5ea3f9f358476a2b21eeae782c44e0d53ada52
2021-06-25 14:15:20 -07:00
Balaji Pothunoori
ae2a90d9fc qcacmn: add wmi service for tx aggregation support
Add wmi service to differentiate max tx aggr support
from firmware.

Change-Id: I2f9a4101815b06b41d4a75d888e30ee42b9307ec
CRs-Fixed: 2959207
2021-06-25 11:56:36 -07:00
Surabhi Vishnoi
6663105f9b qcacmn: Add support to handle wmi smart monitor event
Add functions to parse and extract wmi smart monitor
event received from target.

Change-Id: Ic18e3134b684c5f8e12839e997d628909a7e27c9
CRs-Fixed: 2969247
2021-06-25 09:40:32 -07:00