Enable and register PPE2TCL and REO2PPE ring interrupts
for direct switch
Set interrupt timer threshold for ppe2tcl ring as 30 us.
Change-Id: Ida1ff6c3c2000f16f07960f7eae0d10edc337dc0
CRs-Fixed: 3341790
Add support for GET MLO Multicast API to check
if the vdev is primary multicast vdev.
Enhanced SET MLO Multicast API to reset primary
multicast flag for all partner vdevs.
Change-Id: Ic88949ce922bb1d0fd34349058d254de0d1f563c
CRs-Fixed: 3322523
Vlan Header is not initialize before passing it
to IPA driver, due to this some Vlan header fields
are junk and causing issue in IPA driver.
Fix is to initialize the header with 0
CRs-Fixed: 3342771
Change-Id: Ic29e0822f32bec5ea71702ceea75b7354caeda65
In the dp_tx_desc_set_ktimestamp() return false case,
tx_desc->timestamp will not be updated, instead,
tx_desc->timestamp_tick used. So it will cause
dp_tx_comp_delay_check() always return false when
timestamp equal zero. Need to move the tx desc
timestamp check to correct place.
Change-Id: Ic1d5f1035784dcc3f240d832ac1e8820bc24f782
CRs-Fixed: 3331251
nbuf could be freed when some error conditions are hit so
always validate nbuf while processing MPDU/MSDU level TLVs.
Change-Id: I5e0756bc8ba0a8c68c6ce8d2886b5b63068626a0
CRs-Fixed: 3318966
If IPA tx alt doorbell address is not returned from IPA, wlan
should not touch the tx alt paddr and vaddr either. Therefore
add the NULL check before handling the tx alt ring resources.
Change-Id: I6b98fe5c003f3e796441513515190ea592d14d01
CRs-Fixed: 3339322
buffer_timestamp in wbm2sw ring descriptor is 19 bits only with
unit 1024 us, so it can only accommodate 0x7FFF * 1024 us same as
29 bits value with unit us. but if the timestamp value is >
0x7FFF * 1024 us, then the value stored in buffer_timestamp is not
right as other higher bits bit29 ~ bit31 is lost.
restore bit29 ~bit31 value for buffer_timestamp to fix current issue.
Change-Id: Ie929f560365cc822883711133541772348775357
CRs-Fixed: 3336241
Currently, in case of station+monitor mode on KIWI target,
we are not attempting to drop the entries received in the
monitor destination ring, when no channel has been
configured for the monitor interface. This leads to the
monitor destination ring full condition and an eventual
backpressure on the ring.
Fix this issue, by dropping the entries in the monitor
destination ring, which have been received before the
monitor channel has been configured.
Change-Id: Ic9c432b438d0a5dce2d2bb38053c31ce508c27f5
CRs-Fixed: 3332327
Only 8 RX data TIDs are used, so HW stats query only needs to update
these TIDs info to save command executing time. Change is aimed to
reduce the TID number and use only one REO flush command for overall
REO cache flush.
Change-Id: Ib642451b9f07f62198126c45644742e1908280cd
CRs-Fixed: 3325964
Change module id to QDF_MODULE_ID_DP_HTT for hexdump printing
of hw vdev stats.
Change-Id: Ie9db76aa04241680236aa6b23a4ee65b5fd89d23
CRs-Fixed: 3343177
When high throughput is running between AP and STA,
due to u8 variable overflow, host is not replenishing
required buffers.
More than 255 buffers can be requested for replenish,
so fixed size of the variable.
Change-Id: Ia810fed29058ec527cd8e6f77e6f9c333c5c6f88
CRs-Fixed: 3306616
Retain ds ring indices across wifi restart to avoid
edma hang. Fetch the indices from ds module and set
the corresponding ds ring indices.
Change-Id: Ia299a7006166aef096c7d2c1f65f6bef65415a37
CRs-Fixed: 3332152
pkts from rmnet device are sent as SG, we see poor
throughput when transmitting these SG frames using
an MSDU extension descriptor. to resolve this issue
we identify if the frame is from RMNET device and if so
copy the headers from skb linear address to the frag
address and provide the frag address to HW for transmission
CRs-Fixed: 3337822
Change-Id: Ic1b7d9f861dcd4f838509772c45e47d3917fc59f
Reap mode desc from the Tx completion ring in case the number of
available entries are less than the half of the ring entries.
Change-Id: I3635b88c3e98cc8a5f30fc58cf5e353f6301d4ad
CRs-Fixed: 3325826
In force teardown case disable the interrupts before
going down. As target may be still active, we may
still continue to receive traffic. Disabling
interrupts to nsure we dont process interrupts while
cleaning up partner SOC
Change-Id: I7092d398c039302234206cb72f7453b6dc0cbcb7
CRs-Fixed: 3332961
Add the stats to indicate the packet drop for EAPOL packets.
This will be useful for the debug of EAPOL packet drop.
CRs-Fixed: 3329895
Change-Id: I5e0abb4e574116a55de124c0012c17154c7c63da
Normally TID is obtained from MPDU start pkt and is performed
invalid check. There is a chance that DUT receives an
aggregated MPDU with invalid TID, TID value is not updated for
the second MSDU, then it will lead to OOB access.
Change is aimed to perform the check for every MSDU.
Change-Id: Ie261ddbc0e9dcd10459c68d3c78e13faa70286ac
CRs-Fixed: 3333265
Add debug count for count MPDU received based on preamble type,
reception type, UL/DL and user for max 4 user for MU monitor
mode
Change-Id: I87f1553e1f2f8276501366a825d629cf051d8a80
CRs-Fixed: 3326272
In case of fast_recycled is set we can avoid invalidating
the complete buffer as it would have been invalidated
by tx driver before giving to recycler.
But we need to still invalidate rx_pkt_tlv_size as this
area will not be invalidated in TX path
Change-Id: I9e5202d8b251a5d59117609a705a311e499d05b0
CRs-Fixed: 3332713
Add support and ops for initialization and
deinitialization of Direct Link refill ring.
Change-Id: I2c7018c4f8411fb7a590cfbb8b991f9152b22397
CRs-Fixed: 3316656
MSI vector number is defined in platform driver, so use platform
driver API to check whether it is in one MSI mode or not.
In case of one MSI vector, interrupt migration needs to be disabled.
This is because when interrupt migration happens, the MSI data may
change. However, MSI data is already programmed to rings during initial
phase and there is no way to know that MSI data is changed during run
time and reprogram again.
If it is in one MSI mode, disable interrupt migration by adding IRQ
flag IRQF_NOBALANCING.
Change-Id: I54579dfe1e658c1a2c395be93875d013d6e6affd
CRs-Fixed: 3290829
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
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
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
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
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
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
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
Use rate limit print for BAR frames to in avoid of
slow processing when BAR flood happens.
Change-Id: I92063787501c8f6467a211bd2695108a9fe42724
CRs-Fixed: 3325043