Commit-Graf

2904 Incheckningar

Upphovsman SHA1 Meddelande Datum
Pavankumar Nandeshwar
d7908ff22a qcacmn: Add txrx_peer in dp peer
Add txrx_peer in dp peer which will be used in
per packet data path.

Change-Id: I91f10b1640430300f4c9f002ca54b3903c556d41
2022-01-06 07:55:43 -08:00
aloksing
d57064662f qcacmn: ratetable entries for 11BE
Add rates as per 11BE and
define valid mask for EHT mode.

Change-Id: I5551d2ea327d010d24abe0f52782fe5373883d79
2022-01-05 21:41:58 -08:00
aloksing
2491f91f55 qcacmn: ratetable changes for 11BE
modify dp_getmodulation and dp_getrateindex to pass puncturing mode
update DP_RATE_TABLE_SIZE to support 11BE

Change-Id: I7f59b29c18d882b541dca0477c7ed6c8cff4da59
CRs-Fixed: 3098366
2022-01-05 21:41:52 -08:00
Harsh Kumar Bijlani
84e111db2a Revert "qcacmn: Use atomic variant of qdf_mem_malloc for vdev stats"
This reverts commit Ia36a41deb5ba882adb0727538c085c33c7e38b7c.

Change-Id: I01b43f4552c4101e4d81ccc4ccb6c6d2405e5cdc
CRs-Fixed: 3103009
2022-01-05 00:34:18 -08:00
Jianmin Zhu
326f1015bc qcacmn: Add mpdu tx retries stats
Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.

Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.

CRs-Fixed: 3099490
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a
2022-01-04 02:53:18 -08:00
Neha Bisht
631d7e1a7d qcacmn: Prefetch tx desc and nbuf in lithuim Tx. send path
Prefetch tx desc and nbuf in lithuim Tx. send path.
This improves the UDP DL CPU idle% by ~1.5%

Change-Id: Ibd31d979c859824ed9f6b34a2685f8b9c4a7635d
2022-01-03 04:54:13 -08:00
Chaithanya Garrepalli
2c1ccc9baf qcacmn: Fix NAWDS mcast loopback issue in intraBSS
For NAWDS intraBSS mcast traffic add check for SA
and DA peer to avoid loopback

Change-Id: Ifb987dbfe6d6f427cd8873315d4ffd67390b4e6f
2022-01-03 01:03:59 -08:00
Sai Rupesh Chevuru
6bbb8971e2 qcacmn: Fix for ping issue in NAWDS Learning repeater mode
In qcn9224, NAWDS Learning repeater mode will receive packets
with reason as HAL_RXDMA_UNAUTHORIZED_WDS.

Change-Id: I6fe8428a5f8e2bac0e1db45b87169db0bd4cc271
2021-12-30 03:23:12 -08:00
Jeevan Kukkalli
3250ae1f63 qcacmn: Reset monitor configured status flag after filter update
Reset monitor configured status flag after filter update
so that monitor buf ring filters are reset properly

Change-Id: Ia575ddc36241ecd6afba0e2c2861bdd39b430da9
CRs-Fixed: 3099219
2021-12-29 12:34:10 -08:00
Jinwei Chen
61a06721b0 qcacmn: fix unmapped REO queue address for MLO roaming
During MLO roaming, first link peer has unmapped REO queue Desc
address due to roaming is in progress, but 2nd link peer still send
stale REO queue Desc address to FW, SMMU fault will be captured if
REO access to this stale REO queue Desc address.

Add roaming in progress and REO queue address check before
sending WMI PEER_REORDER_QUEUE_SETUP_CMDID

Change-Id: Ic868685d98b802fa904ed440cdbb3cef908c6d95
CRs-Fixed: 3101658
2021-12-29 10:35:36 -08:00
sandhu
ad2829718c qcacmn: Remove IP from files
remove IP from code

