Commit Graph

19009 Commits

Author SHA1 Message Date
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
Pragaspathi Thilagaraj
4c252e1598 qcacmn: Add if_mgr support to handle STA CSA
Add if_mgr support to handle STA CSA complete notification and
SAP CSA Started and complete notification.
Before CSA vdev restart on SAP side, disable TDLS off channel.
After CSA, check if TDLS is allowed for the current concurrency
and take action accordingly.

Change-Id: Icbadb898f5b468717f74f92a0993c05b59719205
CRs-Fixed: 3445113
2023-04-12 12:54:11 -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
David Oladunjoye
c8d254437d qcacmn: Add apis to fetch btwt and rtwt ini values
Add apis to get rtwt and btwt ini values.

Change-Id: I3f82dc93bce24f24ba2236c286b717dbb2d9b690
CRs-Fixed: 3449537
2023-04-11 22:38:14 -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
Jinwei Chen
a3697f6b7c qcacmn: Extract htt_msdu_idx_to_qtype_map for TX ILP
Extract htt_msdu_idx_to_qtype_map array from wmi service ready
ext2 event, it is needed for DP TX ILP feature enablement.

Change-Id: I64766f5b6ebc6632ce4994a8d53224d98beb5879
CRs-Fixed: 3445507
2023-04-11 16:36:41 -07:00
Amit Mehta
6d5a37ee2b qcacmn: Add support to enable per link stats
Add support to enable per link stats

Change-Id: I0b73419d09109bc4b4d0469bbc7c3e740cbfe502
CRs-Fixed: 3446850
2023-04-11 11:51:00 -07:00
Liangwei Dong
3a759ca431 qcacmn: Update candidate list before try next
Some IOT APs only allow to connect if last 3 bytes of
BSSID and self MAC is same. They create a new bssid on
receiving unicast probe/auth req from STA and allow STA to
connect to this matching BSSID only. So boost the matching BSSID
to try to connect to this BSSID.
And add logic to refresh the candidate list before next
candidate try when the last candidate connect fail.

Change-Id: I482e122c8c9febbab42f64013fbb78c266f49655
CRs-Fixed: 3432618
2023-04-11 02:28:01 -07:00
Rajesh Chauhan
d7d85dfad9 Revert "qcacmn: modify QDF functions for memory allocation and free"
This reverts Change-Id: I2c19b72b82092d553d474a50385ed3095a0fab39
since it results in increased memory allocation due to 8 bytes of
headroom at the beginning of buffer, particularly for data path modules
when size is at the edge of the page boundary.

Change-Id: I72fd7e63b93f2646812acc09e817e3be531f27d8
CRs-Fixed: 3458603
2023-04-10 18:25:06 -07:00
Prakash Manjunathappa
a5e00e2455 qcacmn: Add support for 4 byte TLV tag
Add support for 4 byte TLV tags for platforms like peach for which we
have 4 byts TLV tags.

Change-Id: Iebf48a6992c21246df3fb813b5d6ae418311f062
CRs-Fixed: 3460205
2023-04-10 13:19:52 -07:00
Vinay Adella
dd28763069 qcacmn: Fix issues when WLAN_MGMT_RX_REO_SUPPORT is disabled
Add APIs for cases when WLAN_MGMT_RX_REO_SUPPORT is disabled.

CRs-Fixed: 3454960
Change-Id: If7bb4757ab14b20ad14298b358962319f289a777
2023-04-10 03:08:21 -07:00
Himanshu Batra
1611ebc3f4 qcacmn: Add API to get primary link id from ML peer
Add API to get primary link id from ML peer

Change-Id: I530cfad70067cea1e8907bc9d409331091f89f85
CRs-Fixed: 3455058
2023-04-10 03:08:11 -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
Jeff Johnson
c7eaf5ac98 qcacmn: Fix pktlog_ac_api.h documentation
The kernel-doc script has identified a couple of documentation issues
in pktlog_ac_api.h, so fix them to the best of our ability.

