Commit-Graf

3755 Incheckningar

Upphovsman SHA1 Meddelande Datum
Pavankumar Nandeshwar
c27dfcd8ac qcacmn: Add tx desc alloc failure count for PPEDS
Add tx desc alloc failure count for direct switch

Change-Id: I593e5846ab4948edf1e1b955890f167f772e166b
CRs-Fixed: 3526743
2023-06-14 03:12:51 -07:00
Devender Kumar
9d45ad57b0 qcacmn: Fix issue for AP+AP vap where data takes slow path
With EasyMesh disable at runtime data from second vap is taking
slow path, due to wrong metadata mask and session id populated to
IPA driver.

Fix is pass correct metadata and session id based on EasyMesh
status to IPA.

Change-Id: I0735965c0d8bd257492343e3a27f9f1509091b87
CRs-Fixed: 3487546
2023-06-13 15:36:36 -07:00
Chaoli Zhou
44a9cda468 qcacmn: Correct log level for rxdma ring
Change to info level for ring config output.

Change-Id: I27ce1eed23316bd829705e66f37e149be078c179
CRs-Fixed: 3525184
2023-06-13 02:29:15 -07:00
Yeshwanth Sriram Guntuka
778c29b6ce qcacmn: Remove IPA related HAL srng ring id macro
Direct link refill ring HTT setup fails due to srng
ring id mismatch. IPA uses a max of two RXDMA_BUF
rings but the hal srng ring id has a max of 3 RXDMA
ring ids which is causing the ring id mismatch for
direct link refill ring.

The fix is to remove the addition IPA related hal srng
ring id and move the macros appropriately to make
it consistent for both IPA enabled and disabled
cases.

Change-Id: Ieb4bbf646f5f0360e4013ae3e235cc7368087731
CRs-Fixed: 3523851
2023-06-12 16:26:58 -07:00
Pavankumar Nandeshwar
876f765030 qcacmn: Include Umac reset irq line only when enabled
Include Umac reset irq line in the mask table only
when it is enabled for 8 msi group to make sure
the legacy devices are not impacted.

Change-Id: If8f6b7f948a7c9f45247e8ff934642f0a532ff0d
CRs-Fixed: 3499500
2023-06-12 05:21:40 -07:00
Rakesh Pillai
16455833fa qcacmn: Add support to change vdev for MLD peer
Add CDP API support to change the vdev for MLD peer.

Change-Id: I373baab69bf1a63a8aa5ea35e0444f2a466fa14a
CRs-Fixed: 3523523
2023-06-09 23:59:23 -07:00
Shwetha G K
266f12b393 qcacmn: Fix invalid num_mu_users in CFR metadata
Changes to fix the invalid number of MU users reported
in CFR host metadata.

Change-Id: Ieed065d23881eb0714dec8476dd22e938ea1fa31
CRs-Fixed: 3523604
2023-06-09 23:59:13 -07:00
Kenvish Butani
6f0ea851ba qcacmn: Add iteration logic to reset MCAST Primary Flag
For every set Mcast Primary Flag call from CP, DP will
set the mcast primary flag for that particular vdev of
MLO and reset mcast primary flag for all the other
vdev's of MLO

Change-Id: I4fff532e5e30d1346fa9e9ad72d72af2e1c6f768
CRs-Fixed: 3520617
2023-06-09 13:50:46 -07:00
Kenvish Butani
8ab3e327e2 qcacmn: Fix the OOM issue seen in ol_stats disable path
currently in disable ol_stats path, if disable ol_stats
is triggered for any pdev, then due to MLO link stats we
disable ol_stats on all pdev's. if the pdev deinit is
already happened then we skip disabling it and dont send
h2t complete free nbuf message, creating OOM. Fix is to
remove the pdev deinit check and disable ol_stats only
for particular pdev and not pdev of MLO.

Change-Id: I6171c6f545ed823cdec211c6ac00b8e0ff93211a
CRs-Fixed: 3511913
2023-06-09 13:50:25 -07:00
Aditya Kodukula
4cbabdad1c qcacmn: Fix typos in cmn
Fix typos spanned over multiple files in cmn.

