Graphe des révisions

17953 Révisions

Auteur SHA1 Message Date
Sheenam Monga
fee16fbe5a qcacmn: Handle SRG and NON-SRG pd threshold
Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.

Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold.

Change-Id: I414843dfd08068c81531d0e96d71fb68d8bfccd1
CRs-Fixed: 3328201
2022-11-10 09:33:46 -08:00
Rachit Kankane
58ee0d8e0b qcacmn: Add MAC ID to get per MAC stats
Add MAC ID to which the Spatial Reuse stats is requested from.
Pass this MAC ID to FW to get the respective Spatial Reuse stats.

Change-Id: Ief2434bf1f2fc82d9339ee38933effbd580088af
CRs-Fixed: 3328686
2022-11-10 00:22:15 -08:00
Yu Tian
0dd0da3ac0 qcacmn: Disable FISA update in suspend state
FISA update may come when target in suspend state, then
UMAC force wake may return failure and lead to system timeout
crash. Change is used to defer the update when resume happens.

Change-Id: If033bed692dccf2d27e9c76825ab2063a3f56841
CRs-Fixed: 3324926
2022-11-09 11:17:01 -08:00
Liangwei Dong
52590a8a70 qcacmn: Add set mlo link validation callback
Add "validate_set_mlo_link_cb" callback to mlo link set serialization
request context. Mlo mgr component client can register such callback to
be invoked before set mlo link command to target.

Change-Id: I0e860186dd33fc45b3f662d6af91329f10e4c638
CRs-Fixed: 3324888
2022-11-09 04:03:36 -08:00
Sai Rupesh Chevuru
7768a45743 qcacmn: Debug enhancement for rx packet tlvs
Dump all the tlvs when WORD_BASED_TLV is disabled.

Change-Id: I2615474c905417986fa8b43005db5c8e48039d0a
CRs-Fixed: 3324208
2022-11-09 02:03:13 -08:00
Divya R
2c0d802926 qcacmn: Enable ADFS 320 MHz capability bit
A new capability bit from FW is introduced that provides
ADFS 320 MHz support information. supports_adfs_320 signifies
chainmask capability service bit if FW supports ADFS on 320 MHz
channel width. Add this capability bit(supports_adfs_320) in host.

Change-Id: I09c689658ef495d8a8707425ecc9ba922fce4d41
CRs-Fixed: 3317795
2022-11-09 02:03:06 -08:00
Yeshwanth Sriram Guntuka
2ac8820056 qcacmn: Reduce CE0 src and dest ring size for XPAN usecase
Reduce CE0 source and destination ring sizes for XPAN
usecases to reduce memory footprint based on the
frequency of transactions between LPASS and FW.

Change-Id: I65076a2720fa72d10327981994763dc4ac295ab3
CRs-Fixed: 3319659
2022-11-08 18:52:40 -08:00
Priyadarshnee Srinivasan
ed3f00bb01 qcacmn: Add min_psd changes for best power mode
Add reg txops to fetch min_psd for punctured SP channels.
min_psd is computed from afc response. Using the min_psd power value,
EIRP is computed for the non-punctured BW using the formula
EIRP = PSD + 10 * log10(non-punctured BW).
Add an entry in bw_to_10log10_map for all possible non-punctured
bandwidth.

CRs-Fixed: 3329625
Change-Id: I79707cb233640342c521e41e9c4d776e121c1d6d
2022-11-08 12:50:34 -08:00
Amit Mehta
f8e6f61b2e qcacmn: Get vdev id from tx descriptor
Currently vdev id is passed from nbuf cb
but vdev_id is not being updated in nbuf cb
which is resulting in passing wrong vdev id to the
packet logging function.

So to fix issue pass vdev id from tx descriptor instead
of nbuf cb and also rate limit the error log in vdev NULL
case.

Change-Id: I69f568b7da52f1c96f208a220c6c4a7f6d98e082
CRs-Fixed: 3327359
2022-11-08 05:10:12 -08:00
Bing Sun
8c1db79cea qcacmn: Provide center freq when getting 320 MHz chan parameters
320 MHz bw are overlapped, if you want special 320 MHz center freq,
pass center freq of 320 MHz to reg_set_channel_params_for_pwrmode
through ch_params->mhz_freq_seg1.

