提交線圖

16029 次程式碼提交

作者 SHA1 備註 日期
Lincoln Tran
7ffc4a761b qcacmn: Fix compilation issue with mon_register_intr_ops
Some platforms don't have mon_register_intr_ops enabled so add
a similar macro around dp_mon_register_intr_ops to resolve
compilation issues.

Change-Id: Id9c7bb45d965005d4dd0dde3a08f254464244147
CRs-fixed: 3075651
2021-11-16 19:52:16 -08:00
Lincoln Tran
632f919086 qcacmn: Fix compilation issues related to MLO disconnect
When the WLAN_FEATURE_11BE_MLO_ADV_FEATURE macro is enabled,
some functions are not reachable or defined. Move the
definitions accordingly to fix compilation issues.

Change-Id: I698f290e69f0acc9b72d60081849bce093d05741
CRs-fixed: 3075650
2021-11-16 14:53:29 -08:00
Sandeep Puligilla
99779e7fff 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
Krishna Rao
77e686b250 qcacmn: Add API to get MLD address from Basic Variant ML element
Add API to get the MLD MAC address from a given Basic variant
Multi-Link element or element fragment sequence.

CRs-Fixed: 3053521
Change-Id: I96cf893ae4a089c20bd2d8b783c4e3d1d4eb3e4a
2021-11-16 12:21:57 -08:00
Vignesh U
422905b63c qcacmn: Handle NULL regulatory_psoc_priv_obj
The reg_get_psoc_obj() may return NULL for invalid psoc object.

The wlan_regulatory_psoc_priv_obj becomes NULL in case of NULL psoc object.
This scenario is not considered in reg_get_reg_rules_for_pdev() and its
callers. Handle the NULL regulatory_psoc_priv_obj scenarios.

Change-Id: I5b039d362a76985995e0d4d4a95cd1a00b1f0991
CRs-Fixed: 3040335
2021-11-16 01:17:13 -08:00
Utkarsh Bhatnagar
d9d8b0e763 qcacld-3.0: Update SBS Freq Info during service ready ext2 evt
FW sends lower band end frequency filter in service ready
ext2 event.
Frequency Info for every supported mode gets updated in
wma_update_hw_mode_list when service ready ext evt is
received.
Although, FW sends lower band end frequency filter in
service ready ext2 event.
So, update SBS Frequency Info when Service ready ext2 evt is
received.

Change-Id: Iefe1e601bffaba877979e7ce42a32763b61293c2
CRs-Fixed: 3073649
2021-11-15 23:53:51 -08:00
Yeshwanth Sriram Guntuka
adb3b9f91d qcacmn: Update ipa_enabled config during cfg_soc_attach
ipa_enabled cfg parameter is updated in DP post soc_attach
and soc_init and the default value of ipa_enabled in soc
cfg context is 0. ipa_enabled cfg is used in soc_attach
and soc_init for tx and tx completion ring configurations
and could potentially cause issues when ipa is enabled.

Fix is to update ipa_enabled config as part of dp soc
ipa_config_attach.

Change-Id: Ia797d8feed8aff619b0f7f63ba7ec5823c82458c
CRs-Fixed: 3075076
2021-11-15 22:14:02 -08:00
Liangwei Dong
2d9896914a qcacld-3.0: Consider original BW setting for SAP force SCC
At present, we select max possible band width for SAP in concurrent of
STA+SAP. If STA is working on 160Mhz, the SAP will follow the same
BW as STA. But customer doesn't want to move SAP to 160Mhz
if the original SAP starting BW is 80Mhz since the 160Mhz SAP will
have DFS limitations.
This change avoid 160Mhz selection for 5G SAP force SCC if
1. the channel switch request is not user initiated and
2. the original BW setting is not 160Mhz

Change-Id: I25a7c2ba6679eab8e3884e5b2332d7ed163de12e
CRs-Fixed: 3068284
2021-11-15 22:13:44 -08:00
Shikha Bakshi
eaf287ec84 qcacmn: Avoid updating tid for non-mscs station
Check of Invalid QOS tag which can be set for non-mscs clients
connected on same VAP as MSCS clients. TID override needs to be
avoided for those clients