Change-Id: I9886114cd9cde934e084d0977e6272f8dd04df76
CRs-Fixed: 3521888
2023-06-07 13:58:38 -07:00
Harsh Kumar Bijlani
ee6f5e4069 qcacmn: Update rx_avg_snr with CDP_INVALID_SNR on clear stats command
Update rx_avg_snr with CDP_INVALID_SNR on clear stats command

Change-Id: I7e91d84af2b2e3b74dc90591912aa4c98e651ce3
CRs-Fixed: 3520752
2023-06-07 09:04:16 -07:00
Harsh Kumar Bijlani
e0e7eaeba6 qcacmn: Optimize Tx and Rx monitor stats update code
Optimize Tx and Rx monitor stats update code by replacing
multiple if checks with switch case statements

Change-Id: I07dd7784dccdfe0cf0e1ade822746d0c6f55cd95
CRs-Fixed: 3511037
2023-06-07 07:01:06 -07:00
Ruben Columbus
d8334769f4 qcacmn: qref debug memory tracker
add multiple history array to keep track of mem allocation and
deallocation for qref table.

Change-Id: I9fa97fbe5a5c36509cbb5a458851a152200318a5
CRs-Fixed: 3475981
2023-06-05 20:24:08 -07:00
Rakesh Pillai
844d0c7af8 qcacmn: Remove self peer creation for vdev
Currently there is a self peer created for a
vdev created in station mode, which is not necessary
for kiwi target.

Add support to disable self peer creation
for vdev.

Change-Id: Ib9d63aef392be66bd0675960a0abfc73c6462d2c
CRs-Fixed: 3517791
2023-06-05 16:10:36 -07:00
KARTHIK KUMAR T
080c5089fd qcacmn: Add new API to get partner soc
added a new API to get partner soc by passing chip_id
while adding and deleting flow entry.

Change-Id: Ib1d8c0dedb8e11d164f00791e59cf52ef8332cb5
CRs-Fixed: 3508805
2023-06-05 13:53:13 -07:00
Amit Mehta
bc2323fc08 qcacmn: Only allow connectivity logging for STA mode
Currently connectivity logging is done for all opmode
but logging should be done only for STA mode.

So to fix the issue add check for opmode and skip
connectivity logging if opmode is not STA

Change-Id: Ie6175a02c8167f5ebfd81553837206640431f701
CRs-Fixed: 3515365
2023-06-05 08:33:55 -07:00
aloksing
a0805fb4d0 qcacmn: Fix double free of frags
When decap type is invalid, freeing nbuf and while next monitor
buffer tlv picking last nbuf from queue. which has allocated frags
and valid data. expecting MPDU END TLV for previous mpdu
before monitor buffer tlv to allocate new nbuf.

Set rx_hdr_rcvd to false when we receive invalid decap type.

CRs-Fixed: 3503694
Change-Id: I97ede9e52df580769b78afc767ba9528914b3ea5
2023-06-05 03:40:10 -07:00
Rakesh Pillai
b0656c1bf0 qcacmn: Fix cdp api to get hal_soc handle
Fix the CDP API to get the hal_soc handle.

Change-Id: Ifdc33e1499a8269aa63d1f059b086c0dd4d8c142
CRs-Fixed: 3512047
2023-06-03 13:44:01 -07:00
Rakesh Pillai
3fab5bd196 qcacmn: Add CDP support to set vdev mac address
Add CDP API support to set vdev mac address.

Change-Id: I3dc6ba5abda04a3b566b8c6c1dd9ff5daa80f362
CRs-Fixed: 3517762
2023-06-03 06:57:04 -07:00
Sai Rupesh Chevuru
b4be829c2e qcacmn: cleanup the link peers before mld peer deletion
During the mode0 target recovery cleanup the link peers
before ml peer deletion.

Change-Id: Ie0037056c2b44f50a64787fa75b5c2d8690e4224
CRs-Fixed: 3515517
2023-06-03 04:27:47 -07:00
Karthik Kantamneni
fb80921508 qcacmn: Sync DP soc/pdev cfg with profile
Sync DP soc/pdev config items with profile selected.

