Gráfico de commits

16439 Commits

Autor SHA1 Mensaje Fecha
Vivek
3cf850fbf1 qcacmn: Handle all params of TSF action cmd
Extract all the parameter provided as a response from the firmware
for the TSF action command.

This could be used to calculate the difference between the TSF
and TQM clocks

CRs-Fixed: 3136492
Change-Id: I8377bd177f5ea246c9b7939315509ab0b6f2051c
2022-02-25 00:00:48 -08:00
Sai Rupesh Chevuru
c49c432096 qcacmn: In backhaul WDS, register the RX callback on MLD peer
In the case of MLO register the RX call back on MLD peer
instead of link peer.

Change-Id: I8fe31ba31b42a7124c804d7285ab095231073c88
2022-02-24 22:50:09 -08:00
Vivek
e5956879c4 qcacmn: Add WMI ops for SAWF WMI commands
Add WMI ops for SAWF WMI commands
1. Config service class
2. Disable service class

CRs-Fixed: 3118070
Change-Id: Ie21fcfb1f25d2195eee679307e8970ccdda9992f
2022-02-24 10:42:45 -08:00
nakul kachhwaha
6c2a986833 qcacmn: Export objmgr APIs and add lmac_if registration APIs
Export objmgr APIs to be used by SON module to register
and unregister create/destroy handler.
Also add lmac_if API to register lmac_if ops from SON
module.

Change-Id: Id4c19807792b9f7b46387ae907f853151e4e28c6
CRs-Fixed: 3118986
2022-02-24 04:25:26 -08:00
Mohit Khanna
211fb195c9 qcacmn: Support for MIN rates for criticial frames
Add support in BE to send special frames(EAPOL, ARP, DHCP) at minimum
rates.

Change-Id: I2c141cd8ef16d93fb9e99d7c48dd921913627b0b
CRs-Fixed: 3114311
2022-02-24 01:00:12 -08:00
Mohit Khanna
5805824049 qcacmn: Add HAL APIs for flow override in BE
Add HAL APIs to access TX fields to override default flow
classification by hardware.

Change-Id: If2eb0c5a966f87081a7714836c2c4bc0bd47fa86
CRs-Fixed: 3114311
2022-02-24 01:00:06 -08:00
Mohit Khanna
97f83cd810 qcacmn: Add is_critical flag in struct qdf_nbuf_cb
Add a single bit "is_critical" flag to qdf_nbuf_cb structure to indicate
critical frames to DP layer.

Change-Id: I41c67467a3a54eef55c81a80dfb86b3ad7f33518
CRs-Fixed: 3114311
2022-02-24 01:00:01 -08:00
Mohit Khanna
4d03fcbd12 qcacmn: Check for IPV6 before checking DHCPv6
Currently we are not checking whether the packet is a IPV6 packet when
checking for a DHCPv6 packet. This can be error prone if done for a IPV4
packet.
Check for IPv6 before checking for DHCPv6.
Add QDF_NBUF_CB_PACKET_TYPE_DHCPV6 packet type in qdf_nbuf_cb.

Change-Id: Ic24dbaad8bd910c85bb1086317c12ad46466a128
CRs-Fixed: 3114311
2022-02-24 00:59:55 -08:00
Jinwei Chen
6a194730ae qcacmn: rename dp_is_hw_dbs_enable function
dp_is_hw_dbs_enable() is checking DBS and update number of
MAC rings value, current function name makes confusion.
rename it to dp_update_num_mac_rings_for_dbs().

Change-Id: I82540a943445560a99e27067e58d59035147208b
CRs-Fixed: 3131546
2022-02-23 22:45:48 -08:00
Yeshwanth Sriram Guntuka
c467daf31c qcacmn: Do not use WBM2SW4 as tx completion ring
Ageout flush does not happen for WBM2SW4 if there
is only one TX completion pending in FIFO and all the
other WBM release rings are not active. This is due to
an issue in HW and this prevents suspend to happen due
to pending tx completions.

Fix is to avoid using WBM2SW4 release ring and instead
reuse WBM2SW0.

Change-Id: I250d8c9d460895449939212ebdb7abd62edb0234
CRs-Fixed: 3124733
2022-02-23 20:49:14 -08:00
Lincoln Tran
badb6230e2 qcacmn: Back to back connect changes
Currently, the code does not handle an MLO connect when in
non-init state. Add logic to clean up any existing connection
before going ahead with the latest request.

