提交图

2182 次代码提交

作者 SHA1 备注 提交日期
Surya Prakash Sivaraj
0c0fafc085 qcacld-3.0: Add support to dump frames on demand
Add support to dump the full management,eapol,
dhcp, arp frames based on the level of the
debug_packet_log configured through ini gEnableDebugLog.

The dump levels are as follows:
* 0x1  - Enable mgmt pkt logs (except probe req/rsp, beacons).
* 0x2  - Enable EAPOL pkt logs.
* 0x4  - Enable DHCP pkt logs.
* 0x8  - Enable mgmt action frames logs.
* 0x10 - Enable ARP pkt logs.
* 0x0  - Disable all the above connection related logs.

Change-Id: If572cccb327da785dd0d56cff6d37ba170b15cc8
CRs-Fixed: 3173604
2022-04-22 10:57:51 -07:00
David Oladunjoye
911eebd2bd qcacld-3.0: Add certain OUIs into FW triggered TWT WAR list
TWT is not disabled for certain APs. Add OUIs of the
APs to configuration file.

Change-Id: I3bb2238550294b443f166920069a14fb81e6873d
CRs-Fixed: 3176212
2022-04-20 01:37:21 -07:00
Dundi Raviteja
990e73237e qcacld-3.0: Featurize pre cac code
Featurize pre cac code under PRE_CAC_SUPPORT macro.

Change-Id: I4379e667d4e0ddd3c4d91b5d624fc2325f87022e
CRs-Fixed: 3172393
2022-04-14 03:54:42 -07:00
Yu Tian
6243b01b13 qcacld-3.0: Use skb_orphan instead of skb_unshare in TX
To use skb_orphan instead of skb_unshare, this is
aimed to prevent addition skb_alloc possible failures
in TX path, then avoid of unnecessary packet drop when
memory runs low.

Change-Id: Ic8dfdb09c73a1071678612430fff2f23180ad336
CRs-Fixed: 3162137
2022-04-12 21:19:35 -07:00
Jinwei Chen
075572020c qcacld-3.0: Optimize TX path in function __hdd_hard_start_xmit()
Currently hdd_cm_is_vdev_associated() and cdp_peer_state_get() per
packet check consumed much CPU on TX path, they will hold spin
lock which will introduce contention between different TX streams.

solution:
(1) check is_authenticated in sta_ctx->conn_info, if true,
then connection has been established already.
(2) clear is_authenticated flag if disconnection happened for
STA and P2P client.

Change-Id: I208608eba7bab69c8795e25495424327b7f2331f
CRs-Fixed: 3165165
2022-04-12 02:59:03 -07:00
Surya Prakash Sivaraj
edc56c445f qcacld-3.0: Remove the old SAP/CSR flow
Remove the old SAP-CSR flow for start bss, stop bss and
channel change req processing which is disabled currently
under the SAP_CP_CLEANUP macro.

Cleanup the redundant checks in the deauth, disassoc
response processing in CSR.

Change-Id: I5a360fc267688b51ca645551108b65646a3c8c1a
CRs-Fixed: 3164259
2022-04-03 17:55:50 -07:00
Alan Chen
6bb4ffe1c9 qcacld-3.0: Create a new ndo callback function for netdev ops
For Kernel 5.15+, the ifr_data variable will no longer be included
in the ifreq struct and would need to be passed as a separate argument.
Thus, create a new ndo callback function ndo_siocdevprivate() that is
used for Kernel 5.15+.

Change-Id: Iccb5b5f5edd650b4a604e15b787d3b927eabc6b5
CRs-Fixed: 3157820
2022-03-30 12:25:40 -07:00
Subrat Dash
19619ce40b qcacld-3.0: Send L2UF frame to update bridge forwarding table
Generate a Level 2 update frame and send it to the bridge in SAP
mode when a new station connects.

It will update the forwarding table of all the bridge devices
through source port learning.

Change-Id: Ia804968453c051e4c8322d3735506a912c0d963d
CRs-Fixed: 2997409
2022-03-24 05:29:43 -07:00
Madhvapathi Sriram
79e13b55ab qcacld-3.0: User MCC quota setting
Set the MCC quota for a given interface.

