提交線圖

13028 次程式碼提交

作者 SHA1 備註 日期
Kiran Kumar Lokere
d0b1a8a303 qcacmn: QCA vendor attribute to configure ER SU PPDU type
Add QCA vendor attribute to configure the driver to transmit the
Data frames with ER SU PPDU type format. This attribute is used
for testing purpose.

Change-Id: If11523ea3e6316c47181342c3acc8425da85ee1b
CRs-Fixed: 2960794
2021-06-03 17:06:19 -07:00
Abhishek Singh
84138c387f qcacmn: Check AP support OCV before enable it
Add missing change I4ab3c956c3169b50a69c05d9ed1c36e055aeb586
in connection manager to disable OCV in STA RSN capability
if AP doesnt support it.

Change-Id: I84b666a489b8f2e410a4901b908f57edae86b5d4
CRs-Fixed: 2960828
2021-06-03 14:53:10 -07:00
Mainak Sen
162fb50fec qcacmn: Add dest mac addr in MSCS lookup API
Add dest mac address MSCS prioroty lookup API

Change-Id: If7f65af1821d6e7c37441521dc46789c9b4f9069
2021-06-03 03:44:47 -07:00
sheenam monga
9738504384 qcacmn: populate bw value from chan_params
Currently, host sends bw value to upper layer in response
of GET_USABLE_CHAN command. but upper layer requires bw
value in form of nl80211_chan_width enum and considering
bw value as invalid and resulting into 0 bw.

Fix is to populate bw value from ch_params.ch_width instead
of populating from curr channel list and then convert to
nl80211_chan_width from phy_ch_width in hdd.

Change-Id: I1937ac2b3282224861a200a5d956a6e92109328e
CRs-Fixed: 2957055
2021-06-03 03:44:41 -07:00
Yu Tian
c459923dd6 qcacmn: use correct rx pool id for refill buffer
When handling RXDMA error marked frames that from MAC1,
wrong rx descriptor pool is referenced, so allocated
buffer length is incorrect and lead to skb crash. Make
changes to always uses mac0 rx descriptor pool for MCL
platform.

Change-Id: Ica01c3967d6248a23ea745da63149dae9cd56677
CRs-Fixed: 2945573
2021-06-03 01:37:27 -07:00
Kiran Kumar Lokere
5ab085a1c8 qcacmn: Configure MBSSID info for Tx AP connection
Configure the MBSSID info to FW for Tx AP connection to enable
MBSSID functionality in FW.

Change-Id: Ida415a5c8f1dcb66e8890595b5f3038a611d62a5
CRs-Fixed: 2959158
2021-06-02 20:48:18 -07:00
Hariharan Basuthkar
319773094b qcacmn: Rectify errors in the 6G host regulatory database
Make the following code changes in the 6G host regulatory database:

1) Fix the multiple compilation errors that are seen when the flag
COMPILE_REGDB_6G is enabled.

2) Change the order of 6G AP type in the structure
sixghz_super_to_subdomains g_6g_reg_dmn_9_tuples and
enum sixghz_super_to_subdomains, from SP-LPI-VLP to LPI-SP-VLP, to keep
it in line with  enum reg_6g_ap_type.

3)Rename the members under reg_super_domain_6g to contain the hexcode
in the member names.

Change-Id: Ia28c214b217ae3fb21420d058872cff17e11a5b6
CRs-Fixed: 2857865
2021-06-02 15:54:30 -07:00
Karthik Kantamneni
0a7f7fb6a8 qcacmn: Optimize refill buffer pool feature code
Optimize refill buffer pool feature code to be
light weight on CPU, so that refill thread will
consume less CPU resources and also replenishing
RX buffers will be done faster.

Change-Id: I849ca60558c6197003d95e7d54fdb5f837cdc217
CRs-Fixed: 2950166
2021-06-02 13:48:27 -07:00
Harsh Kumar Bijlani
a496f14ebe qcacmn: Add forward declaration of structures to fix warnings
Add forward declaration of structures wlan_objmgr_pdev and
wlan_objmgr_vdev in file wlan_spectral_public_structs.h in
order to fix compiler warnings.