Change-Id: Ia5a10bcc1e0d2c8e82d6ea0d82d1a5bf0604a1e5
CRs-fixed: 3116687
2022-02-23 20:49:08 -08:00
sandhu
9598f6b6c4 qcacmn: Resolve static analysis issue
check null pointer for soc return val and
check array index input for out of bound access.

Change-Id: Ib1d52f70128eaf9ba24e9024440490e470fec3d4
CRs-Fixed: 3127451
2022-02-23 20:49:02 -08:00
Naga
cf11e93c66 qcacmn: Fix pool size while initializing descriptors
Fix pool size while initializing monitor
descriptors

Change-Id: Icb02e096399f02dd36e74db3aab862de0a81befe
CRs-Fixed: 3134570
2022-02-23 12:28:51 -08:00
Chaithanya Garrepalli
f2ff4d40b6 qcacmn: Fix Klockwok issue
Fix OOB issue reported in KW in
hal_reo_ring_remap_value_get_be API

Change-Id: I576340aad735dd7d968d623ff131ef0f7773be3b
2022-02-23 12:28:46 -08:00
Bapiraju Alla
6bb2ad7c5b qcacmn: Get partner vdev using vdev ID instead of link ID
While notifying the ML connection status to the supplicant, partner vdev
information will be filled in the connect response. This partner vdev info
is populated using partner link IDs. This may cause issues since it is
not guaranteed that link id information in the partner vdev is valid while
notifying the connection status to the supplicant.

To address this, get partner vdev information using vdev ID instead of
link ID.

Change-Id: I5e45b038b1fe5b6ab9c6bbb514eefb0ad4c39e66
CRs-Fixed: 3117702
2022-02-23 11:10:35 -08:00
Mohit Khanna
21f6f3ad8f qcacmn: Donot do PN-Check for open mode OOR frames
Currently pn-check logic for OOR frames does not take into account
the security mode. For open mode case, BE hardware does not populate
current and previous pn_numbers. Hence a PN-check comparison may yield
incorrect results.

Check for secure mode, before checking for PN numbers.

Change-Id: I398872d467058bc1ee1d04c811818ea20c5aec7e
CRs-Fixed: 3129986
2022-02-23 11:10:29 -08:00
Chaithanya Garrepalli
be02a2d44f qcacmn: Add stats for new TQM release reason on BE
Add Tx completion stats for TQM release reason added
for BE

Change-Id: I7d28cbfacd1378982c5cf9a3f2cf3cffa070ee87
2022-02-23 08:37:16 -08:00
Hariharan Basuthkar
3901980153 qcacmn: Add debug prints in the WMI_VDEV_SET_TPC_POWER_CMDID path
Add debug prints to display the parameters of
WMI_VDEV_SET_TPC_POWER_CMDID sent to the target.

Change-Id: I4759d04d2b9293d7f5f61c173679f8fb2b7ff941
CRs-Fixed: 3130926
2022-02-23 07:18:26 -08:00
Vinay Adella
381d67a7a2 qcacmn: Add support to get reo qdesc size for li & be platforms
Bifurcate the hal_get_reo_qdesc_size to corresponding lithium
or Berillium platforms.
This can handle difference, if any between them and later enhance
to set the qdesc size based on peer negotiation.
Currently for NON_QOS_TID, the BA window size is hardcoded as
256 for Li and 1024 for Be.

Also modify hal_reo_cmd_update_queue_params to accommodate higher
Block-Ack Window size. For this steal bits from pn_size and use
pn_size values as macros PN_SIZE_XX which is only 3 bits,
instead of 8bits.

Change-Id: If310175da579aa3a47a8b031a1774c6c8982d4b2
CRs-Fixed: 3125986
2022-02-22 16:04:01 -08:00
chunquan
fae0e38eb4 qcacmn: Disable monitor mode on sdxlemur
Disable monitor mode on sdx65,it will save 5MB buf,
and improve iperf performance.

Dp_rx_buffer_pool_refill is used monitor mode in
MCC, and rxdma1_enalbe=0, we don't need this logic.
But in WIN side, only monitor mode need this logic,
and rxdma1_enable will set true.

Add func dp_monitor_pktlog_reap_pending_frames and
dp_monitor_pktlog_start_reap_timer in dp_internal.h
for compile issue.

