Commit Graph

19986 Commits

Author SHA1 Message Date
Kenvish Butani
744e92cc0c qcacmn: Cleanup MLO CDP API's for MLO Partner List
Cleanup MLO CDP API's for updating MLO Partner
list invoked from UMAC.

Change-Id: Id3a346ceb4b103410e1e89cbce25abcad9e4adc5
CRs-Fixed: 3588208
2023-08-30 01:38:23 -07:00
Kenvish Butani
8981a2f3c7 qcacmn: Cleanup MLO Partner list from DP vdev
Clean up MLO Partner vdev list and Bridge vdev
list from DP vdev_be as this is moved to MLO
device context
Also clean up the supporting DP API's and
relevant CDP API's

Change-Id: I614a2c43e493a8aba26ccf75813614ce9fbc8e5f
CRs-Fixed: 3588063
2023-08-30 01:38:11 -07:00
Pragaspathi Thilagaraj
7f18f6e441 qcacmn: Update self link address also after roaming
When updating the AP link address and channel info after
roaming, update the self link address also to the link switch
context on each vdev. This information will be fetched while
sending roam + auth event to userspace after roaming.

Change-Id: I363a5ee8d65bb21d84c15879996369f4e397f2a6
CRs-Fixed: 3589401
2023-08-30 01:37:59 -07:00
Prasanna JS
5f864ea874 qcacmn: Define beacon rate codes for lithium onwards targets
Define beacon rate codes for lithium onwards targets

Change-Id: Ife29f1cf2599b4a6f3d8d13629cd1f4f6debdf2e
CRs-Fixed: 3593185
2023-08-29 15:06:54 -07:00
Aditya Kodukula
6ed28e28ce qcacmn: Add gwlan_logging to wlan minidump
Add gwlan_logging structure to wlan minidump, when
WLAN_QCOM_MINIDUMP feature is enabled.

Change-Id: Ib9aef20854f50cdf5c1ff0c0acce857bed38a9a6
CRs-Fixed: 3599313
2023-08-29 15:06:44 -07:00
Vivek
6578782074 Revert "qcacmn: Increase the CE1 ring size to 1280 for Waikiki"
This reverts commit I794522751deb9a60e6487e42df48f582a5e01d2e.

Reason for revert: Changes for the fix is implemented as a different FR

Change-Id: I19f6e4362ed406c9906e333c1ee0bfa2fe14677e
CRs-Fixed: 3598130
2023-08-29 15:06:34 -07:00
Edayilliam Jayadev
f2aaec4814 qcacmn: Cleanup assert in mgmt rx reo - Part 8
Cleanup asserts in management Rx reorder module.

Change-Id: Ia1bfbae1e1ee2b02459f34624e2284592eb02a9d
CRs-Fixed: 3593936
2023-08-29 15:06:23 -07:00
Edayilliam Jayadev
ed9d84abd6 qcacmn: Cleanup assert in mgmt rx reo - Part 7
Cleanup asserts in management Rx reorder module.

Change-Id: Ia7fcabf770d3b38f62f23b6848b50eb8e4f6827b
CRs-Fixed: 3593934
2023-08-29 15:06:12 -07:00
Edayilliam Jayadev
d6db6d2a66 qcacmn: Cleanup assert in mgmt rx reo - Part 5
Cleanup asserts in management Rx reorder module.

Change-Id: Idb304f6a61599f24f1dd8f3ecbffe8dbaae42d6b
CRs-Fixed: 3593932
2023-08-29 15:06:01 -07:00
Edayilliam Jayadev
b1439341ca qcacmn: Cleanup assert in mgmt rx reo - Part 4
Cleanup asserts in management Rx reorder module.

Change-Id: I37f13dc04356d20fe3fcce43ef8a0d48c8854e31
CRs-Fixed: 3593930
2023-08-29 15:05:50 -07:00
Edayilliam Jayadev
845c861380 qcacmn: Cleanup assert in mgmt rx reo - Part 3
Cleanup asserts in management Rx reorder module.

Change-Id: I18d5e47a13b097ce718282ad4283c01243aca87e
CRs-Fixed: 3593927
2023-08-29 15:05:40 -07:00
Amit Mehta
78b7773864 qcacmn: Add changes to set band during rx cached flush
Add changes to set band in nbuf cb during rx cached flush
for connectivity logging.

Change-Id: I2243f41349922a4dd023f6651fdb7d682e887046
CRs-Fixed: 3598261
2023-08-29 15:05:29 -07:00
Edayilliam Jayadev
b6f1fd416a qcacmn: Cleanup assert in mgmt rx reo - Part 2
Cleanup asserts in management Rx reorder module.