Change-Id: If5947ed1303c5c7d978161b6ffc6490ab07b8296
CRs-Fixed: 3326837
2022-11-08 05:10:04 -08:00
Rakesh Pillai
927771f08c qcacmn: WAR for incorrect indication of first_msdu_in_mpdu
Currently the mdpu_desc_info from the msdu buffer tlvs,
for 2K-jump or OOR errors, if its the first-msdu-in-mpdu.
But if this flag is incorrectly indicated, there is a chance
of decoding garbage data and accessing invalid/NULL memory area.

In order to mitigate the above mentioned issue, add a sanity
check to determine if the first-msdu-in-mpdu has been processed
once and process/drop subsequent msdus based on this flag. This
flag also helps in handling cases, where first-msdu-in-mpdu
is indicated incorrectly for multiple msdus in an mpdu.

Change-Id: I990301d5a101dc7aa71303420bf49ab6fcee27c6
CRs-Fixed: 3325334
2022-11-07 18:44:17 -08:00
Bing Sun
7b317d2b63 qcacmn: Define new_ch_width in csa_offload_params as phy_ch_width
Currently sme_switch_channel set new_ch_width as phy_ch_width, while
wma_csa_offload_handler set new_ch_width as raw bit in wide bandwidth
channel switch IE.
Clean up the code. Define new_ch_width in csa_offload_params as
phy_ch_width.

Change-Id: Ie1999860421aa60c18cdc8059275954d910b4b66
CRs-Fixed: 3324746
2022-11-07 16:46:12 -08:00
Chaithanya Garrepalli
86f7649e19 qcacmn: gracefully handle error packets on partner soc
Ideally in MLO, Rx buffers should be routed to error
rings of the SOC which owns the RX buffer or link desc
incase of any error or fragment

But in case of HW issue if the packets are routed to
partner soc. Handle gracefully instead of assert

Change-Id: Ia56188808dfd034e960e1c1345de8f760e4b05f1
CRs-Fixed: 3327959
2022-11-07 14:58:21 -08:00
Santosh Anbu
f0811fb133 qcacmn: Handle CSA RESTART in MLO SYNC WAIT state
In case of MLD, if one of the partner vdev is not brought up and
CSA is triggered on self pdev with multiple vdevs configured then
all the vdevs of this pdev will move to restart state.
But the ML AP vdev in MLO_SYNC_WAIT will not handle CSA restart
leading to multivdev restart request timeout.

Add change to handle CSA_RESTART when the ML AP vdev is in MLO_SYNC_WAIT
state. Thereby all vdevs of this pdev will move to restart state.

Change-Id: I9b729e2f81d3c72ab5e321f3a396f157424c1663
CRs-Fixed: 3328931
2022-11-07 13:11:37 -08:00
Neha Bisht
bd144caad7 qcacmn: Set fast_recycled flag in fast xmit path
Set fast_recycled flag for packets in fast xmit path

Change-Id: I6388beb5d187d000c300898d1d1480e6654836eb
CRs-Fixed: 3306873
2022-11-07 13:11:32 -08:00
Jhalak Naik
8ed6f1a778 qcacmn: Add QCA vendor attributes for EHT support in external ACS
Add support for new vendor sub-command attributes for 320 MHz
channel width and puncturing information as part of the
external ACS.

Change-Id: Ic8181619949061794775bfe55f4afd0f408a7316
CRs-Fixed: 3323216
2022-11-07 13:11:26 -08:00
Chaithanya Garrepalli
67fa8470e3 qcacmn: WAR to avoid processing corrupted packet
In defrag path match addr1 with VAP mac address
and if there is mismatch do not process considering
it as corrupted packet

Change-Id: I003c07949e760ff4e64a7d22bfbefc25cc817ae2
CRs-Fixed: 3327977
2022-11-07 13:11:20 -08:00
Himanshu Batra
d7c7a5b0bb qcacmn: Handle back to back connect for MLO
In case of MLO, when back to back connect is received, if the previous
connection is still in progress, hold the disconnect and the new
connect.
The same is the behavior for disconnect followed by connect.

Change-Id: I174f5fa40df2441d3dce693550542fd43d6dd991
CRs-Fixed: 3323721
2022-11-07 13:11:12 -08:00
Ananya Gupta
bb3702c339 qcacmn: Increase target pipe entries count to 64 for CE2
CE2 ring gets full pretty quickly as target side entries
count is 32, host side config is 64.
Increasing target's pipe entry to 64 as well.

Change-Id: Idbcb3675af0b39fc9741ae68d7ec3f1ad5e67bf1
CRs-Fixed: 3322383
2022-11-07 13:11:07 -08:00
Namita Nair
5ae67c7042 qcacmn: Fix argument type for vdev_ref_cnt
Typecast vdev->ref_cnt, from qdf_atomic_t to int,
using qdf_atomic_read() when logging as an
integer value.

