Commit Graph

18328 Commits

Author SHA1 Message Date
Rakesh Pillai
ada0c97d9b qcacmn: Add datapath config event history
Add history to record the config/control events
e.g. peer create/delete/unref-delete, vdev attach/detach
in datapath.

Change-Id: Ic3c8122fca9124e41931ec445946aec5e8863434
CRs-Fixed: 3371899
2023-01-19 02:55:07 -08:00
Jeff Johnson
b4466310b5 qcacmn: Fix FTM documentation
The kernel-doc script identified a few kernel-doc issues in the ftm
folder, so fix them.

Change-Id: Icf1fac11bb2f3fa39cf29f6dabebc06bcb523d60
CRs-Fixed: 3376407
2023-01-19 02:54:51 -08:00
Srinivas Dasari
539d3bfb53 qcacmn: Add APIs to set and get acs_mode in vdev mlme obj
To support fixed channel SAP in unsafe channels, driver needs
to cache and retrieve SAP start mode i.e. ACS or fixed.
Add a new param is_acs_mode to vdev_mlme_mgmt_ap and APIs to
set and get the same through vdev.

Change-Id: Ib274b95be66e774b15f4687a02ed7fef6bf21056
CRs-Fixed: 3381401
2023-01-19 00:47:38 -08:00
Jeff Johnson
f9c3074fea qcacmn: Fix iot_sim documentation
The kernel-doc script identified some kernel-doc issues in the iot_sim
folder, so fix them.

Change-Id: Ia7d68ca807ec4f0aad48ee42f75df8fa2aeca7e1
CRs-Fixed: 3378028
2023-01-18 13:49:26 -08:00
Divya R
8d986f372a qcacmn: Add dispatcher for reg_get_num_rules_of_ap_pwr_type
Add dispatcher for function reg_get_num_rules_of_ap_pwr_type
to get the number of rules supported for given power mode

Change-Id: I084cc4e47ed16a71c1a8a7db4a6f046a0007a9d7
CRs-Fixed: 3378907
2023-01-18 11:50:11 -08:00
Srinivas Dasari
8380ebaf9b qcacmn: Fetch fw support for fixed channel SAP in coex cases
Currently, firmware sends WMI_WLAN_FREQ_AVOID_EVENTID with set
of frequency ranges to be avoided when it finds LTE operating
around those frequencies. Host driver marks these frequencies
as unsafe and doesn't operate in SAP/P2P-GO mode.

There is a new requirement where SAP can be allowed to operate
in unsafe channels when below conditions are met,
1. Firmware advertises the capability fix_channel_priority in
   WMI_COEX_FIX_CHANNEL_CAPABILITIES through ext2 event.
2. SAP is started in a fixed channel.

Fetch the capability fix_channel_priority sent by firmware and
cache it in wlan_psoc_host_service_ext2_param to support
this feature. Add APIs to cache value received from firmware in
psoc_info->info.service_ext2_param.sap_coex_fixed_chan_support
and to fetch the same.

Change-Id: I8ceb501240bc86d6b004446f9927f4402c487203
CRs-Fixed: 3381399
2023-01-18 11:49:55 -08:00
Vignesh U
bcbe6a3d15 qcacmn: Use EHTOP IE to validate puncturing bitmap
When the STA finds a candidate AP to connect to, it checks if the
primary 20 MHz channel is punctured or not. This validation is currently
done using scan channel parameters. The scan channel parameters are
intersected to the STA's capability and might not reflect the original EHT
OP IE parameters. For example, consider an 11ax STA in HE160 MHz mode
trying to connect to a 11be AP operating in EHT320 MHz mode. The scan
channel parameters are intersected to the STA's capability of 160 MHz.
The scan channel parameters like 320 MHz center frequency and puncturing
bitmap are inconsistent with the CCFS1 and punturing bitmap received in
the EHT OP IE.

So, instead of using the intersected scan channel parameters stored in the
STA to validate puncturing bitmap of the AP, use the EHT OP IE received
from the AP to validate puncturing bitmap.

Change-Id: I0cdc56eea96f04eb96327506bfd61c0f3a9109bb
CRs-Fixed: 3364639
2023-01-18 09:56:05 -08:00
Jeff Johnson
183cd295b8 qcacmn: Fix umac/cfr documentation
The kernel-doc script has identified multiple documentation issues in
umac/cfr, so fix them.

