Commit Graph

245 Commits

Author SHA1 Message Date
Guru Pratap Sharma
184713cbaf qcacmn: Add check for dereferencing pointer shmem_arena_ctx
Add check for dereferencing pointer shmem_arena_ctx to avoid
array out of bound error

Change-Id: I4ebc6b9455b8ec2d33790199fd2deec267796dd0
CRs-Fixed: 3620074
2023-10-05 14:13:23 -07:00
Guru Pratap Sharma
e0a4d3fd12 qcacmn: Add check for dereferencing pointer shmem_arena_ctx
Add check for dereferencing pointer shmem_arena_ctx to avoid
array out of bound error

Change-Id: I6d7caddb3ed83fb5e7397de827cd57e8d238a640
CRs-Fixed: 3620074
2023-10-05 14:13:13 -07:00
Guru Pratap Sharma
703a6d7261 qcacmn: Adding check for dereferencing pointer shmem_arena_ctx
Adding check for dereferencing pointer shmem_arena_ctx to avoid
array out of bound error

Change-Id: I0aa6682b63e2d2d564b285f7fac745df4b44f1d4
CRs-Fixed: 3620074
2023-10-05 14:12:42 -07:00
David Oladunjoye
096449a4fe qcacmn: Get new scan capability
Host needs to check new scan is enabled on device before
sending scan request.
Changes are as follows:

-Add new scan bit to scan obj.
-Fetch new scan service bit from FW.
-Update new scan in scan obj based on service bit from FW.

Change-Id: I19d874e859208dcdb2476e0fd2fbd61fcc77e565
CRs-Fixed: 3509136
2023-09-13 09:33:00 -07:00
Srinivas Pitla
734c9fcae7 qcacmn: Add WMI service support for WSI stats info
This change adds service bit support for WSI stats
to FW

Change-Id: I06119c2196b951393e8bbbb82bd4a10436207d63
CRs-Fixed: 3601765
2023-09-11 15:50:57 -07:00
Surya Prakash Raajen
d0f606e7db qcacmn: Fix dec and test bit of shmem arena deinit count
Fix dec and test bit of shmem arena deinit count, as
qdf_dec_and_test returns true if the decremented resultant
value is 0,or false for all other cases.

Change-Id: I59523078bec409badbe253243443a12c508c036c
CRs-Fixed: 3593556
2023-09-01 21:01:50 -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
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
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
Rakesh Boyina
64dc3a4199 qcacmn: Add Max ML Peer ID support from target capability exchange
Add support to parse the Max ML Peer ID's parameter received from target
capabilities and update the parameter in global MLO context.

Change-Id: I4118d288a312dc4a18182caf765b0ded014b985a
CRs-Fixed: 3556542
2023-08-18 18:11:11 -07:00
Manoj Ekbote
b9322f12bd qcacmn: Support for RF path selection
Includes changes:
1. Save frequency values from EXT and EXT2 events to psoc object
- wireless_modes, low/high 2 GHz chan and low/high 5 GHz chan from EXT event
- wireless_modes_ext, similar frequency range fields with _ext from EXT2
event. Frequency range fields with _ext are non-zero when a radio supports
overlapping frequency. Eg.Radio that supports 5 GHz full and 5 GHz high band will
have low/high 5 GHz fields populated with primary band values in EXT event and
low/high 5 GHz fields are populated in EXT2 event with secondary band
values. These values are stored in tgt info for later use.
2. Modify regulatory APIs to get and set the wireless modes in reg
component
3. Retrieve frequency fields from EXT2 event

Change-Id: I49ebcc7ee7b26bd115f37abc8cb5b6fa5a415eda
CRs-Fixed: 3576551
2023-08-11 01:24:54 -07:00
Shwetha G K
6828824ccd qcacmn: Extract enhanced AoA caps to tgt_info
Changes to extract enhanced AoA (multi gain table support)
capabilities from SERVICE_READY_EXT2 event

CRs-Fixed: 3553378
Change-Id: I8db093cfce7b8c8cacedef39f97911eabe062c19
2023-08-08 15:27:09 -07:00
jingxiang ge
f8d1f8ac6f qcacmn: Extract aux device capability
Extract aux device capability from service ready ext2
event, and report such info to wma/mlme/hdd.

Change-Id: I888624fd3443118ba66fadd7a40fcce4f4b5d521
CRs-Fixed: 3549753
2023-07-30 22:45:25 -07:00
Deeksha Gupta
5bda5de6ce qcacmn: populate num_max_mlo_link_per_ml_bss in WMI init
Set num_max_mlo_link_per_ml_bss to WMI init command.

