Commit Graph

1208 次程式碼提交

作者 SHA1 備註 提交日期
Jeff Johnson
bc5d273b9e qcacmn: Fix target_if/regulatory documentation
The kernel-doc script identified doucmentation issues in the
target_if/regulatory folder, so fix them.

Change-Id: I4c4cb774318153f672b9fddf651fa711e100f19a
CRs-Fixed: 3417469
2023-03-07 03:20:18 -08:00
Edayilliam Jayadev
7f60898cfc qcacmn: Fill "blanking status" field of SAMP message
Extract the blanking status from Spectral reports and upload
it to user space via SAMP message.

CRs-Fixed: 3413925
Change-Id: Ib033b88190be6bca3dff903cf279a9883821fb10
2023-03-02 14:50:16 -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
Amith A
0d3ef18cdf qcacmn: Register API to handle rate2power table update response event
Add APIs to register and unregister the handler of rate2power table update
response event received from target. Add the handler API
tgt_rate_to_power_complete_handler to extract the response event
parameters from WMI.

Change-Id: I462abd8a333c74b943a04c62096da647ab667adc
CRs-Fixed: 3405417
2023-02-28 11:19:46 -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
Wu Gao
ebf01e75ce qcacmn: Set pdev id base on FW capability for CFR request
Host and FW have agreement about using fixed pdev id for CFR on HMT,
which required changes on both sides. In case only picked host
change with old FW, which will case device broken during booting up,
add this change to set pdev id base on FW capability for CFR request.

Change-Id: Iac82074228d42c6f51ea2024defdb0272e5cb396
CRs-Fixed: 3409616
2023-02-26 17:35:54 -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
Edayilliam Jayadev
bbede4e20d qcacmn: Add "blanking status" field in SAMP message
Add "blanking status" field in Spectral SAMP message.

CRs-Fixed: 3407155
Change-Id: I488a78cc06518a34b1adcf3db6ad4b3133115e9a
2023-02-21 23:59:59 -08:00
Edayilliam Jayadev
f4f7014f11 qcacmn: Add target if APIs to schedule/cancel delivery of frames
Add target if APIs to schedule/cancel the delivery of management
frames..

CRs-Fixed: 3408279
Change-Id: I2063541648f3257994909fed63ce171fdc97b784
2023-02-21 22:02:37 -08:00
Pragaspathi Thilagaraj
28a0436d35 qcacmn: Cleanup unused TWT APIs & validation checks
PSOC null sanity check is done in caller, but again done in few
callee APIs.

Remove the duplicate sanity checks and unused TWT API.

Change-Id: Iac485bdce27be41c0d7152de1c86626edb534d11
CRs-Fixed: 3402622
2023-02-20 10:38:49 -08:00
Kiran Venkatappa
7260b2db76 qcacmn: Add r-twt related changes
Add changes to read R-TWT svc bit from FW and update capabilities on
host accordingly. Update add twt session command to include new
params required for R-TWT.

Change-Id: I91cea65ef737b6fa445cb3680dac15e0f1063446
CRs-Fixed: 3399205
2023-02-16 18:20:03 -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
Linux Build Service Account
b6eaaa8940 Merge "qcacmn: Guard Spectral report processing with spinlock" 2023-02-09 16:44:04 -08:00
Jhalak Naik
40c8de4f24 qcacmn: Guard Spectral report processing with spinlock
There is a possibility of Spectral being stopped by user
while a report is being processed, this can lead to the data
structures becoming invalid leading to an error.
Guard API target_if_consume_spectral_report_gen3 with
spectral_lock to avoid this, and allow Spectral scan to stop
only when the ongoing report has been processed.

Change-Id: I617f66e3c5b45323f8c88e9e5e173b139a8a9241
CRs-Fixed: 3376179
2023-02-07 17:22:20 +05:30
Edayilliam Jayadev
40bbbf5e3e qcacmn: Add big endian support for mgmt rx reo
Add big endian support for management Rx reorder feature.