Change-Id: Ie459075a92719e4708021cb965fdbab1f682df24
CRs-Fixed: 3372808
2023-01-18 09:55:49 -08:00
Nandha Kishore Easwaran
da575d47b2 qcacmn: Add function pointer to disable service class
Add a function pointer to send WMI command to FW to disable a service
class.

Change-Id: I3e5d74b44a40fcc4fdda58d45707e85a3c0a81d4
CRs-Fixed: 3374568
2023-01-18 09:55:34 -08:00
Jianmin Zhu
ae49020462 qcacmn: Enable SAP 320M puncture
For a 320M bonded channel, if one of the subchannels is disabled due to
nol or static puncture, the return status becomes disabled. To correct
the status for the valid patterns, remember if at least one channel is DFS
and set the status to either DFS or enabled.

Change-Id: I4cac0afe29e6071e551c087b9d6e413b227eb18d
CRs-Fixed: 3369915
2023-01-18 06:01:20 -08:00
Asutosh Mohapatra
7bdff08dd1 qcacmn: Add new INI to separate scan policy for rest of world users
Currently host drops an AP from scan list if host country is set to
US and AP country is non-US. This implementation violates our
standard regulatory scan policy.

To address this issue, introduce a new INI to differentiate
between our standard regulatory policy with others.

Change-Id: Id72f871653e31969c4d1b147cb3c557f90a6c8f6
CRs-Fixed: 3361720
2023-01-18 06:01:04 -08:00
Asutosh Mohapatra
e4407d89d1 qcacmn: Do not allow connection if STA VLP not supported
If country code for AP and STA are same and if STA does not
support VLP mode for a particular channel and if AP power
type is misconfigured to VLP mode, do not allow connection
to that AP as per regulatory guidelines.

Change-Id: Ie3bb980df25a15c4d9d7e566663e28950414f733
CRs-Fixed: 3362142
2023-01-17 21:06:08 -08:00
Priyadarshnee Srinivasan
8aac71d828 qcacmn: Enable channel 144 for Japan by default
Enable channel 144 for JAPAN country by default. From regdomain
version 31, JAPAN is mapped to MKK17_MKKC instead of MKK5_MKKC. As per
the regdomain definition of MKK17, channel 144 must be enabled by
default. Only for MKK5 regdomain, channel 144 must be enabled based on
user config "setch144".

CRs-Fixed: 3375932
Change-Id: I48411f7f77ebbb9944dcf4988bb9ac22587e2074
2023-01-17 21:05:54 -08:00
Roopavathi Lingampalli
04a62bd736 qcacmn: Add Component APIs for required ucfg APIs
Implement component APIs for existing vdev_mgr
to get bssid in DP component module.

Change-Id: If70832308028ad1965f4960bc2ba9664b7c09452
CRs-Fixed: 3351504
2023-01-17 21:05:23 -08:00
Pooja T C
324b10dec5 qcacmn: Changed debug traces severity level
Changed scm_err_rl to scm_debug_rl to stop the prints from flooding.

Change-Id: Ida541ac96bf656fc68d0a6fd7cca302d2071585b
CRs-Fixed: 3347726
2023-01-17 21:05:09 -08:00
jinbaoliu
784a94ace9 qcacmn: Code optimization: extract common code snippet to a function
This change extracts several common code snippet and put
them into a new function. This can keep the code clean.

Change-Id: Ib13f06903db2efbf0e447436fb5abb1386cdd41d
CRs-Fixed: 3370243
2023-01-17 14:50:01 -08:00
Jeff Johnson
c9a90472ef qcacmn: Fix spectral documentation
The kernel-doc script identified a number of kernel-doc issues in the
spectral folder, so fix them.

Change-Id: Ibe12245209afd57b73996fbea2901443d0d9363c
CRs-Fixed: 3376641
2023-01-17 14:49:38 -08:00
Himanshu Batra
36108b2504 qcacmn: Remove scan entry search from link add API
During link add, since the vdev would be down, it won't have scan
entries.
Hence, remove scan entry search from link add API

