Graphe des révisions

18940 Révisions

Auteur SHA1 Message Date
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
Jhalak Naik
e7058a73c6 qcacmn: Fix invalid memory access
Fix the spectral mode check to avoid invalid memory access.

Change-Id: Id95cf19457aa2eddee90568fa567e5f7859a0a53
CRs-Fixed: 3452841
2023-04-04 19:51:50 -07:00
Chaithanya Garrepalli
7b4de01928 qcacmn: Change invalid ml_group_id and chip_id values
Change invalid ml_group_id and chip_id to 255 (uint8_t max)

Change-Id: I609aee14c7e6874bc78ddec3130a5a1226fc2af5
CRs-Fixed: 3443177
2023-04-04 16:30:46 -07:00
Kiran Venkatappa
bd5b5ef599 qcacmn: Handle mlo setup soc down from detach path
mlo setup soc down indication can be called from soc_stop and detach
path. Add logic to handle multiple calls by ignoring down if the state
is already cleaned up.

Change-Id: I6f5c11cc30f38423661063d2834a5b4efa088a49
CRs-Fixed: 3450300
2023-04-04 14:41:16 -07:00
Amruta Kulkarni
d325372a5c qcacmn: Fix to remove mutex warnings
Mutex cannot be acquired or released from
interrupt context.
To fix the warning in log, do not acquire
or release log in while stopping t2lm timer

Change-Id: Ie1e885b162a22e327d3260fecbd71153b947e11b
CRs-Fixed: 3444779
2023-04-04 06:44:21 -07:00
Vijay Raj
968b7862c8 qcacmn: Introduce roam failure reason code for beacom miss event
Add new roam failure reason code for no ap found and final
beacon miss sent and reason code for no candidate found
and final beacon miss sent

Change-Id: I4c4813efdedd30bd65c7baf0110c292c5ae3573c
CRs-Fixed: 3437119
2023-04-04 05:07:27 -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
Namita Nair
9293b993f1 qcacmn: Handle return status when IPA UC not loaded
Currently if IPA UC is not loaded when opt wifi dp
is enabled, the return status is not handled correctly.
This causes the qdf_event_create to happen for ipa ctx
which later triggers an assert during ipa cleanup.
This fix will handle this scenario.

Change-Id: Ie0a38bd6745f54a37be422e1d352f6c2a7960bbc
CRs-Fixed: 3444783
2023-04-03 04:31:26 -07:00
Vignesh U
5dc7fe9a25 qcacmn: Unpack AFC structures
During initial AFC development it was assumed that AFC object would travel
till an application endpoint outside the driver, presumably till an
application of a different machine anything in the internet and therefore,
a packed and well formatted structure was propped for the AFC object.
However, when the AFC object leaves the driver, it is converted to an
object that has NL80211 TLVs to represent it. Therefore, the packed
AFC-request object is no longer a necessity. Moreover, since an unpacked
structure (or structures) is speed/time optimized, modify the packed
structures into unpacked structures.

Change-Id: I08db1911a355b6eebffa0e13def547c98ddf38d3
CRs-Fixed: 3431997
2023-04-03 01:36:23 -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
Krupali Dhanvijay
8ca91ab2bf qcacmn: Send Driver disconnect internal reason code to user space
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.

Change-Id: I0027675b809b94628b6c0c4b8e8286e38fa9f47d
CRs-Fixed: 3371398
2023-04-03 01:35:59 -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
Namita Nair
bf8fcc25af qcacmn: Disable autonomy for opt wifi dp based on WLANflag
Currently IPA autonomy is disabled for opt wifi dp
feature inorder to set default packet routing
to HOST REO rings instead of IPA. The check currently
depends on the feature flag set from IPA.
But this does not handle the case if feature is
enabled from WLAN but disabled from IPA, as autonomy
will get enabled in this scenario and default packet
routing is set to IPA.
This fix will check if opt_wifi_dp feature is
enabled from WLAN and disable autonomy to
ensure the default routing is always set to
HOST REO rings.

Change-Id: I3673d7dbeefcadb45132ea300f4ec3ac22743b86
CRs-Fixed: 3450862
2023-04-02 06:53:35 -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
Priyadarshnee Srinivasan
30e5729efd qcacmn: Fill only supported opclass in the AFC request buffer
In case of a split-phy 6 GHz radio, there are 6 GHz opclasses and cfis
that do not intersect with the chip range for a given pdev.
The current algorithm appends such opclasses with "num_cfis as 0" to
the AFC request buffer and the buffer with empty cfis are
sent to the AFC server.
This change ensures that the chip unsupported opclasses/cfis are not sent
to the AFC server.

Also, if the reg rule frequency range is not supported by the chip range,
reg_intersect_ranges() is expected to set the out_range as
{low_freq = 0,high_freq = 0}. However, it only sets the low_freq to 0.
Since high_freq is a non-zero value, the chip un-supported range is
considered as a valid range with frequency_low as 0.
This causes the following error from the AFC server:
"error": "The frequency range indicated in the Available Spectrum
Inquiry Request is at least partially outside of the frequency band
under the management of the AFC System (e.g. 5.925-6.425 GHz and
					6.525-6.875 GHz bands in US).

To fix this issue, assign high_freq also to 0 if the
reg rule frequency range is not supported by the chip range.

CRs-Fixed: 3442719
Change-Id: I5504376ac31203045b32e23f54a9ab6a41e63a3f
2023-04-02 05:17:27 -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
Namita Nair
d252ffb791 Revert "qcacmn: WAR for opt_wifi_dp feature to disable IPA(2)"
This reverts commit 
with Change-Id: Ic1b961656f52fa009ab4c3b3d8d3cac305c2c7c4.

Change-Id: Idc5101d3bac08a64f7de0a828841222eca8d3c01
CRs-Fixed: 3443469
2023-04-02 01:23:03 -07:00
Namita Nair
149071276c qcacmn: WAR for opt_wifi_dp feature to disable IPA(2)
IPA_OFFLOAD path will be enabled by default for MSM,
inorder to support optional wifi datapath feature.
This change is a WAR to disable IPA offload during
compile time, if the feature is not enabled.
This is done using the IPA_WDI_OPT_DPATH feature flag
from IPA. If the flag is not defined in the IPA test
module file, IPA offload path and optional wifi dp
feature will be disabled.

This is a WAR, and will be fixed once a Kernel config is
available from IPA to enable or disable the optional
wifi datapath feature.

Change-Id: Ic1b961656f52fa009ab4c3b3d8d3cac305c2c7c4
CRs-Fixed: 3431972
2023-04-02 01:22:52 -07:00