커밋 그래프

3042 커밋

작성자 SHA1 메시지 날짜
Pavankumar Nandeshwar
223693e614 qcacmn: Handle nawds case of intra-bss forwarding
Handle nawds case of intra-bss forwarding of
multicast packets on Beryllium.

Change-Id: I05ec4d937b4b97aa2c9fb325fb2b6a197968ea2a
CRs-Fixed: 3103402
2022-03-01 00:14:42 -08:00
Amit Mehta
8aa367acfa qcacmn: Print ring information in htt srng init and cfg
As part of debug enhancement Print ring information in
htt srng init and htt srng cfg

Change-Id: I59a7831b6ded1028b3a8f246656e982ae7de5b86
CRs-Fixed: 3133836
2022-02-28 17:44:15 -08:00
Harsh Kumar Bijlani
caf5400575 qcacmn: Changes to enable and disable enhanced stats for Waikiki
Changes to enable and disable enhanced stats for Waikiki

Change-Id: I6e3a747f31abda9cfcefec3156327295412088b5
CRs-Fixed: 3138098
2022-02-28 17:44:09 -08:00
Harsh Kumar Bijlani
c1b9ccd925 qcacmn: Update enhanced Tx stats from Tx HTT PPDU completion path
Update enhanced Tx stats from Tx HTT PPDU completion path in WKK.
Define and use function pointers for architecture specific
functionality.

Change-Id: I4ba443647dbd81c83e899c0f88c5d9a4cc695e14
CRs-Fixed: 3132255
2022-02-28 17:44:03 -08:00
Pavankumar Nandeshwar
e57b5cfe7b qcacmn: Remove tags from the tlvs and support NO_RX_PKT_HDR_TLV
Remove the tags from the tlvs and support NO_RX_PKT_HDR_TLV
for Beryllium

Change-Id: Ie759582b67a1ae78cddc0402916f9a39e0023009
CRs-Fixed: 3137156
2022-02-28 16:12:32 -08:00
Harsh Kumar Bijlani
bd7a797898 qcacmn: Add flag in dp_mon_soc_be to avoid double deinit
Add flag in dp_mon_soc_be to avoid double deinit

Change-Id: Ie3f5f9fe3880311b169504c8f4c9861efcf1c4d3
CRs-Fixed: 3138172
2022-02-28 16:12:27 -08:00
Harsh Kumar Bijlani
a8a078e59a qcacmn: Define macro for maximum mcs value for 11AX and 11BE
Define macro for maximum mcs values for 11AX and 11BE.
Also move bandwidth enums to cdp header file.

Change-Id: Ic24b9fa459b160702fa35162955c6bcdf678c97f
CRs-Fixed: 3134964
2022-02-28 11:38:54 -08:00
Harsh Kumar Bijlani
ff71f151fc qcacmn: Update vdev rate stats when user requests for vdev stats
Rate statistics are updated at both peer and vdev level in Tx HTT
and Rx monitor path.

As per peer optimization changes, macro DP_UPDATE_EXTD_STATS is used
for aggregation of extended stats and this macro is used for both peer
and vdev stats query.
With this approach, when user requests for vdev stats, then rate stats
for vdev are updated with the rate values of the last peer present in
peer list of vdev and this results in wrong output.

In order to fix this, add an API to update the rate stats for vdev
separately.

Change-Id: I546a130e84f7fd577b80ace24e1dbb71000c0698
CRs-Fixed: 3132195
2022-02-28 11:33:48 -08:00
Neelansh Mittal
2c06a656a5 qcacmn: Add support for PPE
Add the PPE related DP APIs

Change-Id: I25aeff73fef21a7a8ad0f0e6e8aa6c537a233029
CRs-Fixed: 3045340
2022-02-28 11:33:37 -08:00
Basamma Yakkanahalli
bfde0ca01b qcacmn: Fix bkp on monitor dest ring when disable undecoded capture
During undecoded mode capture reset expected to reset
only phy error filter flags. But disabled monitor mode
capture filters as well. This resulted a backpressure
in monitor mode destination ring.
Added an appropriate check to disable only phy error
filter without disturbing monitor mode filter setting.

Change-Id: If3ef8e9f41f32dff30773aeb939256920c515800
CRs-Fixed: 3137636
2022-02-28 10:19:54 -08:00
Harsh Kumar Bijlani
c4f3ae13ee qcacmn: Define API to get the link peer_id using peer_id and lmac_id
Define API to get the link peer_id using peer_id and lmac_id.
This is required in Rx monitor path for stats updation as Rx
monitor provides MLD peer id, whereas stats updation is done
for link peer.

Change-Id: Ib1c9e2729ccaea2e28272b7d175b3ef7fba9fd7a
CRs-Fixed: 3133003
2022-02-28 10:19:49 -08:00
Ripan Deuri
deb7232efe qcacmn: Define CDP ops to get the SAWF stats
Define CDP ops to get delay and tx stats.

Change-Id: Ibe9e7e463dffa33b47a22cee723c579fd559f289
CRs-Fixed: 3136231
2022-02-28 07:53:39 -08:00
Ripan Deuri
b2340306e3 qcacmn: Add SAWF stats in dp_txrx_peer
- Add SAWF stats in dp_txrx_peer.
- Initialize stats per peer

Change-Id: I5fa35efe36dc8447703d4aa1d4d0c135031f9eee
CRs-Fixed: 3136210
2022-02-28 07:53:32 -08:00
Ripan Deuri
eb543663d2 qcacmn: Enable usage of delta_tsf for SAWF
Enable usage of delta_tsf for SAWF. This will be used to compute tx
delay. Also, add support to update sawf stats in tx completion.