Change-Id: I651a354e740fe6aee74f94b59ac2e6f154a80c6d
2021-11-15 20:37:26 -08:00
Pragaspathi Thilagaraj
9b26c16f3f qcacld-3.0: Fix BTM logging
If BTM/Neighbor report is sent indvidually by firmware, then the
prints are not seen in kmsg, as the driver drops the event if
roam trigger/scan stats is not present.

To avoid this, parse the BTM TLV if roam trigger/scan info is
not present.

Change-Id: I1a9f197ed66a080d7b5b5d7fd3a82aac8d1d708a
CRs-Fixed: 3062768
2021-11-14 16:09:40 -08:00
Aakanksha Doda
2a3e9f756f qcacmn: Increase the time to reap FW commands in lowmem profiles
Change the vdev response timers to reap all the FW commands
in case of lowmem profiles.

Change-Id: I21f2db3f1f36c2e97d7a456a9302b276509ffa21
2021-11-14 13:10:34 -08:00
Krishna Rao
b5253e0f65 qcacmn: Add API to get the variant of the given ML element
Add API to get the variant of the given Multi-Link element or element
fragment sequence.

Change-Id: I09b10c8e14e1a7e7b500116782f07d9fde7a78e1
CRs-Fixed: 3040403
2021-11-14 07:07:39 -08:00
Shwetha G K
926430802a qcacmn: Register DBR & Diag events on new CE
Waikiki facilitates a dedicated CE (CE14) for
direct DMA & diag handling purpose. Changes to
register the respective service handler to process
DBR and DIAG events from the target.

CRs-Fixed: 3057986
Change-Id: I4ae1d5676ac702d1f28f3e4031b47ffcd1d2ad7e
2021-11-14 01:46:03 -08:00
Pragaspathi Thilagaraj
b9b1b7f8ef qcacmn: Fill WTC duration in roam stats event
Currently the WTC duration is not filled from the roam stats
event. This causes the WTC duration to be always 0.

Fill WTC duration from Roam stats event.

Change-Id: Ie616ea1e9a61168f918dc2ac1b5a217901795405
CRs-Fixed: 3073673
2021-11-13 03:46:48 -08:00
Pavankumar Nandeshwar
e3d4f6b095 qcacmn: remove mec_fw_offload assert
remove the assert when HTT_TX_FW2WBM_TX_STATUS_MEC_NOTIFY
is received and mec_fw_offload is enabled.

Change-Id: I1b9c876822e3e9c05b5035af82afa484106e880a
2021-11-13 00:22:22 -08:00
Yeshwanth Sriram Guntuka
299b26a366 qcacmn: Featurize support for grp irq affinity
Add a feature flag for grp irq affinity support
changes.

Change-Id: I0a97dd85369aae66450e4869b591c7af74a66960
CRs-Fixed: 3070324
2021-11-12 22:52:21 -08:00
Himanshu Batra
08de35c5d2 qcacmn: Add support for host only MLO node
Add support for host only MLO node

Change-Id: I795d90a05d8bb2ed1a27f477fa991e93b7dc41d6
2021-11-12 21:16:07 -08:00
Krishna Rao
f0b40c96d7 qcacmn: Add API to find Multi-Link element
Add API to find the first Multi-Link element or the start of the first
Multi-Link element fragment sequence in a given buffer containing
elements, if a Multi-Link element or element fragment sequence exists
in the given buffer.

Change-Id: I3dbd0f9053e3a1e20b47c182b5258f49b1e2c409
CRs-Fixed: 3040400
2021-11-12 18:06:25 -08:00
Jinwei Chen
9b26ed4fbf qcacmn: Avoid SW AST table accessing for MC/BC frame
For DA MC/BC RX frame, host should not use da_idx to access soc->ast_table
as this da_idx is not valid, OB accessing might happen.

Change-Id: I5c78d869e32536effe2635e561cb6881cdc97c38
CRs-Fixed: 3072841
2021-11-12 16:37:12 -08:00
Yu Wang
0c8f452ae6 qcacmn: move API for getting ML vdev list out of WLAN_MLO_MULTI_CHIP
mlo_get_ml_vdev_list() is a common API, it should not be
embraced by macro WLAN_MLO_MULTI_CHIP.