Change-Id: If119a4af213b10aadb9f1344e50b0342e72405c2
CRs-Fixed: 3073864
2021-12-29 04:28:58 -08:00
Harsh Kumar Bijlani
2832d48c89 qcacmn: Use atomic variant of qdf_mem_malloc for vdev stats
Use qdf_mem_malloc_atomic for memory allocation while fetching
vdev stats.

Change-Id: Ia36a41deb5ba882adb0727538c085c33c7e38b7c
CRs-Fixed: 3097703
2021-12-29 02:55:10 -08:00
Chaithanya Garrepalli
0ead24e9f6 qcacmn: Correct ml peer_id check in partner chips map
In dp_mlo_partner_chips_map API correct the ML peer_id
check

Change-Id: I036e725571d922a3d01f3f07e16bda755f6f966e
2021-12-28 10:52:03 -08:00
Rakesh Pillai
125174cdd1 qcacmn: Initialize only one RXDMA Monitor Status ring
For WCN7850, the first mac (i.e.. MAC0) is capable of
2G/5G and 6G data transfer. Hence initialize and use
only on RXDMA monitor status ring.

Change-Id: Idb6e23a887a9ed32a52dd54765e5ed3c6a12df06
CRs-Fixed: 3094138
2021-12-28 10:51:54 -08:00
Naga
719e163615 qcacmn: Change to make monitor ops per soc
- make monitor ops per soc, so that when ops are
  reset it will not impact other soc.
- reset filter setting during pdev deinit.

Change-Id: Ic40582fc1d03343d0bfaf879177212ecb83ae058
CRs-Fixed: 3086841
2021-12-27 23:39:49 -08:00
Jinwei Chen
1c27daa164 qcacmn: Remove HW CC CMEM cleanup for Kiwi
For Kiwi, if force device wake mechanism is enabled for register
writing, host will try to wake up UMAC before writing real register,
this also happened for CMEM write. but during soc deinit/detach
period, device might already lose power supply and then UMAC can't
be awake from host view result in panic.

Remove HW CC CMEM cleanup which is not necessary for Kiwi as
CMEM will be re-configured during next boot up.

Change-Id: I515308c065eefbba896cb232773b8d7ffc32d385
CRs-Fixed: 3097991
2021-12-27 13:00:41 -08:00
Chaithanya Garrepalli
9764cf5e3d qcacmn: Fix double free in MEC notify event
Fix double free of tx descriptors with MEC notify
event

Change-Id: I7456b14e8872fd7732afade7d49134c1fca9284b
2021-12-24 10:33:53 -08:00
Tallapragada Kalyan
0156c41d12 qcacmn: store per page descriptor index instead of descriptor count
store per page descriptor index instead of descriptor count
in the link descriptor cookie

Change-Id: I719bd5707e6c7f11d7cd159974b5255cd845f2bc
2021-12-24 09:13:18 -08:00
Naga
984bfae507 qcacmn: Enable timer based low threshold interrupt
Enable timer based low threshold interrupt for waikiki monitor
tx/rx source rings

Change-Id: I8c422b4157d0077cfa211d1b754fecbb2b98fad6
2021-12-22 23:01:55 -08:00
Sai Rupesh Chevuru
90b1e60e57 qcacmn: Upgrading to htt_tx_wbm_completion_v3
Due to overlap with WBM block in QCN9224,
upgrading to htt_tx_wbm_completion_v3.

Change-Id: If6f7fd64686c9c1b35b253930e7918f570bd547c
2021-12-22 10:43:58 -08:00
Chaithanya Garrepalli
2f1a13fd88 qcacmn: Change bank profile init to soc init
As bank registers need to be reconfigured after
soc deinit. Initialize bank profiles in SOC init
instead of SOC attach

Change-Id: I3baaf62e1cb73d2882d03012e9e078523dcfe736
2021-12-22 00:54:17 -08:00
Kai Chen
d93357ef5d qcacmn: Move CCE and flow hal implementation to per chip
Move CCE and flow hal implementation to per chip hal layer.