Change-Id: I3432f5b8247a3031f1896d8964529a568fc3af19
CRs-Fixed: 3326096
2022-11-07 13:11:01 -08:00
Jeff Johnson
45e1b1f348 qcacmn: Fix wmi_unified_tlv.c documentation
The kernel-doc script has identified numerous documentation issues in
wmi_unified_tlv.c, so fix them.

Change-Id: Icf82bc87e576965f5bfe64d416be2da71a250cb6
CRs-Fixed: 3326205
2022-11-07 13:10:55 -08:00
Aravind Kishore Sukla
781d4bb22e qcacmn: Add all 6 GHz channels in scan request
User space issues scan, which does not include non-PSC channels.
If user space does not customize these channels, kernel fills
all the supported channels (2 GHz, 5 GHz and 6 GHz all channels).
Driver does not add channels to the scan channel list even if
it is present in RNR IE, as this increases the number of channels
given by user space and increases scan time.
User space should not send customized channel list, even if it
wants to scan the RNR channels.

If the flag NL80211_SCAN_FLAG_COLOCATED_6GHZ is set or at least
one 6 GHz channel is present, driver need to add all 6 GHz
channels which are not present in the scan request and sets
RNR flag for those channels so that FW can do co-located 6 GHz
channel scans on these channels.

Without the change, Driver adds 6 GHz channels to the scan request,
which are present in PSC list only.

Withdraw logic to add all 6 GHz channels to the channel list,
if Scan req carries at least one 6 GHz channel in
scm_add_all_valid_6g_channels, which indicates that the target
or regulatory supports 6 GHz channels, as they are added if
Scan req carries NL80211_SCAN_FLAG_COLOCATED_6GHZ flag.

Change-Id: I3c8f5cd7eadf39557f24f685a260fe76ea5d08be
CRs-Fixed: 3312385
2022-11-07 13:10:50 -08:00
Nidhi Jain
315630671a qcacmn: Populate phase delta for proper chains in scan radio
This change is to populate the phase delta for the valid
chains as per rx_chainmask for scan radio in special
vap mode.

Change-Id: I3ff9a928d93b0e81221b2bf9a515c63150f04272
CRs-Fixed: 3316528
2022-11-07 13:10:44 -08:00
syed touqeer pasha
e44617cc32 qcacmn: Extract TID from the SAWF MSDUQ
Extract TID from the SAWF MSDUQ

Change-Id: Iaa3e396644898eef32c4474a85421150e301eff5
CRs-Fixed: 3315716
2022-11-07 13:10:38 -08:00
Yu Tian
aa6032dba5 qcacmn: Use rate limit print for BAR frames
Use rate limit print for BAR frames to in avoid of
slow processing when BAR flood happens.

Change-Id: I92063787501c8f6467a211bd2695108a9fe42724
CRs-Fixed: 3325043
2022-11-07 13:10:30 -08:00
Nanda Krishnan
72592f40f8 qcacmn: Updating the correct vdev_id for multivap
When Multivaps are configured in a radio, the vdev_id's are
not updated as expected.
With the changes, the vdev_id are properly updated in the registers

Change-Id: I7d987e96bd0f8a91f13025fa6975415ea235ce12
CRs-Fixed: 3318563
2022-11-07 13:10:24 -08:00
Paul Zhang
47c7d6990d qcacmn: resolve race between vdev create and wifi_pos_get_vdev_count
In function wifi_pos_process_app_reg_req(), it uses function
wifi_pos_get_vdev_count to get vdev_count;
Then wifi_pos_process_app_reg_req->
     wifi_pos_get_vdev_list-> wlan_objmgr_iterate_obj_list,
it uses wlan_psoc_get_max_vdev_count to get max_vdev_cnt,
if vdev is not NULL, it invokes function wifi_pos_vdev_iterator
to fill the vdev_info.

For the failure scenario:
In wifi_pos_process_app_reg_req, it gets 2 for vdev_count
from function wifi_pos_get_vdev_count; Then the process is
interrupted and vdev 2 is created in another process; Now
since there are vdev 0, 1, 2, wifi_pos_vdev_iterator is
called 3 times and memory corruption happens since it writes
two more bytes with op mode and vdev id in vdev_info.

