Commit Graph

17898 Commits

Author SHA1 Message Date
Sreeramya Soratkal
a8f77e6e3f qcacmn: Assign appropriate RBM id corresponding to the chip
For Multi chip configuration, assign appropriate value for
Return Buffer Manager(RBM) idle link descriptors based on chip_id.

CRs-Fixed: 3314584
Change-Id: I1a2f9a09b04960aff01b4ec625110e0619a9850b
2022-10-28 01:52:34 -07:00
Jeff Johnson
40e6fd1cdf qcacmn: Fix misspelling of "conversion"
The following change introduced a misspelling of "conversion", so fix
it.
- Change-Id I9f8fa776c65cbad84fac5e8c2f65b3fce1386e20
  qcacmn: update RSSI specific parameters in mon pdev

Change-Id: I019f929c09ad4e1de21ed9c7ac485a14f82d786c
CRs-Fixed: 3319342
2022-10-28 01:52:27 -07:00
Rakesh Pillai
f533809136 qcacmn: Drop mpdus received on non-monitor PMAC
Currently the monitor mode filter settings are set
for both the PMAC. Hence it is possible that the
non-monitor PMAC (the PMAC on which monitor vdev
is not running), can receive packets and forward them
to the monitor destination ring.

The above scenario will lead to a ppdu_id mismatch
when reaping the monitor status ring and comparing
the ppdu_id in status ring with the one in monitor
destination ring, since monitor status ring will
have ppdu_id from the PMAC on which monitor vdev is
running, whereas monitor destination ring will have
packets from both the PMAC.

In order to mitigate the above issue, detect the
packets in the monitor destination ring, which are
not from the PMAC where monitor vdev is running, and
drop them.

Change-Id: I32392ceeadffd9cb7a4dd76336004a9dcbb99404
CRs-Fixed: 3318036
2022-10-27 21:11:35 -07:00
Paul Zhang
2158048410 qcacmn: add __packed for bit mapping structures
Currently, structure tbtt_information_header and
rnr_mld_info don't have attribute __packed. When
fetching the value of bss_param_change_cnt, it
tries to align with byte and causes wrong value.

And these are OTA structures which should be moved
to file wlan_cmn_ieee80211.h.

Change-Id: I326e62e6f513c2b43fe08c278aa4b5a245d2d35c
CRs-Fixed: 3313710
2022-10-27 17:49:38 -07:00
Chaithanya Garrepalli
a34dd02dd0 qcacmn: Add skb fast recycler check in rx replenish
In ethernet TX fast recycle bit is set to buffer after
invalidate.

In Rx replenish API do not invalidate buffer if fast
recycle bit is set as it is already done

Change-Id: Ic74a96033a659baac381c921aff75296d155f169
CRs-Fixed: 3321142
2022-10-27 13:25:44 -07:00
Namita Nair
5fb7638690 qcacmn: Ignore flow pool unmap for inactive pool
This change will prevent flow pool unmap and delete
if pool status is inactive.

Change-Id: I071b84c6d99360af8aba97297efacb0a8682f343
CRs-Fixed: 3306110
2022-10-27 13:25:37 -07:00
Srinivas Pitla
40aac77ac2 qcacmn: Initiate disconnect for MLO SAE clients
When SAE station is trying to associate to MLO AP.
If this station was connected to other link vap of same MLD,
then if same station is trying to connecting with link VAP,
ML peer entry is found with MLD MAC address.

For SAE stations, initial understanding to handle disconnect
from hostapd, but as hostapd initiates SA query for the connected
link peers only, in this case, hostapd can't initiate SA query
as it was connected to other link VAP.

The fix is to allow initiating deauth of the current ML peer entry.

Change-Id: Iddb53f0156b460a2ede2197a74acf254c83b7b37
CRs-Fixed: 3313785
2022-10-27 11:30:57 -07:00
Jeff Johnson
3765f7b63c qcacmn: Fix misspelling of "disable"
The following change introduced a misspelling of "disable", so fix it.