Change-Id: I436ea5fb191c8df9c218fb97d967ee07b6a57ad6
CRs-Fixed: 3593926
2023-08-29 15:05:19 -07:00
Basamma Yakkanahalli
e3dd0df678 qcacmn: DBR Support extract standalone sounding CQI metadata
Added change to handle TxBF standalone sounding CQI data.
1. Define and handle structure to support new TLV for CQI data.
2. API to extract new meta data TLV added for CQI data
3. API to handle processing CQI data.

Change-Id: If6e654fc03cc5c150b85bc9af487c58b77d78e1d
CRs-Fixed: 3594811
2023-08-29 15:05:08 -07:00
Vijay Raj
fb436899e2 qcacmn: Introduce Events for MLO diag logging
Introduce event to support STA info and MLO specific
event for diag logging

New events:
EVENT_WLAN_STA_INFO: Sta info event
EVENT_WLAN_MLO_SETUP: MLO Setup event
EVENT_WLAN_MLO_RECONFIG: MLO Reconfig event
EVENT_WLAN_MLO_T2LM_STATUS: MLO T2LM Status event
EVENT_WLAN_MLO_T2LM_REQ_RESP: MLO T2LM Req/Resp event
EVENT_WLAN_MLO_T2LM_TEARDOWN: MLO T2LM teardown event
EVENT_WLAN_MLO_LINK_STATUS: MLO Link status event

Change-Id: I0482b2c65a3ae261b6031931e44ece7611d5e123
CRs-Fixed: 3564196
2023-08-29 15:04:57 -07:00
Nagasai Bharat Gatkeshwar Sainoji
93830f424d qcacmn: Clean up asserts in Spectral module - Part 1
Clean up null pointer asserts by returning the error status to the
caller in the below spectral module files
1.spectral/core/spectral_common.c
2.target_if/spectral/target_if_spectral.h
3.target_if/spectral/target_if_spectral.c

Change-Id: Ib8d49c06928379768fb41e34d721bd3840e86330
CRs-Fixed: 3587512
2023-08-29 05:21:01 -07:00
Subrat Mishra
8074e983d6 qcacmn: WMI pdev param for ATF VO and VI setting
Add WMI pdev param for ATF VO and VI setting in TLV path.

Change-Id: Iad5cb98e1146e151e9888fb33c148299a339006a
CRs-Fixed: 3596889
2023-08-28 21:13:15 -07:00
Aman Mehta
cfefc49a09 qcacmn: Add support for xmit type flag on skb->cb
Add support for xmit type flag on skb->cb for tx packets. The field will
be used to update ingress stats to the respective indices

Change-Id: Ifad61a97b3424df90a2fe722f1c264678a67e949
CRs-Fixed: 3562152
2023-08-28 21:13:04 -07:00
Azmath Mohammed
ba534849c0 qcacmn: Add ce_count check to avoid any buffer overflow
Add ce_count check to avoid any buffer overflow
of "scn->ce_id_to_state" and "hif_state->pipe_info"

Change-Id: I77f074f631a86cb96badab27e6850e0969331dba
CRs-Fixed: 3589967
2023-08-28 21:12:53 -07:00
Edayilliam Jayadev
e2f7a3e16b qcacmn: Change default log level of mgmt Rx REO module
Set "QDF_TRACE_LEVEL_WARN" as the default log level of
management Rx reorder module.

Change-Id: I846f706a06c0f4dc098ee281fc802dc7b1698aa2
CRs-Fixed: 3593922
2023-08-28 21:12:42 -07:00
Uraj Sasan
127fb0fc7e qcacmn: Skip sending T2LM for bridge sta
Skip sending T2LM info to Target for bridge-sta topology

CRs-Fixed: 3598171
Change-Id: Iccbbef68431ca2d415e4f6127ea8231d85ded0e1
2023-08-28 05:44:15 -07:00
Jianmin Zhu
f6fa6b6729 qcacmn: Pass hopping radar test when DFS puncture enabled
Hopping radar happens on whole band, hope all DFS sub channels are put to
NOL, but F/W only reports single radar event on special freq to host.
When DFS puncture enabled, sub channel marking is enabled, host only put
single affected 20M sub channel to NOL instead of all current bonded sub
channel, AP still stays on current freq for valid puncture bitmap
instead of leave DFS freq.