Change-Id: Icf22de20fdeca374d674109d10b4887b833fa346
CRs-Fixed: 3073916
2021-11-12 15:07:14 -08:00
Amit Mehta
8410d24e7b qcacmn: Remove csum_enabled flag and related changes
As part of code change we are removing csum_enabled flag check.
In that case, csum_enabled becomes redundant since we are not using it
in the code base, So remove redundant code as part of the cleanup.

Change-Id: Iac411b20f06436053b1969a1af9e3b3ee418c34c
CRs-Fixed: 3070858
2021-11-12 11:32:48 -08:00
Amit Mehta
eaa0e3776e qcacmn: Remove csum_enabled flag check
Currently, to set checksum enable flags in Tx descriptor
we are checking the csum_enabled flag along with stack checksum
offload request. In case of roaming from latency-critical connection
to non-latency critical connection we request stack to calculate
checksum and set csum_enabled flag to 0. For some packets which
are already queued where the stack has not calculated checksum and
csum_enabled flag is set to 0, we will not set the checksum enable
flags in Tx descriptors for those packets.

To fix the issue remove the csum_enabled flag check and directly
check if the stack has calculated checksum for those packets or not.

Change-Id: I8d7754afc3d0a33315b85b0113cd3062e5783e28
CRs-Fixed: 3070858
2021-11-12 11:32:43 -08:00
Srinivas Pitla
cc7d98b794 qcacmn: MLO Peer changes
This change implements timer based msgq processing to defer
the context for MLO peer. It also fixes some of the issues in
MLO peer path, It adds utils APIs for MLO params

Change-Id: I94384c91adfb8785d833bff1ba5541dc98cfc383
CRs-Fixed: 3059837
2021-11-12 11:32:39 -08:00
Himanshu Batra
8096fd4cbf qcacmn: Register monitor interrupt ops after monitor object creation
Register monitor interrupt ops after monitor object creation

CRs-Fixed: 3060183
Change-Id: Ia1936d2b124ede3f2082360140ab923f8b21fb43
2021-11-12 08:53:05 -08:00
Li Feng
4b233db761 qcacld-3.0: Support to deliver mlme event to SON
Support to deliver below mlme event to SON:
MLME_EVENT_VDEV_STATE,
MLME_EVENT_INST_RSSI,
MLME_EVENT_TX_PWR_CHANGE.

Change-Id: I0535d80cea155f5b94abecfa609d34940e57cdd7
CRs-Fixed: 3054810
2021-11-12 08:52:49 -08:00
Edayilliam Jayadev
83edce7ac2 qcacmn: Log info about incoming management frames
Log necessary information about the management frames entering the
reorder algorithm.

CRs-Fixed: 3060516
Change-Id: I7b5e3520f1a152b9b9ceb92ed5a2e0b6c8a6ccb5
2021-11-12 06:20:16 -08:00
Lincoln Tran
2f9ac643f6 qcacmn: Don't update channel if it is disabled
If a channel is disabled when changing the band settings, a subsequent
function such as modifying for indoor channels can override this state.
Add a check in the indoor channel modification to make sure channel is
not disabled first, before proceeding.

Change-Id: Ic47391ca2ceaee7dc0909e0c81b06b81d49d3893
CRs-fixed: 3071801
2021-11-12 06:20:12 -08:00
Subrat Mishra
813d7d9a43 qcacmn: Define cdp interface APIs to fetch delay and jitter stats
Define a new cdp interface to fetch peer delay stats.
Define a new cdp interface to fetch peer jitter stats.

These interface APIs will be used by upper layers to fetch delay and
jitter stats per peer for telemetry stats feature.

Change-Id: I96ee6a861fa2626e7e1fba3df7df9ec64ff7e946
CRs-Fixed: 3071493
2021-11-12 06:20:07 -08:00
Chaithanya Garrepalli
41fda10bc5 qcacmn: In WBM err process read peer_id from peer_meta_data
In WBM error processing read peer_id from peer_meta_data
instead of sw_peer_id.

This changes is needed because we need to process Rx packet
on ML peer. But in MLO case sw_peer_id field contains
link_peer_id where as peer_meta_data has ml_peer_id.

Change-Id: I3f469adfdf7efa88cb081e94fa9fe0c54c1fb078
2021-11-12 04:46:16 -08:00
Chaithanya Garrepalli
0edc443d5a qcacmn: Fix for tx buffer leak without monitor module
When monitor KO not loaded Return QDF_STATUS_E_FAILURE
from dp_monitor_tx_add_to_comp_queue() so that caller
will free the buffer

