Commit Graph

16739 Commits

Author SHA1 Message Date
Sai Rupesh Chevuru
490ea7cc78 qcacmn: Avoiding the loop back packets between MLO NAWDS repeaters
Check for mld peer id instead of link peer id in the case of
intra bss forwarding between MLO NAWDS repeaters

Change-Id: I7af7f43e7f88c95b0debee85c0976fdb9a1c5519
CRs-Fixed: 3142943
2022-04-20 05:46:55 -07:00
Paul Zhang
d5a23f4cb1 qcacmn: parse RNR IE about MLD params for MBSSID feature
In order to reconstruct frame for MBSSID feature, per the description of
the Reduced Neighbor Report(RNR) element about MLD parameters subfield
in section 9.4.2.170 of Draft P802.11be_D1.4, the RNR IE is modified:
1\ If the reported AP is affiliated with the same MLD of the reporting AP,
the TBTT information is skipped;
2\ If the reported AP is affiliated with the same MLD of the nontransmitted
BSSID, the TBTT information is copied and the MLD ID is changed to 0.

Change-Id: Ibd4f2af28289bdb2f65c26966a92ea4df530fccb
CRs-Fixed: 3136398
2022-04-20 04:27:09 -07:00
Jeevan Kukkalli
19c030e751 qcacmn: Enable smart monitor on wkk
Enable smart moniotr operations to add/delete
NAC clients and to get NAC client rssi value.

Change-Id: Ifc933d474da15101293cf3e1c07261917fb634f9
CRs-Fixed: 3169256
2022-04-20 03:12:47 -07:00
Jeevan Kukkalli
af7c896bdc qcacmn: Add lite mon rx filter setup/reset functions
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.

Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
2022-04-20 03:12:41 -07:00
Neha Bisht
6064df8467 qcacmn: Update code with peer_extended_stats instead of rdk_stats
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.

Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
2022-04-20 01:37:59 -07:00
Bing Sun
67df961d63 qcacmn: Allow MLO sta connetion with single link
For single link MLO connection, there is no partner peer creation,
so wlan_mlo_link_peer_attach is not triggered. wlan_mlo_peer_create
is good enough to trigger mlo_mlme_peer_assoc_resp.

Change-Id: Ia76503e146a07d15d7b263aa36f9e8c4d110fc6e
CRs-Fixed: 3168623
2022-04-20 01:37:52 -07:00
Alan Chen
65dd63b576 qcacmn: Add checks in qdf_minidump_log
Add a check in qdf_minidump_log() and qdf_mindump_remove() so that
log types that are not allowed for minidump are not added to the minidump
table  and also are not requested to be removed when they are not in the
minidump.

Change-Id: Id4cfdc0de1fc9baf40ae89ad5d3b3f9543df2805
CRs-Fixed: 3171812
2022-04-20 01:37:46 -07:00
Rakesh Pillai
a8a385329d qcacmn: Add MU msdu_q only for monitor 2.0
Monitor 2.0 uses a msdu_queue (75K memory), which
is currently enabled for monitor_1.0 as well.
Add this memory under Monitor_2.0 feature, so that
there is no memory increase for monitor_1.0.

Change-Id: If0f3701787585ec2b2efde018287101919a77570
CRs-Fixed: 3176254
2022-04-20 01:37:40 -07:00
Harsh Kumar Bijlani
9aa4e0f9f5 qcacmn: Add subscription for PPDU_START_USER_INFO TLV
In Beryllium architecture, PPDU_START_USER_INFO TLV carries
the user specific info for each user in a given ppdu.

Add subscription for this TLV by host for enhanced stats use case.

Change-Id: Ia12c5c3ab36198e7cd40dad0c0d92b945d2b49c6
CRs-Fixed: 3166305
2022-04-19 13:21:55 -07:00
Bing Sun
5c5059b399 qcacmn: Change puncture_pattern to puncture_bitmap
Change puncture_pattern to puncture_bitmap in peer_assoc_params.
As FW required, do the bit inversion for puncture bitmap in peer assoc,
then pass it to FW.

