Графік комітів

3725 Коміти

Автор SHA1 Повідомлення Дата
Manikanta Pubbisetty
b5ac9ed64c qcacmn: Record hardware TX descriptor during enqueue for WCN6450
Record hardware TX descriptor history during TX enqueue for WCN6450
(Rhine hardware). This will aid in debugging data path issues.

Change-Id: I99c2a88ca161f89d529cba92692811fadee28938
CRs-Fixed: 3462090
2023-04-13 03:32:51 -07:00
Devender Kumar
ebebca18a9 qcacmn: Add support for enabling TWO tx_pipe
Enable ALT_TX ring for split phy radio.

Change-Id: I71b414c2ead0c25df6009a21a59b4c0d553ce9fd
CRs-Fixed: 3356413
2023-04-13 02:44:29 -07:00
Karthik Kantamneni
dd822c960f qcacmn: Add RX error handling support for RHINE
Handle RX error MSDUs received in normal RX path
in RHINE architecture.

Change-Id: I56a4ef2e52f5b0668436594ca55c1cb0d48f97be
CRs-Fixed: 3456495
2023-04-12 14:53:59 -07:00
Karthik Kantamneni
7d007a3edf qcacmn: Add RX ring based debug history support for RHINE
Add RX debug history support and first packet marking
after WOW for RHINE architecture based RX path.

Change-Id: Ife719bdc3e5031a63b3f97c5842a220caeda8ffd
CRs-Fixed: 3452940
2023-04-12 14:53:48 -07:00
nobelj
3e8ff635aa qcacmn: Add fix to check number of users
Add fix to check number of users to avoid overrun.

Change-Id: I00286db736d10ecfae6ca0c4bfc8850cc9b02178
CRs-Fixed: 3454011
2023-04-12 11:07:57 -07:00
Varsha Mishra
ed8242ce05 Revert "qcacmn: Do not subscribe for MC/BC frames"
Revert commit to not subscribe to MC/BC frames.

Change-Id: I745df3b687d21c95189487daedba5296b471a545
CRs-Fixed: 3458087
2023-04-12 05:04:13 -07:00
Jinwei Chen
9253f32cfc qcacmn: Use HTT_MSDU_QTYPE_USER_SPECIFIED for TX ILP judgement
Per new design, FW will use HTT_MSDU_QTYPE_USER_SPECIFIED instead of
HTT_MSDU_QTYPE_LATENCY_TOLERANT for TX ILP support judgement,
change it in host part accordingly.

Change-Id: I0318801c4fe11ca623a99459d9f6820acb1c8fea
CRs-Fixed: 3462232
2023-04-12 03:20:27 -07:00
nobelj
0660a65062 qcacmn: Add fix to display WDI event and stats count
On txrx_stats 260, wdi event stats are displayed with content as zero.
Which need to be displayed only on non zero value.

Change-Id: I5ad4595e35e977dd141584c92cdc164e153b7c0f
CRs-Fixed: 3454039
2023-04-12 01:33:26 -07:00
Chaoli Zhou
533fc12e2f qcacmn: Fix null pointer issue in LPM case
In the LPM case, if the tx desc has been force
freed in the dp_bus_suspend ->dp_find_missing_tx_comp,
then after data transfer resumed, fw may report
tx complete for the same tx desc, and we should
skip it to avoid null pointer access.
The reason why set default vdev_id to 0xff is:
Since in this case, it happned disconnect before
suspend, so the tx desc pool will be deleted and
reinitalized when resume, so the pdev is null in
the force freed tx_desc and vdev_id should be changed
from 0 to DP_INVALID_VDEV_ID, otherwise the below logic
in the tx complete handler will not skip handling
this freed tx_desc.

if (qdf_unlikely((tx_desc->vdev_id == DP_INVALID_VDEV_ID) &&
    !tx_desc->flags)) {
	DP_STATS_INC(soc, tx.tx_comp_exception,1);
	dp_tx_desc_check_corruption(tx_desc);
	continue;
}

Change-Id: I5f3ff6fd783893f92a0fd6b3db7457b280fcb1c8
CRs-Fixed: 3447465
2023-04-12 01:33:16 -07:00
Amit Mehta
8019cce45c qcacmn: Add new variable in dp peer to store link ID
Add new link_id variable in dp peer to store link ID.

Change-Id: I5445e2adc43c8bec895d79283ba5e5f8d6c0b095
CRs-Fixed: 3443916
2023-04-11 22:38:02 -07:00
Harsh Kumar Bijlani
56c08d2ecf qcacmn: Store MSCS context in MLD peer in case of MLO connection
Store MSCS context in MLD peer in case of MLO connection

