提交图

13372 次代码提交

作者 SHA1 备注 提交日期
Ashish Kumar Dhanotiya
c96d5d2592 qcacmn: Add support to parse multiple ini names
Currently driver supports only one name for an ini parameter,
there is no aliasing support for ini names.

With this change add support for  multiple ini names for the
same ini parameter.

Change-Id: Ib16a258975f5c3d152fa1dfbbdb6b3e6cc222784
CRs-Fixed: 3007156
2021-08-09 22:25:25 -07:00
Mohammed Ahmed
897285c1bd qcacmn: Fix incorrect layering in scan component
Replace ucfg api call with wlan api calls for internal components.

Change-Id: I3cb9524dbda4b2b172f7252750bf95fbd0f14491
CRs-Fixed: 2995047
2021-08-09 20:03:51 -07:00
Himanshu Batra
5f871547d8 qcacmn: Call correct API to validate mlo connect
Call correct API to validate mlo connect

Change-Id: I2f998e9cac66f8503fd42bb51d6fe5d436e2a495
2021-08-09 17:46:40 -07:00
Amit Mehta
5b3cc21863 qcacmn: Change logging time-stamp source
Currently there is mismatch in time-stamp source for
hif_hist_skip_event_record with respect to hif_hist_record_event

Updating time-stamp source in hif_hist_record_event to match with
hif_hist_skip_event_record time-stamp source.

Change-Id: I55680c40860eafb5c6ed6117ab7c55bb38cc24bb
CRs-Fixed: 3000319
2021-08-09 15:37:20 -07:00
Pavithra R
4a84bdb2ad qcacmn: Add dp_update_msdu_to_list function to dp_mon_ops struct
This patch adds the function dp_update_msdu_to_list to dp_mon_ops
struct. This is needed for supporting tx capture module in NSS
offload.

Change-Id: Id36aa6d1442eed4112585807e8798fc28ccdc424
2021-08-09 15:37:16 -07:00
sheenam monga
296e2e7722 qcacmn: Do not reset OCV from RSN cap if AP is non-OCV
Currently driver reset self OCV capability from RSN based
on AP capability which is not required as it may lead to
failure of wifi-cert test case 15.1 that is sta should
advertise self OCV capability irrespective of AP capability.

Fix is not to reset OCV from rsn based on AP
capability to support OCV.

Change-Id: I24cda586ae0f364bb4eb2936985194e01f74875b
CRs-Fixed: 3002963
2021-08-09 13:08:38 -07:00
Jeevan Kukkalli
1665e7c8e5 qcacmn: Scan radio special vap stats support
-Add flag to inidicate special vap configuration
-Add frame type counters while processing tlv
 WIFIRX_MPDU_START_E
-Add function to update special vap rx stats
-Add dp pdev param to enable/disable special vap
 stats reset
-Add function to reset special vap stats
-Add fucntion to get special vap stats
-Add CDP function to retreive special vap stats

Change-Id: Ia5de6743e472dc86c9e66b9e789c909a57025e35
CRs-Fixed: 3005425
2021-08-07 11:31:43 -07:00
Amruta Kulkarni
693dbbdf2f qcacmn: Wma to target_if migration for roam sync
Roam sync event wma to target_if migration.

Change-Id: I6992675f4260120134563292e0b189132a955d48
CRs-Fixed: 3001497
2021-08-07 02:59:06 -07:00
Jhalak Naik
4149a48ae9 qcacmn: Use correct start bin index to copy bin_pwr array for SAMP msg
Use lb_edge_bins->start_bin_idx as the bin_pwr array start bin
index, when left band edge extra bins are present.
In all other cases, use the detector start bin index
detector_info->start_bin_idx.

CRs-Fixed: 3005949
Change-Id: Ic91c3eb386d693b3f929c687e269e882b6bd8f59
2021-08-06 17:05:26 -07:00
Jhalak Naik
d66b7693f1 qcacmn: Add check for per-session detector map validity
The per-session detector map is keyed by detector ID
from the Spectral FFT report and is only valid for one
session, ie. start scan to stop scan.

There is a possibility of receiving FFT report with
an invalid detector ID, for a particular session.
Due to this, invalid detector map information may get
accessed.