Change-Id: If96358aa9cc639555835ca1a1412d7893b16dbd7
CRs-Fixed: 3124854
2022-04-19 13:21:48 -07:00
Bing Sun
142907bc9e qcacmn: Change puncture_pattern to puncture_bitmap
Change puncture_pattern to puncture_bitmap in mlme_channel_param.
As FW required, Do the bit inversion of puncture bitmap for vdev
start params, then send it to FW.

Change-Id: Ia0d95c014cf2c1dabc6c18b6b329b7a372bcb8ee
CRs-Fixed: 3124841
2022-04-19 13:21:42 -07:00
Shiva Krishna Pittala
df606bea4e qcacmn: Add init path changes for UMAC HW reset feature
Add the changes to initialize UMAC HW reset context at SOC level.

Change-Id: I89afca81945ead67fb1a6454240281d89bec3ab9
CRs-Fixed: 3162080
2022-04-19 08:38:42 -07:00
Shreedhar Parande
f812869581 qcacmn: Add support for new event WMI event
Add support for new WMI event
WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID

Change-Id: I3c76863f3b356bd976eb2e31f3ec68fc86b467ab
CRs-Fixed: 3156381
2022-04-19 08:38:36 -07:00
Amir Patel
19970ea217 qcacmn: Add MPDU restitch logic For Waikiki RxMON
a. For decapped frames, convert frames from 802.3 t 802.11
b. for non-decapped frames no conversion is needed
c. Apply radiotap header and deliver MPDU to osif layer

CRs-Fixed: 3074441
Change-Id: Ia03b4bad35d69aa292958782cd424f3df56dabbc
2022-04-19 05:17:25 -07:00
Amir Patel
6b69543b79 qcacmn: Add API to remove frag from skb
Add API to remove frag from skb

CRs-Fixed: 3172668
Change-Id: I0b392366760036c6fda545f558f72a64138d2b11
2022-04-19 05:17:19 -07:00
Jianmin Zhu
c180aaa364 qcacmn: Fix build issue
Fix build issue when WLAN_FEATURE_11BE undefined.

Change-Id: I98f0ecce27c363c8ad81b71034db243ea8547da1
CRs-Fixed: 3175322
2022-04-19 02:46:39 -07:00
Sai Rupesh Chevuru
f179a624a1 qcacmn: HW reinjection support for MLO Multicast
Enabling HW based reinjection for MLO Multicast

Change-Id: Ie9663e0e90ae1ae0a07d229fd6d4c66787d4224a
CRs-Fixed: 3142397
2022-04-19 01:27:09 -07:00
Harsh Kumar Bijlani
484198b257 qcacmn: Add MSDU counters to account for 11BE puncturing BW stats
Add MSDU counters to account for 11BE puncturing BW stats.

Change-Id: I2c1d420b8d8b4533dcbf64f206783c07555cac99
CRs-Fixed: 3171770
2022-04-19 01:27:03 -07:00
Edayilliam Jayadev
4ccecd0b01 qcacmn: Initialize link id in reo params
Initialize link id value in the reo params structure.
Link id is derived from the pdev object.

CRs-Fixed: 3166104
Change-Id: I444f5881690c3d48729f7232d6464bc9d1c4c892
2022-04-18 22:39:47 -07:00
Debasis Das
d9140bac7b qcacmn: Fix vlan-pcp to tid mapping
To program Vlan-pcp to TID mapping in hw
register, tid no is passed in place of
pcp value to the hal-layer.Fix this by passing
the pcp value correctly to the hal API.

Change-Id: Ib3bdeffc8dbaa7c5f47406316178206b2eec2c18
CRs-Fixed: 3172024
2022-04-18 21:13:40 -07:00
Jinwei Chen
4b88dddd72 qcacmn: Remove tx_desc pool lock in dp_tx_notify_completion
dp_peer hold the peer ref_cnt outside of dp_tx_notify_completion()
already, so dp_vdev can not be freed during that period if dp_peer
exist, it's not necessary that hold dp tx_desc pool lock in
dp_tx_notify_completion() which will introduce lock contention with
TX/TX Comp path.

Remove tx_desc pool lock to optimize it.

