Display Runtime PM last busy stats periodically, this helps
to debug runtimepm issues even without dump availability.
Change-Id: Iae9b70ed49b94a4e098d87a0a00e539178f3c35d
CRs-Fixed: 3337901
Allocate a dedicated rx refill ring for use by LPASS
WiFi driver to provide buffers back to FW in the
Direct Link datapath.
Change-Id: I3b59e2fd3973f37fc2cc77898c4dcf09fc5def57
CRs-Fixed: 3317972
current observation is as following,
(1) RX UDP data length less then 12 bytes and they are aggregated
by FISA.
(2) aggregated UDP data might not be supported by user APP or they
are forwarded to other netdev.
if above two is met, kernel panic appears.
no solid conclusion from kernel network currently,
as a SW WAR from wlan driver side, check if current UDP data
length < 16 bytes, skip FISA aggregation.
Change-Id: Ia9e46705c7ace6a6e5580494231056adf214d7b2
CRs-Fixed: 3330035
Add support to register for LPASS data message htc service
for Direct Link datapath.
Change-Id: Iff9be53841088abe884d8e282bf13509a99ddeb2
CRs-Fixed: 3317634
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: I8d3082355f780d11fd5047d67f916f0a7dd0c6e8
CRs-Fixed: 3325498
fix dp memory pre-allocation failure as below,
(1) add pre-allocated memory for extra contexts of
DP_RX_RING_HIST_TYPE on beryllium.
(2) add extra RXDMA_BUF type's memory for SW2RXDMA ring and size same
as RX refill ring size for now.
(3) add pre-allocated memory for REO_STATUS & RXDMA_MONITOR_STATUS ring.
(4) add pre-allocated memory for DP_MON_PDEV_TYPE.
Change-Id: I038d946cf1b8c9dc67c1539ea972bda8239def4d
CRs-Fixed: 3314198
Build failed once WLAN_TRACE_HIDE_MAC_ADDR is enabled,
due to 'error: type mismatch in conditional expression'.
To fix it, correct the parameter for QDF_MAC_ADDR_REF.
Change-Id: Ifd89b02ab5fb2e3b59291c303ad93b691616dc57
CRs-Fixed: 3308193
For MLO connection, if the RX EAPOL frame is not from regular RX path,
then DA conversion likely has not done by HW.
Add DA check for EAPOL if not from regular RX path.
Change-Id: Ib68d247be216805d11d42da3f8580c47dffe93b6
CRs-Fixed: 3289834
In SAP due to intrabss forwarding, Tx ring update is going through
when WOW enable command has been sent to FW. This results in crash.
To fix this, set is_tx_pause flag when suspend sequence starts,
which will pause Tx ring HP update.
Change-Id: I81f25b8bfca917c95180c460fd932c0f75094c10
CRs-Fixed: 3295428
Currently, there is no interface id valid check,
Which is resulting in unnecessary Vdev NULL error
logs for interfaces for which Vdev is not created.
So to fix the excessive logging issue add a check
to validate the interface id.
Change-Id: I86b2a60c11631f5122f866a83427d4cd9b794a02
CRs-Fixed: 3283932
Currently at multiple places there is no
NULL check for return value which might
result in NULL pointer dereference.
Add NULL check for return value to avoid any
NULL pointer dereference.
Change-Id: I986a48d9649b67cb5a078ec38eea64da4ef9244e
CRs-Fixed: 3273489
Currently net dev stats are handled using QDF MACROS which is not
ideal approach. So modified it to OS agnostic inline API's for
handling net dev stats.
Change-Id: I1739779c4fa7699e867b9aa75aff48546b7754ac
CRs-Fixed: 3250935
Add ucfg APIs to set/get feature status and dscp
values and structure to store values
Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
After setting link speed threshold to low value like 10 Mbps by vendor cmd,
in bus bw timer, when find link speed above theshold, just change local
link speed state to good, not update global var dp_intf->link_monitoring,
so link_monitoring_cb is called periodically, message to update link
speed to good is sent to scheduler thread periodically,
WMI_ROAM_SET_PARAM_CMDID is sent to F/W periodically too.
To fix it, when find link speed state change from bad to good, update to
global var dp_intf->link_monitoring too. In next bus bw timer, find link
speed state keep good, don't send msg to update link speed again.
Change-Id: I3840e834a76465242face5b2529f004d1d277312
CRs-Fixed: 3266159
To avoid unmeaningful roaming, when low RSSI trigger,
only roam when rx linkspeed is also bad.
Steps:
1. F/W indicates feature supported by:
wmi_service_linkspeed_roam_trigger_support
2. App sets vdev rx link speed threshold by vendor cmd.
3. Bus_bw_work gets rx link speed from data path periodically.
4. If found rx link speed change from good to poor, or poor to good, send
to F/W.
5. F/W low rssi roaming is triggered only when both RSSI and link speed are
poor.
Change-Id: I2c2a22c1f24a730783ee09455f4d70b099d9bff1
CRs-Fixed: 3255036
Enhance NUD failure handling by also adding
check for packet received from AP in the case
where AP is gateway
Change-Id: I45f4c11f34eddf536756edc4f81009227ae64c35
CRs-Fixed: 3239391
Currently there is compilation issue in case of IPA
offload enable case due to code changes done as
part of DP componentization.
Fix compilation issue by adding calls to DP component APIs
Change-Id: Id545f67bff75682ceccba5725f956a89c6b9b9f8
CRs-Fixed: 3259293
Currently, there is a race condition where packet gets
enqueued when WOW handshake is being done in parallel during
bus suspend resulting in assert in FW as Tx is aborted when
WOW command is received in FW.
To fix this, suspend DP tx path before suspend sequence starts
which will drop tx packets.
Change-Id: I38a6a6bdf9858f627205f75f75f351f7debbb7f7
CRs-Fixed: 3227752
Currently while attaching vdev to DP interface
we are searching DP interface based on the Adapter
MAC address, but if STA MLD and Link address is
same, we were getting the Link Interface instead of
MLD interface, which was causing the EAPOL packet to drop.
To Fix the issue, instead of searching for DP interface
based on MAC address, use netdev to search DP interface.
Change-Id: I50c7974c053717b496fab0eeb89774af382b4313
CRs-Fixed: 3258684
RPS CPU mask is getting set even if feature is not enabled,
due to this RPS config is taking affect and throughput is degraded.
Fix this by checking dynamic RPS enablement before setting RPS CPU mask.
Change-Id: I472a600e665271db7ea1e6fa650d88cba7804ab8
CRs-Fixed: 3258049
Fix TX failure message flooding in the cnss diag log in the third
party platform when running UDP performance test in high bandwidth.
The TX follow controller might be disabled for the legacy ROME module
due to IPA might be not enabled in the kernel config.
Use rate limit print version to mitigate this error msg flooding.
Change-Id: Id33c2a42a6490f734e83343f6d26e37cd6887bbe
CRs-Fixed: 3256599
In current code changes call to apply tput policy
was missing, So to fix issue add call to update
the tput policy.
Change-Id: I29ef9db5789406877deb3177233c10ba1ae9db9c
CRs-Fixed: 3254183
Currently we are getting current vote level and bus bandwidth
high threshold from hdd context. But these are moved to dp
context under dp component.
So to fix issue add and call ucfg api to get and set values.
Change-Id: I2c36b2df76c5932dc0d1bdbdec21ce2da5f537bc
CRs-Fixed: 3252743
While requesting sta stats, tx/rx netdev stats update are
happening from adapter. But as part of latest code change
these stats are moved from adapter to dp interface, because
of which some of stats values are displayed as 0.
To Fix the issue get tx/rx netdev stats from dp interface,
Also add calls to clear netdev stats
Change-Id: I64523b035c1d902ccc4a45d82f7508751e518150
CRs-Fixed: 3247540
Add change for WAPI IE in probe response introduced by
change : I9212e0fe9d495e8300a2bfbed65d398e0fb27170
and also add change to print mac address while
updating mac from old mac address to new mac address.
Change-Id: I6481b211fa26c540b079d119070cc2f1cc1d3abf
CRs-Fixed: 3249823
Currently, while we request netdev stats
we use the MAC address to find the DP interface.
There is a possibility that while we are
passing mac address to find DP interface
in parallel dynamic MAC update can happen
which will cause MAC address mismatch,
which will result in the DP interface not found
issue.
To fix the issue, instead of MAC address use
netdev name to search DP interface from
the list of available DP interface.
Change-Id: Ib04ce2fc7193be4733b16707600a10d3d729813c
CRs-Fixed: 3247725
Add change in bus bandwidth to set set high bus vote
level into DP component introduced by change to
skip special frame rate info update.
Change: Ie8989dde506c654525099f9d154abe93162a0bac
Change-Id: Ib0a2241ac63536fe885c89715d70c778af444f2d
CRs-Fixed: 3245764
Combined dp process mic error support for both SAP
and STA interfaces into one API for DP component
Change-Id: Ic78675d4bfdd5b5cc995505bcbf9862711c5ba24
CRs-Fixed: 3226471
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.
Change-Id: I6d12321a649b61b35f9abf4fb977d368fc8a6e4e
CRs-Fixed: 3217402
Move change Ic8dfdb09c73a1071678612430fff2f23180ad336
Use skb_orphan instead of skb_unshare in TX to DP component
Change-Id: I0372a5c58f96a40d81a6670f507870dbfac63170
CRs-Fixed: 3226184
Add vdev lock to DP component to protect against
vdev parallel delete while accessing vdev from
DP interface, also introduce get and put APIs.
Change-Id: I4ee838e1dea0caf9936ced13d6ddce6646333f6b
CRs-Fixed: 3198876
Currently in MLO use case DP component interface is not
mapped to netdev registered to ip stack and also Rx packet
over nl interface is broken.
Fix these issues by attaching DP component interface
to netdevice which is registered to ip stack for TX/RX.
Fix Rx packet over nl interface by checking
corresponding ops properly.
Change-Id: Ibf9cb03565a9e2d5cd02091995259376e1069790
CRs-Fixed: 3200617
Vote for PMQOS from Bus bandwidth handler in
low throughput case to achieve better results
during parallel throughput test cases.
Change-Id: Ie3e3d18794982a6b08e57b728237b0fc2051e2d2
CRs-Fixed: 3138949
Currently, we are updating tx_rx_hist without performing a NULL check.
There can be the case where the tx_rx_hist is freed and we are trying to
de-reference the tx_rx_hist, which will cause the NULL pointer dereference
issue.
Fix is to add NULL check for tx_rx_hist before dereferencing it.
Change-Id: I0c298f1c86dd86b6ac987c005ed19b20933ffba8
CRs-Fixed: 3196312
Added new threshold corresponding to SUPER_HIGH
throughput and maxed out vote level to PLD_BUS_WIDTH_MAX.
Change-Id: I3d249fde7101d780bcfb6fba830ae2b255f02063
CRs-Fixed: 3194303