Change-Id: I313cdf1673f8fc5f50a049d429c0d88fd213e66f
CRs-Fixed: 3106146
2022-03-14 00:43:35 -07:00
wei yang
8e5e3ae5c7 qcacld-3.0: update country code in hdd_regulatory_init
hdd_regulatory_dyn_cbk() is a call back function for
channel change and is registered by hdd_regulatory_init.

hdd_update_country_code will send
WMI_SET_CURRENT_COUNTRY_CMMDID to fw, and get
WMI_REG_CHAN_LIST_CC_EVENTID event, and then it
will try to call hdd_regulatory_dyn_cbk if it's registered.

When hdd_update_country_code is placed in
hdd_wlan_start_modules it will be called before
hdd_regulatory_init. There is a failed case that, FW event
WMI_REG_CHAN_LIST_CC_EVENTID happens but
hdd_regulatory_dyn_cbk is not registered and will not be
called. In this case even we set country code with CN
the STA still cannot scan 12/13 channel.

The change make sure that hdd_regualtory_dyn_cbk is
registered by hdd_regulatory_init before
WMI_REG_CHAN_LIST_CC_EVENTID event from
WLan FW.

Change-Id: Iac8617264d7f5afd80510abb90cca63d8b38fb4d
CRs-Fixed: 3135000
2022-03-07 21:42:24 -08:00
Liangwei Dong
aa47f00d7f qcacld-3.0: Fix 3rd SAP failed to avoid LTE unsafe channel
wlan0 on 5180, wlan2 on 5180, wlan1 on 2462. wlan1 conf file
has ACS “freqlist=2457-2472,5180-5945”.
When LTE unsafe event comes, it marks 2457, 2462, 5180 unsafe,
wlan0 changes channel to 5200. wlan1 has no available 2G channels.
It selects 5G channel 5200. But 5G has two vdevs already, then
Concurrency check failed - drv doesn’t support 3 home channel.
wlan1 keep active on 2457, but driver doesn't continue to check
wlan2's channel and do CSA to safe channel.
Fix by checking the wlan1's CSA status and if status is failure
then do unsafe channel check for 3rd wlan2.

Change-Id: I28e9397436780cf47e57a47482b729a42fb728f0
CRs-Fixed: 3136773
2022-03-06 21:28:13 -08:00
chunquan
f07969a044 qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist in
qcacld3.0. and replace blm with dlm.

Change-Id: I9ba61dde3b3ea008ca3777448d1f8dab83d33ec1
CRs-Fixed: 3091211
2022-03-05 07:10:49 -08:00
Mohit Khanna
0b28028583 qcacld-3.0: Register classify_critical_pkt_cb with DP
Register callback to classify critical packets with DP layer during
cdp_vdev_register. This callback is needed to classify critical packets
during the forwarding path for SAP vdev.

Change-Id: I5f109c7a4bd37e2544d8e3bbd410147a8d6963c8
CRs-Fixed: 3114436
2022-03-03 02:10:59 -08:00
Mohit Khanna
de474987ea qcacld-3.0: Optimize HDD pkt classify packet func
Currently there is a overlap of functionality between
hdd_wmm_classify_pkt and wlan_hdd_classify_pkt.

Move most functionality in hdd_wmm_classify_pkt which gets called during
hdd_select_queue.

Change-Id: I1eb735ecd2dfd7b6df6e78a134e7d16ee396b0f0
CRs-Fixed: 3114436
2022-03-03 02:10:47 -08:00
Alan Chen
40a7b4a2f9 qcacld-3.0: Use cfg80211_register_netdevice() for kernel 5.12+
For Kernel 5.12+ in order to be in line with cfg80211 changes
in upstream code, use cfg80211_register_netdevice() and
cfg80211_unregister_netdevice() when request to register device is
coming from add virtual interface.