Change-Id: I5fdb9143bbc0800db74f8595f77c5a2c96d8e7d6
CRs-Fixed: 3170805
2022-04-18 21:13:35 -07:00
Amruta Kulkarni
aab13aceda qcacmn: Add Multi Link Probe Request IE struct
Add multi link probe request variant ie structure
in common code.

Change-Id: I857b04d05bf1c56f54ed396f2ca71beed3d44069
CRs-Fixed: 3154390
2022-04-18 17:16:22 -07:00
Edayilliam Jayadev
7993262fbe qcacmn: Add sanity checks on reo algorithm entry
Add following checks in the entry to management Rx REO algorithm entry.

        1. REO parameter are valid
        2. Frame type is management

CRs-Fixed: 3166096
Change-Id: I171fc51c1dfa948e32608aa3a1bb05fc6cb2197d
2022-04-16 01:24:56 -07:00
Edayilliam Jayadev
62833eadc8 qcacmn: Fix wait count calculation
Return wait count as zero when all the frames of a given link are
processed by host SW. Also initialize the management packet counter of
host snapshot to 65535.

CRs-Fixed: 3166064
Change-Id: I88e757981e09640be93df8d3a583c6f14b2781b9
2022-04-16 01:24:49 -07:00
Edayilliam Jayadev
e80654cb53 qcacmn: Enhance debug framework for mgmt reo
Enhance the debug framework used to log frames entering and exiting
management Rx reorder module.

CRs-Fixed: 3166029
Change-Id: I4594b0a0e383f243b4c1f0fe7b3894235463820f
2022-04-16 01:24:40 -07:00
Divyajyothi Goparaju
33d1d87ee1 qcacmn: Add firmware_default mode support for elna_bypass
Previously elna_bypass is of type bool, which check for
elna_bypass enabled or disabled with en_dis variable

Change en_dis to elna_mode of enum extlna_mode
to support extra mode of firmware_default

Change-Id: I99fba1e69c1b9a68024b266ec63b3d6be29f83e0
CRs-Fixed: 3169270
2022-04-15 05:11:47 -07:00
Sriranjani N
bd723869dd qcacmn: Change the datatype of resp_id
The datatype of resp_id in
wmi_afc_power_event_param is 32 bit.

Change the datatype of resp_id from
uint8_t to uint32_t
in the structure reg_fw_afc_power_event,
to write
QCA_WLAN_VENDOR_ATTR_AFC_POWER_EVT_RESP_ID
in the
QCA_WLAN_VENDOR_AFC_POWER_UPDATE_COMPLETE_EVENT

Change-Id: I910921908ddc24290e2b89732fa223a16aeb9981
CRs-Fixed: 3159542
2022-04-14 05:09:11 -07:00
chunquan
c505123a57 qcacmn: Replace slave for target
Replace slave for target, and replace
master for initiator which pair of slave.

Change-Id: I51ee0ce1ce0d0dc30281388a270bda1edfac2903
CRs-Fixed: 3169180
2022-04-14 02:34:47 -07:00
Bing Sun
5b5276e2ec qcacmn: Avoid invalid tsf information when processing dcs event
In wlan_dcs_wlan_interference_process, reg_tsf_delta >> 8 may be 0 if
FW indicates dcs event with invalid tsf. reg_tsf_delta >> 8 is used as
divisor later.
Check reg_tsf_delta >> 8 in dcs event before using it.

Change-Id: I085a262ee2f85fafd3b2c25896c8365cfab75243
CRs-Fixed: 3170047
2022-04-13 23:09:27 -07:00
Debasis Das
4bdcc0d4c5 qcacmn: Initialize min_delay of hist_stats to high value
As the value of min_delay is initialized to 0,
during the updation of min_delay per-packet,the
new value is compared with 0.This results in the
value of min_delay always becoming 0.Fix this by
initializing min_delay to very high value.

Change-Id: I6dfdd88a44f68d21240c148bd5c591e04fdff92e
CRs-Fixed: 3170996
2022-04-13 10:59:55 -07:00
Amir Patel
67d1b9bf12 qcacmn: Skip duplicate destination ring desc in WKK RxMON
Skip duplicate destination ring desc in WKK RxMON