If the radar is a frequency hopping radar that truly hops over entire DFS
band, then the AP and clients are best served by moving out of the DFS
band. But it could well be that only part of the band is used. It is
difficult to find product specifications with info on the total bandwidth.
Mostly military systems use frequency hopping to avoid jamming. So a middle
ground would be to put full bandwidth of current AP to NOL for FCC type 6
frequency hopping radar.

When frequency hopping radar happens, F/W set flag that full bandwidth need
put to NOL in new added tlv radar_flags of event
WMI_PDEV_DFS_RADAR_DETECTION_EVENT, When find the flag is set, host will
put full bandwidth of current AP to NOL even sub channel marking is
enabled.

To avoid compatibility issue between old/new F/W and new/old host, add a
F/W service bit wmi_service_radar_flags_support and host service flag
is_full_bw_nol_supported.
If the wmi_service WMI_SERVICE_RADAR_FLAGS_SUPPORT is enabled by FW, host
shall set/unset a bit in the host service flag is_full_bw_nol_supported
based on host capabilities. This host service flag is then sent to FW via
WMI_INIT_CMDID.

Change-Id: I6e280ca4ab00dce97c5aec90c7a4b4fc7c4a440a
CRs-Fixed: 3595476
2023-08-28 05:44:04 -07:00
Santosh Anbu
9bfc041802 qcacmn: Use lockless SRNG access for rxdma_mon_dst ring
Since rxdma mon dst srng processing interrupt is tied to single CPU core,
locking is not required to access the srng.

Hence move to lockless srng access.

Change-Id: I58ef7b4c92919bbccea5c86c266738799c0dac85
CRs-Fixed: 3592154
2023-08-28 05:43:53 -07:00
Kenvish Butani
fadd99318e qcacmn: Fix Ref leak issue in MLO dev ctx
Fix ref leak issue in MLO dev ctx detach

Change-Id: Ib42b809cd81f8e36b402d9329ea49338b420c7bd
CRs-Fixed: 3598739
2023-08-28 05:43:43 -07:00
Edayilliam Jayadev
c56d06d1ad qcacmn: Cleanup assert in mgmt rx reo - Part 1
Cleanup asserts in management Rx reorder module.

Change-Id: If1720b888704943c001dca44b39790ec4d42aad9
CRs-Fixed: 3593925
2023-08-26 08:15:21 -07:00
Aniruddha Mishra
0ae969c9cd qcacmn: Set mode id preference for 2G_PHYB to 0
Set hw_mode_id_preference for WMI_HOST_HW_MODE_2G_PHYB
back to 0 (highest).

Change-Id: I08414f06c201312523af2edb2ed0f860c4bcb27b
CRs-Fixed: 3587689
2023-08-26 08:15:11 -07:00
nobelj
7de7642831 qcacmn: Remove packet bandwidth offset from snr
Remove packet bandwidth offset from SNR. So that SNR derived from TLV
path and SNR derived from periodic stats looks same.

Change-Id: Iaed3e3321768bef16ac1ea164920dc35eea8f002
CRs-Fixed: 3585817
2023-08-26 05:24:51 -07:00
Yu Tian
5040e12d35 qcacmn: call fw diag drain before complete ce tasks
FW diag drain may wake up delay reg write WQ, and this
happens after ce tasks completion check. Change is to
make FW diag drain operation before complete check.

Change-Id: I209c88cc5c2d5cb3b3195d1ae08b4c0c29903fa5
CRs-Fixed: 3591738
2023-08-26 02:39:51 -07:00
Shreedhar Parande
0394351f22 qcacmn: Do not reset linkid for bridge vap
Link ID for the bridge vap is set during creation.
However during mlo ap vdev attach, it gets overwritten by 0.

Due to this, during 2.4 GHz link removal using ml-reconfig,
2.4 GHz linkid and bridge vap as primary vaps linkid matches
which leads to full disconnection of the peer.

To fix this, retain previously set linkid for bridge vap.

Change-Id: I28a3da110aa6427ae7024fe173ae04c5a6bebe41
CRs-Fixed: 3592545
2023-08-26 02:39:40 -07:00
Srikanth Marepalli
9bd38fc965 qcacmn: Define QCA vendor attribute for high RSSI roam trigger threshold
Define an attribute for high RSSI roam trigger threshold. STA is
expected to trigger roam if the current connected AP's RSSI gets above
this high RSSI threshold. STA's roam attempt on high RSSI threshold aims
to find candidates from other better Wi-Fi bands.