Change-Id: I43fee6d7a1836063a7539c3bd4745eef15a4e4b2
CRs-Fixed: 3129542
2022-02-22 04:54:49 -08:00
Ripan Deuri
351c175a02 qcacmn: Define CDP ops and DP context for SAWF
- Add CDP ops for SAWF default queue mapping.
- Initialize DP context per peer.

Change-Id: Ic9c4e7d197aeeaa4ed19376ec4007711e86cbe5f
CRs-Fixed: 3128801
2022-02-22 00:57:27 -08:00
Pavankumar Nandeshwar
1bf15a02b7 qcacmn: Ignore peer if it is missing txrx_peer in reinject path
Ignore peer if it is missing txrx_peer in reinject path while
going through the peer_list. This condition can hit when the
peer_setup call from the control path is not yet received for
the peer.

Change-Id: Ie57d07353f33749a439415d808fc010702c3c884
CRs-Fixed: 3130821
2022-02-21 22:41:41 -08:00
Venkateswara Swamy Bandaru
804b9e2382 qcacmn: Add EHT PPE threshold support
Add support for EHT PPE threshold's. Store 2G and 5G thresholds received
in service ready. Fill peer PPE thresholds for EHT peer.

Change-Id: Id5c8310cbf34c59a3d88072b37ce3f871354ed17
CRs-Fixed: 3128586
2022-02-21 22:41:33 -08:00
aloksing
0de5f8943a qcacmn: filter setup for enhanced statistics
setup/reset filter to enable/disable enhanced statistics for WKK.

CRs-Fixed: 3121252
Change-Id: Ib6d7653144b0f962e5f0f3330ab1a0ff25cf1802
2022-02-21 06:41:28 -08:00
Sai Pavan Akhil Remella
bc1866e129 qcacmn: Use global OC table for lookup while updating RNR db
Operating class field used in RNR IE is of global operating
class. When getting frequency from RNR IE region specific
operating class is used for lookup instead of global.

Added changes to search operating class from global OC
table.

Change-Id: I200ab46187fed91cc66cd954b062c8d8ac44f631
CRs-Fixed: 3131600
2022-02-21 04:55:54 -08:00
Krishna Rao
3f38db23d4 qcacmn: Add APIs to defragment elem/subelem fragment sequence
Add APIs to defragment a sequence of 802.11 element/subelement
fragments. Add an inline mode to carry out the defragmentation within
the source buffer in order to reduce buffer requirements and to
eliminate memory copies/moves for the lead element/sublement.
Conversely, add a non-inline mode to copy the defragmented payload to
a separate buffer.

Add common helper functionality shared between these APIs.

CRs-Fixed: 3124132
Change-Id: Ia68584e918ddcf626b748f2b0c3a5da6492b40b6
2022-02-19 10:54:58 -08:00
Lincoln Tran
94df448341 qcacmn: Return from function if pointers are NULL
In some MLO functions, there are NULL pointer checks, but the logic
continues even if it is NULL. Return from the function in this case so
there is no potential NULL pointer dereference. This also addresses
a static analysis issue.

Change-Id: I22c4a47d724d8576a2ce78059dec219cbc3de91e
CRs-fixed: 3127461
2022-02-19 06:25:14 -08:00
Srinivas Dasari
f8921a74b9 qcacmn: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer and wait for a
maximum of 6 seconds for the response. Host can stop the timer and
allow the commands to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is
   received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9
CRs-Fixed: 3106032
2022-02-18 23:21:21 -08:00
Surya Prakash Raajen
e7074b084e qcacmn: Add section defines and new dp ini parameters
Add section defines parameters and add the required new dp
ini parameters

Change-Id: I6a93c621565207970e35f1aa153283f7a6535bea
CRs-Fixed: 3107545
2022-02-18 16:39:28 -08:00
Srinivas Pitla
e8ea09fe28 qcacmn: Fix static analysis issue in ML AID free
This change handles the scenario,if the caller passes invalid
link ix during AID free

Change-Id: I494cb55573ea5d8ecd351aac454d3395710273c1
CRs-Fixed: 3127458
2022-02-18 16:39:23 -08:00
Pavankumar Nandeshwar
24c089c678 qcacmn: Add the missing tid value in rx_tid_defrag
Initialize the rx_tid_defrag with correct tid value
which was missing