Change-Id: Ifd45b546124739e6c31b2a3691cdb90a3f624ecf
CRs-Fixed: 3377283
2023-01-17 07:34:48 -08:00
Jinwei Chen
ea4f290e7d qcacmn: support RX MCS12-13 rates in FW RX pdev stats
support RX MCS12-13 rates in FW RX pdev stats

Change-Id: Idfe41884a9034eb30f792110ba747eb06cd0261d
CRs-Fixed: 3380204
2023-01-17 07:34:32 -08:00
David Oladunjoye
bee501dcb7 qcacmn: Return error when unpermitted character is parsed in ini
Currently, when an unpermitted character is added to ini, driver
flags as an unknown config item and continues parsing. This could
be an issue. Change is to return error when invalid character is
parsed in ini.

Change-Id: I0249d187f0e05a31dd256d5de56798a575903e5b
CRs-Fixed: 3354669
2023-01-17 05:30:11 -08:00
Asutosh Mohapatra
11dfead265 qcacmn: Use mac_addr pointer as constant
Use mac_addr pointer as constant in wlan_hdd_ml_sap_get_peer,
hdd_set_mld_address and use the same for consecutive APIs.

Change-Id: I19e07512bf09b01f26ef8b2bc3876f3d3e85ba2f
CRs-Fixed: 3374923
2023-01-17 05:29:58 -08:00
Vijay Raj
bdbf9523bb qcacmn: Add support for token and report number in Neighbor report
In api extract_roam_11kv_stats_tlv(), request token,
response token and report number are not extracted
for neighbor report.

Add support for request token, response token and
report number for neighbor report.

Change-Id: Iefe384fe760f25d6ce1870e52817c72577f0d5a9
CRs-Fixed: 3370856
2023-01-17 01:42:02 -08:00
Vijay Raj
06d0b53489 qcacmn: Add event id for Neighbor and beacon report logging
Add event id to support Neighbor report and beacon report for
diag logging.

Add EVENT_WLAN_NBR_RPT event to send Neighbor report diag logs
and EVENT_WLAN_BCN_RPT event to send Beacon report diag logs.

Change-Id: I5c7207667e2bad803389e160912357bc87196131
CRs-Fixed: 3370803
2023-01-17 01:41:49 -08:00
Uraj Sasan
f8dfbc3195 qcacmn: Add Support for 4 Link MLO
4-Link MLO support.

Change-Id: Ia9053e119d4938bf6b80dcd8c70037e7c2bb91d0
CRs-Fixed: 3359269
2023-01-17 01:41:37 -08:00
Chaithanya Garrepalli
ff001a366b qcacmn: Fix VDEV ref leak issue
Fix VDEV ref leak issue in RX IGMP MLO handler

Change-Id: I920231cad434cdd237aedcd0f5c5d695472d1a40
CRs-Fixed: 3380335
2023-01-16 04:34:51 -08:00
Gururaj Pandurangi
880ee4dd1a qcacmn: Add function declaration to a T2LM API
- To invoke the API wlan_send_tid_to_link_mapping from other
files, change its static definition and add a function
declaration.
- Remove repetitive logging of T2LM params in
wlan_mlo_parse_t2lm_info API.
- HMT STA host needs to send T2LM mapping info to FW only
on one peer instead of both peers in case of WKK.
Thus, add new API under MCC flag to address this issue.
The original changes will remain under else case.

Change-Id: I2495fddca7dc5da253a6d10ab41b70cf7f627156
CRs-Fixed: 3373326
2023-01-15 07:08:38 -08:00
Rakesh Pillai
d7593bcef6 qcacmn: Add debug logs in MLD peer create/delete
Add debug logs in the MLD peer create/delete path
to help debug any issues with MLD peer leak.

Change-Id: I63126d9b86f3179a88809836371fc765d340b6d8
CRs-Fixed: 3379148
2023-01-15 03:55:44 -08:00
Ashish Kumar Dhanotiya
8762881511 qcacmn: Add new self recovery reason QDF_HOST_WAKEUP_REASON_PAGEFAULT
Currently there is no recovery reason for host wakeup due to pagefault.
With this change add QDF_HOST_WAKEUP_REASON_PAGEFAULT for host wakeup
because of pagefault failure.