Change-Id: Idab7fbd5217175167ecdeee21cf5dc9daf1415d6
CRs-Fixed: 3135773
2022-02-28 07:53:27 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
Devender kumar
95ced9577d qcacmn: Add support in IPA datapath for 2X_PDEV
2x_pdev changes are include for support new IPA API's
and change the existing API's argument to support new
parameter which is ipa handle, create a new API to get
the IPA hdl from IPA component in DP

Change-Id: I3d2b378620dbd1e64d295623534126e0eebc2d28
2022-02-16 16:56:50 -08:00
Harsh Kumar Bijlani
cc4bde4708 qcacmn: Use atomic variant of qdf_mem_malloc for vdev stats
When kernel calls driver callback to get stats, dev_get_stats()->
ndo_get_stats64() .Host driver allocates memory using
kmalloc (size, GFP_KERNEL) routine,
but as ndo_get_stats is under RCU lock but not in interrupt
context(in_irq = 0, in_interrupt = 0, irq_disable = 1),
qdf_mem_malloc () uses ‘GFP_KERNEL’ to allocate memory,
leading to backtrace for sleeping function call from invalid
context.

As per kernel doc
(https://www.kernel.org/doc/Documentation/networking/statistics.rst),
while in ndo_get_stats64 () API, driver should not calling a routing
which can sleep. Use atomic variant of qdf_mem_malloc() to fix this.

Change-Id: I775f53dd1e8165e962321215e65d46142fb3b3cc
CRs-Fixed: 3128647
2022-02-16 10:26:20 -08:00
Vivek
afc1a46abd qcacmn: Define CDP ops and DP context for SAWF
Adding SAWF ops for CDP and adding SAWF context
to DP peeer.

Add calls to initialize DP SAWF peer context
when DP peer is created.

Change-Id: I7efb89ae18a28c8b070ad9fcee7754553caa7ff3
CRs-Fixed: 3118160
2022-02-15 18:50:33 -08:00
Jinwei Chen
9e68866ec2 qcacmn: Add reo error code 0 processing
Add REO error code 0 processing in REO error path to
handle invalid peer case.

Change-Id: Ie060987850917711c484ad9b8ce1d69e1fce1bed
CRs-Fixed: 3125131
2022-02-15 18:50:27 -08:00
Rakesh Pillai
595926af77 qcacmn: Handle monitor buffer allocation failure
Currently the monitor buffers allocation is attempted
for 2 RXDMA monitor status/destination rings.
For certain targets, eg KIWI, there is only one RXDMA
monitor status/destination ring, and the monitor buffer
allocation for the second ring fails. This return status
is not handled properly.

Fix the monitor buffer allocation to use the number of
rxdma rings from cfg context and handle the return status
properly.

Change-Id: I86718dbd790d96d794963b17a4c9bdf32792d854
CRs-Fixed: 3128299
2022-02-15 17:28:24 -08:00
Harsh Kumar Bijlani
aad4011dcc qcacmn: Add get functionality for HW vdev stats config
Add get functionality for HW vdev stats config

Change-Id: I9dece842be423eb77ff177ea4aae71b0e0320e1e
CRs-Fixed: 3092109
2022-02-14 07:12:31 -08:00
Naga
03c268ac2d qcacmn: Fix to receive correct buffer address
Fix to receive correct descriptor buffer address
for tx monitor

Fix to send correct filter settings enabled

Disabled default filter display log level to debug.

Change-Id: I7ca1b1110cdcb10ca65ab8c414c19a81f1f4d331
CRs-Fixed: 3121965
2022-02-14 07:12:25 -08:00
Amrit Sahai
0d99e0240d qcacmn: change the log level to debug for monitor filters
change the log level to debug for monitor filters

Change-Id: I9f00be2de4abc9f62f8e370292844884d429872f
2022-02-14 07:12:19 -08:00
Harsh Kumar Bijlani
ebe4f9cfd7 qcacmn: Specify vdev_id in bitmask format for HW vdev stats reset
Specify vdev_id in bitmask format for HW vdev stats reset instead
of directly specifying the vdev_id.

Change-Id: I6e3cecdc83d01ecdfdeca3236e94cc91c57511ef
CRs-Fixed: 3128590
2022-02-14 02:43:59 -08:00
Harsh Kumar Bijlani
4645b94dbc qcacmn: Disable MO filters for enhanced stats and smart monitor
MO stands for Monitor Other which is a filter setting specified by
host to hardware to receive TLVs for non-associated clients.

In case of enhanced stats and smart monitor, non-associated clients
are not considered and therefore disable filter settings for MO for
these features.

Change-Id: Ic533072ff668c7ab54188101a889882c4ee4ba4a
CRs-Fixed: 3123784
2022-02-13 23:25:42 -08:00
Amir Patel
e9abac8dc3 qcacmn: Fix memleak issue
Fix memleak issue from pktlog

Change-Id: I4665ce3891c94142aa27349f13669340036b6f98
CRs-Fixed: 3129139
2022-02-12 10:10:35 -08:00
Santosh Anbu
5f86d05c40 qcacmn: Support Multi AST delete service bit info from FW
Add change to fetch and save the WMI service capability of FW to
support multi AST delete using service bit

Change-Id: Iba1af7c230574ae68086357cbb49ae3ca3d944e4
CRs-Fixed: 3118892
2022-02-12 03:16:06 -08:00
Santosh Anbu
83d13e1ffd qcacmn: Support multi AST delete WMI command
Add change to support multi ast entries deletion.

Change-Id: I74b9000c6949d7455da5eb54678e976ab1b9bb20
CRs-Fixed: 3124258
2022-02-11 22:30:17 -08:00