Графік комітів

20142 Коміти

Автор SHA1 Повідомлення Дата
Guru Pratap Sharma
d383bdce33 qcacmn: Adding memory not allocate debug print
Adding memory not allocate debug print when fail to allocate
memory for scan node

Change-Id: I77c9a3deeb9fff9fd265188060ff3aa3aa17b866
CRs-Fixed: 3611905
2023-09-26 14:41:00 -07:00
Aasir Rasheed
7b3fb7fb8b qcacmn: Add wmi interface to send CSA status indication
This change is to add wmi interface for sending channel
switch Announcement event status indication from host driver.

Change-Id: I4b22280e4e4c85ebf54394c80d4fefa62eef4b2d
CRs-Fixed: 3616927
2023-09-26 05:26:18 -07:00
Rahul Gusain
f9643b92ee qcacmn: Add debug id for COEX
Add new debug id "WLAN_COEX_ID". This will help to count debug
reference for COEX.

Change-Id: Id2b0500c98fcdb08f23a54c9bd20a401e0280938
CRs-Fixed: 3622040
2023-09-26 05:26:05 -07:00
Uraj Sasan
3ed0c49f5e qcacmn: Clear the bridge context properly
Bridge context was not getting cleared properly which
was causing issue in connection of WDS STA. Make sure
to clear the bridge_sta_ctx and reset central vdev.

Change-Id: I397e5ffc1223bb0e60e67d8bc3e8c4d8bbbf7808
CRs-Fixed: 3618063
2023-09-25 20:17:21 -07:00
Jia Ding
7379485714 qcacmn: Set ipa bandwidth mbps max to UINT_MAX
Currently max values of below mentioned INIs are no longer
applicable to WiFi 6 and WiFi 7.

Hence enlarge the max value to UINT_MAX for them.
CFG_DP_IPA_HIGH_BANDWIDTH_MBPS
CFG_DP_IPA_MEDIUM_BANDWIDTH_MBPS
CFG_DP_IPA_LOW_BANDWIDTH_MBPS

Change-Id: Id5ff4d5524f0185f7c3fde5e6c53aa45c1f4f045
CRs-Fixed: 3555022
2023-09-25 14:14:57 -07:00
Jia Ding
5bae17edf3 qcacmn: Set IPA perf level based on bandwidth
Currently on sdxpinn platform, dynamic IPA perf voting is not
supported. Hence static voting from WLAN is needed to boost
IPA perf level.

In this change, static bandwidth-based IPA perf level voting
is added. Three bandwidth 320 MHz, 160 MHz and below are
defined to stand for three bw levels namely High, Medium
and Low. These three levels in turn are translated into
3 perf levels to vote IPA perf levels, which are NOMINAL,
SVS and Low-SVS.

Change-Id: I5d53a76a51603f176491ee28ebb4e5f0c3b4592e
CRs-Fixed: 3555022
2023-09-25 14:14:47 -07:00
Surya Prakash Raajen
6bd218f3be qcacmn: Send standby pdev info to FW
Send standby pdev/radio which is expected to be up while
in powersave mode to FW, to switch master control for
timers.

Change-Id: I4b48d93859359d1b6aee0b9993fd1bd3bff863f2
CRs-Fixed: 3621705
2023-09-25 05:17:23 -07:00
Srinivas Dasari
3251d2d0ad qcacmn: Add new member CM_ROAMING_USER to wlan_cm_source
Define a new member CM_ROAMING_USER in wlan_cm_source and use
it for user invoked ROAM requests.
Currently, host driver uses CM_ROAMING_HOST for ROAM_INVOKE for
both host initiated(e.g. connect on connect, qos,..) and user
initiated requests(e.g. REASSOC ioctl).
The expectations are different for these cases upon ROAM_INVOKE
failure as explained below,
1. connect-on-connect/FASTREASSOC case: Expectation upon
   ROAM_INVOKE failure is to disconnect from current AP as this
   status needs to be sent to kernel.
2. REASSOC ioctl: Expectation upon ROAM_INVOKE failure is to stay
   connected to the current AP.

So, define a new source CM_ROAMING_USER and use it to
differentiate from CM_ROAMING_HOST to avoid disconnection.

