提交图

72 次代码提交

作者 SHA1 备注 提交日期
Chaoli Zhou
2c3110a123 qcacld-3.0: Fix no previous prototype for 'dp_set_rps'
Fix no prototype for 'dp_set_rps' if QCA_CONFIG_RPS
not defined.

Change-Id: I368ef21c29a2cd37073b193ba3102db466b45aff
CRs-Fixed: 3339014
2022-11-22 07:49:26 -08:00
Karthik Kantamneni
f298317281 qcacld-3.0: Display Runtime PM stats periodically
Display Runtime PM last busy stats periodically, this helps
to debug runtimepm issues even without dump availability.

Change-Id: Iae9b70ed49b94a4e098d87a0a00e539178f3c35d
CRs-Fixed: 3337901
2022-11-20 22:03:01 -08:00
Yeshwanth Sriram Guntuka
51c1c5669c qcacld-3.0: Initialize Direct Link DP only if FW supports
Initialize direct link datapath based on the capability
bit from FW.

Change-Id: I054ae693762bafcd9461cf2505b0c4446c3c6c2f
CRs-Fixed: 3335329
2022-11-13 01:42:10 +05:30
Yeshwanth Sriram Guntuka
e8b18e43b9 qcacld-3.0: Use a dedicated rx refill ring for Direct Link
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
2022-11-12 01:23:06 -08:00
Jinwei Chen
a1adfe5630 qcacld-3.0: add minimal UDP data length check for FISA
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
2022-11-10 21:57:04 -08:00
Yeshwanth Sriram Guntuka
a80f659fbf qcacld-3.0: Register for LPASS data msg service for Direct Link
Add support to register for LPASS data message htc service
for Direct Link datapath.

Change-Id: Iff9be53841088abe884d8e282bf13509a99ddeb2
CRs-Fixed: 3317634
2022-11-09 20:09:46 -08:00
Yeshwanth Sriram Guntuka
f263f50933 qcacld-3.0: Add skeleton code for direct link datapath
Add skeleton code for direct link datapath in DP
component.

Change-Id: I1279abfe573017258b13043d779d0ddc41ee8dd2
CRs-Fixed: 3295346
2022-11-09 18:18:58 -08:00
Yu Tian
4e94e6a592 qcacld-3.0: Disable FISA update in suspend state
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
2022-11-09 11:16:37 -08:00
Jeff Johnson
a9db6a8521 qcacld-3.0: Fix misspellings of "detach"
Two misspellings of "detach" were detected in the driver, so fix them.

Change-Id: If3bf51f9c34c25e8519a229492bbab11946754dd
CRs-Fixed: 3324001
2022-11-01 17:54:12 -07:00
Jinwei Chen
71d2520f79 qcacld-3.0: fix dp memory pre-allocation failure
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
2022-10-18 05:22:10 -07:00
Yu Wang
0e8ac06ee6 qcacld-3.0: fix build failures caused by QDF_MAC_ADDR_REF
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
2022-10-11 22:21:19 -07:00
Jeff Johnson
5daf948dfe qcacld-3.0: components: dp: Fix Misspellings
Fix misspellings in components/dp/...

Change-Id: I7c2edc87e8c2efd9dbdaa4a93297f35c2cb972b8
CRs-Fixed: 3303645
2022-10-03 11:27:02 -07:00
Azmath Mohammed
aacfd1d3d0 qcacld-3.0: Implement DP component for FISA feature
Add FISA feature support for DP componentization.

Change-Id: I748a20ec44d1c299aab8d31facd059eb2e35e680
CRs-Fixed: 3243693
2022-09-28 22:31:29 -07:00
Jinwei Chen
27c185dbcd qcacld-3.0: add DA check for EAPOL if not from regular RX path
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
2022-09-27 01:03:56 -07:00
Amit Mehta
a518794bf5 qcacld-3.0: Pointer dereference and resource leak issue fix
Add changes to fix issues:
1. Read from pointer after free
2. Dereference before null check
3. Resource leak