Change-Id: Ibc11d405ab8b06e170bcb261970bc4ccccafe291
CRs-Fixed: 3133264
2022-03-02 01:28:05 -08:00
Jyoti Kumari
ff2b20e3f3 qcacld-3.0: Handle TWT disable reason code
When host sends TWT disable command to firmware, send reason code
also as part of it. So that firmware will check and take the
following action:
a. If host sends disable due SCC/MCC concurrency then firmware
will teardown the existing TWT session and send the teardown
reason code as concurrency to host.
b. If it's for other reason then it will take action based on
that.

Change-Id: I66b3d10e7d54319c3c6dcad57c78949bcdd11a26
CRs-Fixed: 3098864
2022-02-28 07:53:11 -08:00
Nirav Shah
e398b7e48d qcacld-3.0: Rename moderate latency level to XR latency level
Currently moderate latency level is not used. Rename moderate
latency level to XR latency level to be used in XR applications.

Change-Id: Ia7f65c3565f6704b9571161aabefb3a8b47cce1e
CRs-Fixed: 3116839
2022-02-17 15:42:08 -08:00
Balaji Pothunoori
6a71939a15 qcacld-3.0: Clear coex unsafe channel list for user space event
This change is to clear coex unsafe channels list if vendor command
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT sends start and end
frequencies as '0'.

Change-Id: I8cea94f743de02c036ce1c6bed352857fec2d44d
CRs-Fixed: 3127863
2022-02-17 06:24:36 -08:00
Srinivas Girigowda
0737e8caec qcacld-3.0: TWT cfg params initialization
Initialize TWT psoc cfg params with the cfg.ini values.

Change-Id: I326239d4f3f146113871fb3700fa82260988d697
CRs-Fixed: 3085507
2022-02-11 00:21:22 -08:00
Vishal Miskin
016e8e808c qcacld-3.0: Enable/disable TSF sync feature through NL command
Enable/disable TSF sync feature through QCA_TSF_SYNC_START and
QCA_TSF_SYNC_STOP NL command. Also add support to configure
TSF sync interval through QCA_WLAN_VENDOR_ATTR_TSF_SYNC_INTERVAL
attribute.

Change-Id: If679fdf2c92848402cf1b8fcbfb669cd1cc2b861
CRs-Fixed: 3108414
2022-02-09 05:31:21 -08:00
Nirav Shah
1caaa01a17 qcacld-3.0: Add support to update tsf timestamp in data packet
Add support to update tsf timestamp on driver entry and
exit in data packet. This helps debug latency issue in
XR usecases.

Change-Id: I49d190a55b7ab3081225b7a226f1bbe4f717a20f
CRs-Fixed: 3090104
2022-02-04 07:10:35 -08:00
Rachit Kankane
0b6247975c qcacld-3.0: Add support for EasyMesh ACS
Add support for below EasyMesh specific commands

1. To set user specified channels in the acs channel list
2. To trigger ACS
3. To get the ACS report

Change-Id: I1090b9a86d62eddc9954b70835c7496e5a614757
CRs-Fixed: 3080222
2022-02-01 10:40:17 -08:00
Balaji Pothunoori
2274d7f8ee qcacld-3.0: update sap interface enum check to bit mask
This change is to update sap interface restriction mask
enum check to NL80211_IFTYPE_AP bit mask.

Change-Id: If5a6748425502b1f27654a2e6bfa0e5c2b8554de
CRs-Fixed: 3118953
2022-01-28 07:39:40 -08:00
Yu Ouyang
675b9de61a qcacld-3.0: Idle shutdown in suspend
To support shutdown WLAN when system goes into suspend, add idle shutdown
in cfg80211 suspend function.

Before suspend/shutdown, user space should stop adapter. And after resume,
user space should restart adapter. This can ensure user and kernel space
to sync adapter state.

Idle shutdown must be processed in system active, so schedule delayed
work to execute it. After calling schedule, retrun EAGAIN directly to PM.

Change-Id: I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f
CRs-Fixed: 3081480
2022-01-26 20:47:11 -08:00
Ashish
d9f45f4acd qcacld-3.0: Reject dynamic set mac address if SAP is in up state
Currently the expectation from host is that user space needs to
set dynamic mac address only before start_ap in case of SAP.
In driver there is no such check to reject set mac address
command if SAP is already in up state which leads to unexpected
behaviour at fw.
To address this issue add a check in host to reject dynamic set
mac address command for SAP mode if SAP is already in up state.