Change-Id: I482e2259077eb8c74aeed93beb8472a683ce2817
CRs-Fixed: 3457780
2023-04-10 01:20:06 -07:00
Devender Kumar
b0e26ae525 qcacmn: Add support for Third WKK radio in IPA context
Currently we only support DBDC with IPA, to support
TBTC we need to provide pipe setup for third WKK
radio to IPA, so that IPA can register the pipes
in wlan2 smmu context bank for third WKK radio.

Change-Id: I941c0ddec4f23406aa5acabbfb80a7499d830d75
CRs-Fixed: 3456002
2023-04-10 01:19:56 -07:00
Vignesh C
fa0f65caaa Revert "qcacmn: Add support for HMWDS add and reset cmds in Beryllium"
This reverts commit Iaa110ba26a477fc0b77647a712c377029b038940.

Change-Id: Ifed1cf1e73ac03a09fc03acdc273958c9789f8a8
CRs-Fixed: 3458091
2023-04-10 01:19:45 -07:00
Chaithanya Garrepalli
e61eaa37e2 qcacmn: in fast xmit API memcpy 7 words for AP mode also
As we are using index_look_up_overwrite field in TX
descriptor with WDS_EXT need to reset this field in
FAST TX API even in AP mode

Change-Id: I6027a2d99be715973af5f8091755f0a4a9256010
CRs-Fixed: 3450922
2023-04-09 23:13:26 -07:00
Chaithanya Garrepalli
fdc228f338 qcacmn: Fix intraBSS issue between legacy and MLO clients
Fix intraBSS MCAST traffic issue between legacy and MLO
clients. Fix includes below changes

1. Change get_mcast_primary_vdev to return correct value
in case current VDEV is mcast primary
2. Avoid checking vdev->mlo_dev as it is set only for
mcast primary VDEV
3. In intraBSS ucast case use destination SOC to get the
destination peer with da_peer_id

Change-Id: I0d7a890bc62f703cd92e7c9edc20768a9a487d06
CRs-Fixed: 3456458
2023-04-09 23:13:15 -07:00
Namita Nair
59a36d8e87 qcacmn: Handle deprecated interface calls to IPA
As IPA has moved out of the kernel, ipa_uc_reg_rdyCB
interface call from WLAN is not needed anymore
as ipa_wdi_init_per_inst() initialization call will
handle this. This change will add support to retain
this call only for legacy devices.

Change-Id: Icb479562e091d388e03ef5a38b3e95d4dbf06271
CRs-Fixed: 3459071
2023-04-08 13:33:12 -07:00
Kenvish Butani
d0d9a987fc 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.

Change-Id: Ic8793ffcbeb2411c9b81fb32acae062e8a1f40cc
CRs-Fixed: 3362828
2023-04-07 09:13:49 -07:00
syed touqeer pasha
df5ce68791 qcacmn: Umac reset support for direct switch
Umac reset support for direct switch.

Change-Id: Ic04880549ef4a38c795165e09a9f0d42673ae5f0
CRs-Fixed: 3438456
2023-04-07 06:29:42 -07:00
Chaithanya Garrepalli
9a52f07701 qcacmn: Fix use after free of AST entry
In WDS learn API add changes to avoid accessing the
AST entry which is deleted

Change-Id: I9f0152e72ec99fe0ae6029d5ddbc125f3b1e9d5a
CRs-Fixed: 3453018
2023-04-06 15:03:36 -07:00
Neha Bisht
af9bf76f1b qcacmn: Fix overrun issue of rx_user_info array
Fix overrun issue of rx_user_info array

Change-Id: I09b97f189e52a05aa42cdb0269385b5d9b497313
CRs-Fixed: 3451734
2023-04-06 10:38:46 -07:00
Sushant Butta
623d334801 qcacmn: Fix typo while getting ppdu_info
Use ppdu_free_list_elem while getting
free ppdu_info from kmem_cache.

Change-Id: I4ea921deb962dafd3f751954d6e7d2f1f98d3125
CRs-Fixed: 3455202
2023-04-06 10:38:34 -07:00
jinbao liu
ce762cce81 qcacmn: Fix a coding error of ill use of qdf_mem_set()
There is an ill use of qdf_mem_set() in dp_htt_t2h_msg_handler().
This change fixes this issue by assigning 0 to the local struct
variable instead of the memset, which can also reduce some code.