Change-Id: I48a46f66cea86ee660656509a9cd688e3e1f7541
CRs-Fixed: 3512393
2023-07-10 12:13:51 -07:00
Deeksha Gupta
589214a617 qcacmn: Extend wmi_service for n-link MLO connection
Extend wmi_service for n-link MLO connection.

Change-Id: I269d1730eb59dcf492aca675b0fbfc3e56a0fbb7
CRs-Fixed: 3512375
2023-07-10 12:13:40 -07:00
Rakesh Pillai
b47aea82ae qcacmn: FISA data structure movement
Move the non-converged data structure for FISA
out of converged DP section.

Change-Id: I76d8ac924814d5881f3fd1f75db3ee01cf87113f
CRs-Fixed: 3512037
2023-06-24 13:32:07 -07:00
Vijay Raj
843992732f qcacmn: Extract Multipass SAP support in target capabilities
In api extract_service_ready_ext2_tlv(), Multipass
SAP capabilities is extracted to enable multipass
sap suppot in host

Change-Id: I422a5dbaca405ceaea70559863af48d046f92cbe
CRs-Fixed: 3515331
2023-06-07 13:58:49 -07:00
Aniruddha Mishra
6324e57636 qcacmn: Read MSD values from FW
Get MSD values using FW provided getter functions
and store it

Change-Id: I894ffabd5d46c038c8c552dd670199b94ad6a16a
CRs-Fixed: 3500478
2023-06-02 16:49:52 -07:00
Surya Prakash Raajen
488ebc9cd9 qcacmn: Fix subsequent wifi failuers after mode1 recovery
After mode1 recovery, because of short circuit operator "&&",
decrement of init count is not happening and causing failures
to read global shmem arena tlv, fix the issue by changing the order

Change-Id: Iae922f09c2a9c3690318e35657f92cc3bf1061e7
CRs-Fixed: 3497802
2023-05-17 16:11:41 -07:00
Jhalak Naik
d563641c08 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
2023-05-16 11:43:24 -07:00
Will Huang
638086f05d qcacmn: Fix possible compile error if include service_ready_param.h
enum reg_afc_dev_deploy_type afc_dev_type is defined as variable in
service_ready_param.h if AFC enable, reg_afc_dev_deploy_type defined
in wlan_reg_afc.h.

Include this head file if AFC enable so that don't have to include it
everywhere include service_ready_param.h.

Change-Id: I4bab90dc051c8afb984d7a486c97743b5c277589
CRs-Fixed: 3482426
2023-05-14 11:07:31 -07:00
Rahul Gusain
ce53e06591 qcacmn: extract max number of NAN pairing sessions
Currently, there is no provision to identify that the driver supports
NAN pairing protocol. So, new kernel and new firmware will start
exchanging PASN frames without realization that old driver is loaded
and thus, frames will be drops in driver.

So, to fix this issue, firmware introduces new parameter in nan
capabilities to indicate host about pairing capability. Host driver
extracts the TLV to get nan capabilities and cache the max num of
pairing session.

Change-Id: I4153c7ec4d425294b0799122bf61e735184f0960
CRs-Fixed: 3492518
2023-05-12 05:03:47 -07:00
Surya Prakash Raajen
8171e77523 qcacmn: Add recovery mode support in shared memory
Add api support to read the pointer to recovery mode in shared
memory, this pointer will store the if the mode recovered is
mode1 or mode0

Change-Id: I9e8dbd32c62dbb75d27d590a5013b4a9837fae24
CRs-Fixed: 3458369
2023-05-09 21:48:39 -07:00
abhinav kumar
df618544a3 qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.

WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not

2. Register osif callback to send scan done indication to upper
layer

3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz

Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
2023-05-03 04:58:20 -07:00
Prabhu Dass Mahalingam
424a29be96 Revert "qcacmn: Add MSD support in multi link ie"
This reverts Change-Id:	If5c2955a7bf8638d8725c753bfbe1e50a4836e40

Change-Id: I0783ec1c5ec7633237b888a57b5165295bd01f07
CRs-Fixed: 3436404
2023-04-25 12:08:55 -07:00
D Harilakshmi
eea6497c2c Revert "qcacmn: Add support for handling MLO TSF sync capability"
This reverts Change-Id:	Ie8ca48f8f6065f02eefaea85ad967e32d09787fc