CRs-Fixed: 3397229
Change-Id: Ibcf46bfbaaf1ee00d5f599bddf9a6949b229c2b2
2023-02-07 02:55:00 -08:00
Prakash Manjunathappa
3cde321196 qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements.

Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797
CRs-Fixed: 3394198
2023-02-07 00:54:44 -08:00
Wu Gao
a9137e8331 qcacmn: Use fixed pdev id for CFR with KIWI
This change use fixed pdev id for CFR with KIWI.

Change-Id: I6a656b190bf0a061d34b9c0fa2f9a322d275a508
CRs-Fixed: 3373583
2023-02-02 10:21:21 -08:00
Mukul Dhiman
b590809644 qcacmn: Add wmi support to get telemetry stats from FW
Add wmi support to get telemetry stats from FW.

Change-Id: I7aec4ff19dc0a23755f572d3bca32f8491c60a5b
CRs-Fixed: 3376707
2023-01-22 22:25:44 -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
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
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
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
Edayilliam Jayadev
629e231541 qcacmn: Initialize detector id to mode table for QCA5332
Initialize Spectral Scan detector ID to Spectral mode table for
QCA5332. Detector ID 1 and 2 are not supported for QCA5332.

CRs-Fixed: 3366784
Change-Id: I7fe9b53819c649455a67957827e4f900e39257e0
2023-01-05 14:31:01 -08:00
Jhalak Naik
602db0a0df qcacmn: Mark SRNG initialized when mem allocation is done
Mark srng_initialized to true when the DBR ring memory
allocation is completed.

Change-Id: Iacb4d5ac884bb575ad4b98201280527521906e63
CRs-Fixed: 3355169
2022-12-27 05:17:20 -08:00
Vijay Raj
2413e83ebd qcacmn: Add event response for green ap low latency pwer save mode
Add low latency power save mode event response for xpan
profile.

Change-Id: If3271c8a0ed649cd04b9060060706de9ec5764c1
CRs-Fixed: 3267486
2022-12-26 03:24:24 -08:00
Vijay Raj
f0578f5bdb qcacmn: Add ucfg and wmi changes for green ap low latency ps mode
Add ucfg and wmi changes to support for green ap low latency
power mode enable/disable command.

Change-Id: Ib9112e384c8354f1eff0f15610301225d51ef3ac
CRs-Fixed: 3265649
2022-12-26 03:24:14 -08:00
Shashikala Prabhu
b723172ec9 qcacmn: Register T2LM event handlers
Register and unregister the T2LM WMI event handler.

Change-Id: I870b72618fa39c5b7ba271c5a58e3d3bbe1f44a7
CRs-Fixed: 3360463
2022-12-18 12:13:13 -08:00
Pavankumar Nandeshwar
c811b9d544 qcacmn: PPE-DS feature naming convention update
1. Change the names of parameters and functions related
   to direct switch feature from ppe to ppeds
2. Remove the unused ppe_release_ring

Change-Id: I5a95b1273e338f354903af98158578ac65758a8a
CRs-Fixed: 3345097
2022-12-18 01:11:58 -08:00
Wu Gao
8be9c512fc qcacmn: Use fixed pdev id for CFR on HMT
Host and FW have agreement about using fixed pdev id for CFR on HMT.
Since it's different to legacy chip for concurrency case or get pdev
id base band.

Change-Id: I2b16876244cf8988e8855752844917fbf0154f54
CRs-Fixed: 3312489
2022-12-12 03:08:31 -08:00
Shiva Krishna Pittala
11fa724d8a qcacmn: Add support to extract link removal TLVs from MGMT Rx event
To assist the Host in ML reconfiguration element construction for probe
responses, FW sends MLO link removal information as part of the MGMT Rx
event containing the corresponding probe request. This information is an
array of TLVs, one TLV for each link that is undergoing link removal from
the MLD for which this probe request is intended. The TLV carries the link
removal TBTT countdown value maintained by the FW for that link.
Add support to extract the same.

CRs-Fixed: 3335361
Change-Id: I16c6791a443ddb166da596d404a52ff2a38da291
2022-12-11 23:52:12 -08:00
Shiva Krishna Pittala
22be442546 qcacmn: Add supoprt to process WMI_MLO_LINK_REMOVAL_EVENTID
WMI_MLO_LINK_REMOVAL_EVENTID will be sent by FW to update the Host on the
progress of the link removal operation. Add support to process this event.