Change-Id: I303c1adc167a8e1ab82692a294fe28bc4e8a97dc
CRs-Fixed: 3443572
2023-04-05 22:23:53 -07:00
Jinwei Chen
401521fc7c qcacmn: Add DP API to evaluate if TX ILP needs to be enabled
Add DP API to evaluate if TX ILP needs to be enabled,
it is only enabled if following two conditions are met,
(1) INI for TX ILP is enabled
(2) htt msdu index to qtype mapping table index 3 value is
HTT_MSDU_QTYPE_LATENCY_TOLERANT

Change-Id: I4d0c1103941b8b12b8441762dc6b45d28ee1df21
CRs-Fixed: 3447096
2023-04-05 18:26:51 -07:00
Azmath Mohammed
800bc3ca85 qcacmn: Initialized the defined arrays to NULL
Arrays are not initialize and due to which
elements in array might be used uninitialized.
To avoid this case, arrays are initialized to NULL.

Change-Id: Ib83c8f512369f877b9c39d9e6eb431e9bdca7ad9
CRs-Fixed: 3449024
2023-04-05 14:05:46 -07:00
Devender Kumar
576ea0d8b2 qcacmn: Update the DB address pcie status to IPA
With pcie 1 and pcie slot 2, if ipa updates the 40th bit then
access to pcie memory region is going in pcie_0 memory region.
IPA is not allowed to update 40th bit for any address given
from pcie_1 and pcie_2 memory region.

Fix is do not send the pcie update status as true to IPA for DB address,
so that IPA will take long path of mapping the address in smmu context and
then it will access the pcie region.

Change-Id: Ieeaf1262cef927ca89cded3714c6e37550b8f197
CRs-Fixed: 3448895
2023-04-05 09:04:28 -07:00
Harsh Kumar Bijlani
82afb1d8d2 qcacmn: Mask ppdu_id received in Tx HTT PPDU completion path
FW sends ppdu_id for every TLV in Tx HTT PPDU completion path.
This ppdu_id has 8 MSB bits filled with FW metadata which is different
for every TLV. Host uses this ppdu_id for list maintenance.
Presence of the FW metadata results in ppdu_id mismatch for different
TLVs even when they belong to the same PPDU.
Consider only LSB 24 bits for ppdu_id on host side.

Change-Id: Ic6ec780fe97f0597fcd841b33ac0dce33ad986c9
CRs-Fixed: 3445603
2023-04-05 09:04:11 -07:00
Namita Nair
92d4955468 qcacmn: Default routing for SAP mode with IPAoffload
CUrrently if IPA offload is enabled in SAP mode
the default Rx routing is to IPA serviced REO rings.
With this change the default raouting is set to
WLAN HOST serviced REO rings.

Change-Id: Ibf9dead063c9d9fbc6b1fd502342ea13456b2473
CRs-Fixed: 3421879
2023-04-04 19:52:00 -07:00
Ripan Deuri
73e98e34e8 qcacmn: Add CDP op to get SAWF MSDU Queue info
Add CDP op to get MSDU Queue info

Change-Id: If76a6e4209d80e5da6093632e0f3d99b9aeaef77
CRs-Fixed: 3435987
2023-04-03 04:31:44 -07:00
Harsh Kumar Bijlani
af094fe095 qcacmn: Add support to get stats for MLD interface
Add support to get stats for MLD interface in single netdev model

Change-Id: I223a5c003191147970be57b92e99f1df3c66b339
CRs-Fixed: 3444443
2023-04-03 01:36:11 -07:00
Vignesh C
070e8af74f qcacmn: Add support for HMWDS add and reset cmds in Beryllium
Add HMWDS add-addr, rem-addr, reset-addr and reset-table support
to add, reset and remove AST HMWDS mac entries in Beryllium
chipsets.

wlanconfig athX hmwds add-addr wds_ni_macaddr wds_macaddr
wlanconfig athX hmwds reset-addr macaddr
wlanconfig athX hmwds reset-table
wlanconfig athX hmwds rem-addr wds_macaddr

Change-Id: Iaa110ba26a477fc0b77647a712c377029b038940
CRs-Fixed: 3429510
2023-04-03 01:35:47 -07:00
Namita Nair
2859221891 qcacmn: HTT layer fix fail_cnt for opt wifi dp
Move fail_cnt and abort_count to soc->stats
struct, so that we can retrieve stats
during a crash. Also fix few other errors
found during initial tests.