Change-Id: If7fd67117ac512b57934b2d30c00ce8422130970
CRs-Fixed: 3504105
2023-06-02 16:51:02 -07:00
Sachin Kohli
46fcdcfef8 qcacmn: Adding support for IRQ_DISABLE_UNLAZY flag for PPEDS interrupts
Support for setting and clearing the IRQ_DISABLE_UNLAZY flag
during registering and freeing of PPEDS interrupts respectively.

Change-Id: I4a512e434315d2c981e890661adb5686bdb563bc
CRs-Fixed: 3509601
2023-06-02 16:50:53 -07:00
Mukul Dhiman
24fcc62ef2 qcacmn: Fix ol_stats enable if MLO is disabled for BE platforms.
On BE Platforms, currently if MLO is disabled, ol_stats does not
get enable on any soc. Fix is to enable ol_stats on particular
soc if MLO is disabled

Change-Id: I715f06776eda9539f68f440f86e3a403a6b14fa5
CRs-Fixed: 3508711
2023-06-02 16:50:02 -07:00
Jinwei Chen
5e84f6fe25 qcacmn: use right TLV tag header length for peach
In monitor mode, TLV tag header length should be 4 bytes for peach,
fix it.

Change-Id: I78beca168add8626c0fa99bfa407101ce4d36b30
CRs-Fixed: 3512227
2023-06-02 16:49:12 -07:00
Sai Rupesh Chevuru
0cdd3f48a7 qcacmn: Do not flush SLO peers in mode1 recovery
Do not flush SLO peers in mode1 recovery.

Change-Id: Ie2f9d07943a48c21dd786afe0421672b1315f3bb
CRs-Fixed: 3512377
2023-06-01 23:19:36 -07:00
Karthik Kantamneni
7990bb266d qcacmn: Add cdp params to configure soc/pdev cfg items
Add soc/pdev level cdp config params, so that these can be used
to get and set config context items.

Change-Id: I6cfeafb4333bf2f267121dce37b64f22cb86e98c
CRs-Fixed: 3502588
2023-06-01 07:30:59 -07:00
Nandha Kishore Easwaran
b88e368419 qcacmn: prefetch only required fields in skb
Remove prefetch of data + 128 since skb fields in that offset
are not usied when processing. Also, prefetch next->data, so that
there is no cache miss.

Change-Id: Ida9fc7e4db86e181de82acb2364dd63d37d51e2c
CRs-Fixed: 3505042
2023-05-31 23:38:46 -07:00
Shashikala Prabhu
925a2a3d1c qcacmn: Define umac reset API under 11BE MLO compile time macro
dp_umac_reset_is_inprogress() unknown symbol issue is seen for the customer
profile. The definition of this API is present in dp_mlo.c file which is
complied when WLAN_MLO_MULTI_CHIP compile time macro is enabled.
For the customer profile, DP_UMAC_HW_RESET_SUPPORT is enabled and
WLAN_MLO_MULTI_CHIP is disabled. Hence unknown symbol issue is seen.

To fix this issue, call dp_umac_reset_is_inprogress() defined in dp_mlo.c
file if DP_UMAC_HW_RESET_SUPPORT, WLAN_MLO_MULTI_CHIP and
WLAN_FEATURE_11BE_MLO are defined.

Change-Id: Ibc91ff73595bc502e970375f59515a2a523e19b2
CRs-Fixed: 3512322
2023-05-31 19:08:23 -07:00
Sai Rupesh Chevuru
764bbf4192 qcacmn: clear the peer ref from obj_map during soc detach
In the case of mode1 target recovery a single soc can go down,
as part of obj_map detach clear the peers if any exists.

Change-Id: I977a152eafe6659b951018f19cf2afc2431e7713
CRs-Fixed: 3512361
2023-05-30 06:06:10 -07:00
Rakesh Pillai
01e112b3a8 qcacmn: Fix compilation error for TX multipass to repeater
In case when repeater is not supported for TX multipass,
there is a compilation error due to implicit definition of
dp_tx_multipass_send_pkt_to_repeater.

Fix this compilation error by adding a stub function.

Change-Id: Iad5d19d1d72fc0d2594c893f610de8647308bce0
CRs-Fixed: 3511618
2023-05-30 06:06:01 -07:00
Naveen S
450a3d2fa4 qcacmn: Fix for qdf spinlock destroyed twice or never created
Fix for qdf_spinlock_destroy being destroyed twice or never created.