Change-Id: I5222836a1448bfaa7df31c919419d448eaa20895
CRs-Fixed: 3320183
2022-11-07 13:10:18 -08:00
Kannan Saravanan
9456298da5 qcacmn: New ini config for scan radio
For scan radio add new section
SCAN-RADIO for parsing the ini config.

Change-Id: I41de46b3f5b9a3e1ddc2d529f90b21a7c7fb8a3d
CRs-Fixed: 3317082
2022-11-07 13:09:30 -08:00
Linux Build Service Account
1f462776a5 Merge "qcacmn: Enable monitor mode flag for special vap" 2022-11-07 08:21:27 -08:00
Linux Build Service Account
4bb3b90e65 Merge "qcacmn: Changes to enable CFR on special vap" 2022-11-07 08:21:26 -08:00
Nidhi Jain
d340e5bc02 qcacmn: Enable monitor mode flag for special vap
This change is to enable monitor mode flag is special vap is up.

Change-Id: Id7f169406e25f8f121f5e32074ac3c8049870e01
CRs-Fixed: 3326413
2022-11-07 00:45:03 -08:00
Nidhi Jain
2e2003d54f qcacmn: Changes to enable CFR on special vap
This change enables CFR captures on special vap.

Change-Id: Ifdaeccf7cc2211af5a2b82feae3a0b3ee45b617a
CRs-Fixed: 3308460
2022-11-07 00:44:52 -08:00
Sai Rupesh Chevuru
692be85e20 qcacmn: Forward 4 addr eapol frames to hostapd
Forward the 4 addr eapol packets received in
dp_rx_process_rxdma_err() to osif stack instead of network stack.

Change-Id: I1d8ff065096844ebe61974329754e54fc9d28640
CRs-Fixed: 3323480
2022-11-04 15:24:21 +05:30
Rakesh Pillai
559514f2b7 qcacmn: Code cleanup for one MPDU drop in monitor mode
Cleanup up duplicate code for one MPDU drop in
monitor mode.

Change-Id: Ic2f06192ec0ac27c78b5161f1d2c20b757f3b6be
CRs-Fixed: 3323287
2022-11-02 11:32:29 -07:00
Hariharan Basuthkar
7da66639f7 qcacmn: Add mapping for wmi_service_eirp_preferred_support
Map wmi_service_eirp_preferred_support to
WMI_SERVICE_EIRP_PREFERRED_SUPPORT in populate_tlv_service.

Change-Id: Ibbf3d6fbd5b257f5562a0a51f11dec7e2bcf07bd
CRs-Fixed: 3322363
2022-11-02 11:32:22 -07:00
Edayilliam Jayadev
d36d1c8c2a qcacmn: Log time stamp of multi vdev restart response
Log the time stamp corresponding to the start of processing
of multi vdev restart response event.

CRs-Fixed: 3308918
Change-Id: Ia00923b3a1033097429d3856047a4b639408aab8
2022-11-02 01:48:08 -07:00
Yeshwanth Sriram Guntuka
94c2176709 qcacmn: Add qdf_get_ipa_smmu_enabled stub API
Add qdf_get_ipa_smmu_enabled stub API when IPA_OFFLOAD
config flag is disabled and SMMU S1 translation config
flag is enabled to avoid compilation issue.

Change-Id: Ic7291aacf2ca0008bfe112e689fc39d14d99b16c
CRs-Fixed: 3317536
2022-11-01 22:39:44 -07:00
Divyajyothi Goparaju
28aa42540e qcacmn: Replace wlan_reg_set_channel_params_for_freq
Replace all occurrences of
wlan_reg_set_channel_params_for_freq  API with new API
wlan_reg_set_channel_params_for_pwrmode.

Change-Id: Id751558b32f2b61bd356e1ebce3238598fbd16c1
CRs-Fixed: 3144794
2022-11-01 09:18:51 -07:00
Amith A
0f5cd03b90 qcacmn: Modify wlan_reg_get_eirp_pwr to get client EIRP
Modify wlan_reg_get_eirp_pwr and its sub functions to to get client
EIRP.

Change-Id: Icbc33833ac0fef1d150a491e5398b913e18f3fac
CRs-Fixed: 3316710
2022-11-01 03:39:59 -07:00
Amith A
60e23f8e3b qcacmn: Add an API to check if given 6 GHz freq is Tx-able
Add an API to check if the given input 6 GHz frequency is Tx-able
in the given power mode.