Verify that detector ID received in Spectral report is
valid for given spectral scan mode and channel width,
by checking the detector list.
Add a validity flag to the per_session_det_map, and check
whether detector map is valid for the detector ID used to
access it.

CRs-Fixed: 2998410
Change-Id: I1f38ae22b458bb1fea62b99422ec60095071b3c6
2021-08-06 17:05:21 -07:00
Shwetha G K
9a723da9a5 qcacmn: Fix CFR pdef ref leak issue
Fix the CFR pdev ref leak issue

Change-Id: I6ba9068ae395fdbab8af4f6117dd31c72281ca5d
CRs-Fixed: 3008801
2021-08-06 14:08:51 -07:00
Shwetha G K
13ecc7b6c9 qcacmn: WMI CE buffer size update to 3520Bytes
CE buffer size update to support 3.5k beacon template &
probe response on Pine and Spruce targets.
The support is disabled on low memory profiles including
512M as there is no skb recycler in these profiles.

Change-Id: I451f11d6a20d1246b3e16221f2fb7ebd234b284a
2021-08-06 11:33:17 -07:00
bings
4ea9496323 qcacmn: Pass mld address and assoc link info when creating bss peer
MLO sta needs mld mac and assoc link information to create bss peer
Get mld address and assoc link info from connection manager and pass
it to bss peer creation.

Change-Id: I147ac8365f3c99c6231df589ac17d39122d57362
CRs-Fixed: 2987496
2021-08-05 15:13:41 -07:00
Vignesh U
d746469888 qcacmn: Add domain checks for precac and rcac
Write two new functions to check if preCAC and RCAC are supported in the
current DFS domain.

Currently, the preCAC is supported in the following DFS domains:
1. ETSI Domain

Currently, the RCAC is supported in the following DFS domains:
1. FCC Domain
2. MKK Domain
3. MKKN Domain

Change-Id: I2996e4d5b26e1a57ebb00e415fa41108af997b21
CRs-Fixed: 3005416
2021-08-05 12:58:15 -07:00
sheenam monga
727bee12fc qcacmn: Fix possible OOB in wmi_extract_dbr_buf_release_entry
Currently in function wmi_extract_dbr_buf_release_entry,
num_buf_release_entry & num_meta_data_entry are copied
to direct_buf_rx_rsp structure without any validation which
may cause out of bound issue if num_buf_release_entry or
num_meta_data_entries provided in fixed param becomes greater
than actual number of entries.

Fix is to validate num_entries and num_meta_data before populating
param->num_buf_release_entry and param->num_meta_data_entry.

Change-Id: I18050fd4f90f8815d7eceb5f715fdbaa09130d3a
CRs-Fixed: 3000875
2021-08-05 08:29:06 -07:00
Jeevan Kukkalli
2536fbaf5c qcacmn: Add function to reset mon interrupt mask
Add function to reset monitor interrupt mask.

Change-Id: If40093cc87dc02432645ec687b00fe856894238d
CRs-Fixed: 3007273
2021-08-05 08:29:02 -07:00
Rakesh Pillai
2ee6da1686 qcacmn: Disable CP Stats for BE emulation
Disable CP Stats for Beryllium emulation environment. These stats are
invoked heavily by userspace and need to be retrieved from the FW.The
userpace is holding the rtnl_lock while invoking these stats. This
prevents any additional commands to be sent while a stats command is
pending. Since in emulation environment, the turnaround time is quite
high, no iwpriv/ifconfig/iw command can be sent while the CP stats are
pending, making the driver in accessible from command line.

Hence, disable CP stats by simply returning 0 to the caller in emulation
environment.

CRs-Fixed: 2984362
Change-Id: I80aee6ce2bed1c37b964dd5e7194a66287301355
2021-08-05 08:28:58 -07:00
Mohit Khanna
47a165fe8e qcacmn: Config edits for multiple TX rings in HMT
The following configurations are changed
- Change numer of WBM2SWRELEASE rings from 7 to 8
- Use configurable RBM value when enqueuing packets for TX. This is needed
since WBM release ring numbers do not have an easy mapping to RBM values
for HMT1.0.

Change-Id: Idcf9e48e00b7039331fc1837bb1e900b12f19eb3
CRs-Fixed: 2984362
2021-08-05 08:28:52 -07:00
Mohit Khanna
3e89b4435a qcacmn: Remove target CE entries for CE5 in HMT
In HMT, pktlog, which uses CE5 traditionally is disabled. Hence donot
configure any entries in target_ce_config.