Change-Id: Ib45843ecd1c859be112fb75d218aa3d01e6ccdcf
CRs-Fixed: 3471529
2023-05-30 02:57:53 -07:00
Zhiwei Yang
eb95c8b60f qcacmn: Correct spelling errors
Correct spelling errors
s/QCA_PADDR_CHECK_ON_3TH_PLATFORM/QCA_PADDR_CHECK_ON_3RD_PARTY_PLATFORM

Change-Id: I92e22fb116e4505c43c604a86a90ed507a277ef4
CRs-Fixed: 3462780
2023-05-29 20:44:02 -07:00
Karthik Kantamneni
8487e8e057 qcacmn: Add new set and get APIs to manage cfg items
Add new set and get APIs for cfg items so that
those cfg items can be managed from the external
components.

Change-Id: I52eb747fc6c544cfe43273c3b8b0fcc27b5a4a5f
CRs-Fixed: 3502582
2023-05-29 18:27:12 -07:00
Zhiwei Yang
617367f8d2 qcacmn: Fix txrx_stats not completely cleared
In some mode txrx_stats can't be cleared completely such as NDP.
we need to iterate each vdev and clear their tx/rx stats.

Change-Id: Iab45742dbe914b7354ad5593d7ee14b9e109cef6
CRs-Fixed: 3475177
2023-05-29 18:27:01 -07:00
Jeevan Kukkalli
958704d20e qcacmn: Make dp_rx_mon_append_nbuf function public
Function dp_rx_mon_append_nbuf is now accessed outside
the file where it is declared hence make it public

Change-Id: I6b596815a385ba367f70b9e5ea07c94520cca253
CRs-Fixed: 3488043
2023-05-29 12:54:57 -07:00
Amit Mehta
34497ea2d1 qcacmn: Add changes to get link ID in Tx/Rx Path
Add changes to get link ID in Tx/Rx Path

Change-Id: I6b52093697b138e5a5d3878af2dd8db0d65cc488
CRs-Fixed: 3450541
2023-05-28 09:28:46 -07:00
Yeshwanth Sriram Guntuka
4dc955351e qcacmn: Move prealloc DP descriptor types to QDF
Move prealloc DP descriptor types to QDF so that
the macros can be used in HIF layer.

Change-Id: I3de60876735e5aa37d80e9e698a86503b18574c1
CRs-Fixed: 3502615
2023-05-26 16:06:57 -07:00
aloksing
f5b6ab7666 qcacmn: Add check for sawf stats
Update deter stats only when sawf stats is enabled

CRs-Fixed: 3507349
Change-Id: I463750904cdec889274fb94ff1a0544545c1e0d0
2023-05-26 16:06:27 -07:00
Rakesh Pillai
aac2d20277 qcacmn: Add support to get hal_soc handle via CDP
Enhance CDP interface to get hal_soc handle.

Change-Id: I83fbb9d12487668603c90a621ecb9851860b3a56
CRs-Fixed: 3505717
2023-05-26 10:28:07 -07:00
Rakesh Pillai
b361da4fea qcacmn: Cleanup CMEM allocation code
Currently the CMEM allocation code is duplicated
for Cookie conversion and FISA.

Cleanup the CMEM allocation code.

Change-Id: Ifdb912fe464abaa7be0ab8b2294155984dbd662e
CRs-Fixed: 3504668
2023-05-26 10:27:56 -07:00
Surabhi Vishnoi
d1895e091c qcacmn: Add support to parse HTT_PPDU_STATS_FOR_SMU_TLV
Currently NSS is required for packet capture mode to derive tx rate
and firmware sends NSS part of ppdu stats in new ppdu stats tlv
HTT_PPDU_STATS_FOR_SMU_TLV.
Add code to parse ppdu stats if feature is enabled via ini and
send the ppdu stats using wdi event to packet capture
component.