Change-Id: Ie1b18abaa99e9ea168ded897e3f3e9c4cf33fb59
CRs-Fixed: 3295237
2022-09-22 12:15:20 -07:00
Ananya Gupta
4912b28c8d qcacld-3.0: Pause Tx when bus suspend in progress
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
2022-09-21 20:02:22 -07:00
Roopavathi Lingampalli
6d4df6c2da qcacld-3.0: Modify Pre_alloc memory support for Dp component
Modify Pre_alloc memory support for DP componentization.

Change-Id: I274e3163bc6623a7a4e08f8ce30d3bc17a0b444b
CRs-Fixed: 3285947
2022-09-16 11:52:08 -07:00
Jeff Johnson
3ff3909b9c qcacld-3.0: Rename dp_dettach_ctx()
Rename dp_dettach_ctx() to dp_detach_ctx() to fix misspelling:
dettach ==> detach

Change-Id: If8e41fe29fd0bdcdd92113a4f67f3eff1ee0f5c3
CRs-Fixed: 3281824
2022-09-10 06:24:58 -07:00
Amit Mehta
20055c6534 qcacld-3.0: Add check for interface id
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
2022-09-07 13:21:22 -07:00
Amit Mehta
cf37b0c153 qcacld-3.0: Add NULL check for return value
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
2022-08-25 17:40:43 -07:00
Azmath Mohammed
69c27376be qcacld-3.0: Modify static inline API's for net dev stats handling
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
2022-08-18 00:48:56 -07:00
nakul kachhwaha
49baf5f10c qcacld-3.0: Add traffic end indication support in DP component
Add ucfg APIs to set/get feature status and dscp
values and structure to store values

Change-Id: I839c89696581b8aefd873a120d938a5cbbc32899
CRs-Fixed: 3255692
2022-08-16 07:40:09 -07:00
Jianmin Zhu
75fcd4dc84 qcacld-3.0: Fix link speed state always keep bad issue
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
2022-08-12 08:24:41 -07:00
Jianmin Zhu
71eb93c537 qcacld-3.0: Update linkspeed state to F/W for roaming dp part
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
2022-08-11 03:15:15 -07:00
Amit Mehta
ca0b0ecf0e qcacld-3.0: Enhance NUD failure handling
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
2022-08-11 00:23:00 -07:00
Chaoli Zhou
2f1c8a6e72 qcacld-3.0: Fix redefinition compile error
Fix redefinition error of 'ucfg_dp_tdlsta_register_txrx_ops'
if TDLS disabled.

Change-Id: Ic53489003b78ae1081d9c7f64601de2d354ba59b
CRs-Fixed: 3259948
2022-08-09 23:38:04 -07:00
Amit Mehta
5bda120bfa qcacld-3.0: IPA offload enable compilation issue fix
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
2022-08-08 03:46:47 -07:00
Ananya Gupta
d50b45174e qcacld-3.0: Drop packets if suspend in progress
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
2022-08-03 21:07:54 -07:00
Amit Mehta
eea57c0196 qcacld-3.0: Get DP interface by netdev
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
2022-08-03 11:57:14 -07:00
Karthik Kantamneni
6ace4e5448 qcacld-3.0: Fix improper setting of RPS CPU mask
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
2022-08-01 14:52:31 -07:00
Tiger Yu
44e9e5e12d qcacld-3.0: Fix TX failure message flooding in the cnss diag log
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
2022-08-01 06:53:53 -07:00
Roopavathi Lingampalli
865eaba7f4 qcacld-3.0: Implement DP component for SWLM feature
Implement SWLM feature support in DP componentization
model.