Change-Id: I9e94c1c3ec7c4c31d18bde6e88905a9239636f00
CRs-Fixed: 3305006
2022-10-31 23:18:46 -07:00
Surya Prakash Sivaraj
049bb88ab0 qcacmn: Change err to debug print in roaming path
Change the peer retrieval error message to debug in
wlan_twt_set_peer_capabilities().

The peer twt capability will be set later after peer
is created. Because of this error print, there is a
delay of around 10-20msec in the roaming path.

Change-Id: I5267a61df5726b67ff727101bd553fd4ce07fa5f
CRs-Fixed: 3314202
2022-10-31 23:18:39 -07:00
Ripan Deuri
11ccd80f56 qcacmn: Add HAL APIs to read tsf2 and tqm scratch register
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.

Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
2022-10-31 13:38:15 -07:00
Santosh Anbu
938ddb0956 qcacmn: Add mon dp ops to set monitor filter
As part of mac address filtering feature for scan radio in special
vap mode, on addition of first NAC entry or deletion of last NAC entry
the corresponding monitor filter needs to be set or reset

Add change to support ops callback function required to set or reset
monitor filter settings are runtime.

Change-Id: I916c0b246bb180363f1a181ef49618af763b261d
CRs-Fixed: 3317409
2022-10-31 13:38:08 -07:00
Deeksha Gupta
433dee00be qcacmn: Rename multi_link into multi_link_bv
In struct ie_list, rename multi_link variable into
multi_link_bv.

Change-Id: Icfa26f20f9004c6e342add97a34505f45372c636
CRs-Fixed: 3313417
2022-10-31 04:09:16 -07:00
Abhishek Singh
d59c9453d6 qcacmn: Remove unused API wlan_serialization_non_scan_cmd_status
Remove unused API wlan_serialization_non_scan_cmd_status from
serialization.

Change-Id: I8bcd22445489ad4d7f02d9e6bb118ef626491fde
CRs-Fixed: 3313124
2022-10-30 23:51:42 -07:00
Liangwei Dong
942fb70e22 qcacmn: Clear Chan freq in wlan_cm_connect_req of partner link
Partner link connect request is copied from primary link.
The upper layer may include BSS channel freq preference in
OS connect req. We have to clear it for partner link connecting,
otherwise the scm_filter_match will filter out the mlo partner
candidate and cause partner connect failed.

Change-Id: I9ca8f2baf5f7e660ed0b72c1dffa886f1c1e8f11
CRs-Fixed: 3320085
2022-10-30 21:42:38 -07:00
Himanshu Batra
f72f76ba4c qcacmn: Update pdev telemetry stats to per AC level
Update pdev telemetry stats to per AC level

Change-Id: I0f3680875d28b6c4a7e671941373e42ee886cb16
CRs-Fixed: 3316937
2022-10-29 13:02:13 -07:00
Jianmin Zhu
c877314ca8 qcacmn: Detach ml peer before free
In special case, link peer is failed to attach, then mlo peer is deleted
without detaching from ml peer list. When access peer list, assert will
happen for use after free.

Change-Id: Ic7a58fa0708ae6b920a69100e798c0aa8db7fe0d
CRs-Fixed: 3319376
2022-10-28 19:31:23 -07:00
Shubham Pawar
1ac8aa1bd9 qcacmn: Add support to process direct DMA event in the configured context
In the current implementation, the Direct DMA completion event is getting
processed in the tasklet context. When the Direct DMA events land on the
same processor core as the one used by the WLAN data path events, the
Direct DMA events can pre-empt the data path events as the datapath
events usually run in NAPI context. This could impact the data path
throughput when there is a high volume of frequent Direct DMA events. To
fix this, Direct DMA events can be run in work queue context based on
user configuration. Add support for the same.

Change-Id: I1a89b185c6765addc7ee725e9324025f0318d9ed
CRs-Fixed: 3276157
2022-10-28 11:52:21 -07:00
Rahul Gusain
8e01b67f81 qcacmn: Add support for NAN enable rsp in non-dbs platform
Currently, in non-dbs platforms, firmware controls NAN enable/disable.
To enable NAN in non-dbs platform, host driver sends NAN generic
request to firmware and firmware enables NAN and provides generic
response to that.
But for some legacy platforms, requires enable NAN in host.
For this, firmware adds new TLV for NAN enable response and
sends with NAN generic response. Host extracts the NAN enable
response parameters from NAN generic response packet.

Change-Id: I1f4460137913780d4c262b5e40342dbb0b9a87c7
CRs-Fixed: 3263746
2022-10-28 11:52:13 -07:00