Change-Id: Ieaee10b2dd2b5e589c21aa50c83dcf352623275d
CRs-Fixed: 3428501
2023-04-02 22:58:03 -07:00
Neha Bisht
e12a986996 qcacmn: Fill src_info_valid field in HTT msg to FW
Fill src_info_valid field in HTT msg to FW

Change-Id: I597c482345eb84cac19a5ee891967a17845f300a
CRs-Fixed: 3449021
2023-04-02 13:11:53 -07:00
Aniruddha Mishra
dc75883972 qcacmn: Free buffer after processing flush_tlvs
Buffer was freed before processing the TLVs
(while flushing) leading to use after free access.

CRs-Fixed: 3425044
Change-Id: Ida3bcf9add95041c43b2b1e8e3450853bd0ed88c
2023-04-02 06:53:24 -07:00
Namita Nair
d33baafbe5 qcacmn: WAR for opt_wifi_dp feature to disable IPA(1)
IPA_OFFLOAD will be enabled by  default for MSM.
This is a WAR to disable IPA offload during compile
time, based on the IPA_WDI_OPT_DPATH feature flag from IPA.
If the flag is not defined in the IPA test
module file, IPA offload path will be disabled.
This is a WAR, and will be fixed once a Kernel config is
available to enable or disable the optional wifi datapath
feature.

Change-Id: I7aad275f4d86a2ffc239f1fe343de31ec2988fad
CRs-Fixed: 3431972
2023-04-02 01:23:12 -07:00
Pavankumar Nandeshwar
4df32b4c7a qcacmn: Return gracefully if ingress device is NULL
If the ingress net device is NULL, return gracefully
from the API to check if the skb is from rmnet

Change-Id: I81b8cea7f311fe581e83f2310155b83b28f2fd32
CRs-Fixed: 3445050
2023-04-01 17:12:46 -07:00
Namita Nair
86e2e95fc5 qcacmn: Fix function name for opt_wifi_dp_cleanup
Fix the function name dp_ipa_opt_wifi_dp_cleanup()
for IPA_OPT_WIFI_DP not defined case.

Change-Id: Ie8d7db76add281025fd654d8a3e0017eddd6fbc4
CRs-Fixed: 3446301
2023-04-01 01:20:12 -07:00
Namita Nair
42381bb34d qcacmn: Handle RTPM counter for opt wifi dp
Inorder to keep the PCIe link up during
optional wifi dp transfer the
hif_force_wake_request() is called during
filter addition. This increments the rtpm_get counter.
Now if Wifi is disconnected before releasing the
filters, the corresponding hif_force_wake_release()
call is not made. This causes a mismatch in RTPM GET and
PUT calls and triggers an assert during hdd_wlan_stop_modules().
This change adds a cleanup call to release the force wake
and reduce the rtpm_put counter to prevent the assert.

Change-Id: Idd778275a015922376cf7eb0a7c3d92e75881fe8
CRs-Fixed: 3441186
2023-04-01 01:20:02 -07:00
Pavankumar Nandeshwar
2bea262d35 qcacmn: Change MSI configs for lower MSI line groups
ppe2tcl and Umac reset interrupts need dedicated irq lines.
Hence, group some of the existing dp groups togeather
to share MSI lines to make space for ppe2tcl and Umac reset
dedicated irqs.

Change-Id: I5181caeaeb4d0107b62e7ac812c2f829fd8215a2
CRs-Fixed: 3423553
2023-03-31 13:02:41 -07:00
Prakash Manjunathappa
543f94ced2 qcacmn: Do not subscribe for MC/BC frames
MC/BC frames are routed to FW ring based on routing config for MC/BC
data as SRC: FW2RXDMA and DST: RXDMA2DFW.
Data offload features in FW will take care of routing the MC/BC frames
to FW in both active and low power modes.

Change-Id: I09395978f890d9a23564bef4f974971f6de175df
CRs-Fixed: 3427204
2023-03-31 06:07:24 -07:00
Harsh Kumar Bijlani
9346230d59 qcacmn: Skip self peer for rdk stats flush on user request
Skip self peer for rdk stats flush when user makes a request for flush.

Change-Id: I2a25a798bbf1ec25aed4c4b2a7782b8d4b439a46
CRs-Fixed: 3444096
2023-03-31 06:07:09 -07:00
Jeevan Kukkalli
785b786014 qcacmn: Reduce log level to avoid console flooding
Reduce log level to debug from error to avoid console flooding
when low mem condition is hit.