Change-Id: I4cd03c768fe9d9bd66d484a8c5e2f2613e55f4e6
CRs-Fixed: 3243889
2022-07-27 13:25:56 -07:00
Amit Mehta
3a8e4be9ea qcacld-3.0: Add call to apply tput policy
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
2022-07-27 11:22:13 -07:00
Amit Mehta
8208a54eb1 qcacld-3.0: Get Vote level and High threshold from dp context
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
2022-07-26 19:38:28 -07:00
Amit Mehta
f0dd63a14e qcacld-3.0: Get netdev stats from DP interface
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
2022-07-26 16:27:55 -07:00
Amit Mehta
3296d26416 qcacld-3.0: Add change for WAPI IE in probe response
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
2022-07-25 08:21:44 -07:00
Amit Mehta
14e5d5f4cb qcacld-3.0: Use netdev to get dp_interface
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
2022-07-24 06:26:07 -07:00
Amit Mehta
8c142b3f4d qcacld-3.0: Add change to set high vote level
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
2022-07-18 14:20:07 -07:00
Amit Mehta
08f5a4c814 qcacld-3.0: Move Enable detection of data stall events to DP component
Move change: Id4fd7f10f0806a39c5bdb7b8c097c26894dc5340
Enable detection of data stall events to DP component

Change-Id: I9eab2f29739cd0159f202a3a95f4a4baa70cb47d
CRs-Fixed: 3230891
2022-07-18 14:20:01 -07:00
Roopavathi Lingampalli
7cc8f0ad6b qcacld-3.0: Fix disconnect for NUD failure just after roaming
Move Change Ia3a9e989ea16443fa157834ef9d4ceb247f82e24 to
DP component
Change-Id: I596abc5662daba0a1d17e195bcb3ccf5fac1a7d4
CRs-Fixed: 3236310
2022-07-13 00:21:52 -07:00
Yeshwanth Sriram Guntuka
6529648bf3 qcacld-3.0: Move TC based dynamic GRO logic to DP component
Move TC based dynamic GRO logic to DP component.

Change-Id: I3c6658e8f19a71e548c77ff6fd637148925008d7
CRs-Fixed: 3219451
2022-07-11 13:04:51 -07:00
Roopavathi Lingampalli
1986ba636a qcacld-3.0: Modified osif Mic error handler support
Combined dp process mic error support for both SAP
and STA interfaces into one API for DP component

Change-Id: Ic78675d4bfdd5b5cc995505bcbf9862711c5ba24
CRs-Fixed: 3226471
2022-06-24 14:14:11 -07:00
Amit Mehta
8a36b28308 qcacld-3.0: Move change to prevent mac addr modification
Move change Ie0f6f4365b8558a451fa8434832f14aebd56172b
Prevent wds_replace_peer_mac modifying mac addr in skb
to DP component

Change-Id: If2cd52c1949a0eb7d406fd44a01b15bbb18d3a81
CRs-Fixed: 3226191
2022-06-24 11:06:58 -07:00
David Oladunjoye
ca2a11a0c4 qcacld-3.0: dp: Replace fallthrough comment with attribute
-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
2022-06-24 07:45:54 -07:00
Amit Mehta
7247a495d5 qcacld-3.0: Move Use skb_orphan in TX to DP component
Move change Ic8dfdb09c73a1071678612430fff2f23180ad336
Use skb_orphan instead of skb_unshare in TX to DP component

Change-Id: I0372a5c58f96a40d81a6670f507870dbfac63170
CRs-Fixed: 3226184
2022-06-23 01:58:43 -07:00
Amit Mehta
b389b5b1bd qcacld-3.0: Add vdev lock to dp component
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
2022-06-09 11:42:18 -07:00
Karthik Kantamneni
5b7f718dad qcacld-3.0: Fix DP component Rx packet drop in MLO case
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
2022-06-09 08:23:40 -07:00
Karthik Kantamneni
b3b7cf5405 qcacld-3.0: Vote for PMQOS in low throughput case
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
2022-05-14 06:20:10 -07:00
Amit Mehta
cd59c3f232 qcacld-3.0: Add NULL check for tx_rx_hist
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
2022-05-13 17:04:42 -07:00
Azmath Mohammed
d4b45548e7 qcacld-3.0: Add threshold for SUPER_HIGH throughput in DP Component
Added new threshold corresponding to SUPER_HIGH
throughput and maxed out vote level to PLD_BUS_WIDTH_MAX.

Change-Id: I3d249fde7101d780bcfb6fba830ae2b255f02063
CRs-Fixed: 3194303
2022-05-13 09:53:15 -07:00