Change-Id: I36d1631a19038bc523bee096836124e3149f9941
CRs-Fixed: 3621461
2023-09-25 05:17:10 -07:00
Paul Zhang
a64af3b447 qcacmn: Get profile index and count for non-tx AP
In the scenario about MLO 5 GHz + 6 GHz and 6 GHz is non-tx AP in
MBSSID, if DUT tries to connect 5 GHz link as assoc link and uses
the scan entry generated from 5 GHz beacon. Then there is no info
about profile index and count in the scan entry and these info is
necessary for firmware when vdev up.

To resolve this issue, get the info from 6 GHz scan entry if it
exists.

CRs-Fixed: 3616899
Change-Id: Ic9bf9bc107c3486be1e87ea2c19c5d388ca41883
2023-09-25 01:30:04 -07:00
Santosh Anbu
ae01803cfd qcacmn: Clear up bmap for vdev moving to UP_ACTIVE state
During MLO AP vdev partner bringup, SYNC_COMPL can be posted for a
vdev twice since the bitmap is not cleared after posting the event.
But is cleared only when the vdev exits the sync_wait state.

Hence add change to clear the bitmap before posting the event so
so that no other partner vdev will post the same event once again.

Change-Id: I15226b650e4dc51a379d97556f2f2ab62319adf7
CRs-Fixed: 3605598
2023-09-23 17:23:59 +05:30
Ruben Columbus
953b07cf94 qcacmn: add rx_buffer_size to softumac case
add wlan_cfg_ctx in wlan_cfg_soc_attach for WLAN_SOFTUMAC_SUPPORT case
for compatibility with specific chipsets.

Change-Id: Icd1bbe85182d6baf1e25dceed0b45994aa9f55fc
CRs-Fixed: 3619315
2023-09-23 17:22:48 +05:30
Linux Build Service Account
38ceb24812 Merge "qcacmn: Parse Extended MLD CAP & OP of ML IE" 2023-09-22 11:09:35 -07:00
Vijay Krishnan
419023d09e qcacmn: Introduce function to check max phy REP
If the rpt_max_phy featurte is enabled, the AP VAP of a
repeater may come up in chan 36 HT160 mode while the STA
of the repeater may come up in chan 36 HT80 mode. The
ic_curchan has the max BW value(i.e. 160 MHz). In this
case, ic_curchan is HT160. But dfs_curchan is updated
to HT80 by the API vdev_mgr_start_param_update. The
updated BW is send via VDEV START command.

This creates a mismatch between FW and HOST. FW has the BW
as HT160 and HOST has the BW as HT80. At this time, if
radar is found on chan 36, Host rejects the radar because
dfs_curchan is 36HT80 and it is a non-dfs channel. FW stops
beaconing because of no respone from host.

Fix: Dont send the VDEV START command, if the repeater max
phy mode is enabled.

This patch introduce a new API wlan_rptr_check_rpt_max_phy
that is used to invoke WIN API wlan_check_rpt_max_phy if
repeater max phy mode is enabled or not.

Before sending VDEV START command, check if the opmode is STA,
and repeater max phymode is not enabled. If the two conditions
satisfy, then send VDEV START command.

CRs-Fixed: 3613048
Change-Id: I072f62fe038c5f4dfae0318fff54189dca9e5a46
2023-09-22 07:29:13 -07:00
Yu Wang
28804f0f03 qcacmn: Include 'qdf_list.h' explicitly to avoid compilation failure
Since qdf list related structures are referenced in
'cdp_txrx_cmn_struct.h' when WLAN_FEATURE_TX_LATENCY_STATS
is enabled, include 'qdf_list.h' explicitly for such case
to avoid possible compilation failure (we've got failure
in Lanai perf build without this change).

Change-Id: Ib84c0ea0501475b9548033e5e74177ab95f3260b
CRs-Fixed: 3621305
2023-09-22 07:29:02 -07:00
Aravind Kishore Sukla
bce140bd10 qcacmn: Add check to validate ml cap offset
Before passing ml cap offset, there is no proper
check for its validation, which may lead to OOB.

Add a check for its offset, before passing.