- Change-Id Ifeb6935e2309be1f974c4da30b33a5caca308569
  qcacmn: Add dp ini param for sawf stats

Change-Id: I46249a0a32eabf3198d2634a4775c05089647b1b
CRs-Fixed: 3319332
2022-10-27 09:45:33 -07:00
Jeff Johnson
7747be1e7b qcacmn: Fix new misspellings of "address"
The following change introduced new misspellings of "address", so fix
them.
- Change-Id Idc9eec559b71ebb2dc39ea1d648a384ea0eb9559
  qcacmn: Fetch the reo qdesc from the peer

Change-Id: I29c71972d46a06c24fef2ed90d2a4226cc2ac654
CRs-Fixed: 3319356
2022-10-27 09:45:22 -07:00
Devender Kumar
8c9cc20350 qcacmn: Fix for peer unref
Reference taken on peer with wrong MODULE_ID, hence
while unref on peer is failing.

Change-Id: Ifd4360ad8db877cfbf67fb6d80fdfb41aee4ff56
CRs-Fixed: 3317145
2022-10-27 08:01:16 -07:00
Ananya Gupta
683ffb600f qcacmn: Force free leaking tx buffers in defconfig build
Currently, when tx completions are pending for more than 60
seconds, assert is generated in defconfig builds.
Force free leaking tx buffers in defconfig builds so system
can go to suspend in defconfig builds.

Change-Id: Ie66506d58e85176320c7aa35d49059f808be0054
CRs-Fixed: 3318409
2022-10-26 23:28:56 -07:00
Rajeev Kumar
cd265b572e qcacmn: Log vdev param id with 0x(hex) prefix
VDEV param id is logged in hex without 0x(hex) prefix
which creates confusion. And hence log WMI vdev param id
with 0x(hex) prefix for easy correlation.

Change-Id: Ib8a868fa43a911817c8e5540a07562dde08e0818
CRs-Fixed: 3320943
2022-10-26 20:15:41 -07:00
sandhu
901120c066 qcacmn: Fix incompatible function pointer assignment
Fix incompatible function pointer assignment.
Define a wrapper around mc timer callbacks to
make them compatible with standard scheduler
message callback function signatures.

Change-Id: I07829680d1758ccbd53e8b1fe10b0e30e100a2c6
CRs-Fixed: 3305719
2022-10-26 18:47:58 -07:00
Jeff Johnson
db19d5296d qcacmn: qdf: Remove obsolete suppressed logging macros
The original implementation of suppressed logging used identifiers
with a misspelling of "suppressed."

Change [1] renamed the identifiers, but for 2 public functions it
defined macros for the original names to keep from breaking existing
clients.

Change [2] updated the only existing client to use the new names.

Now that the old names are no longer used, remove the macros.

[1] Change-Id I0107b157374046ab8f3467801563c02f0f2651fa
    qcacmn: qdf: Rename misspelled "suppressed" variables/functions

[2] Change-Id I4fcd506b39cedd6f094f93ee900cf9ce8be759c1
    qcacmn: Use renamed QDF suppressed logging APIs

Change-Id: I78f3b245b355ba937b15fdfa5b4834fb58a62a62
CRs-Fixed: 3313687
2022-10-26 11:37:12 -07:00
Amit Mehta
ea172ef154 qcacmn: Do RTPM put during cleanup in case of WMI Tx completion failure
For WMI messages RTPM get is done during HTC message send and the
corresponding put is done in Tx failure or in Tx completion handler
for Tx success case. In the case where Tx completion is not received
for WMI messages RTPM put is not done as part of the cleanup which
results in RTPM Get and PUT call out of sync issues.

To fix the issue as part of HTC cleanup do RTPM put for WMI messages
for which tx completion is not received.

