Commit Graph

49 Commits

Author SHA1 Message Date
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
Azmath Mohammed
4f43df441b qcacld-3.0: Add 11be phymode in bus bandwidth vote table in DP components
Currently no 11be phymode is supported in bus bandwidth vote table,
then for 11be mode, wlan driver vote during throughput test is not right.
Add 11be support in bus bandwidth vote table in Dp components.

Change-Id: I84947ee2f5c4a7693927ef4fba6926cc56f26a87
CRs-Fixed: 3195143
2022-05-13 09:53:07 -07:00
Roopavathi Lingampalli
881a91c93b qcacld-3.0: Fix compilation issue related to DP component
Fix compilation issue related to cfg80211_rx_control_port
API in DP component

Change-Id: I9bff854197eb2baae333b54b338141ffa5c6b012
CRs-Fixed: 3194152
2022-05-11 14:57:00 -07:00
Amit Mehta
c489c30c86 qcacld-3.0: DP component compilation fix
Fix compilation related issue and other dependencies for
DP component

Change-Id: I3cbe061e6dbc36f21157c88ff63c7828026adb44
CRs-Fixed: 3189666
2022-05-06 12:44:44 -07:00
Karthik Kantamneni
5dc87dece5 qcacld-3.0: Implement DP component per packet TX/RX support
Implement per packet TX/RX support in DP componentization model.
This change will help to process per packet TX/RX path in STA interface.

Change-Id: I3fbd8dbe26ccd24fc50c6e67cd1213c72837cf9b
CRs-Fixed: 3173449
2022-05-04 19:49:52 -07:00
Karthik Kantamneni
b5d890bd89 qcacld-3.0: Add peer create/destroy notification support in DP component
Add peer create/destroy notification support in DP component, so that
DP component gets notified for obj mgr peer creation/destroy.
DP component can use this notifications for its own
peer info maintenance.

Change-Id: I5277a986967c88619b7644d633d84a9bafc9bfbc
CRs-Fixed: 3173476
2022-05-04 19:49:45 -07:00
Karthik Kantamneni
a5fbc73775 qcacld-3.0: Implement DP component TX/RX path support fo SAP interface
Implement per packet TX/RX path support for SAP interface in DP
componentization model.

Change-Id: I788dcbe14fe038f50ff5b834b89391408dc5d16a
CRs-Fixed: 3173469
2022-05-04 19:49:39 -07:00
Amit Mehta
a5e45cf6ac qcacld-3.0: Add config changes to DP component
Add changes to initialize DP component config

Change-Id: I0f1dbbfad35801d0ffde85233c0dcde6c6ab27ec
CRs-Fixed: 3169865
2022-05-04 18:28:49 -07:00
Amit Mehta
1fd4974449 qcacld-3.0: Add DP tracing API to DP component
Add DP tracing API to DP component

Change-Id: Ic55d62a533e4960b258644b9bdc96e856d010bf4
CRs-Fixed: 3165203
2022-05-04 18:28:44 -07:00
Amit Mehta
3cdb874884 qcacld-3.0: Add get and set stats API to DP component
Add Get and Set stats API.

Change-Id: Ie00e973234d14e4110f8e028600d8a52728b29d6
CRs-Fixed: 3165194
2022-05-04 18:28:38 -07:00
Amit Mehta
a4db80f465 qcacld-3.0: Add target_if API implementation to DP component
Add target_if API to send ARP request, LRO config and
DHCP indiacation to firmware.

Change-Id: I2d4af7a5da6c29398ab00205654df9be3d90b665
CRs-Fixed: 3165155
2022-05-04 17:09:52 -07:00
Amit Mehta
72f7ef77cb qcacld-3.0: Add NUD Tracking APIs to DP component
Add NUD tracking APIs to DP component

Change-Id: Ib1dccb041b4fc50a2fc4b7eaba9eed6dfc80ea4d
CRs-Fixed: 3165120
2022-05-04 17:09:47 -07:00
Amit Mehta
30c5e2a0fa qcacld-3.0: Add MIC handling to DP component
Add MIC handling and periodic stats display API
in DP component

Change-Id: I5648b9ebe5bd529a83e607b07621c9867d19d402
CRs-Fixed: 3165076
2022-05-04 15:47:27 -07:00
Amit Mehta
23c9db7762 qcacld-3.0: Add bus bandwidth API
Add bus bandwidth API to DP component

Change-Id: I2957671a89d0d425007c373e52dd4db30193fc17
CRs-Fixed: 3165071
2022-05-04 15:47:21 -07:00
Amit Mehta
ad3a5fbc02 qcacld-3.0: Add Periodically STA stats API to DP component
Add APIs to print periodic STA Stats in DP component.

Change-Id: I716b3e0be34fb7472d62adbf74565bd5d51a39c2
CRs-Fixed: 3166166
2022-05-04 14:29:10 -07:00
Amit Mehta
c76ff11020 qcacld-3.0: Add TCP delack and tx rx param update APIs
Add TCP delack and tx rx param update APIs to DP component

Change-Id: Ic6dd63c3e43df628a0f766dafa1581001ea42d5a
CRs-Fixed: 3165030
2022-05-04 14:29:04 -07:00
Amit Mehta
2695c694c4 qcacld-3.0: Add tcp param update API
Add TCP param update APIs to DP component

Change-Id: Idc2574c3ab0b3bf1632954bc907b720fcd17675d
CRs-Fixed: 3165026
2022-05-04 14:28:59 -07:00
Amit Mehta
178d7f7753 qcacld-3.0: Add RPS indication APIs to DP component
Add APIS to configure RPS indication.

Change-Id: I5d5a3d2a20989daae3c904afb25a028bd2e37956
CRs-Fixed: 3165005
2022-05-04 14:28:53 -07:00
Amit Mehta
4f0c6b8658 qcacld-3.0: Add rtpm_tput_policy API to dp component
Add rtpm tput policy helper functions

Change-Id: Ic8cb3889d9d67fbffab02f5b355c002db63650e3
CRs-Fixed: 3165000
2022-05-04 13:05:28 -07:00
Amit Mehta
e52153adec qcacld-3.0: DP Component Add bus bandwidth manager API
Add bus bandwidth manager API to DP component

Change-Id: I7e37b2687ec8092c5d437fb4d4bee5b1cda1670c
CRs-Fixed: 3164998
2022-05-04 13:05:22 -07:00
Amit Mehta
ed6a29b31c qcacld-3.0: add osif API to send tcp param update
Add new osif API to send TCP param update.

Change-Id: I487fabb53364703272f7e123802ecdb5fd77c3e8
CRs-Fixed: 3164977
2022-05-04 13:05:17 -07:00
Karthik Kantamneni
6b43ef6a50 qcacld-3.0: Implement DP component infra support
Implement DP component infra support, So that
DP component gets allocated and initialiazed.

Change-Id: Icdcbf92956dcf0984dd14262f3c7f29554b4eba8
CRs-Fixed: 3164965
2022-05-04 13:05:11 -07:00
Amit Mehta
5116bc8f8f qcacld-3.0: Add DP Component Skeleton code
Add new files and Skeleton code for DP component.

Change-Id: I6bfe59f31b292b77bbd728423a4ed53c3e4d1c2f
CRs-Fixed: 3164956
2022-04-21 07:24:26 -07:00