Change-Id: Ib01d9692352e56f62d1338f353afac11b175d710
CRs-Fixed: 3130846
2022-02-18 15:32:08 -08:00
Pavankumar Nandeshwar
70bd47772e qcacmn: Sanity check for phy addr in cb against ring_desc
Check phy addr in cb against ring_desc for sanity
in wbm rx path

Change-Id: I40dd2949993129d1da548da45160f9eace094bff
2022-02-18 15:32:02 -08:00
sandhu
98f2bdc213 qcacmn: Add support to dump idle link ring hp tp
Add support to dump idle link ring hp tp.

Change-Id: Ia5fa1afd260a64c40133bf52368e93163b80c3ab
CRs-Fixed: 3128366
2022-02-18 14:08:22 -08:00
Sajini R
1ec23ade38 qcacmn: Increase max number of socs to 5
For Quad-band IPQ9574 + 3 QCN9000 RDP, max number of SOCs
needs to be increased to 4 and another IPQ9574 RDP with QCN9224
might mostly have upto 4 PCI devices, hence increase the number
of max SOCs to 5.

Change-Id: Ie8a121c630bc41f084ca772a84503c816ed86514
2022-02-18 05:56:22 -08:00
Basamma Yakkanahalli
3498dbc3a6 qcacmn: Add support to configure phy error mask
The monitor status ring is configured for filtering
in undecoded phy error packets. Each phy error can
be controlled using a specific error mask configuration.

Added below cfg80211tool command to configure phy error
mask for filtering undecoded phy error packets.

cfg80211tool wifix set_phyrx_error_mask mask_0to31 mask_32to63
cfg80211tool wifix get_phyrx_error_mask

Change-Id: I5e4f6a49458cc534d6d1d0f7f2a7424f3cc747b4
2022-02-18 04:53:23 -08:00
Basamma Yakkanahalli
e85fbce095 qcacmn: change to configure and handle undecoded metadata capture
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
   message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
   from hal ppdu_info rx status and generate WDI event to deliver it
   to upper layer

Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
2022-02-18 04:53:18 -08:00
Krishna Rao
8b712ebbaf qcacmn: Add APIs to get info about elem/subelem fragment sequence
Add an API to get the following information for a first 802.11 element
present in the beginning of a given buffer, and a series of elements
after it in the given buffer: a) Whether a contiguous subset of these
elements starting with the first element form an element fragment
sequence. b) If they form an element fragment sequence, then the total
length of this sequence inclusive of headers and payloads of all the
elements in the sequence. c) If they form an element fragment
sequence, then the total size of the payloads of all the elements in
the sequence (not including the element ID extension of the lead
element, if applicable).

Similarly, add an API to get the following information for a first
802.11 subelement present in the beginning of a given buffer, and a
series of subelements after it in the given buffer: a) Whether a
contiguous subset of these subelements starting with the first
subelement form a subelement fragment sequence. b) If they form a
subelement fragment sequence, then the total length of this sequence
inclusive of headers and payloads of all the subelements in the
sequence. c) If they form a subelement fragment sequence, then the
total size of the payloads of all the subelements in the sequence.

Add common helper functionality shared between these APIs.

CRs-Fixed: 3124120
Change-Id: I26d2d75670dbb99c927517181d58f4d816ae754b
2022-02-18 04:53:12 -08:00
nobelj
df4a101c0e qcacmn: process tx monitor per ppdu status buffer
Add skeleton code for handling tx monitor per ppdu status buffer.

Change-Id: Idfb4e038007e0a45cb1a4805270453cc01cd986e
2022-02-18 01:27:43 -08:00
nobelj
eb6d660139 qcacmn: Add HAL specific api to support tx monitor
Added HAL specific api to support tx monitor,
	1. to get buffer address
	2. get number of users
	3. get corresponding structure to handle tx monitor and
	4. parse limited TLV tag.

Change-Id: Ic354c76b3bcf5fa454db973c2aa4ee5f9c1b4208
2022-02-18 01:27:37 -08:00
Bing Sun
091c383271 qcacmn: Get pdev for dfs if pdev id is not 0
MCL host only has one pdev with pdev id as 0. If pdev id indicated
from FW is bigger than 0, MCL will not get pdev. Get pdev with pdev
id 0 in this case.

Change-Id: Ie43fc2d78d31ebaa3f32076704d81439f1d46830
2022-02-17 15:42:29 -08:00
Kiran Venkatappa
19ceffca9d qcacmn: Use WMI_MULTI_MAC_SVC and remove target defs
Remove target type #ifdefs for multi WMI svc by setting
WMI_MULTI_MAC_SVC in makefile.