Change-Id: I31a075fb9c6557599688408ba9452704c7522ec0
CRs-Fixed: 2984362
2021-08-05 08:28:48 -07:00
Mohit Khanna
c75f9cc178 qcacmn: Support multiple TX rings in DP interrupt handler
In dp_service_srngs, the current logic assumes that WBM2SWRELEASE ring
number as obtained from interrupt_ctx->tx_mask matches the index of
soc->tx_comp[] array. However this may not be true, esp for HMT.
Add logic to fix the same.

Use a separate macro to enable use of single TX ring.

Change-Id: I1bee27b800ad4e4ab1a1fe5e2b01b5b43acfe1f7
CRs-Fixed: 2984362
2021-08-05 08:28:43 -07:00
Edayilliam Jayadev
3b08d50258 qcacmn: Add pdev params to enable/disable tx in DFS channels
Add pdev params to enable/disable transmissions
in DFS channels for scan radio.

CRs-Fixed: 2993345
Change-Id: I0f09c2506ad1f5b7841fed16edf1d00a2aafed96
2021-08-05 08:28:39 -07:00
Deeksha Gupta
7f738b2118 qcacmn: Add min 6G scan dwell time in scan request command
Add min 6g scan dwell time parameter in scan request command.

Change-Id: I34d806399df0fdee9d1b9e3a0a8212d76db062d8
CRs-Fixed: 2984813
2021-08-05 06:18:58 -07:00
Jinwei Chen
a33021b028 qcacmn: add WCN7850 target type in dp_mon_soc_cfg_init
add WCN7850 target type in dp_mon_soc_cfg_init

Change-Id: Ifa521974681f4c548787fa9acdc1f26f82339b7f
CRs-Fixed: 3006940
2021-08-05 06:18:53 -07:00
Surya Prakash Raajen
770f172138 qcacmn: Support vdev level command for mcast steering
Support vdev level command to enable/disable per packet beamforming

CRs-Fixed: 2994832
Change-Id: I3623002764cac49b3880a6345ec00cefaf0b467b
2021-08-05 04:12:06 -07:00
Shwetha G K
799ebe40d7 qcacmn: Add sanity check for phase values length
Add length sanity check for ibf cal value & phase delta
to ensure HOST always align with target defined length.
Also remove the REPORT_AOA_FOR_RCC flag usage.

Change-Id: I06e4a430143df1534849b8ec974e38932cff3ef1
CRs-Fixed: 2997030
2021-08-04 18:04:42 -07:00
Abhijit Pradhan
a6e6827a7a qcacmn: Remove the unnecessary spaces from a commit
Change Ia0676c03cef9c7b010762326e535477beefe36ac added a few extra space.
Remove them.

Change-Id: I5780e3a377c0f4272d6b377015ec80449cfc4f5a
CRs-Fixed: 3005569
2021-08-04 18:04:37 -07:00
Abhijit Pradhan
005cd559fa qcacmn: Remove identical function bodies to avoid update errors
In change Ia98b97f4cfe47dcd94bfa54f3dd7be13c8696532, the function
'reg_psd_2_eirp' is defined twice:
1)when WLAN_FEATURE_11BE defined
2)when WLAN_FEATURE_11BE is not defined.

However, both the functions are same except that (2) has the following
statement of 3 lines(marked by lines beginning with '>>'):

>>case BW_320_MHZ:
>>ten_log_bw = 25; /* 10* 2.50514 = 25.0514 */
>>break;

and (1) does not have the 3 lines.
Both the functions require identical updates for their the common part.
However, it is very likely to miss updating one function and update
the other function.  Or do different updates for the common part.
Similarly for the non-common part, the function that does not need the
non-common part also may get updated. Therefore, having multiple
identical function bodies for the same function under conditional
compilation is not a good design choice.

Convert the mapping (psd+bw -> eirp) done through 'switch case' into a
linear search through a lookup table. Refactor the code so that there
is only one function body and the non-common part moves to the lookup
table under the conditional compilation.