Change-Id: Ida73f3d3d808977ba1e813de3dd85e329fc13cd4
CRs-Fixed: 2907580
2021-06-02 06:58:26 -07:00
Wu Gao
e52b8c8067 qcacmn: Set MAX_RESET_CFG_ENTRY to 0xF for QCA6490 and QCA6750
Host sets num_grp_tlvs based on modified_in_curr_session, which uses
default value - MAX_RESET_CFG_ENTRY. MAX ta ra entries changed from 16
to 4 for QCA6490 and QCA6750, so change MAX_RESET_CFG_ENTRY from
0xFFFF to 0xF here.

Change-Id: Ie057b8763c0126bd0cacab4fd21da9df0d5e71f2
CRs-Fixed: 2957324
2021-06-01 21:48:55 -07:00
Karthik Kantamneni
b1a539c931 qcacmn: Set EP vote only if feature is supported
Skip setting EP vote if EP voting feature is not supported

Change-Id: I1f21b13f14ec6e65fec5fdbdc952df05ee0f1c6e
CRs-Fixed: 2953425
2021-06-01 01:42:05 -07:00
Yeshwanth Sriram Guntuka
548c146aa0 qcacmn: Add support for GCMP in rx de-fragmentation
GCMP header and MIC are not removed for received
fragments which will result in incorrect ethertype
and presence of LLC hdr in the data when the frames
are sent to network stack.

Fix is to add support for GCMP in rx de-fragmentation
path.

Change-Id: I83ed29a766e40e32f4b712342ebd40d08a2c65e0
CRs-Fixed: 2941879
2021-05-31 07:47:38 -07:00
sheenam monga
ef4a346a73 qcacmn: Add support to get usable channels for NAN
Fetch usable channels for NAN iface mode from policy manager
or reg current channel list based on filter mask and
Update res msg channel list.

Change-Id: Ifa4ad4c7c8479f4a0ecc7dbe101f6507ff1525dc
CRs-Fixed: 2949340
2021-05-31 05:36:38 -07:00
sheenam monga
09bb1c3ad0 qcacmn: Fetch usable channels for particular band and dev mode
Add support to get usable channels for particular band and
dev mode.

Change-Id: I891e041d777ba37686fbc35b3c14cc964e5db159
CRs-Fixed: 2947182
2021-05-31 05:36:32 -07:00
Shwetha G K
6f88e8eede qcacmn: Fix build error post CFR movement to cmndev
Fix the compilation error post movement of CFR files to
cmndev and rename cfr init deinit APIs to be chip
independent. Also port fixes from component_dev.

CRs-Fixed: 2938886
Change-Id: I2f5637f5717ce5154e3b642c3ade646794e99602
2021-05-31 03:25:07 -07:00
Shwetha G K
550f97cf8a qcacmn: Move CFR to common project
Move CFR to common project and rename the files as it will
be shared with other targets as well. Fix checkpatch errors
too.

Change-Id: I66481848036212aedab74c9c18848070ac1a3511
2021-05-31 03:25:03 -07:00
Pragaspathi Thilagaraj
3c632fd1e3 qcacmn: Add QCA interface to configure band specific rssi thresholds for roaming
Add QCA interface to specify the RSSI thresholds separately for candidate
APs from different bands.

Change-Id: I51d2e7c4490fde3901a4e4e8ad31d9c18823637c
CRs-Fixed: 2951242
2021-05-30 23:52:10 -07:00
Karthik Kantamneni
bd49a69019 qcacmn: Introduce intermediate EP voting access state
Introduce intermediate EP voting state during this transition state
access the votes only if direct writes are not possible.

Change-Id: Ib4522aef2209b4797100ca84e4e230a00e14b654
CRs-Fixed: 2954903
2021-05-28 18:30:53 -07:00
Deeksha Gupta
7b438a5835 qcacmn: Add support for QCA_WLAN_VENDOR_ATTR_TWT_SETUP_MAC_ADDR
As a part of this change, in SAP TWT mode this mac_addr
attribute is required in response for TWT setup, get_status,
pause, response and teardown. And is required in request
for TWT get_status and teardown.

