提交線圖

13307 次程式碼提交

作者 SHA1 備註 日期
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
Shwetha G K
0df8d9a55a qcacmn: Split extract phase tlv functionality
Split the extract phase tlv functionality into two
seprate APIs for code readability. Also add sanity check
for max_aoa_chains.

Change-Id: I2d73ee99cff37872191f8a9258a561d7dbd01808
CRs-Fixed: 2997020
2021-08-02 04:07:10 -07:00
Shikha Bakshi
6494ed4e55 qcacmn: PN check bypass required in WEP mode as welil
There is no consecutive PN number for fragments in
open/WEP security mode so no point of dropping such frames

Change-Id: If75a99cb89c6b0997e9b07afc582c4141c277bb8
2021-08-02 01:59:19 -07:00
Shwetha G K
8c35189d7f qcacmn: Rename leg_cfr_metadata to legacy_cfr_metadata
Change the naming convention of the leg_cfr_metadata to
legacy_cfr_metadata

CRs-Fixed: 2997929

Change-Id: I0f04459d53130b0338316a6b0d01152c536e1c64
2021-08-02 01:59:15 -07:00
Shwetha G K
43a0ba24ca qcacmn: Rename leg_cfr_metadata to legacy_cfr_metadata
Change the naming convention of the leg_cfr_metadata to
legacy_cfr_metadata

Change-Id: I059bcec1075e0e49350c2eb12990ec33a59cc1fd
CRs-Fixed: 2997916
2021-08-02 01:59:10 -07:00
Priyadarshnee Srinivasan
1ad426e648 Revert "qcacmn: Update the max_bw of the reg chan only during CC change"
The max-bw of a reg channel is not updated properly when the regulatory
channel list changes via cmds like setch144. Channel 144 (set via setCh144)
in Japan supports a maximum width of 80 though the reg rules read
160 (CHAN_5490_5730_6). Reducing the maximum bandwidth to 80
is done in reg_modify_chan_list_for_max_chwidth() API which does not
get invoked when setCH144 cmd gets invoked.

reg_modify_chan_list_for_max_chwidth API must be invoked
whenever regulatory channel list is modified. Hence invoke this API from
reg_compute_pdev_current_chan_list.
(Revert ChangeID: I36fb19f727c62bc86d61d81494ca1791a33cf99e)

CRs-Fixed: 2993289
Change-Id: Ic4c372cea0185366fbec387dbf2316cecb288fce
2021-07-31 09:34:36 -07:00
Krishna Rao
dd6ac7346c qcacmn: Add definitions for basic variant Multi Link IE
Add definitions specific to the basic variant of Multi Link IE. These
are based on IEEE802.11be D1.0.

CRs-Fixed: 2996746
Change-Id: I2779b325a74913bca8b1aca7c048f54bccc1d4d5
2021-07-31 00:13:26 -07:00
Krishna Rao
6bfd5d6e4b qcacmn: Add common definitions for Multi Link IE
Add definitions for Multi Link IE which are common to all variants of
this IE. These are based on IEEE802.11be D1.0.

CRs-Fixed: 2995642
Change-Id: I74e6457a5ef2e3c440144c67df11fee621958d4d
2021-07-31 00:13:20 -07:00
Srinivas Dasari
938fd64017 qcacmn: Add extract_roam_scan_chan_list to wmi_ops
Add extract_roam_scan_chan_list to wmi_ops to allow cld driver
to register the corresponding callback.

Change-Id: I71b17b807d183aff31b73a4732d368d1525c118e
CRs-Fixed: 2990390
2021-07-30 21:51:40 -07:00
Srinivas Dasari
ad437e38ec qcacmn: Add extract_vdev_disconnect_event to wmi_ops
Add extract_vdev_disconnect_event to wmi_ops to allow cld driver
to register the corresponding callback.