Change-Id: Ie0323ff990e2679fd9768d2242730f7369cdb64f
CRs-Fixed: 3586127
2023-08-26 02:39:29 -07:00
Vinod Kumar Myadam
151331ba76 qcacmn: Validate num_links before accessing data
In util_parse_rv_info_from_linkinfo, accessing the array of data
without validating the index of the array will cause OOB issue.

Add check with the maximum size of the array before accessing the
data.

Change-Id: Ie8b33c83fa1cd18cfbfcb6c7a82b79ddd86e8808
CRs-Fixed: 3580821
2023-08-26 02:39:18 -07:00
Amit Mehta
fcf4ae51f3 qcacmn: Add changes to update band info in nbuf cb
Add changes to update band info into nbuf cb for
connectivity logging.

Change-Id: Iec5e91fe6b39a9a0f8a7a37d4945914d7a9e748f
CRs-Fixed: 3571823
2023-08-25 18:06:06 -07:00
Amit Mehta
6f26807730 qcacmn: Add band in nbuf priv cb
Add band in nbuf priv cb

Change-Id: I0e740609982eaafc3678b8d17db77a6d8eeed5de
CRs-Fixed: 3598829
2023-08-25 18:05:56 -07:00
Aditya Kodukula
16020acc91 qcacmn: Include structures having qdf_bitmap member
Currently kernel-doc script doesn't support qdf_bitmap
struct member. So, all structure which has qdf_bitmap
member are excluded.

Support for qdf_bitmap has been added to kernel-doc script.
So, include all structures which have qdf_bitmap.

Change-Id: I95095d458152a0285a24fba398b46effd94525db
CRs-Fixed: 3598814
2023-08-25 15:15:15 -07:00
Venkateswara Naralasetty
a641238d80 qcacmn: Enable wlan datapath CE IRQ affine
Set affinity to assign WLAN CE datapath IRQs to perf clusters
based on the INI config.

Change-Id: I63f96bc6b434af2e322ef277096e5547cfa6835a
CRs-Fixed: 3590583
2023-08-25 15:15:04 -07:00
Manikanta Pubbisetty
9d8d909ff1 qcacmn: Fix truncation issues due to typecast in QDF time APIs
Currently there is an issue wrt truncation in the __qdf_system_time_after()
& __qdf_system_time_after_eq() QDF APIs where the input system ticks
(jiffies) which are of type unsigned long are getting truncated due to
typecast to long before comparison. Due to this typecasting, there is
likelihood of a wrong comparison resulting in wrong actions being
taken in the caller.

Typecast the result of the comparison instead to fix this problem.

Change-Id: I4741d9606d9e3462b8dd4736e5612f4a3008000b
CRs-Fixed: 3591262
2023-08-25 09:07:16 -07:00
Shwetha G K
b2de6ec785 qcacmn: Consider FW provided invalid phase values
FW sets 0xFFFF as invalid phase delta in invalid cases.
Retain same in HOST as well. In case of valid phase, add the
ibf cal value to the delta & ensure the derived phase value
is in the range of 0 - 1024 indicating 0 - 360 degrees

CRs-Fixed: 3597123
Change-Id: Ie259eb6c34393688c987a18859aa5036aa28b9da
2023-08-25 09:07:05 -07:00
Vignesh U
36b33094be qcacmn: Move the generic regulatory function outside 6 GHz macro
The definition of the function reg_get_pdev_from_phy_id() is placed
inside the 6 GHz specific macro CONFIG_BAND_6GHZ.

The function is a generic function applicable for non-6 GHz platforms.
Move the definition outside the macro.

Change-Id: I899813268daec85f1393d83b593a7664ae4aaabd
CRs-Fixed: 3595223
2023-08-25 09:06:54 -07:00
Chunquan Luo
633bdcaa81 qcacmn: Switch static func of chan_width to common
Remove static from func target_if_phy_ch_width_to_wmi_chan_width
for it can be share at other place.

Change-Id: I2ec80040fbe61a7691b1ad8e7b6501eb154abb44
CRs-Fixed: 3578269
2023-08-25 06:05:15 -07:00
Venkateswara Naralasetty
b5028a76d4 qcacmn: Enable interrupts on RXDMA MONITOR STATUS ring for wcn6450
Enable interrupts in monitor mode for wcn6450.
Interrupt configuration related code is moved from dp_main.c file to
dp_rings_main.c file as part of 'Ie58eae34a2da77c2d63870fab74b9d2d9d49c14a'
as Evros does not use dp group interrupts.

Move back the interrupt configuration related code from dp_rings_main.c
to dp_main.c  to enable interrupts in monitor mode for wcn6450.