Change-Id: I230047ac46181a6bfca054c610b96c054f5c303d
CRs-Fixed: 2952331
2021-05-28 05:51:32 -07:00
Nandha Kishore Easwaran
df35f813fd qcacmn: Use pld api to get pci slot
Use pld api to get pci slot instead of getting pci slot from
domain.

Change-Id: I0a2024eba89ee98c645f613ea4aa56dbb2089537
2021-05-28 03:47:12 -07:00
Prateek Patil
f1cd24767e qcacmn: Compilation error fix
Include Header file for fixing compilation error in HSP mode in WHUNT

Change-Id: I2d1c4d6a5b089b9e0e5176fc7fa257748b90143e
2021-05-28 01:47:13 -07:00
Huashan Qu
3493643d20 qcacmn: Add host roam preauth handling code for connection manager
Add host roam preauth handling code for connection manager

Change-Id: Ie2ee72bb33fe5706349d1eb13208a0cfcd15aacf
CRs-Fixed: 2954506
2021-05-28 01:47:08 -07:00
Yeshwanth Sriram Guntuka
45fa11262a qcacmn: Disable MSI intr config for CE5 on Lithium targets
FW is not setting up any context for CE5 but host is still
configuring the dest and status ring for CE5. This can
result in CE5 HW to write to MSI iova address when PCIe is
in low power state.

Fix is to disable MSI intr configuration for CE5 on
Lithium based targets.

Change-Id: I964305ad1258d41d7afe6422f87286904c0a6739
CRs-Fixed: 2954723
2021-05-27 21:38:16 -07:00
Jianmin Zhu
2a7b60ac61 qcacmn: Fix NOC issue for PCIE select window fail
Select window failed sometimes, then following register writing by offset
leaded to NOC error.

PCIe local register space is mapped to BAR0 lower address, don't need
select window when write wake up umac register.

Add read back to confirm select window register writing passed through.

Change-Id: Iaa5359722e9b7a3434efd1a819a951ce6c8d3f4f
CRs-Fixed: 2952127
2021-05-27 21:38:10 -07:00
Abhishek Singh
e49edb3186 qcacmn: Avoid ser timeout and actual command removal race
In case the serialization command timeout happens, it queues a msg
with in schedular thread to process timeout and pass the active timer
as its context, but if before the timeout process is executed the
actual command completion can remove the command from serialization
and it will update the timer data to point to the newly activated
command.

Now when the timer msg is executed the timer is pointing to the newly
activated command instead of actual command which was timed out
and thus remove the new command instead of the original command.

This leads to an issue where the new active command removal is a
failure when its process is completed and thus action remains
incomplete. This can also lead to two commands getting processed at
the same time as the new command was forcefully removed.

To fix this instead of passing the timer context pass the copied
command in msg to scheduler thread and do not delete the command
from serialization if the command is not active.

Change-Id: I14b489172d0f22a9ed3b26b9c94226a4095f1dee
CRs-Fixed: 2950525
2021-05-27 13:41:53 -07:00
Yeshwanth Sriram Guntuka
27212c73fe qcacmn: Fix possible OOB access for tx_hw_desc_history
Memory allocated for tx_hw_desc_history uses incorrect
size parameter resulting in much lower memory to get
assigned. This will result in OOB access and corruptions
in memory, regions post the trailing boundary when updating
tx hw desc events via dp_tx_hw_desc_update_evt.

Fix is to use the appropriate memory size for tx_hw_desc_history
and add NULL check in dp_tx_hw_desc_update_evt.

Change-Id: I97af7898cf8bf1b24978d559f84a2a3d00227ed8
CRs-Fixed: 2952859
2021-05-27 13:41:49 -07:00
Karthik Kantamneni
bbd65e7a59 qcacmn: Fix rx buffer IPA map/unmap for exception cases
IPA unmapping is skipped for WBM internal error case,
do IPA unmapping for rx buffer received in WBM error case.