Change-Id: I95a37d8bab00cdecfd6e8ae9a724b8c5541b336e
2021-12-21 11:41:42 -08:00
Chaithanya Garrepalli
ed4b7bf28b qcacmn: Write Rx desc SPT on partner SOC
Changes to write Rx descriptor secondary page
tables on partner SOCs.

Change-Id: If89eff3425078aebb975463a01d0a45c9f5a21db
2021-12-21 01:10:24 -08:00
Himanshu Batra
f49b3a1753 qcacmn: Cfg changes for IPA offload support
Cfg changes for IPA offload support.

Change-Id: If477db8e958b22634e1505f3e4319c7aa0cc6ef4
2021-12-20 22:45:22 -08:00
Himanshu Batra
a83d7d4111 qcacmn: Modify IPA object cleanup path
Currently ipa object cleanup is happening as part of pdev destroy.
Move it to deinit API of IPA

Change-Id: Id36648397102fa47ad1d29f99f2f152f40663f36
2021-12-20 22:45:17 -08:00
Chaithanya Garrepalli
5d1783fbc9 qcacmn: Correct DSCP to tid progamming for QCN9224
Fix DSCP to TID table programming issue for QCN9924

Change-Id: I698beb7bf475939b8477127b4950bc0d0cf9a791
2021-12-17 13:24:41 -08:00
Chaithanya Garrepalli
f275b95674 qcacmn: Add NULL check for mon_pdev
Add NULL check for monitor_pdev in
dp_disable_enhanced_stats

Change-Id: I0fc67048eefec6868d81be950d73aa8ec77d3317
2021-12-17 03:10:15 -08:00
Rakesh Pillai
615c512921 qcacmn: Enable interrupt based processing in monitor mode
Enable the interrupt based processing in monitor mode
for WCN7850, by enabling MSI interrupts for rxdma
monitor destination ring.

Change-Id: Ia3c4456d28ed58c8ef49a7aa8e711076fbdf9415
CRs-Fixed: 3094129
2021-12-17 01:04:29 -08:00
Harsh Kumar Bijlani
3d110477b5 qcacmn: Correct computation of avg_rx_rate and last_snr for peer
Stats avg_rx_rate and last_snr for peer are updated in Rx PPDU
indication path. Logic for updation of these stats is incorrect.

Correct the computation of these stats.

Change-Id: I276d0d6c81d45818bf771c3c0565fe4bb259c49d
CRs-Fixed: 3091679
2021-12-17 01:04:18 -08:00
Manoj Ekbote
6d737bd946 qcacmn: Fix build issue
Fix build issue for HMT

Change-Id: If99b2ced9e726217502742fc285a343e7ae30d2b
2021-12-16 14:03:49 -08:00
Sai Rupesh Chevuru
b43e679a58 qcacmn: Multicast support for MLO
Multicast support for MLO
1. Following functions are newly added.
	dp_rx_igmp_handler()
	dp_tx_mlo_mcast_handler_be()
	dp_rx_mlo_mcast_handler_be()
	dp_mlo_get_mcast_primary_vdev()

Change-Id: If215f843369e6e2621ef302b924e524c86f0d30b
2021-12-16 05:35:30 -08:00
Rakesh Pillai
63ea23ade1 qcacmn: Parse 64-bit TLVs in monitor status ring for WCN7850
In WCN7850, the tlv header width is 64-bit and the tlv header
start is 8-byte aligned inside the monitor status ring desc.

Add changes to parse the monitor status ring TLV according
to the TLV header width.

Change-Id: I19860b871abbc3037174b9d0ae5ed6e52b1eb736
CRs-Fixed: 3084443
2021-12-15 08:44:09 -08:00
Rakesh Pillai
0115477838 qcacmn: Monitor mode ring process changes for WCN7850
In WCN7850, there is only one common RXDMA dst ring for
both the mac.