Change-Id: Id74a79786009f529a9ec2cf3464ea7adcd67895c
CRs-Fixed: 3378910
2023-01-14 22:09:53 -08:00
Jeff Johnson
22f89679c1 qcacmn: Fix HTC documentation
The kernel-doc script identified some kernel-doc issues in the htc
folder, so fix them.

Change-Id: I6523448836f4a0cdd1ff174634fce287b2d85d6a
CRs-Fixed: 3377576
2023-01-14 19:59:53 -08:00
Jeff Johnson
cdcad2eab9 qcacmn: Fix GPIO documentation
The kernel-doc script identified a couple of kernel-doc issues in the
gpio folder, so fix them.

Change-Id: I9d468ee4cedd3cf3b3f0c4d7cb3ad192089b6b30
CRs-Fixed: 3376420
2023-01-14 16:31:19 -08:00
Shashikala Prabhu
88785d0116 qcacmn: Rename broadcast T2LM data structure
- Replace T2LM array in wlan_t2lm_context structure with established_t2lm
  and upcoming_t2lm structures
- Mapping switch time is different for each AP vdevs. Hence, store the
  value in vdev_mlme_proto_ap structure.
- Fix a few issues seen in mapping switch time expiry and expected duration
  expiry.

Change-Id: Id69badc3f4bf5e5e741691348488369008ffc4e9
CRs-Fixed: 3369279
2023-01-14 01:12:56 -08:00
Pavankumar Nandeshwar
2d884cc639 qcacmn: Add a new reference id for intra bss
Add a new umac reference id for intra bss
feature related functionalities.

Change-Id: I3e2c98cee72e3cdfa70f9feb2b0c0c66176e90b5
CRs-Fixed: 3362569
2023-01-13 18:40:29 -08:00
Pavankumar Nandeshwar
9e61c69fea qcacmn: Enable intra bss fwd offload on vdev by default
Enable intra bss fwd offload on vdev by default
by sending wmi command to firmware.

Change-Id: I5fcc828f8360c93a7adbcf8f1f2cb7cc58593a49
CRs-Fixed: 3362569
2023-01-13 18:40:19 -08:00
Vinod Kumar Myadam
95b9b6dc2f qcacmn: Update API to use super channel list
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.

Remove wlan_reg_fill_channel_list to use the super channel API
wlan_reg_fill_channel_list_for_pwrmode.

Change-Id: I9645caff236af786b6376608be2aa56a28fe689c
CRs-Fixed: 3357161
2023-01-13 16:38:16 -08:00
Jianmin Zhu
9e9d36c5ed qcacmn: Add check to avoid OOB warning
Add check to avoid OOB warning

Change-Id: I5fc404141a75262190ecf358f78f0e903b1b32c8
CRs-Fixed: 3374793
2023-01-13 12:49:08 -08:00
Divya R
2a176c8c3e qcacmn: Disable CAC timer in special vaps
Special vap on AR9887 (ap_monitor) is used as both monitor and
AP mode. During channel change on DFS channels, vap is not up till DFS
CAC timer completes and hence cfg80211tool is not releasing the
rtnl_lock.
For Scan radio, CAC timer can be disabled on DFS channels.

Change-Id: I6142325892401e3a374760179ec7e4e206296f33
CRs-Fixed: 3341288
2023-01-13 12:48:54 -08:00
Nandha Kishore Easwaran
10a1d54f1d qcacmn: Check peer_count for peer filtering
Check peer count to decide if peer filtering is required or not.
This is required to support peer filtering for full monitor mode.

Change-Id: Icb3c0fc834795dbbbfd3a7899b3b733409f5f70d
CRs-Fixed: 3372600
2023-01-11 17:24:14 -08:00
Amit Mehta
7e50aa48ab qcacmn: Log additional EAPOL packets
Add changes to log additional EAPOL packet types.

Change-Id: I02f1de89f7e0fcf68cea20208df1ed153126852d
CRs-Fixed: 3370979
2023-01-11 06:53:40 -08:00
Jeff Johnson
213581ab0b qcacmn: Fix WMI documentation
The kernel-doc script identified many documentation issues in
the wmi folder, so fix them.

Note that in quite a few cases there is duplicate documentation in .h
and .c files, and in those cases remove the documentation from the .c
files since the interface should be documented, not the
implementation.