Change-Id: I3cdd1a5748189811222fb5ba18d8dcb9a740c253
CRs-Fixed: 3470139
2023-04-25 12:06:23 -07:00
Linux Build Service Account
70cae165fc Merge "qcacmn: Add support for handling MLO TSF sync capability" 2023-04-21 09:15:34 -07:00
Linux Build Service Account
1ef740327a Merge "qcacmn: Update rx_peer_metadata version to DP" 2023-04-21 09:15:23 -07:00
Linux Build Service Account
d5900af48a Merge "qcacmn: Pebble bring-up changes in Umac and target_if layer" 2023-04-21 09:15:21 -07:00
Linux Build Service Account
ee21c80c5f Merge "qcacmn: Add MSD support in multi link ie" 2023-04-21 03:18:17 -07:00
Jinwei Chen
bedb4f3049 qcacmn: Update rx_peer_metadata version to DP
Save rx_peer_metadata version to wlan_res_cfg, update this value
to DP.

Change-Id: If559d85ebb390b54d267f4bc4ba214631b547d32
CRs-Fixed: 3469154
2023-04-21 03:16:59 -07:00
Kannan Saravanan
e11f459ade qcacmn: Pebble bring-up changes in Umac and target_if layer
Add device Id and target type checks for qcn6432 target
compilation
Add CFR and spectral support for QCN6432

Change-Id: Ic908fa768aa1be7cfc40be7fcc7f9ca6aa85aaa6
CRs-Fixed: 3351747
2023-04-20 04:59:28 -07:00
Jhalak Naik
7acca67784 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: Ie8ca48f8f6065f02eefaea85ad967e32d09787fc
CRs-Fixed: 3470139
2023-04-19 15:10:17 +05:30
Jinwei Chen
499696eab5 qcacmn: update TX ILP capability to DP and target
After receiving WMI service ready ext2 event and htt msdu index to
qtype map is derived, call CDP API to evaluate whether TX ILP can be
supported or not, update the TX ILP capability to DP, also send WMI
INIT CMD to FW to notify if host has enabled the TX ILP support or
not.

Change-Id: I472ebc5c7fa4b2996b790b58274fa3c048f6d7f9
CRs-Fixed: 3447519
2023-04-13 20:05:46 -07:00
Jinwei Chen
a3697f6b7c qcacmn: Extract htt_msdu_idx_to_qtype_map for TX ILP
Extract htt_msdu_idx_to_qtype_map array from wmi service ready
ext2 event, it is needed for DP TX ILP feature enablement.

Change-Id: I64766f5b6ebc6632ce4994a8d53224d98beb5879
CRs-Fixed: 3445507
2023-04-11 16:36:41 -07:00
Nidhi Jain
4f84ad378c qcacmn: Add 11az TB rsta ext feature flag support
The existing code does not support capability to be set
if trigger based ranging rsta wmi service bit is enabled.
This require addition of ext feature flag for trigger based
ranging rsta support.
Add 11az TB rsta ext feature flag and set the same as per
firmware capability for 11az feature.

Change-Id: I12512175d0b33daa906586c7f96f0c8c3f7400a3
CRs-Fixed: 3437057
2023-03-29 11:29:44 -07:00
Surya Prakash Raajen
aad2e9bdb9 qcacmn: Re-init mlo global shmem in case of recovery
Re-init mlo global shmem region whenever in case of expected
target recovery mode. In case of mode1 recovery assert, need
complete teardown of mlo and clearing out global mlo shared
memory, when asserted SoC is recovered, re-init global shared
memory region again.

Change-Id: I475b08934bdceb78b87d115b79abf45e76633795
CRs-Fixed: 3390199
2023-03-23 00:14:31 -07:00
sandhu
55435d303a qcacmn: Add WMI_SERVICE_11BE_TDLS_SUPPORT
1\ Add BE tdls fw support bit.
2\ Add link force reason per wmi changes

Change-Id: I0c297b0ea337d4060ac339c89679ec6059afc89f
CRs-Fixed: 3435979
2023-03-22 12:14:32 -07:00
Pragaspathi Thilagaraj
381a41f67d qcacmn: Read service capability for TDLS concurrencies
Read the new service capability:
WMI_SERVICE_TDLS_CONCURRENCY_SUPPORT for TDLS concurrencies
support. With this service capability below concurrencies are
supported:
STA+TDLS+P2P
STA+TDLS+P2P+P2P
STA+TDLS+P2P+SAP

