نمودار کامیت

10165 کامیت‌ها

مولف SHA1 پیام تاریخ
Linux Build Service Account
ae7d88fa80 Merge "qcacmn: clean up inactive peers/vdevs during driver unload" 2021-01-19 15:38:56 -08:00
Manikanta Pubbisetty
63e599de11 qcacmn: clean up inactive peers/vdevs during driver unload
DP references of the peer will be removed once we receive PEER
unmap message from the firmware. If the firmware has failed to
send the peer unmap message (due to an assert in FW), then the
peer entries will remain the inactive peer list and will trigger
a explicit QDF_BUG() during driver unload.

Force clean the inactive peer/vdev list during driver unload in such
cases.

Change-Id: Ib8a5f8179ce51378a825034e411f89ff024017e1
CRs-Fixed: 2847742
2021-01-19 12:57:46 -08:00
Linux Build Service Account
934ae6cbd1 Merge "qcacmn: Return agile precac enable as false when DFS object is null" 2021-01-19 12:45:15 -08:00
Linux Build Service Account
5106b01612 Merge "qcacmn: Rate limit prints to console from logging utility" 2021-01-19 12:45:14 -08:00
Edayilliam Jayadev
1dfb6de288 qcacmn: Return agile precac enable as false when DFS object is null
DFS component's pdev private object allocation is skipped in
few scenarios. In this case return agile precac enable as false.

CRs-Fixed: 2853435
Change-Id: I7725e9bcbd05b2c9f1b1ee217cc8eb8a2df8144a
2021-01-19 06:00:18 -08:00
Vivek
69a1c93dc2 qcacmn: Rate limit prints to console from logging utility
The prints from the driver are rate limited based on the
configurations provided.

Also the prints which are redirected to user space daemon
and of certain log levels are also printed on the console.

Add a rate limiting version of the API for the prints coming
to console via the logging daemon.

CRs-Fixed: 2853590
Change-Id: I9683172ac0665b46581bad13a1050c6d70d72b5c
2021-01-19 03:52:13 -08:00
Deeksha Gupta
afd8be823a qcacmn: Send AKM in peer assoc command to firmware
Initially, Host updates the AKM only after the EAPOL
handshake. Due to this, Enterprise auth is not detected
for initial connection.

Add AKM in peer assoc command(WMI_PEER_ASSOC_COMMAND)
to the firmware. In firmware, this will help to detect
Enterprise auth as part of connection and prioritize
the WLAN connection over BT traffic accordingly.

Change-Id: I6463dacbba098c76e6c3b7f4722915797bee1a99
CRs-Fixed: 2848392
2021-01-19 03:52:08 -08:00
Linux Build Service Account
ff7491fcb9 Merge "qcacmn: Add peer ext stats enable/disable tx ops" 2021-01-19 02:08:33 -08:00
Jeevan Kukkalli
e1eacc4734 qcacmn: Add peer ext stats enable/disable tx ops
Add function to send peer extended stats enable/disable
command to target.

Change-Id: I82e1a96090f0984f6b6864dbeed9120f3b2ba70a
2021-01-19 01:52:14 -08:00
Linux Build Service Account
c17dcaca02 Merge "Revert "qcacmn: Fix connect resp struct params"" into wlan-cmn.driver.lnx.2.0 2021-01-19 01:35:10 -08:00
Gerrit - the friendly Code Review server
726dcae2f0 Merge changes into wlan-cmn.driver.lnx.2.0 2021-01-19 01:31:30 -08:00
Chaithanya Garrepalli
76d4ea4287 qcacmn: fix use after free in WDS aging timer
In case of pdev attach failure reset pdev reference in
soc->pdev_list to NULL before free to avoid use after
free

Also initialize WDS aging timer only when ast hash is
allocated

Change-Id: I6a406bd94aa46a95d9e5bb970ae83b3dfde29d0a
2021-01-18 23:52:21 -08:00
Santosh Anbu
b52ff8c14b qcacmn: Dispatch reassoc failure event in sync/async context
Reassoc fail event is dispatched  either from one of the roam states in
connection SM or from peer create response handler.
Hence dispatch reassoc fail in sync/async mode.

Change-Id: I4dc462b956610a480e0c963676988492a73285f3
CRs-Fixed: 2852393
2021-01-18 23:52:16 -08:00
Himanshu Batra
6e59547918 Revert "qcacmn: Fix connect resp struct params"
Revert "qcacmn: Fix connect resp struct params"