Change-Id: If92f4bd8a6c104d7ccef1e33b31aa765ea6100bd
CRs-Fixed: 3315404
2022-10-26 07:29:49 -07:00
Jeff Johnson
6487fc4371 qcacmn: Fix misspellings of "whether"
The following change introduced misspellings of "whether", so fix
them.
- Change-Id I50b747710eb3c49eab60c81bbc61e75e2f8650ed
  qcacmn: Handling of IGMP packets in MLO Multipass

Change-Id: I09891388e45a210457d46fb3528efdd5a32905dd
CRs-Fixed: 3319323
2022-10-26 02:53:22 -07:00
Amruta Kulkarni
ebeaf9b564 qcacmn: Define T2LM control parameters
Define TID to link mapping control field parameters.

Change-Id: I450debf709e89146e440e314ea997461de4e956b
CRs-Fixed: 3245435
2022-10-26 01:17:34 -07:00
Kannan Saravanan
234fb9ad6c qcacmn: Initial changes for york (qcn9160) bring-up in HIF Layer
Add device Id and target type checks for qcn9160 target
compilation.

Change-Id: I43fcd4df7a279e92fc545ced3dcee5408da97ac4
CRs-Fixed: 3282629
2022-10-26 01:17:12 -07:00
Priyadarshnee Srinivasan
f5324ff1ce qcacmn: Add best power mode changes for punctured channels
AFC request or response does not consider punctured channels/BW as an
input. Hence the SP EIRP/PSD power for punctured channels cannot be
derived directly from AFC response data.
Add punc_pattern as an input to the APIs reg_get_best_pwr_mode() and
reg_get_eirp_pwr() (and its dispatchers).
Compute SP EIRP for the punctured channels in
reg_get_sp_eirp_for_punc_chans() using the following formula:
MIN_PSD + 10log10 (Non-punctured BW)
Fetch min_psd from the AFC server response data for the input freq
and BW combination.
Use the total BW and puncture pattern to fetch the
non-punctured BW.

CRs-Fixed: 3306932
Change-Id: Id5c4c404a3155474a01a0dacb3bcf289e92e65ac
2022-10-26 01:16:52 -07:00
Priyadarshnee Srinivasan
7ef4c7a634 qcacmn: Add input puncture bitmap to channel search API
Add input_punc_bitmap to struct ch_params.
Add input puncture bitmap to regualtory channel search APIs.

The non-SP channels will be punctured by ACS module so that AP
can come up in highest possible BW in Standard Power mode
with the given primary frequency. These punctured channels are not
validated (whether supported in the given power mode of operation) by
the regulatory.

CRs-Fixed: 3278013
Change-Id: I56b0495be902fd92fc6da26e1007d60f930ba687
2022-10-26 01:16:27 -07:00
Priyadarshnee Srinivasan
571b7fcf35 qcacmn: Add a dispatcher API to fetch bonded chan entry
Add a dispatcher API wlan_reg_get_bonded_chan_entry to fetch
the bonded channel entry given freq, bandwidth and center of 320 MHz
channel.

CRs-Fixed: 3278013
Change-Id: I9449b3b4d72266fd7f2b6a0ea78b661fbfa5c6a9
2022-10-25 22:09:07 -07:00
Jeff Johnson
cfe8cda786 qcacmn: Use renamed QDF suppressed logging APIs
Several QDF suppressed logging APIs were originally named with a
misspelling of "suppressed." New correctly-spelled functions are
available, so call those instead.

Change-Id: I4fcd506b39cedd6f094f93ee900cf9ce8be759c1
CRs-Fixed: 3313686
2022-10-25 20:10:38 -07:00
Jeff Johnson
b24581bf28 qcacmn: qdf: Rename misspelled "suppressed" variables/functions
Multiple QDF rate limit identifiers use a misspelling of the word
"suppressed" so fix those misspellings. For two public functions
create macros with the old names to avoid breaking existing clients.