Change-Id: I3fb891f9a0b4afc92c8a456b2a8fe17bcfecaefa
CRs-Fixed: 2990389
2021-07-30 21:51:35 -07:00
Srinivas Dasari
34285d8716 qcacmn: Add extract_btm_bl_event to wmi_ops
Add extract_btm_bl_event to wmi_ops to allow cld driver to register
the corresponding callback.

Change-Id: I1734f577b07f8c54924a83d3d367e8cdba07f41c
CRs-Fixed: 2990385
2021-07-30 21:51:30 -07:00
aloksing
c60b9619a3 qcacmn: Conditionally compile monitor related features and issue fixes
PATCH[7/7]:
This patch consists following changes:
 -Conditionally compile all monitor destination ring related code
  Macro used QCA_MONITOR_PKT_SUPPORT
 -Add QCA_ENHANCED_STATS_SUPPORT macro to conditionally compile
  enhanced stats support
 -Use QCA_MCOPY_SUPPORT and QCA_TX_CAPTURE_SUPPORT macros
  to conditionally compile MCOPY and Tx capture features
  respectively
 -Use QCN_IE macro to conditionally compile BPR
  feature
 -Use QCA_ADVANCE_MON_FILTER_SUPPORT macro to conditionally
  compile advance monitor filter feature
 -Fix vdev attach issue for special and smart monitor vap
 -Fix status ring initialization issue.

Change-Id: I0deaa28a9a54bf34b0f41e6dd510fdd8d4992db2
CRs-Fixed: 2983780
2021-07-30 21:51:26 -07:00
aloksing
53fe7000ba qcacmn: Move monitor related fields from soc/pdev to mon_soc/mon_pdev
PATCH[6/7]:
This patch consists following changes:
 -Move monitor related pdev variables to struct dp_mon_pdev
 -Move monitor relted soc variables to struct dp_mon_soc
 -Move cookie to monitor link desc va to monitor file
 -Add APIs to access monitor related variables
 -Add dummy APIs to build without monitor support.

Change-Id: I032a480b1383d061f984cee3ba6b10ac7a0ff350
CRs-Fixed: 2983781
2021-07-30 21:51:21 -07:00
aloksing
c4796962ca qcacmn: Monitor vdev and peer attach/detach
PATCH[5/7]:
This patch consists following changes:
 -Monitor vdev context allocation while vdev attach and free
  while vdev delete
 -Monitor peer context allocation while peer create and free while
  peer delete
 -Move monitor vdev timer function to monitor file
 -Move monitor reap timer handler function to monitor file
 -Move monitor timer related variables to monitor file
 -Add timer init/deinit and start/stop in monitor file.

Change-Id: I9c7910671d3678c53ca9ec44a57bc10e892008d9
CRs-Fixed: 2983994
2021-07-30 21:51:16 -07:00
aloksing
e7cc727374 qcacmn: Move core monitor and monitor dependent feature func
PATCH[4/7]:
This patch consists following changes:
 - Move core monitor and monitor dependent feature functions
   to monitor file
 - Move enhanced stats functions from htt to monitor file
 - Move vdev set monitor mode rings function to monitor file
 - Create and initialize relevant funct ptrs
 - Initialize cdp monitor related ops.

Change-Id: Iac1ab43eb1c4b98bd21bbb8a5741ee53034da2f1
CRs-Fixed: 2984635
2021-07-30 21:51:12 -07:00
aloksing
f20f31dc10 qcacmn: Move cdp_mon_ops initialization to monitor file
PATCH[3/7]:
This patch consists following changes:
 -Move struct cdp_mon_ops to dp monitor file
 -Add new function for dp monitor soc cfg initialization
 -Move full monitor mode function to dp monitor file
 -Move vdev set monitor mode function to dp monitor file
 -Move config debug sniffer function to dp monitor file
 -Move set advance monitor filter function to dp monitor file
 -Set monitor delayed replenish entries for target types

Change-Id: If8dac4eedc0c8eb4e956df34c7c3adae8712c840
CRs-Fixed: 2983939
2021-07-30 21:51:07 -07:00