Change-Id: I5567007a91093dd342f37458760b3a61c040b778
CRs-Fixed: 3462436
2023-05-26 04:14:19 -07:00
Namita Nair
ce47d03e6b qcacmn: Fix to release lock correctly in DP_PRINT_STATS
Currently, sysfs_write_user_buffer spinlock is not
released correctly in DP_PRINT_STATS() when the
buffer size reaches max value. This is causing a
soft lockup, when the next DP_PRINT_STATS() call
is waiting to acquire the spinlock.
This change prevents the softlockup by properly
handling the release of the spinlock.

Change-Id: I13c3e26f7a26b501c5d23b8dc4b978f61beeabd0
CRs-Fixed: 3495547
2023-05-26 02:02:33 -07:00
Devender Kumar
ccf5cf6ede qcacmn: Modify the TX ring id for IPA to support split phy
Modify the primary and alternate TX ring ID for IPA.
Primary TX ring id is set to 2, Alternate TX ring id is set to 3.

Change-Id: I88a479f67edc34794ccac5d82c8adc358b27760e
CRs-Fixed: 3445325
2023-05-25 14:00:15 -07:00
Devender Kumar
ba346d4cf9 qcacmn: Fix Tx queue selection when IPA is enable for V2 CPE
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX ALT data ring.

Change-Id: I37d4ed564ca3333effe83277469ae3a9aecf7295
CRs-Fixed: 3445325
2023-05-25 13:59:48 -07:00
Rakesh Pillai
2453258a96 qcacmn: Pass SoC as args for dp_tx_desc_release for Rhine targets
Due to a change in proto-type for dp_tx_desc_release, there is
a compilation failure for Rhine targets.

Fix the compilation failure for Rhine targets by passing the
required args for dp_tx_desc_release.

Change-Id: I422c0fe3a4e96c9e2c3cd42963236159a71a244e
CRs-Fixed: 3507470
2023-05-24 21:40:13 -07:00
Bing Sun
415a9c3a40 qcacmn: Free every nbuf in the list before reset the list
nbuf is queued to head_nbuf in dp_rx_reo_err_entry_process. Before
reset head_nbuf, free all the nbuf queued to head_nbuf. Otherwise
there is nbuf memory leak.

Change-Id: Ib4bd64b51d750dac972298ddc46acd4294f2ed81
CRs-Fixed: 3449992
2023-05-24 14:28:40 -07:00
Kenvish Butani
0df4b5eaea qcacmn: Optimize DP Rx Error Handling (Part-2)
In WBM2SW Rx Error path for BE
specific functionality
1) HAL API's/Function pointers are replaced
with specific function calls.
2) Efficient read/write of WBM Error Info
from HAL Rx desc.
3) Minimize reading data from Nbuf TLV.
4) Peer_id fix for MLO clients with security

Change-Id: I1c9e6e767bbf6565567d998ae8e1357398de5803
CRs-Fixed: 3486304
2023-05-24 05:19:41 -07:00
Venkateswara Naralasetty
2011633890 qcacmn: fix crash during monitor link desc ring replenish
Currently number of elements per page info is used from the
soc->link_desc_pages for both wbm idle link ring and monitor
desc ring replenish.

Chipsets uses SOFTUMAC architecture does not have WBM component.
So, there is no memory allocation for wbm idle links and
soc->link_desc_pages will not get initialized which results in
crash during monitor link desc ring replenish.

Fix this issue by using the number of elements per page info
from the soc->link_desc_pages for the wbm idle link ring replenish
and from the monitor_soc->mon_link_desc_pages for the monitor
link desc ring replenish.

Change-Id: Ie75561b8e2dd2c926b971c133e9bb704b5901bf5
CRs-Fixed: 3494948
2023-05-23 19:54:11 -07:00
Pavankumar Nandeshwar
5981600c3a qcacmn: Account for global tx desc count during pool flush
Make sure global tx desc count is decremented during
tx desc pool flush

Change-Id: I5ba21cd9a4b1dbd3dbaf55e56a5852fe7703e36c
CRs-Fixed: 3501063
2023-05-23 06:59:50 -07:00
Amit Mehta
382be6ed5a qcacmn: Add new variable to store cfg dp_rx_hash value
Add new variable to store cfg dp_rx_hash value.

Change-Id: Ibac75273d87a6f0870c9d38c97122de3e2775b8e
CRs-Fixed: 3505116
2023-05-23 05:17:05 -07:00