While reinjecting RX buffer back to REO, software rx desc
unmapped field is not set in sequence which may lead to
map without unmap error in IPA module. So reset the unmapped
filed after IPA mapping is complete.

Change-Id: I42c1eaa1620f975d47ce2938c95b6b89dbbd3eca
CRs-Fixed: 2952671
2021-05-27 13:41:40 -07:00
Karthik Kantamneni
cfbfcf3b21 qcacmn: Fix race condition during IPA map/unmap handling
While Rx buffers are getting umapped from net rx context if IPA
pipes are enabled at same time from MC thread context this is
leading to race condition and IPA map/unmap is going out of sync.

To fix this introducing IPA mapping lock and IPA mapping need to
be handled with lock held.

Change-Id: I9fa71bdb6d4e4aa93fc795cc5dd472a181325991
CRs-Fixed: 2945063
2021-05-27 13:41:35 -07:00
Vevek Venkatesan
7d79770907 qcacmn: add hif_grp_irq_deconfigure bus_ops to free ext grp IRQs
As per current design, in failure path of hdd_wlan_start_modules,
mem_free of hif_ext_group is done (in cds_dp_close) before
free_irq (in hdd_hif_close), during next hdd_wlan_start_modules,
request_irq adds new handler entry to the list in irq_desc, this
leads to a crash on accessing older stale entry from irq handler,
so adding a bus_ops hif_grp_irq_deconfigure to free ext grp IRQs.

Change-Id: I4d0a2bee1fabee388cea8a85226fae641165a8d5
CRs-Fixed: 2949400
2021-05-27 11:40:33 -07:00
Venkateswara Swamy Bandaru
e914459b55 qcacmn: Move wmi assoc prints to wmi_debug
Move wmi assoc prints to wmi debug which is the case before
mlo assoc changes.

Change-Id: I8a6b84f3e85f25b3d999724eaf14d6b1c483832f
CRs-Fixed: 2951391
2021-05-27 08:08:19 -07:00
Sandeep Puligilla
45ee56c22e qcacmn: Add MLO Manager files
Add MLO manager files.

Change-Id: I059975f9e8910a510ddb7f904b1a7a7813e0981d
CRs-Fixed: 2875862
2021-05-27 08:08:15 -07:00
sheenam monga
b4602b3fea qcacmn: Add support to fetch BIG DATA fw cap
Add support to fetch fw capbality to handle
BIG data feature.

Change-Id: I3672230a26e2502164e991916404a5f6450f218e
CRs-Fixed: 2937221
2021-05-27 06:03:42 -07:00
Paul Zhang
66382eb3b6 qcacmn: ignore the default cc if cc has been set
Currently, for reg non-offload case, the cc will be
reset to default cc after disable and re-enable wifi.

To resolve this issue, following the logic about reg
offload case.

Change-Id: I5e3e00fdbef8ecadd472f09712fe093dee1b68b4
CRs-Fixed: 2907016
2021-05-27 06:03:37 -07:00
Amruta Kulkarni
6084c736c6 qcacmn: Use AES api's instead of the generic crypto api's
For Kernel version 5.4 and up use AES api's instead of
generic crypto api's referenced in qdf crypto module.

Change-Id: I92031d469d0da657dce4dcb8c603c82a1e182f1d
CRs-Fixed: 2947476
2021-05-27 06:03:32 -07:00
Vevek Venkatesan
26969d9267 qcacmn: add HI_TASKLET support for CE
Add HI_TASKLET support for CE, to improve priority
of CE tasklet higher than softirq, since CPU hogging
caused by RT thread.

Change-Id: I88fe8c048e908b9780745bb26b177acd2baf6a5c
CRs-Fixed: 2948946
2021-05-26 13:38:34 -07:00
Ashish Kumar Dhanotiya
3d451fc6a7 qcacmn: Add support to set 320 MHz channel params
Update reg_set_channel_params_for_freq function to add
support to set 320MHz channel params, for this below
mentioned changes are done:
Added a call to reg_fill_channel_list api which will fill
the 320MHz channel params.
Currently limitation of this implementation is that, this
will fill only first available channel if 320MHz band
channels are available. If list of all channels is required,
wlan_reg_fill_channel_list api should be used.