Change-Id: I5e5a10e8740b3cd3fcef2c6aef1f0a43c74818cd
CRs-Fixed: 3581103
2023-09-22 07:28:51 -07:00
Linux Build Service Account
288f8c09ea Merge "qcacmn: Add DP rings to SSR dump" 2023-09-22 01:14:07 -07:00
Linux Build Service Account
bd7db3b28b Merge "qcacmn: Add Extended MLD Capabilities And Operations in Basic ML IE" 2023-09-22 01:14:01 -07:00
Linux Build Service Account
771b5ac7a1 Merge "qcacmn: Get new scan capability" 2023-09-22 01:13:58 -07:00
Linux Build Service Account
0ad872defa Merge "Revert "qcacmn: Trigger recovery when WMI command is sent in wow mode"" 2023-09-22 01:13:57 -07:00
Linux Build Service Account
926af59b3c Merge "qcacmn: Add support to update MCAST stats for STA mode" 2023-09-22 01:13:56 -07:00
Linux Build Service Account
5c88ee151f Merge "qcacmn: Add new line for better display in dp stats" 2023-09-22 01:13:55 -07:00
Linux Build Service Account
eb325cb456 Merge "qcacmn: Get num desc from pool element count field" 2023-09-22 01:13:54 -07:00
Linux Build Service Account
e69d7ab401 Merge "qcacmn: Avoid excessive logging in ath procfs read/write ops" 2023-09-22 01:13:53 -07:00
Linux Build Service Account
5ee9a0b820 Merge "qcacmn: Add OCI IE element id extension" 2023-09-22 01:13:52 -07:00
Linux Build Service Account
3668c4e7a7 Merge "qcacmn: Avoid alloc and init of tx desc pool for NSS offload case" 2023-09-22 01:13:51 -07:00
Linux Build Service Account
cad17a75c9 Merge "qcacmn: Set rx_hw_stats NULL and add NULL check for rx_hw_stats" 2023-09-22 01:13:50 -07:00
Linux Build Service Account
035cb4934b Merge "qcacmn: Add code to solve the memory leak issue" 2023-09-22 01:13:49 -07:00
Linux Build Service Account
56346417b7 Merge "qcacmn: Rectify macro for Reconf ML IE STA Control size" 2023-09-22 01:13:48 -07:00
Vijay Raj
30dd1e08d6 qcacmn: Modify diag version for datapath diag logging event
Modify diag version for logging band info and packet
direction as part of data path event logs.

Change-Id: I5ce4a772262797072e93fce5cdff317c8686ee7e
CRs-Fixed: 3617279
2023-09-21 17:57:56 -07:00
Gaurav Saini
b64de0cf4a qcacmn: Handle RX exception from IPA on WDS-EXT netdev
When WDS_EXT feature is enable, Host needs to redirect
the data packets to WDS extended netdevice.

Change is added the support for forwarding the RX packets
when received from IPA as an exception by deriving the
correct netdevice interface.

Change-Id: I083a1acc72023f3ebe6ea36ec05a5706f89c16bc
CRs-Fixed: 3597357
2023-09-21 17:57:45 -07:00
Shashikala Prabhu
f58bde59f4 qcacmn: Print the timestamp of FW_HANG command and Tx completion
A customer has reported an issue regarding the FW not asserting when it
receives the WMI_FORCE_FW_HANG_CMDID from the host. We need to confirm
whether the FW actually receiving the command or it is stuck in the WMI
command queue because it’s full.
To do this, adding some prints along with the timestamps in the WMI command
path and WMI command Tx completion path.

Change-Id: Ib4d6423365a150f91597a9d83ab8a85a053de777
CRs-Fixed: 3598136
2023-09-21 17:57:34 -07:00
Jeevan Kukkalli
bafd3ffd85 qcacmn: Use page frag cache to allocate page fragments
Use per pdev page frag cache to allocate page fragments
to efficiently use memory.

Change-Id: I8a16175ac72d56bcd9783ff0590710aa779454cb
CRs-Fixed: 3611781
2023-09-21 17:57:24 -07:00
Manikanta Pubbisetty
8993389ed1 qcacmn: Allocate buffers from WBUFF for fastpath CEs
Currently, buffers attached to fastpath CEs are not being allocated
from WBUFF. Since the buffers attached to the fastpath CEs are
re-usable in nature, allocating such buffers from WBUFF will have
added benefits like allocating from custom page frag cache which
reduces the memory used by the RX buffers.

Therefore, allocate RX buffers for fastpath CEs from WBUFF module.