Change-Id: Ib2149f33c9faddd4194644033b61144a3043d21c
2021-01-18 23:52:12 -08:00
Pavankumar Nandeshwar
ff041723c7 qcacmn: change qcn9100 to qcn6122 in target_if
Change the name of target type qcn9100
to qcn6122 target_if.

Change-Id: Icfdcd2c8d872b5305687884b7d9186fb85274bd4
CRs-Fixed: 2849577
2021-01-18 21:45:42 -08:00
Pavankumar Nandeshwar
d12f727152 qcacmn: change qcn9100 to qcn6122 in gpio
Change the name of target type qcn9100
to qcn6122 in gpio.

Change-Id: I28bc8fbe482a4dedbb8212724195d8757343a63e
CRs-Fixed: 2849577
2021-01-18 21:45:38 -08:00
Pavankumar Nandeshwar
1adba0a413 qcacmn: change qcn9100 to qcn6122 in hif and umac
Change the name of target type qcn9100
to qcn6122 in hif and umac.

Change-Id: Ia473c531a0903fd514dacf645d23bec3886fd719
CRs-Fixed: 2849577
2021-01-18 21:45:34 -08:00
Pavankumar Nandeshwar
d6c9f3ad8a qcacmn: change qcn9100 to qcn6122 in data path
Change the name of target type qcn9100
to qcn6122 in data path.

Change-Id: Ia1463ca276b7c107ca4c1ebce4ffc8b517134a5e
CRs-Fixed: 2849577
2021-01-18 21:45:30 -08:00
Liangwei Dong
f29e4c0315 qcacmn: export wlan_get_connected_vdev_by_bssid API
Export wlan_get_connected_vdev_by_bssid API as utility API.

Change-Id: Ia412d324aaf5b47ab7bece63d9a6e6cbc5c2e06a
CRs-Fixed: 2855501
2021-01-18 05:40:43 -08:00
gaurank kathpalia
6dc7ecfcb8 qcacmn: Fix assignment of vdev in cm_ctx and few prints
Fix the assignment of vdev in cm_ctx and fix few prints.

Change-Id: I5d76ab2ca39a1a84b3987fd9cb566c2f08ecc399
CRs-Fixed: 2856499
2021-01-18 03:27:18 -08:00
Hariharan Basuthkar
a3f2a76372 qcacmn: Update regulatory database to version 33
1) Add a new regdomain ETSI17_World and map it to the country Israel.
2) Remove DFS Requirement in 5.725-.5.850 in the regdomain ETSI12.
3) Add "Indoor" flag to 5.15-.5.25 in the regdomain FCC6.
4) Add 5.9GHz support to RD WORLD_5G_2.

Change-Id: I130610d4c34c4cc622a18dd29e924637b1c0a7d1
CRs-Fixed: 2818230
2021-01-18 01:30:43 -08:00
Pooventhiran G
eed9392f78 qcacmn: Fix a possible use-after-free in crypto
To get crypto params, peer gets one ref and is freed immediately. Move
the release-ref before return so that peer gets freed after all
operations when ref-count drops to zero.

Change-Id: I575f879654c12d7e369625a6547b9a0dd03e5b52
2021-01-17 23:31:44 -08:00
Adwait Nayak
2a0231fa54 qcacmn: Add dma length sanity check
Add sanity check for CFR payload length in case of QCA5018
before relaying CFR data buffers to user space.

Change-Id: I81f37bebd3b9372606906fc87ce8ee90fe4809a1
CRs-Fixed: 2855173
2021-01-16 12:57:35 -08:00
Adwait Nayak
c2a2145497 qcacmn: Modify number of buffers in Relay FS
Bring down number of sub buffers in Relay FS from
470 to 255. Earlier 470 buffers were introduced to
maintain 2MB uniformity across platform for relayfs.
But, as IPQ5018 is 512M platform and having 255
buffers is sufficient enough to hold CFR data,
we have brought down the number to 255.

This saves 1MB memory.

Change-Id: Ibbd6926c6712b871e8174e44bd24abf703a8e736
CRs-Fixed: 2855173
2021-01-16 12:57:29 -08:00
Rajasekaran Kalidoss
29c549c6eb qcacmn: Add support to get TWT features supported by Firmware
Firmware has added TWT nudge, All TWT and TWT stats support.
This feature capability is advertised by firmware in service
ready. Add support fetch and store this information.