Change-Id: I8f5456490574288afba86ec3a732b3dc7ed65bce
CRs-Fixed: 3109470
2022-01-24 19:19:33 -08:00
Balaji Pothunoori
458d19b8d7 qcacld-3.0: set tx power changes for SAP if is in unsafe channel
Set tx power for SAP interface if it is unsafe channel and
if user sets restriction mask.
If interface unable to find safe channel and if restriction
mask is set then stop the SAP.

Change-Id: Ibdec18b9b749f18b1e9d704974f4cbaabbc4e613
CRs-Fixed: 3103307
2022-01-24 15:50:03 -08:00
sheenam monga
8261fe17ac qcacld-3.0: Provide LP/VLP/SP valid freq list for curr country code
Add support to provide valid frequency list for provided power mode

Change-Id: I5855258402604c5ca20b9f0a3eaebe7412b7db4b
CRs-Fixed: 3103671
2022-01-20 10:00:47 -08:00
Jingxiang Ge
3dde33185f Revert "qcacld-3.0: Prevent runtime suspend on ll_stats and get station requests"
This reverts commit I7704a3b9b3e8ad187677705e1b11fbd82be73cfb.

This change cause CXPC failure, as each ll_status will cause
runtime pm resume.

Change-Id: I3547181fb8cfee1e5e40992dfaf5547eaac29a2a
CRs-Fixed: 3110499
2022-01-14 09:07:00 -08:00
Arun Kumar Khandavalli
7facf0618c qcacld-3.0: Reduce the idle shutdown time to 250msec
Currently the idle shutdown timer is 10sec which was kept as a
experimental value during design, now because of issues from
customers where the wifi on/off from user should also help to
recover host/fw issues reducing the time to 250msec

Change-Id: I88ccfce1ac6d4654a4436771f291a22431585f44
CRs-Fixed: 3104701
2022-01-12 01:51:34 -08:00
Ashish
7498ae997a qcacld-3.0: Add bug_on if 5 consecutive ll_stats requests fails
If ll_stats command does not receive response from fw continuously
for some time then there is no way to determine the actual reason
of this comamand failure if the logs are overwritten.

With this change, add bug_on and trigger recovery after 5
continuous command failures so that the current logs are captured
to analyse the issue.

Change-Id: I8f2f08d598c25ccea5ecd4b02c86e1069daeb6e0
CRs-Fixed: 3106087
2022-01-12 01:51:09 -08:00
Ashish
665d5c5ef5 qcacld-3.0: Prevent runtime suspend on ll_stats and get station requests
Currently when ll_stats or get station request comes and while fw
sends the response of the request, it is possible that driver can go into
runtime suspend state while fw still wants to send few more stats
events. Because of this ll_stats request or station stats request gets
time out in host.

To address above issue, add logic to prevent runtime suspend when
ll_stats or station stats request is received in host driver.

Change-Id: I7704a3b9b3e8ad187677705e1b11fbd82be73cfb
CRs-FixeD: 3096165
2022-01-02 22:57:11 -08:00
Bapiraju Alla
bb0212b98c qcacld-3.0: Add INI param to configure dynamic set MAC address feature
Add INI param to enable or disable dynamic set MAC address feature.

Change-Id: I63572965e9928587efe19c4d080bbadd65a48b59
CRs-Fixed: 3081014
2021-12-27 20:59:01 -08:00
Bapiraju Alla
0de141916d qcacld-3.0: Add support to dynamic MAC address update
Currently, MAC address update is supported only when interface is down.
Because of this framework needs to issue interface down and interface
up to update the MAC address. Interface down and up will lead to VDEV
delete and VDEV create commands to the FW.

To optimize Host-FW interactions during set MAC address, add support
to update the MAC address without bringing the interface to down state.