Change-Id: Ic2c6e7dff5a2fed9d1c6624b042d2be023cafcfc
CRs-Fixed: 3005569
2021-08-04 18:04:33 -07:00
Chaithanya Garrepalli
386738a312 qcacmn: fix the tx desc leak issue
Fix the tx desc leak issue in case of hw enqueue failure
with ME and TSO

Change-Id: Id142a3522ec6c9e25d2cc19f373e1a92de425e5a
2021-08-04 18:04:28 -07:00
Linux Build Service Account
4b9eec4eae Merge "qcacmn: API to set/get mldmac and assoc_peer of peer" 2021-08-04 14:38:55 -07:00
Linux Build Service Account
d1a6ee3472 Merge "qcacmn: Remove redundant API mlo_is_mld_ap" 2021-08-04 14:38:54 -07:00
bings
159f1e9590 qcacmn: API to set/get mldmac and assoc_peer of peer
Add assoc_peer field in struct wlan_objmgr_peer_mlme.
Provide API to set/get mldmac of peer
Provide API to set/get assoc_peer of peer

Change-Id: If3e84ea6512ab45a53d616e52b64ebcea08ddda6
CRs-Fixed: 2987463
2021-08-04 12:57:18 -07:00
Himanshu Batra
159972081f qcacmn: Remove redundant API mlo_is_mld_ap
Remove redundant API mlo_is_mld_ap

Change-Id: I78996b639439efb3e4f81bf42a2437bca935c8a9
CRs-Fixed: 3005510
2021-08-04 10:39:13 -07:00
Linux Build Service Account
3304c3a346 Merge "qcacmn: Add upper layer support to (un)register MGMT TxRx WMI events" 2021-08-04 09:11:07 -07:00
Gerrit - the friendly Code Review server
c113075b48 Merge changes into wlan-cmn.driver.lnx.2.0 2021-08-04 08:56:28 -07:00
Shiva Krishna Pittala
5611ef5081 qcacmn: Add upper layer support to (un)register MGMT TxRx WMI events
Add TGT layer APIs in MGMT TxRx component to (un)register WMI events.
Add psoc enable/disable handlers in MGMT TxRx component and register them.

Change-Id: Icfea29005cc9b41cccbea9c27b59222ebc1983f7
CRs-Fixed: 2959077
2021-08-04 08:08:15 -07:00
Shiva Krishna Pittala
ef3d7b71c2 qcacmn: Add pdev data structure for MGMT Rx REO module
Add pdev data structure definitions for MGMT Rx REO module.
Add a pointer to an object of that type inside the pdev
context of MGMT_TXRX component.

Change-Id: I5214be24d776d8d1c14b3b81c89c0c0fde2654b7
CRs-Fixed: 2959074
2021-08-04 05:52:57 -07:00
Edayilliam Jayadev
ceacfdf8ae qcacmn: Add txops support for MGMT txrx module
1. Add txops APIs in mgmt txrx module
2. Register the txops APIs of mgmt txrx module.

CRs-Fixed: 2927742
Change-Id: I9b226d9f2b85b4ef92527315cb08047563b9ebdd
2021-08-04 05:52:52 -07:00
Edayilliam Jayadev
ac790cc9a2 qcacmn: Add APIs to register event handlers in mgmt rx reo
1. Add target if files for mgmt rx reo module.
2. Add APIs to register/unregister WMI events related to
   management Rx reorder module.

CRs-Fixed: 2927734
Change-Id: Icf3537cfec03f26305ee6d1e08b82e316febf2ad
2021-08-04 05:52:48 -07:00
Edayilliam Jayadev
a6435ad62a qcacmn: Add management rx reorder data structures
1. Add files related to MGMT Rx REO module.
2. Add management Rx reorder list data structure.
3. Add global management Rx reorder context object.

CRs-Fixed: 2927236
Change-Id: Ia3c7ec8e1dad8ad1aaa7db7a9143927055fd7806
2021-08-04 05:52:42 -07:00
Gyanranjan Hazarika
6f86a02b32 qcacmn: Add ema_init_config to target_resource_config
Add new field ema_init_config to signal the configured value of
beacon size while using MBSSID feature in 6Ghz.

The current allowed range is 1500-3500 bytes.