Change-Id: If5db73e7d019def46d0ba71fb0b01fe4327a521a
CRs-Fixed: 3451053
2023-04-07 19:50:38 -07:00
Hariharan Basuthkar
419d6ffcc9 qcacmn: Choose SP during STOP-TX in outdoor deployment
In outdoor deployment, when the target sends STOP_TX event, the 6 GHz
AP continues to beacon in the SP power mode, without bringing down the VAP.

In mlme_check_curchan_and_set_ap_pwr_type, since the
afc_power_event_received flag is cleared and set to false during STOP_TX,
the API wlan_reg_get_best_pwr_mode returns LPI as the best power mode.
When LPI is given as input to wlan_reg_set_ap_pwr_and_update_chan_list,
it returns an error as LPI rules are absent in the pdev
(outdoor deployment). But the error status is not handled. Current channel
list also is not updated with the AFC_NOT_FLAG. When the channel list is
sent to the hostapd, NO_IR flag is set based on the presence of the
AFC_NOT_DONE flag in the current channel list. As a result NO_IR flag is
not sent to the hostapd, and the VAP remains in the up state.

To fix this issue, in reg_get_best_pwr_mode_from_eirp_list, skip the
unsupported modes (in this case LPI and VLP), from best power mode
computation. Also, in reg_get_sp_eirp, return the SP EIRP when no rules
other than SP are available.

Also, rename reg_get_eirp_for_non_sp to reg_get_eirp_from_mas_chan_list.
Modify reg_get_sp_eirp to call reg_get_eirp_from_mas_chan_list when
CONFIG_AFC_SUPPORT is not defined.

Change-Id: I1b11bf0580ec6af09ee8f9827bc85fae7930e414
CRs-Fixed: 3436245
2023-04-07 19:50:26 -07:00
Basamma Yakkanahalli
30ff1d4085 qcacmn: Standalone sounding DBR support for CBF CV data to QCA5332 target
Increase the DBR ring to support DBR module
DBR_MODULE_CBF standalone sounding CV data
for QCA5332 target.

Change-Id: I4ab0741d92c7c7a32243173c87d022befa702399
CRs-Fixed: 3456418
2023-04-07 19:50:15 -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
Jingxiang Ge
eea7147593 qcacmn: Add OUI config for dynamic qos null tx rate feature
Add gActionOUIDisableDynamicQosNullTxRate to control FW's dynamic qos
null tx rate feature.

Some APs sometimes don't honor Qos null frames with some specific rate.
This ini will disable dynamic qos null tx rate feature for specified
APs.

Change-Id: I7f76d19be6f4714166bf5761b43c7c9c7d041308
CRs-Fixed: 3451330
2023-04-07 06:29:19 -07:00
Kiran Venkatappa
732edac4b9 qcacmn: Add rTWT params in btwt invite sta cmd
Add new params(ul_tid_bitmap & dl_tid_bitmap) for rTWT invite sta cmd.
This will be sent from test command to trigger invite sta.