Change-Id: Iaa913042473d60b184a767ece934bb9063ff4a7e
CRs-Fixed: 3581533
2023-09-21 17:57:14 -07:00
Priyadarshnee Srinivasan
d45510b2bf qcacmn: Fix the oplass cfi mismatch in AFC request
In this Change-ID I9e72c960fefe6fbdc106bb83fb240d84d8522b80, the
80P80 opclass is excluded if the device does not support 80P80
mode of operation. The exclusion of 80P80 opclass is done only
in the AFC request size calculation. In
reg_dmn_fill_6g_opcls_chan_lists(), 80P80 CFIs are added in the
opclass index of 320 MHz. Hence, 320 MHz opclass (137) contains
cfis 7, 23 (which is actually 80P80 CFIS) and this request is sent
to the AFC server. Since, the AFC server does not support 320 MHz
SP operation in CFIs 7, 23, it does not return opclass 137 in the
AFC response. Hence, AP is unable to come up on 320 MHz in SP
power mode.

To fix this issue, exclude 80P80 CFIs in
reg_dmn_fill_6g_opcls_chan_lists() API as well if the device does
not support 80P80 mode of operation.

Change-Id: I3114f52c45f575ba3693dadc0d2a3d42ed513f68
CRs-Fixed: 3593497
2023-09-21 14:36:36 -07:00
Amit Mehta
cf269aa28d qcacmn: Add hif and CE rings to SSR dump
Add hif and CE rings to SSR dump

Change-Id: I6a859f46c9a8cf5813ce26a163b30286969edf4a
CRs-Fixed: 3604906
2023-09-21 14:36:26 -07:00
Amit Mehta
34d88f5bfc qcacmn: print vdev id in failure case
Currently only peer mac address is logged if
failed to find peer, there is no log for vdev id.
If caller has passed wrong vdev_id from current
error print one can not identify the issue.

So to fix the issue add vdev id to error log
to check if vdev_id was passed correctly.

CRs-Fixed: 3616476
Change-Id: I3c500784e744f37dd8a1a2a7b84c7b94baf13149
2023-09-21 14:36:15 -07:00
Amit Mehta
4be2141852 qcacmn: Add fisa table to ssr dump
Add fisa table to ssr dump

Change-Id: Iebf98bfbcb990d21498e1a1946ebc8a0e0b31410
CRs-Fixed: 3604904
2023-09-21 14:36:03 -07:00
Krishna Rao
8dec8f1589 Revert "qcacmn: Protect the Transition Timeout D3.0 changes under D3.0 macro"
This reverts Change-Id I81555fe179a9bba9d871867c8544b566676b0314.

Reason for revert: IEEE802.11be draft 2.0 support has been deprecated.
Revert the commit in order to remove compile time support for 11be
draft 2.0 based EML Capability Transition Timeout subfield value of
11. This is a planned reversal since the compile time support was
intended to be a temporary facility for assisting in the transition to
11be draft 3.0.

CRs-Fixed: 3618130
Change-Id: I5f3a6b343d375184bd6cc7545af8918a3de27fac
2023-09-21 08:36:32 -07:00
Amit Mehta
68f9c374dc qcacmn: Change QDF_MAX_AVAILABLE_CPU value
Currently QDF_MAX_AVAILABLE_CPU value is 8 for QCA_CONFIG_SMP
case, This hard coded value can result in out of bound issue
if available CPUs are greater than 8.

So to fix issue define QDF_MAX_AVAILABLE_CPU value to NR_CPUS.

CRs-Fixed: 3618754
Change-Id: Ic493aac48ac4a4d2fd983a294d45d86bb062fb61
2023-09-21 08:36:20 -07:00
Adil Saeed Musthafa
1737ed366e qcacmn: Add _IS_ML flag attribute to the ADD_STA_NODE QCA vendor command
Add an attribute QCA_WLAN_VENDOR_ATTR_ADD_STA_NODE_IS_ML to the
ADD_STA_NODE command. If this attribute is set, it implies that the node
being added is an MLD node.

Change-Id: I5a8f7248847d14d87116592f0a6de3952aee8664
CRs-Fixed: 3594263
2023-09-21 00:00:29 -07:00
Srinivas Pitla
f1bb50be1b qcacmn: FT over DS association support
Add support for MLD MAC address table to MLD.
This MLD address table allows API to add/delete/find entries by MLD MAC
address. This framework would be used for implementing FT over DS,
where Assoc request is received by AP without receiving Auth request.