CRs-fixed: 3004041
Change-Id: Id8cc1b7e4602b2e52b8eb215337070c6e3c26089
2021-08-03 19:54:48 -07:00
sheenam monga
b8483edd35 qcacmn: Add P2P_P2P_CONCURRENCY_SUPPORT wmi service support
Add P2P_P2P_CONCURRENCY_SUPPORT service capablity to
validate whether fw can support p2p concurrency
support or not. when firmware advertises this flag it
can support MCC,SCC, DBS for p2p-GO/GC + p2p-GO/GC.

Change-Id: Ifec4bf984595b06374be9024601733c8537a9c3e
CRs-Fixed: 2984165
2021-08-03 17:34:10 -07:00
Ananya Barat
8a78eac3b2 qcacmn: Build 5.9GHz channels for Legacy chipsets
With the current implementation, the 5.9 GHz channels are disabled in
reg_modify_chan_list_for_5dot9_ghz_channels if the chipset is not a
FO chipset.

Put the check for FO under the macro CONFIG_REG_CLIENT which is enabled
only for STA target, as for AP target we need the 5.9GHz channels to be
enabled in the legacy chipsets (non Lithium) if the bdf bit is enabled.

Change-Id: I97c8b4f5140ecf635f1203bf43b29c294cd8a751
CRs-Fixed: 3001808
2021-08-03 15:13:43 -07:00
Lincoln Tran
75e0ad7352 qcacmn: Print the freq in fail case when getting its enum
Update the invalid freq print with the actual frequency value for easier
debug.

Change-Id: I4e5bafaf902e19f4d070a7b140a2317a0988abf6
CRs-fixed: 3001345
2021-08-03 12:06:46 -07:00
bings
fe21212247 qcacmn: API to get rnr IE according to cm id
API to get rnr IE according to cm id

Change-Id: I6666a86a2402323a64472c79dc876077b622512a
CRs-Fixed: 3004089
2021-08-03 06:55:27 -07:00
Amruta Kulkarni
f6032d1c4a qcacmn: Generate Link Specific Assoc Response
Generate link specific association response for
MLO partner links.

CRs-Fixed: 2970626
Change-Id: I48520290c09f48ce356d166e1cd2ef24938e8fb2
2021-08-03 06:55:23 -07:00
Chaithanya Garrepalli
d7637a443d qcacmn: Add handling for rxdma_rx_flush and invalid psh_rsn
In WBM error path, add handling for packets received with
rxdma_psh_rsn as rxdma_rx_flush. Also add assert for packets
received with an invalid push reason.

Change-Id: I4e445d52f00bbbdca358225aef488da0e8dccaa7
CRs-Fixed: 2978262
2021-08-03 04:36:34 -07:00
Shashikala Prabhu
503a5adb9c qcacmn: Add a function pointer to convert host vdev param to FW
Add a function pointer to a function that converts host vdev param to FW
vdev param.

Change-Id: I01557d8bd87cb82548114626ff726aabba01dd19
CRs-Fixed: 3005160
2021-08-03 04:36:26 -07:00
Lincoln Tran
bcb4be5bd8 qcacmn: Print the reg rules when parsing the chan list update evt
Add debug prints when parsing the EXT chan list update event to dump the
reg rules received. The regulatory info is often updated and new bugs
are introduced every time so the prints will help narrow down the issue.

Change-Id: I229fa2e1432786c9a530f3a6035926135b2c4e2f
CRs-fixed: 3001297
2021-08-02 15:49:13 -07:00
Amit Mehta
e1bfd2dbdc qcacmn: Acquire lock while accessing rx tid in rx defrag store fragment
Currently, we are Flushing fragments for peer as part of rx defrag
clean up. There is the possibility that frag flush is called while
we are accessing frags in rx defrag store fragment path in parallel.
Which will cause access after the free issue.

Adding lock in rx defrag store fragment path to avoid any
parallel flush while accessing the frags.

Change-Id: Ic27caab58429d776449f4b774eb7163ffa6215ac
CRs-Fixed: 2995156
2021-08-02 10:56:55 -07:00
Wu Gao
edb2db465f qcacmn: Add exit log for target_if_dbr_fill_ring
It takes long time to init DBR, so add more log to trace the time when
exit target_if_dbr_fill_ring.

Change-Id: I9ec76c92db209a44c277b0f9e1840e6dd0132559
CRs-Fixed: 3002654
2021-08-02 07:06:36 -07:00