Change-Id: Idebcf81121767ccd93d95308433241fcf0a93c93
2021-11-12 03:13:27 -08:00
Amit Mehta
08f31818b9 qcacmn: Extend tid_lock in rx defrag store fragment path
Currently, we are Flushing fragments for peer as part of rx defrag
clean up. There is the possibility that frag flush is called while
we are accessing frags in rx defrag store fragment path in parallel.
Which will cause access after the free issue.

Extending lock in rx defrag store fragment path to avoid any
parallel flush while accessing the frags.

Change-Id: I1e897b195f61d80ea6738e9a93f7bcaaa04adc97
CRs-Fixed: 3065414
2021-11-12 03:13:21 -08:00
Ananya Gupta
182d1268cc qcacmn: Unlock tid_lock after status check
There is a race condition as tid_lock is unlocked early in
dp_rx_defrag_store_fragment and descriptors are replenished
from dp_peer_flush_frags and same descriptor is again
being replenished in fragmented path.
To resolve this, extending lock period till all the operations
on tid.head_frag_desc are done.

Change-Id: I6d2abb2119e3bebf739de9e41334d58ba87ee391
CRs-Fixed: 3068165
2021-11-12 03:13:16 -08:00
Ke Huang
2372e61058 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
Himanshu Batra
b21d96305e qcacmn: Modify MLO disconnect handling
Modify MLO disconnect handling to issue disconnect on all links in
parallel
Also modify connect resp to accommodate ml info in connect resp

Change-Id: I57575c6ce7c8ebff7770f862dc81e7dfd20aa42d
2021-11-11 00:37:03 -08:00
Will Huang
7581cd6d12 qcacmn: Add QCA vendor attribute to configure ARP/NS offload feature
Add a QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_ARP_NS_OFFLOAD to
configure ARP/NS offload feature.

Change-Id: I976ed866272c7c82ff12593339bd2d551af6741b
CRs-Fixed: 3062895
2021-11-10 23:02:47 -08:00
Will Huang
6575d11039 qcacld-3.0: Add vendor attribute to configure ARP/NS offload
In some scenario, it is required to receive every ARP/NS packet even
it is not to solicit address itself. So add this vendor attribute
configuration to enable/disable ARP/NS offload on fly.

On some platform, if target suspend to WoW mode, APF filter will drop
such ARP/NS packet in the front, so prevent runtime suspend happen
if disable ARP/NS offload. System suspend still allow in consideration
of potential power impact.

It only support on STA/P2P-Client mode device, and this configure is
optional, while default behavior is ARP/NS offload enable. It will
restore to default behavior if interface being closed.

Change-Id: Icd49e230024bc1ce51519cd9fafee9bc9f79f382
CRs-Fixed: 3058494
2021-11-10 23:02:37 -08:00
Jinwei Chen
7e267e17b1 qcacmn: support MLO intra-bss forwarding
Support MLO intra-bss forwarding

Change-Id: I7ffd54bbead3e56c7811e88aef935867b0ee4fd6
CRs-Fixed: 3066899
2021-11-10 03:56:09 -08:00
Yeshwanth Sriram Guntuka
5bd622de1a qcacmn: Use a max of 5 WBM2SW rings for HSP to address wcov failure
The maximum WBM2SW rings in whunt for HSP is 5 and
the same could be 4 in wlan code which will result
in wcov failure for HSP. Use a maximum of 5 WBM2SW
rings for HSP based on FW_SIM config flag to address
this failure.

Change-Id: I8340cd094eb1e0cf842894e5c89174d410729028
CRs-Fixed: 3071662
2021-11-10 03:56:03 -08:00
sheenam monga
cc692a8d34 qcacld-3.0: Add ini support for tx_retry_multiplier
Add ini support for tx_retry_multiplier and send
tx_retry_multiplier to fw as PDEV_STATS_TX_XRETRY_EXT
pdev param, so that fw can multiply the counter by the
percentage provided by user.

Change-Id: Ie2f06dc3aaa4a161a451b68abd085cc1537eb468
CRs-Fixed: 3066799
2021-11-10 02:30:44 -08:00
Rachit Kankane
5a066678c6 qcacmn: add reason code
Add new reason code REASON_HOST_TRIGGERED_SILENT_DEAUTH to silently
deauthenticate the peer STA