Change-Id: Ife3f9e4fbebd5e971c512115d924535a84bf82e6
CRs-Fixed: 2854129
2021-01-15 18:46:22 -08:00
Lincoln Tran
323288debd qcacmn: Expose WMI command in tgt_if
Expose the API to send WMI_SET_TPC_POWER_CMDID within the target_if
module. Register the callback under tx_ops.

Change-Id: I1d075df717cff997e7ac85884fe587ed298cbb28
CRs-fixed: 2849695
2021-01-15 14:38:44 -08:00
Lincoln Tran
e9c3eda862 qcacmn: Add API to send set TPC power command
Add new API to handle the logic of sending the WMI command,
WMI_SET_TPC_POWER_CMDID. Create the struct to hold this new
transmit power information.

Change-Id: Ibc7c6109176577f56d149baf87022de557e84445
CRs-fixed: 2841781
2021-01-15 14:38:39 -08:00
Will Huang
c761e3e208 qcacmn: Remove QDF_BUG of qdf_spin_is_locked
spin_is_locked() provided by kernel has statement that we should not
rely heavily on the return value, it only tells that the spinlock is
seen to be locked, not that it is locked on your CPU.
Further, on CONFIG_SMP=n builds with CONFIG_DEBUG_SPINLOCK=n, the
return value is always 0.

So we should not use QDF_BUG to test/assert its return value, only be
used for debugging purpose.

Change-Id: I76765f567abf333ab6fa0d7c7c73f7c263e18495
CRs-Fixed: 2846186
2021-01-15 06:07:37 -08:00
Jia Ding
643fc26931 qcacmn: Dynamically allocate memory for ipa_wdi_conn_in_params
Currently struct ipa_wdi_conn_in_params occupies 1588 bytes and putting
it on the stack is rather expensive, which could potentially lead to
stack corruption.

Fix is to reduce stack usage in dp_ipa_setup by dynamically allocating
struct ipa_wdi_conn_in_params on the heap.

Change-Id: I8f71f44906a5c95f37627f7573b57b7825daaa7e
CRs-Fixed: 2852027
2021-01-15 04:06:59 -08:00
gaurank kathpalia
9b7a248d36 qcacmn: Fix connect resp struct params
Fix connect resp params.
-- Fix length of the assoc req and assoc resp
-- Remove unused params from connect resp

Change-Id: I9ae7f4f155e16cd45dad2c99cc471773c9f12b84
CRs-Fixed: 2852445
2021-01-15 01:58:51 -08:00
Balaganapathy Palanisamy
d939d58b24 qcacmn: Delete logger timer then reset pcur_node
Delete the flush timer then set the pcur_node to NULL
while cleanup to avoid NULL pointer dereference in timer handler.

CRs-Fixed: 2820441
Change-Id: If6edca1343890e0fe962d7b3e3b5b07f379143ef
2021-01-15 01:58:47 -08:00
Jianmin Zhu
6ef2047d56 qcacmn: Fix long ping delay after enable RTPM
Issue1: Driver RTPM state is ON/NONE, Kernel state is RESUMING.
cdp_runtime_resume is already complete,
hif_pm_runtime_get return -E_INPROGRESS,
dp_tx_hw_enqueue will set the flush event,
but cdp_runtime_resume is already done,
this flush event will be handled only on next pkt tx.

Issue2: Driver RTPM state: Resuming
hif_pm_runtime_get returns -EBUSY,
dp_tx_hw_enqueue is interrupted by any IRQ,
cdp_runtime_resume is completed,
dp_tx_hw_enqueue will set the flush event,
This flush event will be handled only on next pkt tx.

Fix:
Introduce a link_state_up atomic variable in hif to track the link state
change by pld_cb.
Set atomic variable link_state_up=1 in pmo_core_psoc_bus_runtime_resume
just after pld_cb. pld_cb brings the PCIe bus out of suspend state.
Set atomic variable link_state_up=0 in pmo_core_psoc_bus_runtime_suspend
just before pld_cb. pld_cb puts the PCIe bus into suspend state.

Introduce dp_runtime_get and dp_runtime_put.
dp_runtime_get get refcount with increment of an atomic variable.
dp_runtime_put return refcount with decrement of  this atomic variable.

If hif_pm_runtime_get returns -EBUSY or -EINPROGRESS,
take the dp runtime refcount using dp_runtime_get,
check if the link state is up, write TX ring HP,
return the dp runtime refcount using dp_runtime_put.