CRs-Fixed: 3162134
Change-Id: I38e7855a9d4fd19a4aaa476fbeeaa0c4a8e309e2
2022-04-13 09:11:37 -07:00
aloksing
2c977089aa qcacmn: Get puncture type from puncture pattern
Populate punctured pattern from WIFIPHYRX_COMMON_USER_INFO_E
And get puncture type from puncture pattern.

Change-Id: I3a5ba4c7c478d15cf3c3cfdcfd0573775ae342ca
CRs-Fixed: 3166010
2022-04-13 05:18:17 -07:00
Amit Mehta
b0aa5f2996 qcacmn: Change debug log level
Currently while setting affinity mask we are logging
error print for offline CPUs for which we are not
able to set affinity mask.

Change the log print from error to debug as failing to
set affinity for IRQ on offline CPU is not an actual issue.

Change-Id: Ifbdd3f806022a875bc05e1bdd325c54b267f68cc
CRs-Fixed: 3169900
2022-04-12 23:02:06 -07:00
Divyajyothi Goparaju
baec64fb93 qcacmn: QCA vendor command support to reset configuration for eLNA bypass
Add support to reset eLNA bypass configuration to default behavior.
If value of 2 is configured, the driver can choose either to
disable/enable eLNA bypass control and there is no enforcement
from userspace.

Change-Id: I813abe5beda49e394ff381aae57c78069ca28784
CRs-Fixed: 3172147
2022-04-12 16:39:53 -07:00
narayan subramhanyan
802a169c36 qcacmn: Update cfr metadata version for Alder
Update cfr metadata version for Alder as agc gain table index
is reported newly on this target

Change-Id: Ie9b4933068163d461676a9005ba8c706730717e8
CRs-Fixed: 3170137
2022-04-12 16:39:48 -07:00
Amir Patel
5f9d3d8f53 qcacmn: Flush monitor status buffer queue
Flush monitor status buffer queue in case of
flush or truncated PPDU

Change-Id: I79daa9054caf0ffc3658c8c41b759d9ce8cdf108
CRs-Fixed: 3160035
2022-04-12 09:00:32 -07:00
Ananya Gupta
0afac9d12e qcacmn: Enable IPA if enabled in platform driver and ini
Enable IPA only if it is enabled from both platform driver
and ini file.
Change-Id: Ifc4bcd2c5b29b91c0eb72a844906cf11a65686e4
CRs-Fixed: 3148731
2022-04-12 06:31:43 -07:00
sumedh baikady
52181cceb1 qcacmn: Fix Reo qref issues
1. Since peer id is reused for reconnection in MLO case,
old entries for queue desc addr is cleared. Clear the reo
internal storage and reset it back on client connection.

2. Send Qref feature WMI cmd to FW to enable the feature.

Change-Id: I6705ce121c8c25d9a2ace039dab21312fa5ea4b1
CRs-Fixed: 3156642
2022-04-12 06:31:36 -07:00
Himanshu Batra
423c297cc3 qcacmn: Disable host2rxdma interrupt for IPA offload
Disable host2rxdma interrupt for IPA offload

Change-Id: I8dd73df8f6296f7b2eb8c0a861b606e6a75699ff
CRs-Fixed: 3171223
2022-04-12 02:59:29 -07:00
Edayilliam Jayadev
b8afe3b775 qcacmn: Fix compilation issues in mgmt Rx REO
Fix compilation issues in management Rx reorder module.

CRs-Fixed: 3166051
Change-Id: I34d77ebaa964181cb43e31f85f4c6288b782be61
2022-04-12 02:59:21 -07:00
Shubham Pawar
ee9cd039b3 qcacmn: Added support to get the status of mgmt rx reo sim feature
Add support to get the status mgmt rx reo sim feature

cfg80211tool wifiX g_mgmt_rx_reo_simulation