Change-Id: I76afa8f8c2504e8271bf689392d526f994afff0a
CRs-Fixed: 3063201
2021-12-27 20:58:55 -08:00
Abdul Muqtadeer Ahmed
2e8b062efc qcacld-3.0: Move the sar req-resp event to work context
In the process of sar req-resp event the timer callback will wait
for the userspace response due to which time scheduler thread is paused
and can't process any other message. Because of this there is delay and
some command may fail.

To address above issue, move the process of sar req-resp
event to work context as we are waiting in the timer handler.

Change-Id: Idadd99ff28dcb6f5ec2d925cb381f223124300e6
CRs-fixed: 3091293
2021-12-23 15:07:38 -08:00
Amit Mehta
5235136d0a qcacld-3.0: Increase very high voting TPUT threshold default value
Increase the very high throughput threshold default from
9000 to 10000

Change-Id: I759a4bc4d0115ff3e26315ef35635ec7bfb4983f
CRs-Fixed: 3098821
2021-12-23 08:46:42 -08:00
Yeshwanth Sriram Guntuka
5e38109641 qcacld-3.0: Use tracepoints to trace rx packets
Use tracepoints to trace receive packets.

Change-Id: I0124c3c4d577018497e940ced299960fc9a21d8c
CRs-Fixed: 3083361
2021-12-14 21:22:29 -08:00
Bapiraju Alla
b93d2939d0 qcacld-3.0: Fix MLO compilations when kernel doesn't support MLO
Along with 11BE_MLO feature macro, check for Kernel 11be macro as well
to avoid compilation issues when kernel doesn't support MLO.

Change-Id: Ie6b513cdb9846b1c47674cabbd8e5ff1a1adff63
CRs-Fixed: 3087573
2021-12-08 12:41:13 -08:00
Bapiraju Alla
aff8059b06 qcacld-3.0: Register dynamic set MAC address feature with the framework
Register dynamic set MAC address feature with the framework.
If driver supports this feature, then framework doesn't need to
issue interface down and interface up to set the MAC address.

Change-Id: I7a493574c11c8d51731021d418cfeaf942720383
CRs-Fixed: 3066743
2021-12-07 05:58:48 -08:00
Karthik Kantamneni
a8ffe9a11f qcacld-3.0: Control netif sub queues with sub queue pause mask
Currently global pause mask is used for controlling individual
AC based sub queues and even all the network queues, due to this
mask is set/reset improperly which is not giving actual global
queue status representation. To avoid this introduced new sub queue
mask which is used while controlling individual network sub queues
and global mask is over for overall network queues.

Change-Id: I6632a1831cbea84c23441dbb67473c94b487109a
CRs-Fixed: 3081060
2021-11-29 07:33:55 -08:00
Jinwei Chen
1e0e8f5424 qcacld-3.0: Use right macro to enable eapol dest_mac check
For MLO connection, host will use MLD mac address as eapol
dest_mac address check condition, but currently the macro
used is not the right one, so the check always return failure
and RX eapol frame is dropped in SAP HDD.

Use right macro WLAN_FEATURE_11BE_MLO to enable this check

Change-Id: I5e9e265583d9c39899c6604f1a16bde2f08484a9
CRs-Fixed: 3074632
2021-11-23 01:31:08 -08:00
Mohit Khanna
49760b669f qcacld-3.0: Set PM_QOS for non-offloaded TX at V_HIGH
Set system PM_QOS with low latency only for "very-high" throughput levels
in TX case. Currently, its being done for "high" throughput levels.
In less than "very-high" throughput cases, this allows CPU cores to
enter low power modes. This is done only for non-offloaded packets e.g.
UDP.

Change-Id: Idf1dd2968b7dd8b4ef9f4061ee862de03d962c6e
CRs-Fixed: 3045963
2021-11-22 15:08:27 -08:00
Yu Tian
94a1e84eb7 qcacld-3.0: Add an ini control to disable Dynamic GRO feature
Dynamic GRO feature is enabled by default and aimed for specific
customers. Add an ini control to allow other customers to config
this feature enable/disable.