cdp_runtime_suspend should reject the suspend, if dp_runtime_get is non
zero.
cdp_runtime_resume should wait until dp_runtime_get becomes zero or time
out, then flush pending tx for runtime suspend.

Change-Id: I5b97d50cba710082f117f3845f7830712b86cda7
CRs-Fixed: 2844888
2021-01-14 07:46:48 -08:00
Lincoln Tran
1e157ef978 qcacmn: Rate limit error message
When sorting channels by weight, a lot of the channels can be disabled,
depending on the regulatory domain. Getting the information on disabled
channels can cause excessive error logs. Rate limit these error logs.

Change-Id: Ife70b9578bb5ce61013392d92a5dd4c4e160075d
CRs-fixed: 2852753
2021-01-14 00:27:56 -08:00
Kiran Venkatappa
2b51bdca43 qcacmn: Update Documentation for CE7 usage for QCN9000
CE7 is used for CV prefetch on QCN9000. Update documentation to reflect
the same.

Change-Id: I2da515ad3d88f07bbb69976e06d16f69cc443704
CRs-Fixed: 2853602
2021-01-13 10:17:30 -08:00
Amir Patel
e41f64cc9e qcacmn: Fix monitor mode init issue
During monitor vap creation time, do not allocate monitor buffer
and link descriptors memory if already initilized.
Check if pdev->pdev_mon_init flag is true and return.

CRs-Fixed: 2852399
Change-Id: I87ceaf0af771abed1bff651ef6f2b9ca21e038b9
2021-01-13 04:43:10 -08:00
Ananya Barat
6b309b7dbe qcacmn: Enable STA DFS in F/W
If STA DFS is enabled before vdev creation through etc/config/wireless
then VDEV START is sent to F/W as a part of the normal flow to bring
the VAP up. However, if STA DFS is enabled/disabled on the fly for a
running VAP then do a VDEV STOP, followed by a VDEV START of the STA
VAP and set/unset WMI_CHAN_FLAG_STA_DFS flag in VDEV start.

Change-Id: I032ffa53d89eaafcb43c648670af3b3f2134561f
CRs-Fixed: 2843248
2021-01-13 02:34:49 -08:00
Liangwei Dong
a7717deced qcacmn: Record station connect/disconnect event
Add connect/disconnect log ring buffer to existing ROAM
debug functionality to record OS IF layer event.

Change-Id: Ifcbcd9a38ead27d60757983a0f56a37ae5d8af81
CRs-Fixed: 2852405
2021-01-13 02:34:45 -08:00
Lincoln Tran
ab72865c2b qcacmn: Add API to get 6G power information
Add API to check if channel frequency is PSD power or not.
Add API to get tx power for client and server at different
power levels.
Add API to get EIRP power level from the reg rules.

Change-Id: Ifac29775f4f8a7f58b34abd6d395a0e74b10b7f9
CRs-fixed: 2838079
2021-01-13 02:34:41 -08:00
bings
3f59477859 qcacmn: Do not check MSI group number for one MSI vector mode
Some platforms only permit the device to allocate 1 MSI interrupt, then
macro WLAN_ONE_MSI_VECTOR is added to support this one MSI vector mode.
There is only one MSI data count for one MSI vector mode, so it is valid
that 2 more MSI dp groups share one MSI data.

Change-Id: Iaab2a2ba538ea3750a32454855144a0cb0776eca
CRs-Fixed: 2843378
2021-01-12 22:14:08 -08:00
Lincoln Tran
c8d397e920 qcacmn: Implement chan_list processing for new WMI event
Add functions to handle the new WMI event,
WMI_REG_CHAN_LIST_CC_EXT_EVENTID. This includes processing new
data regarding standard power, low power indoor, and very low
power Clients and APs.

Process the regulatory rules from FW to populate the new 6G
channel lists. Fill in the current channel list with the
correct 6G master channel list. Copy other information from
the event into the regulatory private objects as needed.

Change-Id: I0c2001d809e4f0b292bac866780faa2850b1a8b1
CRs-fixed: 2799403
2021-01-12 20:09:53 -08:00
Lincoln Tran
28f0da1660 qcacmn: Register event handler for new chan_list evt
Register the event handler for new WMI event,
WMI_REG_CHAN_LIST_CC_EXT_EVENTID. Extract the parameters to be used when
building the channel lists in the regulatory component. Update the reg
rule parsing function to include the new PSD flag and PSD power levels.

