Following peer stats are updated in per packet Rx path:
to_stack
multicast
broadcast
In BE architecture, HW provides the support for basic vdev stats and
hence per packet stats updation of above parameters can be done only
when enhanced stats is enabled or HW vdev offload stats is disabled.
Avoiding per packet stats updation reduces CPU load and improves KPI.
Change-Id: Id7c11c025a8464951b615a7f7b006ce61db487fc
CRs-Fixed: 3067843
Following peer stats are updated in per packet Tx completion path:
comp_pkt: Pkt Info for which completions were received
tx_failed: Total Tx failure
In BE architecture, HW provides the support for basic vdev stats and
hence per packet stats updation of above parameters can be done only
when enhanced stats is enabled or HW vdev offload stats is disabled.
Avoiding per packet stats updation reduces CPU load and improves KPI.
Change-Id: I7090d1a1ce0a882236e3310e3e9517149cbb146b
CRs-Fixed: 3067843
In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to FW at the time of vdev creation in wmi_vdev_create_cmd.
FW uses this vdev_stats_id to fetch the stats from HW.
Add logic to convey vdev_stats_id to FW at the time of vdev create.
Change-Id: I91782c73a7f3f94175a0c28ab4adda2d894856db
CRs-Fixed: 3069992
In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to HW at the time of REO TID Queue setup for the peer.
Add logic for allocation and deallocation of vdev_stats_id and
convey this id to HW.
Change-Id: If5611bf54d057ccf71c6444b5c79a26eb28df87e
CRs-Fixed: 3067843
Add configuration at SOC level for hw vdev stats in BE architecture.
Following config parameters are added:
vdev_stats_hw_offload: option to enable/disable hw vdev stats
hw_vdev_stats_timer: timer duration for hw vdev stats
Change-Id: I8cbd2b6a7378d8a9e7de920a3a6fdff0cf7785fe
CRs-Fixed: 3067843
In the case of RAW mode, VAP parameters encap type, dscp_to_tid map id
and cipher are not updating in bank register.
Added a API to update vdev param.
Change-Id: I702bee563e7451f403fa32292bf20680cd66e213
CRs-Fixed: 3078687
Due to DP flow control network queues are stuck in
paused state and not getting reset even after new connection.
This is causing DHCP packets to be dropped and resulting
immediate disconnection after every connection.
Fix this by properly pausing and unpausing the AC flow control
based network subqueues during disconnection/connection events.
Change-Id: I280e704d5a01b19d180c32aaa272c0cb731f8c0e
CRs-Fixed: 3078745
Add API to get partner link information in the per-STA profiles
present in a Basic variant Multi-Link element. The partner link
information is returned only for those per-STA profiles which have a
MAC address in the STA Info field. Also note that the current
implementation does not have Multi-Link element fragmentation support
- this will be added in an upcoming change after shared helper
utilities for the same are available. Similarly, the current
implementation does not have support for per-STA profile fragmentation
- this may be added once it is introduced in the IEEE802.11be
standard.
Change-Id: Ied7092ba1366d39fa15adffc3737d4ad5c0adf59
CRs-Fixed: 3040491
For MLO, we need to designate one of the link vdev
as mlo vdev, on which FW will accept the multicast
frames and for the other link will drop the mcast frames.
So as part of vdev start, we indicate the mlo mcast
vdev in the first vdev of the mlo.
Change-Id: Ic962a6e1fead4a3cab7c622583392ecf373f4783
CRs-Fixed: 3080525
Add support to affine individual grp irqs to either
perf or non-perf cluster for ipci.
Change-Id: Ifae0f2a5a77068587d99513a1902f850860f2329
CRs-Fixed: 3075398
In ME6 we are currently using a workaround to send the native wifi packet
through the exception path, as the older HKv1 hardware didn’t support
single packet AMSDU. Since, the hardware is supporting this starting
from HKv2, we are sending ME packets as normal packets to FW with
DMS indication in Peer based meta for Beryllium.
Change-Id: Ic154b438df2c811c845e7c2eaadf252985d419ad
This change will enable packet logging for the fragments
from RX monitor status ring and send it to the pktlog module
for post processing through WDI event.
Change-Id: I283a20e7d0fa1f9b88223a989beda529beff6718
CRs-Fixed: 3074184
Whenever firmware receives the sync interrupt, it would
update the MLO offset to the scratch registers. Additionally,
firmware also sends a HTT message.
The values from the HTT message are copied into two structures:
1. into the dp_pdev structure, for monitor mode usage
2. into the scn structure for updating the pktlog header
A new WDI event is introduced for MLO timestamp sync into
pktlog header. Host sends the WDI event once it receives
htt msg and the data gets parsed in the pktlog handler and
eventually pktlog header gets updated with those values.
Whenever pktlog memory is being filled, the latest value from scn
structure is filled into the pktlog header. Upon receiving a new
HTT message, the value in the scn structure is updated and
subsequently into the pktlog records as well. All the 8 bytes
from the HTT message are required to calculate the MLO timestamp
offset. The calculation of MLO timestamp offset is to be taken
care by the PKTLOG parsing script.
Change-Id: If1d40b4a889e58b358f0feae692958bca2b8e1de
CRs-Fixed: 3074184
- A new pktlog mode called "hybrid", is added for QCN9224 only.
- Create WDI event for hybrid mode
- Add dummy APIs for monitor filter setting
- Send WMI_PKTLOG_EVENT_HYBRID_TX to FW for umac TLV subscription
Change-Id: I47f4e14bfc766f29a0ab4a8c07ab19e0d919e66b
CRs-Fixed: 3074184
Define MAX MCS to as per 11be
Define packet type as per 11be
Add new RU values
Add new BW gains
CRs-Fixed: 3068482
Change-Id: I18b2460011e2869608fe24743e4373e3e8f3fc1a
Currenly whenever there is a wrong tag in the event given tag
and expected tag is printed without pointing to the which tlv
in the event has caused the issue.
Add more information to point which tlv in the event is wrongly
populated which will help in debug.
Change-Id: I606781548290949d1954b45767fa47afc4e22481
CRs-Fixed: 3071031
The parameters of ucfg_dcs_get_ch_util should be the same whether
DCS_INTERFERENCE_DETECTION is defined or not.
Change-Id: I6281a7a236314bd6d02c05186e2efc52c946b426
CRs-Fixed: 3082164
In case of WIN hal_soc will be freed in wifi down
path, this pointer is not valid at pdev_detach or
soc_detach.
Change to populate dmac source ring flag to dp_soc
as access is needed at pdev_detach or soc_detach
Change-Id: I628746bdd05ba3791d3d0e6b6dfdf160ed368e9a
In hal_delayed_reg_write change the order of
hal_is_reg_write_tput_level_high and pld_is_device_awake check. This
ensures that throughput level is checked before checking for device
wake state. This is beneficial in saving CPU cycles in high throughput
scenarios.
Change-Id: I23d0bde46779df9dca4388bf67c9395999274f3a
CRs-Fixed: 3078096
Split setup API for IPA Rx Refill Ring into allocation and
initialization APIs and call them at pdev attach and pdev init
respectively.
Similary split cleanup API into deinitialization and free APIs
and call them at pdev deinit and detach respectively.
Move procedures related to IPA Tx and WBM rings from pdev to soc.
Also add cdp support to set ipa cfg parameter in soc_cfg struct.
Change-Id: I04bb9270ae2dff51746a42b358fbe346f1087f84
CRs-Fixed: 3053542
CCE disable was done for 8074 V1 specifically which is no longer
needed for future releases and hence removing CCE check in TX.
per packet path
Change-Id: Ia31c5e2cb181e4a3409fa1f1abce8c55524b1b05
Fix the invalid VAP instance error seen when RCC is
enabled and ol_ath_stats (enhanced stats) feature is
disabled case.
Populate gI as well similar to other rate stats in
CFR handler where this information would not be
available if ol_ath_stats is disabled.
CRs-Fixed: 3056621
Change-Id: Id1af6359408cb977ba0becf298121ee10dd5ef72
Log necessary information about the management frames exiting the
reorder module.
Change-Id: I56a5cce91c4cdea6334d3da0259b141b5c773cea
CRs-Fixed: 3063109
Rx patch changes for multichip MLO
1. Create ini for rx ring mask for each chip
2. Configure hash based routing for each chip based
on lmac_peer_id_msb
3. Peer setup changes to configure lmac_peer_id_msb
to enable hash based routing
4. Rx Replenish changes to provide buffers back to owner
SOC of reo ring
Change-Id: Ibbe6e81f9e62d88d9bb289a082dd14b4362252c4
DP peer changes required for multi-chip MLO.
This change includes
1) Adding MLO peer to global peer hash at ML context
2) Add ML peer to all partner chips id to objtable
Change-Id: I230a6c1b14484c587b190a9a318fe9ffb1caea11
Currently if AP and STA have different ctry codes, STA should
operate in VLP mode. And if STA ctry code is US, then scan and
connection are not allowed as US VLP is not supported yet.
However, if RF test mode or Wi-Fi Safe Mode is enabled, allow
scan and connection on this AP and STA can operate in LPI mode.
Change-Id: I513657b8e274ef07eb9e9b5fc265722cb01525de
CRs-Fixed: 3079537
Changes needed for MLO soc attach to pass chip_id,
dp_ml_context from upper layer.
This change also takes care of assigning appropriate
RBM id for IDLE link descriptors based on chip_id.
Change-Id: I8f5f08c524d91942e6e458f048700b7bdd900107
Changes to have HW cookie conversion context per
desc pool.
This context will be used to program CMEM of the
other SOC in case multi-chip MLO.
Change-Id: I5ec68813e8fcb6d124698a52f5553acf9a7b1795