Change-Id: Ia60cd25c0b044484b3e6a44ebc536ac1cf0c3804
CRs-Fixed: 3154130
2022-04-11 23:23:27 -07:00
Ashish Kumar Dhanotiya
2f947e661f qcacmn: QCA vendor attribute to indicate NDP interface managemtn using nl80211
Add a QCA_WLAN_VENDOR_FEATURE_USE_ADD_DEL_VIRTUAL_INTF_FOR_NDI
flag to indicate that the driver requires add/del virtual interface
path using the generic nl80211 commands for NDP interface create/delete
and to register/unregister of netdev instead of creating/deleting
the NDP interface using vendor commands.

With the latest Linux kernel (5.12 version onward), interface
creation/deletion is not allowed using vendor commands as it leads to a
deadlock while acquiring the RTNL_LOCK during the register/unregister of
netdev. Create and delete NDP interface using NL80211_CMD_NEW_INTERFACE
and NL80211_CMD_DEL_INTERFACE commands respectively if the driver
advertises this capability.

Change-Id: Icb1782b147cf7ef7fed7bb4ba28ece23d4b0dc21
CRs-Fixed: 3167119
2022-04-11 19:47:27 -07:00
Harsh Kumar Bijlani
c41c8f1d8c qcacmn: Correct computation of tx.tx_rate and tx.last_tx_rate
Correct computation of tx.tx_rate and tx.last_tx_rate in Tx HTT
PPDU completion path.

Change-Id: I8dcc4913c651a2c90e0f1d153e4e09f02d7403d4
CRs-Fixed: 3167357
2022-04-11 16:30:38 -07:00
Santosh Anbu
1a6feacd14 qcacmn: Add null check before accessing vdev
Check for the validity of vdev in vdev_list before accessing

Change-Id: I56877eeb4c013dd364e8db26b13472d3513d810e
CRs-Fixed: 3166615
2022-04-11 14:09:59 -07:00
Priyadarshnee Srinivasan
2534a0683e qcacmn: Get opclass details for current hwmode
Iterate through the opclass table and fetch the opclass
details for the channel widths supported by the current
hardware mode.

CRs-Fixed: 3168892
Change-Id: I9b418999e3745529e3db5bae3a46569e0d1bdc02
2022-04-11 13:02:23 -07:00
Will Huang
56579a6a5a qcacmn: Fix build error when enable AFC from MCL
&p_range->lowfreq, 'reg_assign_vars_with_range_vals' from incompatible
pointer type.
'low_limit_enum', 'high_limit_enum' may be used uninitialized.
'reg_is_val_within_range' defined but not used.

Change-Id: Id5ff2e0fa18555e4d27e955e6508bd23da280aff
CRs-Fixed: 3153499
2022-04-11 04:09:58 -07:00
Sai Pavan Akhil Remella
05b99c2d66 qcacmn: Add API to get min_dwell_time_6g configured ini
Added API support to get min_dwell_time_6g configured value
from the ini.

Change-Id: I214871afdde26bd4d7ca9796e264ed9699f5dd58
CRs-Fixed: 3143107
2022-04-11 04:09:51 -07:00
Harsh Kumar Bijlani
ad3d4de01a qcacmn: Use correct set of macros for Rx monitor dependent features
Use correct set of macros for Rx monitor dependent features.

Change-Id: I51833852811bb339afd284a1291460ec827fe6e5
CRs-Fixed: 3169125
2022-04-10 00:28:05 +08:00
Qun Zhang
debe09f974 qcacmn: Let WMI op extract_roam_event enabled for LFR2/3
WMI op extract_roam_event is also needed to extract roam event
of LFR2, so let it enabled for LFR2/3 both.
Due to struct roam_offload_roam_event is only defined for MCC,
add MCC specific macro CONN_MGR_ADV_FEATURE to protect it.

Change-Id: Ie9724ee578feb60ada30fe75ed3f155a2bbe77a9
CRs-Fixed: 3167557
2022-04-08 14:12:44 -07:00
Yu Wang
4dc08c3aa3 qcacmn: skip MBSSID processing if it's not supported
The Multiple BSSID field (Bit 22) in Extended Capabilities indicates
whether MBSSID is supported or not. Skip MBSSID processing if the
field is NOT set in beacon.

Change-Id: Id18318587cb9d26fa6315202b5bbe98ef8870fdd
CRs-Fixed: 3160715
2022-04-08 14:12:38 -07:00