Change-Id: I0c4d5b047cf062b421380f85717fac5a9bdea9c2
CRs-Fixed: 3334950
2022-12-11 23:52:04 -08:00
Shiva Krishna Pittala
c1231d0824 qcacmn: Add support to populate and send WMI_MLO_LINK_REMOVAL_CMDID
WMI_MLO_LINK_REMOVAL_CMDID is to be sent by the Host to initiate the
removal procedure for a given link from its MLD. This command will be sent
on the impacted link only. Add support to populate and send this command.

Change-Id: I8485d8c8897bb2bb891d50546d5fbfac2a69a4ce
CRs-Fixed: 3314430
2022-12-11 23:51:35 -08:00
Amruta Kulkarni
8759cf1c1e qcacmn: Add support for T2LM timer handling
Adds api's to handle t2lm timer functionality.
Api's added are timer initialize, start, stop, expiry handler.

Change-Id: If52453135921067d04f8349ece64c33cd524af00
CRs-Fixed: 3342822
2022-12-08 11:01:09 -08:00
Shashikala Prabhu
952dd4de06 qcacmn: Add API to parse the T2LM event ID
Add API to parse the TID-to-link mapping event ID for the AP vaps.
As part of this event,
	 - Update the mapping switch time TSF value in host data structures.
	 - When mapping switch time or expected duration expires in the FW,
	   update the host data structure.

Change-Id: I93232429fe5c2aa12dc4bf9f6a2f014761b7df15
CRs-Fixed: 3350697
2022-12-05 13:03:47 -08:00
Chaoli Zhou
45859216d6 qcacmn: Fix 'variables may be used uninitialized' issue
Set default value for 'offset' to fix the compile issue
'variables may be used uninitialized'.

Change-Id: Ib8db38140463fb543b1d98f19743b3a3a7fded4c
CRs-Fixed: 3345183
2022-12-02 18:05:39 -08:00
Will Huang
dc9e47060f qcacmn: Add MCL/SAP DCS process after AFC event update
When AFC event come and update 6 GHz SP channels' state and power
attribution, SAP which already started on 5 GHz or 6 GHz channel
can move in or out from SP channel, which has higher tx power limit.

SAP target channel/bandwidth is decided by ACS channel select callback
register to SAP module, which will take channel max tx power limit
into account.

After target channel/bandwidth determined, SAPs move to same target
channel/bandwidth with eCSA process. If violate any concurrency
limitation, AFC DCS process should abort.

Add AFC component id and reference id.

Change-Id: Iba6933a30c0957eabf549fd6c8442bed547e8152
CRs-Fixed: 3204172
2022-11-29 03:25:45 -08:00
Priyadarshnee Srinivasan
f25d7d2fc7 qcacmn: Find wmi_handle from the pdev_id
In case of split-phy radio, both the wmacs may belong to the
same PSOC. Hence in WMI_VDEV_SET_TPC_POWER_CMDID/
WMI_SET_INIT_COUNTRY_CMDID/WMI_AFC_CMDID, instead of
fetching the wmi_handle from psoc, find the WMI handle for the
corresponding pdev on which the cmd must be sent.

CRs-Fixed: 3333857
Change-Id: Ib38b15dbda4ea83edd6341d7732addbb1a563ad2
2022-11-26 19:23:55 -08:00
Surya Prakash Raajen
572d9ff24e qcacmn: CFG section defines for 6 GHz low & high bands
CFG section definitions for 6 GHz low & high band for
ini configurations. These new definitions enables us to
configure the unique INI parameters for 6 GHz low and 
6 GHz high band, for new solution of Split-phy in 6 GHz.


Change-Id: I1417dee90f0aebe31f24a64017d9203b74dfc886
CRs-Fixed: 3332719
2022-11-24 01:22:46 -08:00
Nanda Krishnan
dce586be60 qcacmn: Using pdev_wmi_handle instead of wmi_handl
Using pdev_wmi_handle instead of wmi_handle in
target_if_peer_set_ppe_default_routing