Host driver will check this capability to disable TDLS
off channel when concurrent interface comes up. If this
service cap is not advertised by the firmware then
existing TDLS connection will be teared down when concurrent
interface is started.

Change-Id: I744775080a22ca8f3bc88894c349916eea27fd3a
CRs-Fixed: 3414266
2023-03-21 11:51:23 -07:00
Aniruddha Mishra
b05efc68c3 qcacmn: Add MSD support in multi link ie
Add MSD capability support in basic multi link ie

Change-Id: If5c2955a7bf8638d8725c753bfbe1e50a4836e40
CRs-Fixed: 3436404
2023-03-16 22:21:17 -07:00
Jeff Johnson
045d6e4e78 qcacmn: Fix target_if/init_deinit documentation
The kernel-doc script identified documentation issues in the
target_if/init_deinit folder, so fix them.

Change-Id: Ie2ddb73072629b0b1a110b8073443f312fa27a16
CRs-Fixed: 3417468
2023-03-07 03:20:27 -08:00
Qun Zhang
021943de3d qcacmn: Check wmi_service_thermal_mgmt for legacy wlan temperature
For legacy wlan chip, it uses wmi_service_thermal_mgmt to
announce its temperature capability.
Add wmi_service_thermal_mgmt checking to support legacy
wlan chip temperature as well.

Change-Id: I529e08780ba0c19a2953a36d821946958726ab7d
CRs-Fixed: 3413651
2023-03-01 10:29:57 -08:00
Edayilliam Jayadev
84ec76c1aa qcacmn: Set/get scan blanking feature support
Extract the scan blanking feature support from WMI service ready
event and store it in target if data structures. Add API to check
whether scan blanking feature is supported for a given pdev.

Change-Id: I65fefbb879b8433a68338bfcd3e4f729eff3ddd8
CRs-Fixed: 3413922
2023-02-27 06:31:43 -08:00
Shiva Krishna Pittala
8f0c611fec qcacmn: Add big-endian Host support for MLO global shared memory
MLO global shared memory arena accesses from the Host side will not go
through any implicit endian-ness conversions. Hence, convert the DWORDS
to the Host CPU order before using them.

Change-Id: If24edc7c6ef59fc82352d081b01a4baaaff65e02
CRs-Fixed: 3406980
2023-02-24 04:59:14 -08:00
Kenvish Butani
3ee53085d3 qcacmn: WMI Service command for FW PeerMetaData Version
Add new WMI Service command to support multiple FW
PeerMetaData Versions

Change-Id: I3f94bd7515d2e024459dac7271b35f804f026b97
CRs-Fixed: 3399010
2023-02-14 13:34:14 -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
Surya Prakash Raajen
93d7b3fc1a qcacmn: Add support for multi group in global memory region
Add support for multi group in global shared memory region.

Change-Id: Ib8920f9180b3ba50f3f8faf0d9b020abfd0bc150
CRs-Fixed: 3343170
2023-01-05 22:32:37 -08:00
Surya Prakash Raajen
0fdd53b791 qcacmn: Add support for mlo groups in mlo setup and teardown
Add support for mlo groups in mlo soc/link setup and teardown
sequence participating in mlo.

Change-Id: I2b431b0ee1e5816b92ad183b52ad2998eb5bb46c
CRs-Fixed: 3343170
2023-01-05 22:32:26 -08:00
Will Huang
f8f0b97ffa qcacmn: Add APIs to configure target AFC flags
Add common code to configure target AFC flags:
enable_6ghz_sp_pwrmode_supp, afc_disable_timer_check,
afc_disable_request_id_check.

Remove cfg_get set is_afc_reg_noaction code, add it to psoc regulatory
private data.

Add APIs to set and get these AFC configures.

Change-Id: Idf74b245113eee18b071a7fbb92bb151cd535ce8
CRs-Fixed: 3154185
2022-11-17 15:35:45 -08:00
Divya R
2c0d802926 qcacmn: Enable ADFS 320 MHz capability bit
A new capability bit from FW is introduced that provides
ADFS 320 MHz support information. supports_adfs_320 signifies
chainmask capability service bit if FW supports ADFS on 320 MHz
channel width. Add this capability bit(supports_adfs_320) in host.

Change-Id: I09c689658ef495d8a8707425ecc9ba922fce4d41
CRs-Fixed: 3317795
2022-11-09 02:03:06 -08:00