Change-Id: I46d968328825ff8f6578cf3ba4454f559d5a7315
CRs-Fixed: 3131513
2022-02-17 09:40:44 -08:00
Pavankumar Nandeshwar
e157e0df4e qcacmn: Flush dp cached frames only for mld peer
Flush dp cached frames only for mld peers and legacy peers, as
link peers don't need it.

Change-Id: I19a27c5810a1fec6a62bfe5a6377073dc382fb4c
CRs-Fixed: 3131405
2022-02-17 09:40:38 -08:00
Prakash Manjunathappa
0447218ad2 qcacmn: KIWI V2: take care changed WBM completion release source
KIWI V2 WBM completion release reason codes are changed to match legacy
lithium release codes. Takecare to enable translation only for KIWI V1.

Change-Id: I094f40440b290ae424b47a7ba176b81ffea6c592
CRs-Fixed: 3132359
2022-02-17 07:45:22 -08:00
Liangwei Dong
a0fa276d5a qcacmn: Add MCC quota Vendor command and event index
Add enum QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA_INDEX for
new vendor command QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA.

Change-Id: Ib09d5a6ad59b625e2d5d458a01e8f6c82cee4762
CRs-Fixed: 3101808
2022-02-17 07:45:17 -08:00
Liangwei Dong
e157d2f8f1 qcacmn: Add QCA vendor MCC channel quota command and event
Add QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA. When two or more interfaces are
active on the same band and two different home channels (MCC), the
target may allocate quota of "on channel" time for each home channel.
The target will indicate the quota information to application layer with
this event. Application may do TX bitrate control based on the
information. The user may also set the MCC quota for an interface by
using this command.

Change-Id: Ic8d8c5a5f2a6f0c55fd46394fa8e2062a37abefc
CRs-Fixed: 3101791
2022-02-17 07:45:11 -08:00
Ripan Deuri
831995f9ca qcacmn: Add default queue map config message handler
Add default queue map config msg handler. This msg is sent by the target
in response to a default queue map request.

Change-Id: Id08e0b175172614514b9fb2dcabcc5f7f068896f
CRs-Fixed: 3126854
2022-02-17 06:25:05 -08:00
narayan subramhanyan
893d63c744 qcacmn: Legacy Qwrap RE code cleanup
Remove Legacy Qwrap max client mode code as part of Legacy
RE code cleanup. Old change (same code changes as new) was
reverted as some PF checks were missing/skipped before merge
due to an IT issue

Safe to merge now as IT issue has been resolved and all PF
checks are enabled again before merge.

Change-Id: I2f6ae57a27d50c31115d89e57281dc1f7094d71d
CRs-Fixed: 3125196
2022-02-17 06:24:59 -08:00
Jinwei Chen
7a60675260 qcacmn: Support TX completion and RX delay tracing for KIWI
Support TX completion and RX delay tracing by Ftrace for KIWI,
Add generic IP protocol packt tracing like ICMP packet.

Change-Id: Ie0c4b1764ce953fd2ed41fc5eea8aa28c8d427d9
CRs-Fixed: 3126080
2022-02-17 05:03:40 -08:00
Hariharan Basuthkar
9ae0959d63 qcacmn: Rectify compilation error when CONFIG_BAND_6GHZ is disabled
When CONFIG_BAND_6GHZ is disabled, compilation error is observed
due to the absence of the declaration of reg_convert_enum_to_6g_idx
and reg_get_reg_maschan_lst_frm_6g_pwr_mode.

To fix this issue, add static declarations for
reg_convert_enum_to_6g_idx and reg_get_reg_maschan_lst_frm_6g_pwr_mode
when CONFIG_BAND_6GHZ is disabled.

Change-Id: I616de6cd2630be1897da6cd87a29569e51bf058e
CRs-Fixed: 3131119
2022-02-17 05:03:35 -08:00
Jinwei Chen
a2f8cef72d qcacmn: Check DBS capable to determine max_mac_rings
For 1x1 DBS case, host also need to configure max_mac_rings
as 2 and initialize each RX ring, currently host only consider
2x2 DBS case.

Check DBS capable instead of 2x2 DBS capable only.

Change-Id: Ic2d4fda9be245a3d0448b6b87ba8676f41d9187e
CRs-Fixed: 3129165
2022-02-17 05:03:29 -08:00