Change-Id: I1a617209a02e5bc8c07ae688bd3795fd707cac16
CRs-Fixed: 2952595
2021-05-26 09:20:58 -07:00
Ashish Kumar Dhanotiya
4bf0faa294 qcacmn: Add support to indicate nan channel support to fw
Add a new flag to indicate to fw that host will set the
nan_disable_flag for channels.

Change-Id: Ibf627bff77e1afb0849149a63981ca50476f6bfd
CRs-Fixed: 2949481
2021-05-26 09:20:54 -07:00
Priyadarshnee Srinivasan
1227b651fb qcacmn: Do not prohibit aspectral if DFS is NULL
Bring up a 5GHZ AP on HKV2 board and enable agile spectral scan
using "athssd -i wifi0 -j ath0 -a -f 5180" cmd. Agile spectral
scan fails to begin.

Agile spectral scan must not begin if RCAC is enabled as both cannot
run simultaneously. All the pdevs of the current PSOC are passed as an
input to 'target_if_is_aspectral_prohibited_by_adfs' to validate if
rcac is enabled on any of them. In case of HKV2, both 2G/5G PDEVs belong
to the same PSOC, when 2G PDEV is given as input, ucfg_dfs_get_rcac_enable
returns a failure as DFS is NULL.
Hence target_if_is_aspectral_prohibited_by_adfs returns a failure and
agile scan does not begin.

RCAC feature is only for 5GHZ channels and need not be validated for
2G PDEV. Hence do not block aspectral scan if DFS is NULL for 2G PDEV.

CRs-Fixed: 2947887
Change-Id: Icce2300f7ca2a4caf7d46cc23fe055f07f90266c
2021-05-25 16:54:14 -07:00
Aditya Sathish
13764f2b16 qcacmn: Release lock while allocating pfrm request
pfrm_request_irq() calls kmem_cache_alloc() which
needs to be called in a non-atomic context since
it can sleep.

The current call to pfrm_request_irq() is done
within a spinlock which disables preemption and
leads to sleep in an atomic context.

Avoid calling pfrm_request_irq() within atomic
context

CRs-Fixed: 2913515
Change-Id: Ic2b0a23360d4d2b753658499343f72bfb67ad82d
2021-05-21 12:12:33 -07:00
Aditya Sathish
7cd924cef5 qcacmn: Add support for EHT preamble
Add a new enum to the WMI_HOST_RATE_PREAMBLE to
support EHT rates.

CRs-Fixed: 2948129
Change-Id: I738e5d563146b7af88ae3c053df4dc049d7d08c6
2021-05-20 17:57:43 -07:00
Manikanta Pubbisetty
fe0463deb8 qcacmn: additional runtime PM stats for HTC layer
Add few more stats to the existing runtime PM stats for
HTC layer.

Change-Id: I1610acc534997b14ae070c48da03b4e07a00d9ef
CRs-Fixed: 2949969
2021-05-20 07:58:46 -07:00
Abhishek Singh
e5a60db99c qcacmn: Removed unused API for open and WEP check
Removed unused API for open and WEP check, as the logic, to check
open and WEP mode is not valid. If required proper API can
be added later.

Change-Id: Ia57bc28d40a70c8bd3b908400126c9741080a5fd
CRs-Fixed: 2949965
2021-05-20 07:58:41 -07:00
Manikanta Pubbisetty
536d86610b qcacmn: fix runtime PM get/put out of sync
Currently, in get_htc_send_packets() when the
hif_system_pm_state_check() fails, we are not doing a
runtime PM put operation for the corresponding get operation.
This imbalance will never make the system enter runtime suspend
state and also we do a BUG() when such imbalance is encountered
during runtime PM deinit. This change also fixes a potential
memory leak.