Add changes to process the common RXDMA dst ring for
status TLVs corresponding to either MAC monitor status
ring. Also use arch ops to get rx_desc from sw_cookie.

Change-Id: Ia2c004755bc4389b587d995286093a519b995cab
CRs-Fixed: 3084442
2021-12-15 08:44:04 -08:00
Rakesh Pillai
63233c05dd qcacmn: Initialize only 1 RXDMA DST ring for WCN7850
WCN7850 has only one RXDMA DST ring, as opposed to other
lithium family chipsets, which had 2 RXDMA DST ring.

Refactor the code to pick the number of rxdma destination
rings from CFG context.

Change-Id: I20d475c02690043e969bc7a78605809b8c6814ae
CRs-Fixed: 3084440
2021-12-15 08:43:59 -08:00
Yeshwanth Sriram Guntuka
454c7361e1 qcacmn: Check for system PM state before SW2TCL HP update
In SAP mode, intrabss forwarding can happen when system
suspend is in progress. This could potentially result in
a scenario where SW2TCL HP update goes through after
WOW_ENABLE command is sent to FW.

Fix is to check for system PM states and do an explicit
system wakeup if tx packet gets enqueued to SW2TCL after
wow is enabled. Flush the SW2TCL HP on system resume.

Change-Id: I8dcd108b0dc1d703168f2f7a0ef0627e4dc0b103
CRs-Fixed: 3087727
2021-12-15 07:39:59 -08:00
Ananya Gupta
e5a33cd5b6 qcacmn: Fix reo reinjection path
Add 2 hal soc ops, hal_msdu_desc_info_set and
hal_mpdu_desc_info_se for berilliyum datapath.
Attach hal_rx_msdu_ext_desc_info_get_ptr_be to its function
pointer.
Get reo queue descriptor address as a 5 byte value as in
beryllium datapath it is being obtained from rx packet tlv.

Change-Id: Ia58597384e1a3d5eec493b865a88bab4f209502d
CRs-Fixed: 3084532
2021-12-14 21:22:54 -08:00
Yeshwanth Sriram Guntuka
de814c9b16 qcacmn: Trace del reg write, ce tasklet latency, tx, and rx pkts
Use the tracepoints to trace delayed register write, ce
tasklet scheduling latency, tx, and rx packets.

Change-Id: I63a89276177a9d0466dcb0c831eeb8e938a2bf79
CRs-Fixed: 3081870
2021-12-14 21:22:49 -08:00
Manoj Ekbote
80e882aa2a qcacmn: Intra-BSS changes for MLO
Use chip ID and destination peer to determine the target soc
and partner vdev for Intra-BSS in MLO case.

Change-Id: I709c52e74426c5e81b50c8063cad7669c0e7002d
2021-12-14 18:13:29 -08:00
Jinwei Chen
96a3c195c2 qcacmn: change parameter name 'is_assoc_link' in cdp_peer_setup_info
Currently is_assoc_link flag in cdp_peer_setup_info just means first
link peer during MLO connection, but usually assoc_link is the
link which initialize MLO association and it will be the primary_link.
this introduce confusion with another flag is_primary_link.

Change it to 'is_first_link' in cdp_peer_setup_info

Change-Id: I8d14da73e6a3bbc39a4a527d6c0aa5667255e995
CRs-Fixed: 3090270
2021-12-14 14:09:34 -08:00
aloksing
073955c672 qcacmn: Add missing endif for Wikiki
Add missing #endif for QCA_ENHANCED_STATS_SUPPORT

Change-Id: I0123b8c6afeb280bd3ddeda87da26328fea38aad
CRs-Fixed: 3092380
2021-12-14 05:24:45 -08:00
Chaithanya Garrepalli
f1e8e24f1a qcacmn: Change vdev aggregate stats for MLO
In Vdev aggregate stats get peer stats from MLO peer
if peer is primary link peer