Change-Id: I7eb94d2b92078c55f2c03f4ccd57d124d3229053
CRs-Fixed: 3341573
2022-11-22 12:12:15 -08:00
Divyajyothi Goparaju
7a737732fe qcacmn: Define set params for no host to target conversion
Currently if ENABLE_HOST_TO_TARGET_CONVERSION is defined,
host pdev/vdev set params can be translated to
target pdev/vdev set params through APIs
convert_host_pdev_param_tlv,convert_host_vdev_param_tlv.
If ENABLE_HOST_TO_TARGET_CONVERSION is not defined,
host pdev/vdev set params in
common code is sent to firmware directly, which is incorrect.

Define pdev/vdev set params in such away they represents
host params on ENABLE_HOST_TO_TARGET_CONVERSION enabled and
target params on ENABLE_HOST_TO_TARGET_CONVERSION disabled.

Change-Id: I5718c76c351b2d7904d8bf8b603073ffcb0a039d
CRs-Fixed: 3321556
2022-11-18 11:52:27 -08:00
Alan Z. Chen
b589f319f9 qcacmn: Add void keyword to function definitions
Add void keyword to function definitions for
ce_service_srng() and target_if_get_ctx().

Change-Id: I4d74600da82a9f13285a496a2136589b698da017
CRs-Fixed: 3336700
2022-11-17 20:22:25 -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
Manish Verma
50819e81b2 qcacmn: Add per peer PPE routing support
Add the per peer routing support for PPE-DS feature

Change-Id: I71666fc2f29b9497fd4ec9f5d50af1cb05d91fe2
CRs-Fixed: 3306766
2022-11-14 05:42:28 -08:00
Sheenam Monga
fee16fbe5a qcacmn: Handle SRG and NON-SRG pd threshold
Currently, only single pd_threshold is fetched and
treated as SRG and NON-SRG pd threshold instead of
handling both threshold separately.

Fix is to get SRG and NON-SRG pd threshold from
userspace instead of single pd threshold.

Change-Id: I414843dfd08068c81531d0e96d71fb68d8bfccd1
CRs-Fixed: 3328201
2022-11-10 09:33:46 -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
Priyadarshnee Srinivasan
ed3f00bb01 qcacmn: Add min_psd changes for best power mode
Add reg txops to fetch min_psd for punctured SP channels.
min_psd is computed from afc response. Using the min_psd power value,
EIRP is computed for the non-punctured BW using the formula
EIRP = PSD + 10 * log10(non-punctured BW).
Add an entry in bw_to_10log10_map for all possible non-punctured
bandwidth.

CRs-Fixed: 3329625
Change-Id: I79707cb233640342c521e41e9c4d776e121c1d6d
2022-11-08 12:50:34 -08:00
Nidhi Jain
315630671a qcacmn: Populate phase delta for proper chains in scan radio
This change is to populate the phase delta for the valid
chains as per rx_chainmask for scan radio in special
vap mode.

Change-Id: I3ff9a928d93b0e81221b2bf9a515c63150f04272
CRs-Fixed: 3316528
2022-11-07 13:10:44 -08:00
Edayilliam Jayadev
d36d1c8c2a qcacmn: Log time stamp of multi vdev restart response
Log the time stamp corresponding to the start of processing
of multi vdev restart response event.

CRs-Fixed: 3308918
Change-Id: Ia00923b3a1033097429d3856047a4b639408aab8
2022-11-02 01:48:08 -07:00
Shubham Pawar
1ac8aa1bd9 qcacmn: Add support to process direct DMA event in the configured context
In the current implementation, the Direct DMA completion event is getting
processed in the tasklet context. When the Direct DMA events land on the
same processor core as the one used by the WLAN data path events, the
Direct DMA events can pre-empt the data path events as the datapath
events usually run in NAPI context. This could impact the data path
throughput when there is a high volume of frequent Direct DMA events. To
fix this, Direct DMA events can be run in work queue context based on
user configuration. Add support for the same.

Change-Id: I1a89b185c6765addc7ee725e9324025f0318d9ed
CRs-Fixed: 3276157
2022-10-28 11:52:21 -07:00