Change-Id: I0107b157374046ab8f3467801563c02f0f2651fa
CRs-Fixed: 3313685
2022-10-25 20:10:31 -07:00
Priyadarshnee Srinivasan
cdd62624af qcacmn: Add an API to fetch the AFC freq range and psd limits
Add an API to fetch the freq range and PSD limits from AFC server
response

Change-Id: I583dfbd6f58e6293ba2d9df5d49763f236a2698c
CRs-Fixed: 3306932
2022-10-25 18:38:52 -07:00
Vinay Adella
1f4af7ef5c qcacmn: Check valid link-peer's assoc-resp before adding ML-IE
The assoc-resp buffer of the link-peer can be null, while sending the
assoc-resp frame. This can happen if the ML peers are already setup but
the next association fails. In this case we send the assoc-resp frame
before link-peer's assoc-resp buffer is initialized.

Change-Id: I28d48068b4554b7663b118cc6023df396e45cae9
CRs-Fixed: 3316851
2022-10-25 18:38:43 -07:00
Jianmin Zhu
4be0519c35 qcacmn: Fix build issue
Missing symbol:b'dfs_disable_radar_and_flush_pulses' in wlan.ko.

Change-Id: Iff8464d02dbdb5100db84949b57e9bd2068dd7e9
CRs-Fixed: 3319825
2022-10-24 21:31:05 +08:00
Priyadarshnee Srinivasan
998c233d8f qcacmn: Flush radar pulses after spoof check
Spoof DFS check happens when AP is brought up in a DFS channel in
FCC domain. These spoof pulses are sent by FW in several bursts
via wmi_phyerr_event_id. Once host receives the first set of pulses
and if radar is detected by the host, host sends the radar found params
to FW. However, host does not disable the radar detection. Hence, host
continues to receive the next burst of spoof pulses and detects radar
again. This second set of radar found params when sent to FW is treated
as "real radar" pulses and FW sends a DFS status code of 2. Hence
host does a channel change to a new channel.

Hence the spill-over spoof pulses are treated as "real radar" and causes
frequent channel change on the DUT.

Once the first set of spoof pulses are detected as radar and radar found
params are sent to FW, disable DFS radar detection until the DFS status
check is received from FW. Once FW responds with a DFS status check,
re-enable the radar detection.

Change-Id: I57018776a449203c6467bb384120d4319bc04805
CRs-Fixed: 3305592
2022-10-23 05:15:04 -07:00
Hariharan Basuthkar
e0e65b3efa qcacmn: Add target_if support for EIRP preference
Add target_if support to set EIRP as the preferred power in the
WMI_VDEV_SET_TPC_CMDID to the target.

Change-Id: I77850ce93a3561c9765b8d70ae84e940b2bbf4d4
CRs-Fixed: 3307372
2022-10-22 19:48:56 -07:00
Hariharan Basuthkar
9b699d0eb9 qcacmn: Add WMI_SERVICE_EIRP_PREFERRED_SUPPORT service bit
Add WMI support for WMI_SERVICE_EIRP_PREFERRED_SUPPORT service bit,
which indicates that the target prefers EIRP in the
WMI_VDEV_SET_TPC_POWER_CMD_ID.

Change-Id: I1433bd698e124336082e12f509f271c9dd7df40a
CRs-Fixed: 3307372
2022-10-22 19:48:49 -07:00
Hariharan Basuthkar
1773c16687 qcacmn: Add Regulatory support for EIRP preference
Add regulatory support for giving preference to fill EIRP power
in the WMI_VDEV_SET_TPC_CMD_ID.

Change-Id: Iab28306b15d74109519629cb0b815cd110254d56
CRs-Fixed: 3307372
2022-10-22 19:48:42 -07:00
Krishna Rao
68a8c47232 qcacmn: Add clarification for util_find_mlie()
Add further clarification for util_find_mlie() that the buffer passed
should contain only 802.11 Information Elements, and should not
contain other information like 802.11 header, 802.11 fields that are
not elements, etc.