Change-Id: I8c9e2406199cee05c5d81764d0187670c611402c
2021-12-13 04:55:10 -08:00
Karthik Kantamneni
e79b8799c1 qcacmn: Fix compilation error in flow control switch case logic
In flow control code switch logic break statements are not used
intentionally, but compiler is treating this as error.
So to avoid compilation error add fall through comment.

Change-Id: Ic79b75c48554182fba7c4c0f3885e3a44347e2e7
CRs-Fixed: 3090182
2021-12-13 00:45:17 -08:00
aloksing
9a4ae1a05a qcacmn: print tx/rx stats for 11BE
Add and initialize function pointer to print BE/LI stats

CRs-Fixed: 3071271
Change-Id: Ib9748d475ac583b7404fcc5f1207b8019c7671a6
2021-12-09 11:17:34 -08:00
aloksing
b726e009e7 qcacmn: rx stats update for WKK
Add function pointer to update stats for LI and WKK
Add new fields in structure cdp rx stats

CRs-Fixed: 3071271
Change-Id: I6a1d7afbdfe47d171335d55bf66d210d785f5a03
2021-12-09 11:17:28 -08:00
aloksing
b093d034a4 qcacmn: tx stats update for WKK
Add function pointer and initialize with function
to update stats for WKK
Add new fields in structure cdp tx stats

CRs-Fixed: 3071271
Change-Id: Ib1fd867e414b8a61cff4f462434c51541f925f62
2021-12-09 11:17:23 -08:00
aloksing
3637ac16b0 qcacmn: Move monitor mode HTT parsing from mon_1_0 to common
Moving HTT parsing to common file dp_mon.c
Initialize function pointer to stats ind handler for BE

CRs-Fixed: 3071271
Change-Id: I08fb98f8dbed075c3b49baebca399771bfb5077c
2021-12-09 11:17:17 -08:00
Harsh Kumar Bijlani
974b9bee85 qcacmn: Correct the computation of pdev stats for ifconfig output
Memset Rx ingress stats of pdev to 0 when user makes a request
for ifconfig output for radio.
Also correct the computation of rx_errors stat for ifconfig radio
output.

Change-Id: I78110602b939db0117cf26ca0f8f70cd1ef7b1e8
CRs-Fixed: 3088982
2021-12-08 13:50:22 -08:00
Sai Rupesh Chevuru
deb7bbf8de qcacmn: Fix for HMT SOD insmod crash
In the case of MCC due to low power mode atomic operation in
accessing the bank is resulting the crash.
Fix crash by using spinlock for WIN and mutex for MCC.

Change-Id: I5bb49cbed32e41ad88bfaeb24496adb180e37551
2021-12-08 13:50:16 -08:00
sheenam monga
04fad862b8 qcacmn: conditionally compile dp_mon_register_intr_ops
Currently dp_mon_register_intr_ops is defined conditionally
using DISABLE_MON_CONFIG macro but function call is independent of
DISABLE_MON_CONFIG which may cause compilation issue when
DISABLE_MON_CONFIG is disabled.

Fix is to add void function definition when DISABLE_MON_CONFIG
is disabled.

Change-Id: I5f0bafa1aa3560a5828500a687b8b11178ab945b
CRs-Fixed: 3084193
2021-12-07 22:39:20 -08:00
Harsh Kumar Bijlani
21fb667866 qcacmn: Correct the offsets & byte cnt computation in HTT stats
Offsets used by host for HTT stats are not aligned as per the
structure declaration given in file htt.h .
Make change to use the correct offsets to get the correct stats.

Also make change for byte count computation.

Also make cleanup changes for FR65817.

Change-Id: I8bc6164cc4994c49536d7277779f25b258be1592
CRs-Fixed: 3082742
2021-12-06 21:13:41 -08:00