Change-Id: I0f5a747f98e43ac3d43b4aa1fb5958f0eac69a9d
CRs-fixed: 2843793
2021-01-12 20:09:49 -08:00
Rajasekaran Kalidoss
caa1764721 qcacmn: Register cp stats legacy ops
Currently there is no support to register both common cp stats
ops and MC specific cp stats ops. Add support to register common
ops and MC/WIN specific cp stats ops.

Change-Id: Ibaee9da8b1ce3185161821f2be751d8bb4bf10e2
CRs-Fixed: 2851235
2021-01-12 17:44:42 -08:00
Lincoln Tran
f52651d080 qcacmn: Add new 6G channels to regulatory
Add new master channel lists for standard power, low power indoor, and
very low power clients and APs. Add new lists for default and
subordinate clients.

There is a total of 9 new channel lists. 3 of the lists are for each of
the AP power levels. The other 6 are for each power level of default
Client and subordinate Client.

Ensure the new channel lists hold both EIRP and PSD information. The
PSD power information will apply mainly to Indoor AP/Client mode.

Change-Id: Icb038329d55e221aa0dded1469de68c45bb4f3f4
CRs-fixed: 2843791
2021-01-12 17:44:39 -08:00
phadiman
e4eda79524 qcacmn: Move multipass deinit to vdev detach
Multipass init is called from vdev attach and
multipass deinit is called from tx vdev detach

To maintain symmetry between init and deinit
move multipass deinit to vdev detch

CRs-Fixed: 2840338
Change-Id: I18657497b9e09ec5cc75d245765f6d0fd7d061fd
2021-01-12 14:34:45 -08:00
Rakesh Pillai
6ee7aeb0bd qcacmn: Avoid logging in packet transmission path
Currently if the driver is in runtime suspend/suspending
state, any packet transmission will request for resume
via hif_pm_runtime_get.

Unfortunately there is a logging in the above API which
will lead to more time consumption in the NET_TX softirq
context. This can lead to other delay in processing other
softirqs in the system.

Fix this by skipping the logging in the packet transmission
path.

Change-Id: Icc9f5b67794f7666243eb059f2e07a06a987002e
CRs-Fixed: 2844126
2021-01-12 14:34:40 -08:00
Pragaspathi Thilagaraj
0e5b3623ef qcacmn: Add support for new TWT teardown status
Add support for additional TWT teardown status:
WMI_HOST_DEL_TWT_STATUS_PEER_INIT_TEARDOWN &
WMI_DEL_TWT_STATUS_ROAMING

Change-Id: I0764d3a65bfe14afbb0e4dfd513fa92a9235cc21
CRs-Fixed: 2852291
2021-01-12 12:11:23 -08:00
Shwetha G K
b3fafa78c8 qcacmn: Cleanup rssi and snr used interchangeably
Cleanup rssi and snr used interchangeably

Change-Id: Idc78ca1ceb62af766aaf69e42ab5d6e8990a6f0b
2021-01-11 15:13:44 -08:00
Jinwei Chen
7475f6c62c qcacmn: remove CONFIG_PCI_MSM compilation flag for link vote
CONFIG_PCI_MSM will not be defined if MSM PCI driver is compiled
as a module, so if wlan driver invoke hif_pci_prevent_linkdown to
prevent linkdown, pld_wlan_pm_control() actually is not invoked,
result in Noc error due to inactive PCIe link.

PLD driver already abstract MSM specific feature, remove CONFIG_PCI_MSM
complilation flag in wlan driver.

Change-Id: Iaaf929a74b44ac94370f1d98b7aef7aaec308e0f
CRs-Fixed: 2850839
2021-01-11 10:43:36 -08:00
Shwetha G K
ce7ed5dc37 qcacmn: Correct SNR dummy marker value
Set the SNR max/dummy marker as 127

Change-Id: Ia87944d3dfd9afffec1fdf26e5ef51e6029a3e35
2021-01-11 08:41:05 -08:00
Dustin Newman
2d1625aabe qcacmn: hal: Initialize hal_hw_txrx_ops for 5018
Change hal_hw_txrx_ops struct to designated initializer syntax for
structs for 5018.

Change-Id: Ie04dc1ebaa4e4964a565416c900c55e309638261
CRs-Fixed: 2837917
2021-01-11 04:06:52 -08:00