Change-Id: Id577cdc08189cd0f60053b1345ee15b3bb4f0eca
CRs-Fixed: 3316369
2022-10-22 11:27:23 -07:00
Vishal Miskin
39042cfc1a qcacmn: Add support to parse a string into int32 array
Currently there is no api to parse a string to int32 array.

Write an api to parse a string to int32 array.

Change-Id: I2982a1bfeff94288a1bd76d8f4d87ea2eac934b2
CRs-Fixed: 3304318
2022-10-22 10:00:20 -07:00
Chaithanya Garrepalli
65ccbf611c qcacmn: Add assert for RBM id in REO error
On REO error ring only fragments should be
received and for MLO case fragments are not
supported we should not see any entries from
partner soc

Hence adding the assert to catch this case

Change-Id: I908b2dec88ec7f23fcd963d0c71515dee8865b71
CRs-Fixed: 3317715
2022-10-22 01:50:38 -07:00
David Oladunjoye
25cb050e32 qcacmn: Add lock to Set/clear WLAN_VDEV_FEXT2_MLO_STA_LINK flag
Currently, this MLO flag is being set/clear without regard for
concurrency. We need to lock the vdev when updating these values to
prevent race condition.

Change-Id: Ied90d62f10f6f12a35eeac3060dd0fae7d0c6cfd
CRs-Fixed: 3305558
2022-10-21 21:31:17 -07:00
Yu Wang
cfdcbfe733 qcacmn: capture return code of pld_force_wake_request_sync
Capture return code of pld_force_wake_request_sync and
print it in case of failure.

Change-Id: Idd5058f4e884f28436a3928caf7350ac9446fabd
CRs-Fixed: 3317698
2022-10-21 15:24:08 -07:00
Qun Zhang
3426948f65 qcacmn: Fix a scheduler_msg CFI failure
This fixes a scheduler_msg CFI failure for function
target_if_vdev_mgr_del_rsp_post_cb().

Change-Id: I296fdfca228799de2d84c6c41eb7cd656d8f3c52
CRs-Fixed: 3316600
2022-10-21 15:24:02 -07:00
Liangwei Dong
c4c0d15a2c qcacmn: Allow to set zero count action oui entry
Allow to set zero count action oui entry to clear the
target setting.

Change-Id: I76af4d7067a0764cfae0a1a4c378c3cbcb572402
CRs-Fixed: 3316588
2022-10-21 15:23:54 -07:00
Priyadarshnee Srinivasan
71b1f90eb3 qcacmn: Reduce the debug level of scan err print
When the beacon frame is received by the DUT, util_scan_get_phymode_5g
gets invoked. In a highly noisy environment, malformed/incorrect
beacon frames is received and the content of vhtop->vht_op_chwidth
becomes invalid. Hence bad channel print floods the console since
it is under scm_err debug level (the default debug level of SCAN module
				 is ERROR).
Reduce the debug level of the print to scm_debug since it hits for
every in-correct beacon.

Change-Id: I92d99f8d69ac7f892f155f2043c60a4c0c2efa12
CRs-Fixed: 3313827
2022-10-21 03:22:46 -07:00
Amruta Kulkarni
d3119b83c7 qcacmn: Make mlo_clear_connected_links_bmap() api public
mlo_clear_connected_links_bmap api is also used for roaming,
so changing it as public api.

Change-Id: I31225cb04971dbf470338022ca4dc09a9967b5c4
CRs-Fixed: 3317236
2022-10-21 03:22:39 -07:00
vijaraj
d5104c49a5 qcacmn: Modify qdf_eapol_pkt_type_to_subtype() to log EAPOL Start
In the api qdf_eapol_pkt_type_to_subtype(), the EAPOL start
packet is not logged to userspace.

Modify the api qdf_eapol_pkt_type_to_subtype() to support
EAPOL Start logging

Change-Id: Ic985a3f6713d298ae04559a897312fdbadb57275
CRs-Fixed: 3311616
2022-10-21 01:29:42 -07:00
Vishal Miskin
d7ab161dea qcacmn: Add qdf wrapper for hrtimer_add_expires
hrtimer_add_expires added to update absolute timer expiry