Change-Id: I3e5916005d583de42a49dd2dc0632bfcca1251e4
CRs-Fixed: 2947247
2021-05-20 05:56:55 -07:00
Gururaj Pandurangi
312cb2ceb1 qcacmn: Add new API to get chan list with band mask for SAP
Add new API reg_get_band_from_cur_chan_list to build a chan
list based on either primary/secondary current channel list
as per requirement.
The legacy API reg_get_band_channel_list uses primary
current chan list to build a channel list. SAP needs to use
a secondary current channel list. Add a new API for SAP,
reg_get_secondary_band_channel_list for the same. Both these
APIs will call new API reg_get_band_from_cur_chan_list
by passing primary/secondary current chan list respectively.

Change-Id: I1e5573ac9371fc3ce5dc2c387fbd1d47696a161a
CRs-Fixed: 2947516
2021-05-20 00:56:01 -07:00
Liangwei Dong
6291826a31 qcacmn: Fix group mgmt cipher error
The value of req->crypto.mgmt_ciphers is bit mask
of wlan_crypto_cipher_type, but the API
wlan_crypto_set_mgmtcipher expects the enum value of
wlan_crypto_cipher_type at present.
Fix by change wlan_crypto_set_mgmtcipher to use bit
mask of mgmt cipher type.

Change-Id: I2d262bbe3f47e41635097ef8ce5722a2baa38001
CRs-Fixed: 2946164
2021-05-19 19:32:55 -07:00
Jingxiang Ge
816f75d018 qcacmn: Limit rx diag event count in each work process
Current in wmi_rx_diag_event_work, rx diag event is processing
in a while loop, if there is continuous diag event comes from
fw, it is possible that it occupy the work queue, and other work
are not able to run.

Break the while loop so give a chance to other work.

Change-Id: I7af6d60aeb8c0524cc51d663658d5b17349daa60
CRs-Fixed: 2948839
2021-05-19 16:41:33 -07:00
abhinav kumar
ecd3f845e7 qcacmn: Handle invalid or unsupported AKM/unicast cipher
AP sets multiple AKM suites in RSN information of beacon
or unicast probe response. In case if the invalid or
unsupported AKM/unicast cipher suite present in the AKM
suite list, the driver detects it as wrong RSN IE and
drops it. This results Device driver doesn't send
authentication to initiate a connection to that AP even
one or more than one valid AKM suites present in RSN IE.

Ideally, the driver should able to initiate connection if
at least one AKM/unicast cipher is valid and supported in
AKM suite list.

Change-Id: I8ed525e3945e4e437d15b496c80b1ad2aef4cb65
CRs-Fixed: 2948248
2021-05-19 14:38:05 -07:00
Manikanta Pubbisetty
f9f324f168 qcacmn: change DP RX packet drop thresholds
The current limits of DP RX packet drop thresholds are huge;
In scenarios, where the processing of RX packets is slow, huge
number of packets will be held in the memory and could eventually
lead to out of memory issues. Reducing the thresholds to address
the problem.

Change-Id: I76a2622fb30cda615aeb27fcc9c8e548ffec3e51
CRs-Fixed: 2941885
2021-05-19 14:38:00 -07:00
Jianmin Zhu
ef56741282 qcacmn: Remove the unused CHAN_NUM functions
Clean up following functions:
dfs_mark_precac_done
dfs_unmark_precac_nol/utils_dfs_unmark_precac_nol
dfs_mlme_start_csa/mlme_start_csa
dfs_mlme_get_extchan/mlme_get_extchan
dfs_fill_chan_info
utils_dfs_get_channel_list
dfs_clear_nolhistory
dfs_getchanstate
dfs_radar_enable
os_timer_func
dfs_cac_timeout

Change-Id: Id0775ba34b6f1f6c7fedaea9711d81ca07956c70
CRs-Fixed: 2946423
2021-05-19 01:26:00 -07:00
Amruta Kulkarni
2ea97ac985 qcacmn: Change file names to cfg_*.h
Change file names from wlan_cfg_*.h to cfg_*.h

Change-Id: Id89dc307c08fc55f1777794453f2168755b5506d
CRs-Fixed: 2856372
2021-05-19 01:25:56 -07:00