Change-Id: I097d5b8e8f0ba09046b7b8abe338d05a00f8cc7e
CRs-Fixed: 3372831
2023-01-11 06:53:31 -08:00
Hariharan Ramanathan
f75a30225c qcacmn: Add changes to move ioremap outside interrupt context
Add changes to move ioremap of PMM SCRATCH register outside
interrupt context, as ioremap in interrupt context in not valid.

Change-Id: I0fa645c55e10a5241011a1f4ffdccdca48c50d29
CRs-Fixed: 3371194
2023-01-10 05:32:28 -08:00
Rakesh Pillai
6414ec0d33 qcacmn: Enhance NULL peer debug log in WBM error handler
Currently the debug log for NULL peer, just gives
the REO error code info, which may not be relevant
if the error source is not REO.

Dump both REO and RXDMA push reason and error code
if NULL peer is encountered in WBM error handler.

Change-Id: I95dabb8c9de1bf95081ccb389805d3ef3376915a
CRs-Fixed: 3374313
2023-01-10 05:32:04 -08:00
Pavankumar Nandeshwar
fd6fed3e07 qcacmn: Cleanup the tx desc cleanup logic
Cleanup the tx desc clean up logic used in
direct switch and umac reset cases.
The excess code being removed tries to
get the next descriptor address in boundary
conditions is not useful, as the descriptor
extracted this way will be overwritten
immediately in the beginning of next iteration
of the loop.

Change-Id: Ibcd873719929b94147152ff48205774d3ed4f452
CRs-Fixed: 3371831
2023-01-10 05:31:53 -08:00
Santosh Anbu
0f5242e08a qcacmn: Acquire mlo lock before dispatching sync_comp
In MLO scenario where start response for partner ML AP vdevs are
processed simultaneously on different CPU cores, the order in which
the vdev sm lock is acquired may lead to deadlock.

To fix add change to dispatch the MLO_SYNC_COMPLETE under mlo_dev_ctx.

Change-Id: I86ef51fcc8d51277163fcc5a6afdee6d873f2e63
CRs-Fixed: 3368033
2023-01-10 05:31:43 -08:00
Mukul Dhiman
9164f76a01 qcacmn: remove unused var in dp/wifi3.0/monitor/dp_mon.c
remove unused var and declaration in dp/wifi3.0/monitor/dp_mon.c

CRs-Fixed: 3284798
Change-Id: Ic8054df9e2af9ff787478cdc24ae1a2360bfa525
2023-01-08 23:19:14 -08:00
Mukul Dhiman
4bc38f404d qcacmn: remove unused var in dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c
remove unused var and declaration in
dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: I83f39250f90a8dbf673e517244bb0b872e40026a
2023-01-08 23:19:04 -08:00
Mukul Dhiman
953c4d69fb qcacmn: remove unnused var in dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c
remove unused var and declaration in
dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: Ibae1a2b3f9376103f348e1778c0f9f88fd05e9dc
2023-01-08 23:18:55 -08:00
Mukul Dhiman
4a4f3ce161 qcacmn: remove unused var in monitor/2.0/dp_mon_filter_2.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

CRs-Fixed: 3284798
Change-Id: I602d0e1ce5a74b981f34f7d5d4a5cb83693f62db
2023-01-08 23:18:46 -08:00
Mukul Dhiman
cdde02d8b6 qcacmn: remove unused var in dp/wifi3.0/monitor/2.0/dp_mon_2.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: Ief15786a74d7f6eb90ed1b1527b79ddb50f14159
2023-01-08 23:18:36 -08:00
Mukul Dhiman
882a13a0ce qcacmn: remove unused var in dp_rx_mon_status_1.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/1.0/dp_rx_mon_status_1.0.c

CRs-Fixed: 3284798
Change-Id: Iea3f8e2213fef9d10fe20c90c2ac0017f7d17692
2023-01-08 23:18:26 -08:00
Mukul Dhiman
8a2b9325e6 qcacmn: remove unused var in monitor/1.0/dp_rx_mon_dest_1.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/1.0/dp_rx_mon_dest_1.0.c

CRs-Fixed: 3284798
Change-Id: Ibfeaca928fe43e6f0cc5b52a2114708810c09805
2023-01-08 23:18:16 -08:00