Change-Id: Ibb4b81562f6802cadb1a9c9fa1452f0875f02ded
CRs-Fixed: 3070895
2021-11-10 00:57:38 -08:00
Edayilliam Jayadev
c194d157aa qcacmn: Simulation debug support for reo
Debug frame work to simulate the generation of management
frames by HW, processing of management frames by FW and Host.
This would help in exercising the management Rx reorder
algorithm.

Change-Id: I9ec585b1bb41a5eb5e6226d0151ad23143fdb8f7
CRs-Fixed: 3017577
2021-11-09 13:27:09 -08:00
VIJAY RAJ
8755e4f699 qcacld-3.0: Fix fw_timestamp copy in cm_roam_trigger_info_event
In cm_roam_trigger_info_event, fw_timestamp is not copied to
wlan_log_record.

Add changes to copy fw_timestamp to wlan_log_record in
cm_roam_trigger_info_event.

Change-Id: I8ec7796b656d716e6ab3b7613be0c1332d5c9fa0
CRs-Fixed: 3068843
2021-11-09 00:21:21 -08:00
Jianmin Zhu
6c24423cc5 qcacld-3.0: Add self bss roam check for connnect cmd
Add self bss roam check in roam invoke cmd handler,
If ini enable_self_bss_roam is 0, don't permit to roam
to current connected bss, just keep current connection.

Change-Id: I7fe724e26d15bcc008957829e4e3384c60b58773
CRs-Fixed: 3069587
2021-11-08 13:21:18 -08:00
Utkarsh Bhatnagar
7bc758e77e qcacld-3.0: SAP concurrency changes
SAP concurrency changes to support
SBS

Change-Id: I8a509b20ab172bce2df977f69a78f5ec0070535a
CRs-Fixed: 3052123
2021-11-08 11:20:33 -08:00
Srikanth Marepalli
5585a7d918 qcacld-3.0: Add wow event and reason for roam event stats
This change sends the new wow event in the bitmap to FW only
when the roam stats suspend mode attribute is enabled from the
user space.
Also, the new wow reason is added to wake up the host while
sending the roam event stats.

Change-Id: Iaefb229929e8791870f33bf787487f7c20daf218
CRs-Fixed: 3050830
2021-11-08 09:41:50 -08:00
Amruta Kulkarni
f37635b58c qcacld-3.0: Fix freqency list copy in cm_roam_scan_info_event
In cm_roam_scan_info_event, qdf_mem_copy is performed with
different sizes.

Fix is to assign frequency values instead of mem copy.

Change-Id: Ie7dc4eaf4d7c0b65100edd77d7c2306e53e2ea9b
CRs-Fixed: 3065698
2021-11-08 09:41:44 -08:00
Srikanth Marepalli
16dc45a6f3 qcacld-3.0: Fill the vendor attributes with the Roam stats
This change gathers the roam event stats from the FW.
New vendor event is used to fill in the vendor attributes
whenever the roam stats are received from Firmware.

Change-Id: I9a2ddef62d26b0b68897891788733df452ac1ceb
CRs-Fixed: 3036518
2021-11-08 09:41:34 -08:00
Srikanth Marepalli
f3adf737ea qcacld-3.0: Vendor command changes to enable the roam events stats
Add new vendor command to enable the roam events stats from the
driver/FW in both resume and suspend mode.
New roam param is introduced to indicate the FW to enable/disable
the roam stats using the new roam set command.

Change-Id: I6d04f0946e6735613a4cf3d4361bf31052314fa0
CRs-Fixed: 3036518
2021-11-08 09:41:27 -08:00
Sai Rupesh Chevuru
b1db784a64 qcacmn: send event to control path to inditate presence of backhaul
send event to control path on receiving 1st 4-address frame from backhaul
Change-Id: I7c78566d0adf275aeb2edd29233a42563d156fc5
2021-11-08 05:19:56 -08:00
Mohit Khanna
2c4ac431f0 qcacmn: Avoid tracing packets at high throughputs
Avoid tracing data packets at high throughput levels. This helps save
CPU cycles.

CRs-Fixed: 3059712
Change-Id: Ideca04e142a2f4080cd5758fe27f0b526ea4f9ad
2021-11-08 05:19:51 -08:00