Change-Id: Ie2b59322dfd02c22a8082a519b76a0f610adbd44
CRs-Fixed: 3277993
2022-10-20 23:48:51 -07:00
Jeff Johnson
aace982584 qcacmn: Fix misspelling of "possibility"
Fix misspelling of "possibility" in hif_napi.c.

Change-Id: Ibf34e907e07c2c5f95f281487ef90963503a1e37
CRs-Fixed: 3313904
2022-10-20 14:40:03 -07:00
Paul Zhang
15a10610be qcacmn: add the enum of ie elements
Add the enum of ie elements:
WLAN_ELEMID_TWT, WLAN_EXTN_ELEMID_UROA,
WLAN_EXTN_ELEMID_BSS_COLOR_CHANGE_ANNOUNCE.

Change-Id: I823ab150bf7f65173774eecd5f3c0f093cb5979f
CRs-Fixed: 3296198
2022-10-20 12:50:39 -07:00
Divyajyothi Goparaju
f3372af250 qcacmn: Replace reg_get_channel_state_for_freq
As part of upgrading legacy code with 6 GHz power APIs,
replace reg_get_channel_state_for_freq api with new api
reg_get_channel_state_for_pwrmode

Change-Id: I3e577148f0ee78f6ec8f96feef42be9ac920467d
CRs-Fixed: 3144822
2022-10-20 12:50:32 -07:00
jinbaoliu
6e28036679 qcacmn: Fix failing to get rx stats in MLO mode
In MLO mode, there are 2 link peers and 1 MLD peer. TX/RX stats
is kept in txrx_peer, which only exists in MLD peer. This change
aims at fixing HDD failing to get rx stats info when in MLO mode.

Change-Id: I046003018c72ca3c9129e3b9e5abca4a46a024ca
CRs-Fixed: 3298344
2022-10-20 10:55:25 -07:00
Jeevan Kukkalli
3bc974804e qcacmn: Add ini cfg to disable invalid decap type handling
Add ini configuration to disable invalid decap type handling
during rx mon tlv processing. This is a temporary change for
debugging purpose and will be removed once HW issue is resolved.

Change-Id: I75eb53170833224ddd144baf1b1d8034f988dd3c
CRs-Fixed: 3308998
2022-10-20 10:55:19 -07:00
Subrat Mishra
92fc6fa7c1 qcacmn: Add control frame stats accounting support
Add control frame stats accounting support.
Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats
path. Accumulate per peer RTS success and failure count only in per PPDU
Tx stats path.

Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de
CRs-Fixed: 3313435
2022-10-20 10:55:12 -07:00
Jinwei Chen
abbf1c968a qcacmn: fix compilation issue if WIFI_MONITOR_SUPPORT disabled
fix compilation issue if WIFI_MONITOR_SUPPORT is not enabled.

Change-Id: I6ea15fc0729bc0c999c6f10691200958e538bf79
CRs-Fixed: 3315379
2022-10-20 10:55:04 -07:00
Sai Rupesh Chevuru
ef34b5b9ab qcacmn: Handling of IGMP packets in MLO Multipass
Due to the CCE rule in QCN9224 IGMP packets will be routed
to err ring. When multipass is enabled, perform multipass processing
before handing over the packet to stack.

Change-Id: I50b747710eb3c49eab60c81bbc61e75e2f8650ed
CRs-Fixed: 3275888
2022-10-20 06:10:52 -07:00
Jeff Johnson
e12273c5cd qcacmn: Fix misspellings of "forwarded"
The RX REO functionality has numerous misspellings of "forwarded",
including multiple identifiers. Fix these to use the correct spelling.

Change-Id: Idc4e66e7356b978742fea30ae7ef0c9498c4f938
CRs-Fixed: 3313839
2022-10-20 03:00:21 -07:00