Change-Id: I0341beed9059c4db2eba2cc481a797d67dd35b25
CRs-Fixed: 3442503
2023-03-31 06:06:54 -07:00
Harsh Kumar Bijlani
caa9b49954 qcacmn: Consider 4 address repeaters also for vdev stats
Consider 4 address repeaters also for vdev stats when operating in
WDS Extended mode.

Change-Id: I91d9bbeb2b917154da730b22b46645e76fa55c6f
CRs-Fixed: 3437803
2023-03-31 06:06:38 -07:00
Parikshit Gune
1598a12f5c qcacmn: Add RX stats support for Direct switch
Add support to send RX stats when Direct switch is
enabled. For WDS extended mode get the stats from
peer object, else take it from vdev object. These will
be accumulated by PPEDS module

Change-Id: I1f73c50679c416536cfc1ebaaeaec9b307e8bf56
CRs-Fixed: 3421251
2023-03-30 21:45:28 -07:00
Hariharan Ramanathan
543c9847e4 qcacmn: Change to store peer_id locally and use
Get peer_id from peer structure to a local variable and pass to hal api
in order to avoid race condition between peer delete and peer unmap.

Change-Id: Ib6a89f1defcfc8f66c1146a330a373a760520aa7
CRs-Fixed: 3444998
2023-03-30 18:30:39 -07:00
Tallapragada Kalyan
e4798ea69b qcacmn: optimization changes to improve RX KPI for WIN
done the following changes to improve the RX path KPI
	1. remove the extra invalidate in RX path as
	we no longer dirty the RX TLV cache lines.
	we now store the rx error codes in nbuf cb instead
	of RX TLVs reserved memory bytes.

	2. with features like flow tag and wds extended mode
	enabled by default, the rx_fast_flag is always set
       	to false, this resulted	in lot more instructions
       	being executed in RX path.
	Now we ensured this flag is at least set for other
	features which are not enabled by default.

Change-Id: I04c6bdc52a2b3f1248b822a108d8bd1a70abcc7c
CRs-Fixed: 3406505
2023-03-30 02:32:40 -07:00
Santosh Anbu
a9419151d6 qcacmn: Support MAC filtering for York platform
Add change to support MAC based filtering for York platform.

Change-Id: I4815c53f3d4babd11f3ebae95175d0ba0871aafe
CRs-Fixed: 3442299
2023-03-30 02:32:20 -07:00
Adwait Nayak
c2c736472a qcacmn: Subscribe RX PPDU START USER INFO TLV for pktlog modes
As of now, RX PPDU START USER INFO TLV is not subscribed as
part of pktlog. Since enable_ol_stats is set by default and
it subscribes RX PPDU START USER INFO TLV, we can see
RX PPDU START USER INFO TLV being available as part of pktlog
data. But recently, with all the automation testing scripts
it is decided to set enable_ol_stats to 0, hence subscription
of RX PPDU START USER INFO TLV is taken care during the filter
set up for all the pktlog modes.

Change-Id: Ib8c7e668a17fcb8e791784d29ef6f00fbdd2df34
CRs-Fixed: 3440721
2023-03-29 11:30:04 -07:00
Nandha Kishore Easwaran
41d3710c17 qcacmn: Change monitor print to debug level
Change monitor print to debug level as this print causes flooding
and could potentially lead to CPU flooding.

Change-Id: I76cda51c9d3d0658ebd02b2112fba5310d8eb22c
CRs-Fixed: 3439802
2023-03-29 05:23:39 -07:00
Venkateswara Naralasetty
76e5c1f345 qcacmn: separate dp_rx_tid functionality
As of today, dp_peer.c has the peer management and rx_tid
functionality(create/setup/remove) which is used by the REO HW.

WCN6450 does not have REO HW and dp_rx_tid functionality is not
required for WCN6450. Hence, separate out dp rx tid functionality
from dp_peer.c so that we can avoid compiling unnecessary code
for WCN6450.

Change-Id: I322823704f38ff72e485f050941be6b1254bad09
CRs-Fixed: 3383330
2023-03-29 02:59:59 -07:00
Jeevan Kukkalli
34bcece450 qcacmn: Move cfr mon filter cdp func ptr to mon ops structure
Move cfr monitor filter cdp func ptr to cdp mon ops structure.
cfr monitor filter cdp function is different for 1.0 and 2.0
hence moving the func ptr to mon ops structure ensures that
func ptr is initialized appropriately.

Change-Id: I82b9c85e96f2f219521ae6ed908ade120081c748
CRs-Fixed: 3428791
2023-03-29 01:17:22 -07:00