Change-Id: I7a3cbbe905072dad1cf38799ac6ef441281f78f9
CRs-Fixed: 3565734
2023-08-25 03:03:23 -07:00
Krunalsinh Padhar
b3727d63af qcacmn: Improve logging for ml_peer_count decrement
Added logs to make sure ml_peer_count has decremented every time mlo
peer is detached and catch rare instance when ml_peer_count is not
decremented properly.

Change-Id: Ic174a0bce22a8a85e9df4ccb840de023b45a7f9d
CRs-Fixed: 3580583
2023-08-24 21:15:24 -07:00
Chaithanya Garrepalli
a0e560c475 qcacmn: Add arch ops for get chip id API
Add arch ops for dp_mlo_chip_id to avoid access
of dp_soc_be struct for LI platforms

Change-Id: Idc7612ef3c517aa62668fe15e51b5e5ec74bb253
CRs-Fixed: 3582795
2023-08-24 04:18:49 -07:00
Arun Kumar Khandavalli
0979038391 qcacmn: Add backport flag support for netdev registration
Add backport flag support for enabling cfg80211 netdev
registration APIs.

Change-Id: Id76c938deb54837de85fbf3438c70a9b509adac8
CRs-Fixed: 3589954
2023-08-24 04:18:38 -07:00
Balaganapathy Palanisamy
b7aac4a3be qcacmn: Ignore ap vdev count initialization
Avoid ap vdev count initialization through mlo
bridge vdev.

Change-Id: Id8845f2499d2064ec768e90ffa6324bfde60d3d9
CRs-Fixed: 3592556
2023-08-24 04:18:27 -07:00
Chunquan Luo
df30eaaa50 qcacmn: QCA vendor attributes for updating roaming AP BSSID info
Add vendor attribute IDs QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ORIGINAL_BSSID,
QCA_WLAN_VENDOR_ATTR_ROAM_STATS_CANDIDATE_BSSID, and
QCA_WLAN_VENDOR_ATTR_ROAM_STATS_ROAMED_BSSID for updating roaming AP
BSSID to user space to enable user space collecting the BSSID for
roaming issues.

Change-Id: I7e41762309740e4b705c58d9340ad20fb179172b
CRs-Fixed: 3582516
2023-08-24 04:18:15 -07:00
Guru Pratap Sharma
dbd510c42c qcacmn: handle integer underflow in util_gen_new_ie
handle integer underflow for subie_len in util_gen_new_ie

Change-Id: I2f73e5a7e0462100deae1e85e6a51f77bfc46b95
CRs-Fixed: 3582487
2023-08-24 01:26:59 -07:00
Edayilliam Jayadev
8d3856c308 qcacmn: Handle snapshot sanity failure
Gracefully handle the scenario of snapshot sanity failure.

Change-Id: Icd6fcd83da8ffcfd41e254dc90a94b08ab264b37
CRs-Fixed: 3593921
2023-08-24 01:26:48 -07:00
Nijun Gong
4cadebf03f qcacmn: try to allocate contiguous dma buffer
For some target like ROME, CE try to read more data than expected as
prefetch. For example in UDP TX case, when CE read a tx_desc(44 bytes)
located in host memory with SMMU mapped address 0x1025FFD4~0x1025FFFF,
SMMU will detect CE read beyond 0x1025FFFF to access 0x10260000. SMMU
fault will happen if 0x10260000 is not mapped to host memory.

To fix this issue, allocate contiguous dma buffer for all 1056 tx_descs,
which will map to contiguous SMMU address region.

CRs-Fixed: 3588459
Change-Id: Id0287b051f792f18d746baf39e1c66d076c9be3c
2023-08-24 01:26:38 -07:00
Karthik Kantamneni
8aa322295a qcacmn: Enhance latest HIF CE event history
Latest CE event history is helpful to analyze CE reaping
issues when dump is not available. Enhance latest HIF CE
event history to capture last two events, so that during
error situations more data is available to detect CE
reaping issues.

Change-Id: I503ec5c84ff02b967e1ce93954725ffd9866e93c
CRs-Fixed: 3590596
2023-08-23 19:37:19 -07:00
Pavankumar Nandeshwar
ad866ad37f qcacmn: Avoid asserts in dp related to HW interactions
Avoid asserts in data path which related to HW interactions
and instead use work arounds.

Change-Id: I86089d21c5be23784f8a077b085f3f3b8a2308e4
CRs-Fixed: 3564940
2023-08-23 10:33:18 -07:00