Change-Id: I843badeb5e826ded5ab4f8083448b2b7fc4c3486
CRs-Fixed: 3456956
2023-04-06 21:49:06 -07:00
Jeff Johnson
cf334dc331 qcacmn: Revise dfs_log() for updated kernel-doc script
In Linux kernel 5.5, commit 43756e347f21 ("scripts/kernel-doc: Add
support for named variable macro arguments") improved how named
variable macro arguments are handled, and changed how they are
documented in kerneldoc comments from "@param...", to "@param",
deprecating the old syntax.

In Linux kernel 6.3, commit 3bdd9f075f54 ("scripts: kernel-doc: Remove
workaround for @param... syntax") removed support for the old syntax.

Currently the dfs_log() documentation uses the old syntax, so update
the documentation to use the new syntax.

Change-Id: I1aa44cd36ffacb0b26ee279496fc5a99b8de371d
CRs-Fixed: 3451492
2023-04-06 20:06:15 -07:00
Guru Pratap Sharma
08131c79a1 qcacmn: Add Bandwidth Indication Element support
Adding Bandwidth Indication Element Sub IE structure and other support

Change-Id: Iae761582e8c5d2b12af231e58c6dcbb23421e9dd
CRs-Fixed: 3444254
2023-04-06 18:13:29 -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
Nidhi Jain
1192e50c58 qcacmn: Set 11az TBR Responder related feature capabilities
The 11az Trigger Based Ranging for responder related feature
capability is not set currently.
Add 11az TBR responder capabilities.

Change-Id: I0bd9a88231dfc7200895001d109aecdaef4aed59
CRs-Fixed: 3436972
2023-04-06 15:03:26 -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
Shwetha G K
b09889a61e qcacmn: Set metadata version for target QCN9160
QCN9160 CFR is supposed to in parity with QCN9000, hence
set the proper metadata version.

Change-Id: I34f06dd856d2c2ccf3b956592fa0f1035e608d46
CRs-Fixed: 3454540
2023-04-06 08:55:57 -07:00
Rohan Dutta
4600a3b873 qcacmn: skip a radio as primary-umac in MLO
Allow user configuration options to skip a radio as
primary-umac in multi-link operation.

Change-Id: Ic7c8dd5c1cf7855f4fb762daf9ace7cb82e02cac
CRs-Fixed: 3437922
2023-04-06 08:55:47 -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
Rahul Gusain
ce7ef84e72 qcacmn: Add vdev id in NDP end req TLV
Currently, NDP_END_REQ TLV does not requires vdev id to send to
firmware as firmware maps the NDP session with instance id.
But in some cases, (such as testcase to valid NDP end request on
the vdev id), host needs to send vdev id also in NDP_END_Req.
So, to fix this, in NDP end req TLV, add vdev id with validity
flag to check vdev id is valid or not.  

Change-Id: I23e7b1d4ce01ae87c37567f6f01adda38bf18fb6
CRs-Fixed: 3454796
2023-04-05 20:41:34 -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
Namita Nair
72beba762d qcacmn: INI support for optional wifi dp
This change can enable/disable optional
wifi datapath feature from INI.

Change-Id: If380ee1e367f144f258a1e452cb3ab0cab2e33bc
CRs-Fixed: 3424492
2023-04-05 16:53:13 -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
Ruben Columbus
035e4557da qcacmn: shift timer_thres by 3
setup to correct value by shifting intr_timer_thres_us
by 3 for interrupt timer to take less time.

Change-Id: I0eb799bf3a3443a7ca4a43512b7ec03444da81bc
CRs-Fixed: 3439468
2023-04-05 12:23:34 -07:00
Priyadarshnee Srinivasan
c7200a49ec qcacmn: Make wlan_reg_recompute_current_chan_list common API
wlan_reg_recompute_current_chan_list() is defined for MCC only.
Make this wlan_reg_recompute_current_chan_list() common for both WIN
and MCC.

CRs-Fixed: 3451996
Change-Id: Ifcead79a68d0ed04ac1e4b78063f36b91e4d6fd8
2023-04-05 10:45:04 -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
Shwetha G K
63843ae368 qcacmn: Populate additional params to CFR info
HAL changes to populate agc gain, CFO, rx_start_ts, mcs_rate and
gi_type to CFR info.

Change-Id: I20b4ce1b8c065349106cd999054ff08c7f3521ec
CRs-Fixed: 3453631
2023-04-05 02:04:58 -07:00
Pooja T C
933db0e737 qcacmn: Add QDF Module id for SOUNDING module
Added a QDF module id for SOUNDING module.

Change-Id: If237f91d52ad6f73921481e85327006563c9382b
CRs-Fixed: 3439637
2023-04-05 02:04:46 -07:00
Neha Bisht
9197d3b898 qcacmn: Update primary_umac_psoc_id field for new primary TQM peer
Update primary_umac_psoc_id field for new primary TQM peer

Change-Id: I397069a97ef0741b4c069302e59f4b9a2c005089
CRs-Fixed: 3451704
2023-04-05 02:04:33 -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