Change-Id: I3dbc4c0507f2113d2c0cc5e58f41d69243a4cfc8
CRs-Fixed: 3608944
2023-09-20 23:59:58 -07:00
Aditya Kodukula
7c2ddd6c3e qcacmn: Hide 4th and 5th bytes of MAC address
Currently in the driver, we hide 2nd, 3rd and 4th bytes of the
MAC address in GKI builds. Since 2nd and 3rd bytes are needed for
debugging, hide only 4th and 5th bytes of the MAC address.

Change-Id: Ia432bb0d40e0a09b56e581f192a810e727127d3a
CRs-Fixed: 3616774
2023-09-20 20:10:21 -07:00
Vijay Raj
cabdbfa0c8 qcacmn: Add API to populate parameter for connecting event logging
Introduce API to populate parameter for connecting event
logging in order to be printed after STA INFO
event.

Add wlan_cm_is_first_attempt() api in order to
restrict the logging of STA INFO and connecting
event to first connection attempt.

Change-Id: Ica4253eea71ba72ea5176f733402d0758797463b
CRs-Fixed: 3599759
2023-09-20 20:10:10 -07:00
Amit Mehta
0b0fde8706 qcacmn: Add DP rings to SSR dump
Add DP rings to SSR dump

Change-Id: If1d1fe0a66a0f836bd5344b14ba4187e58921568
CRs-Fixed: 3604903
2023-09-20 07:21:36 -07:00
Neha Bisht
acd794ba1c qcacmn: Avoid alloc and init of tx desc pool for NSS offload case
Avoid alloc and init of tx desc pool for NSS offload case

Change-Id: I16a06ce9d15e56e04692c9032caf04df8f477306
CRs-Fixed: 3619837
2023-09-20 17:28:33 +05:30
Neha Bisht
7eb942e290 qcacmn: Get num desc from pool element count field
Get num desc from pool element count field

Change-Id: I14104a89d3d6ca3af6c511ee2c7ce4708b2c36e6
CRs-Fixed: 3618036
2023-09-20 04:55:10 -07:00
Yu Wang
8aa054e666 qcacmn: add fields to record transmit timestamp in nbuf cb
Add field 'u.tx.pa_ts.ts_value' to store the driver ingress
timestamp, and field 'u.tx.dev.priv_cb_m.flag_ts_valid' to
indicate whether 'u.tx.pa_ts.ts_value' is available or not.
Both fields must be cleared before fragment mapping, to
avoid overlap with the filed 'u.tx.pa_ts.paddr'.

Change-Id: I645c3c27b0c519417f86e6346f4f018b8d87d701
CRs-Fixed: 3560477
2023-09-20 04:15:55 -07:00
Amit Mehta
9cdb66d169 qcacmn: Set rx_hw_stats NULL and add NULL check for rx_hw_stats
dp_request_rx_hw_stats allocates memory to rx_hw_stats
and dp_rx_hw_stats_cb frees the memory. There can be case
that dp_request_rx_hw_stats is timed out and host
receives event from HW, if pending_tid_stats_cnt is 1
in that case rx_hw_stats will be freed from dp_rx_hw_stats_cb.
In case of race between request timeout and REO event
dp_request_rx_hw_stats will try to access the rx_hw_stats in
request timeout case which can result in use after free issue.

To fix the issue set rx_hw_stats = NULL in event callback
and add NULL check for rx_hw_stats before accessing.

CRs-Fixed: 3618526
Change-Id: I5dec8a1f94d309b5482f766e94fe5fd831a689d3
2023-09-20 02:23:01 -07:00
KARTHIK KUMAR T
b17821939a qcacmn: Add new line for better display in dp stats
Add new line for better display in dp stats

Change-Id: Ia561a1a654acbbcce93bb605ef95c60fdf6f5454
CRs-Fixed: 3613410
2023-09-19 23:10:22 -07:00
Amit Mehta
3c0448206e qcacmn: Add support to update MCAST stats for STA mode
Currently host does not maintain TX completion stats for
MCAST frames separately for STA mode.

Add support to update MCAST stats for STA mode.

CRs-Fixed: 3608640
Change-Id: Ia28a4cd332783a6767704cd0c479235ff27ddd8b
2023-09-20 11:17:10 +05:30