Change-Id: I83edd69d0e30d5944f0724ed8350328abff619bb
CRs-Fixed: 3070912
2021-11-21 23:59:46 -08:00
Yeshwanth Sriram Guntuka
450060b241 qcacld-3.0: Do GRO en/dis based on qdisc only for standalone STA
In case of STA+SAP, ingress qdisc filters are getting
configured on both STA and SAP interface which is
causing GRO to be disabled.

Check for ingress qdisc to enable/disable GRO only in
case of stanalone STA and not do this in case of
concurrency.

Change-Id: I3542930c7b14d72e267378dd4687ee9721eed4ed
CRs-Fixed: 3062195
2021-11-18 15:45:57 -08:00
Pragaspathi Thilagaraj
4a48e7ab4e qcacld-3.0: Use correct attribute for BTM response target BSSID
Currently driver QCA_WLAN_VENDOR_ATTR_DIAG_BTM_TARGET_BSSID uses
instead of QCA_WLAN_VENDOR_ATTR_DIAG_BTM_TARGET_BSSID attribute
in the BTM response event. This causes the target bssid field to
be missed in BTM response print.
The WTC BTM response event is not queued when reason code is
non-zero.

Use QCA_WLAN_VENDOR_ATTR_DIAG_BTM_TARGET_BSSID attribute.
And queue the WTC btm response event.

Change-Id: Id713bfeda20c43148e95630f5c6e925b80418ca3
CRs-Fixed: 3071242
2021-11-18 14:28:29 -08:00
Sandeep Puligilla
a3a4e31cc8 qcacld-3.0: Fix 11be support compilation issue
Remove CFG80211_11BE_BASIC from modules that don't have
access to this macro.

Change-Id: Ib17dd50ae984e88af7b3a282b079265195247502
CRs-fixed: 3073652
2021-11-16 14:53:13 -08:00
Yu Tian
9a91fcdc37 qcacld-3.0: Add ultra high bandwidth voting for dbs mode
Add a new SNOC/DDR voting slot for DBS mode. In DBS KPI tests,
more hardware resources are needed for both HW MAC0/1.
This change adds a new logic to vote more DDR frequency when
it's in DBS mode and the overall throughput is larger than a
pre-defined threshold.

Change-Id: I14a318b417a39714865de0617c9943c1a5e04ae6
CRs-fixed: 3064197
2021-11-12 21:15:51 -08:00
Ke Huang
b43015863f qcacld-3.0: Add the Full Power Down feature support
Add the support for the feature of Full Power Down while
in low power mode.
For this feature, it need to power down wlan chip when
suspend, and power up wlan chip when resume, so need to
change to call wlan driver shutdown and then power off the
wlan chip instead of calling wlan driver suspend when do
suspend, and changing to do power on wlan chip, download
wlan firmware, and calling wlan driver reinit instead of
calling wlan driver resume when do resume.

Change-Id: I293647175c151da0fd6628345f98ea65c83b1bb3
CRs-Fixed: 3061366
2021-11-11 03:12:28 -08:00
Mohit Khanna
8105ca9b57 qcacld-3.0: Throughput based runtime PM support
Invoke runtime_pm APIs based on throughput level in bus bandwidth timer.

CRs-Fixed: 3059244
Change-Id: Ie1d5d8eddeec6076aa162e3ba3604ffd54fcc98d
2021-11-09 15:34:20 -08:00
Mohit Khanna
31e3feb24e qcacld-3.0: Add HDD SAP Data trace functions
Add tracings APIs for SAP datapath.

CRs-Fixed: 3059244
Change-Id: I3c1891bdb3d14cb8dad75e053c5b96c596d3d978
2021-11-09 15:34:15 -08:00
Guisen Yang
d73ce958f8 qcacld-3.0: Change the max vdev number to 5
When 32 STAs connected to APUT, crash will happen because of lack
of resource. The max vdev number was decreased by 1 from the value
of 4 because of nan is not supported. Then FW will received the
value of 3 and finally the tid number is not enough. Change the
max value of vdev number to 5 to fix this issue.

Change-Id: Ia212a0b05922530526439206fd70a44f3ce03838
CRs-Fixed: 3064133
2021-11-08 07:06:17 -08:00