Graphe des révisions

18199 Révisions

Auteur SHA1 Message Date
Vijay Raj
f0578f5bdb qcacmn: Add ucfg and wmi changes for green ap low latency ps mode
Add ucfg and wmi changes to support for green ap low latency
power mode enable/disable command.

Change-Id: Ib9112e384c8354f1eff0f15610301225d51ef3ac
CRs-Fixed: 3265649
2022-12-26 03:24:14 -08:00
Jyoti Kumari
4dfe160bf8 qcacmn: Send converted cw min and cw max val to firmware
As part of edca param for ll sap, send converted cw min
and cw max val to firmware instead of exponential val.

Change-Id: Ie5c98a2038f002c4c4218007e1bce79f120c42f6
CRs-Fixed: 3360551
2022-12-26 03:24:05 -08:00
Nanda Krishnan
97f88fb874 qcacmn: New Alloc API for DS
Requirement:
In skb recycler, if recyler module allocates the buffers
already used by DS module to DS, then memzero, shinfo
reset can be avoided, since the DS packets were not
processed by SW (host).
Hence, we will achieve good KPI with less CPU
utilization.

Fix:
Implemented an new qdf wrapper API qdf_nbuf_alloc_ppe_ds
in wifi driver, which in turn invokes
__netdev_alloc_skb_no_skb_reset API to linux module.
With the use of new netdev_alloc API shinfo reset
will be avoided for DS used buffers alone.
Skb recycler changes are delivered already via
4360331

Change-Id: I3fe8dc07ca12c01136eaee4fcdb1ff6036f80f74
CRs-Fixed: 3350807
2022-12-26 03:23:57 -08:00
Qun Zhang
1eafc7e4d9 qcacmn: Return real result for setting key request
Currently in function wlan_crypto_set_key_req(), as long as
WLAN_CRYPTO_TX_OPS_SET_KEY() isn't NULL, it always returns
QDF_STATUS_SUCCESS irrespective of the real processing result
of setting key request and causes FW assert in below test:
1. DUT work as SAP role
2. Peer STA repeatedly do connect/deauth with very short
time interval
3. When SAP just finish 4-way handshake and supplicant don't
add key to wlan host yet, peer STA send deauth again. Once
deauth is received, wlan host will free peer STA related info.
Just after this, supplicant key setting is arrived, and wlan
host return QDF_STATUS_SUCCESS and wait for completion event
of key setting, like below log:
 target_if_crypto_set_key: key_type 0, mac: 7c:c2:c6:32:cb:90
 target_if_crypto_set_key: Invalid peer
4. During the waiting time, peer STA trigger connection again,
due to previous key setting isn't still done, it will block
new key setting. And when completion event timeout happen, it
will still call wma_update_set_key() to notify successful key
setting. So when wlan host send WMI_PEER_SET_PARAM_CMDID to
update authenticate state, FW find key isn't still installed
and trigger assert.

Change-Id: Ice1c5dcfbbde394e1271b900ba783fea98493647
CRs-Fixed: 3364767
2022-12-22 10:44:58 -08:00
Jianmin Zhu
4e0c4422cf qcacmn: Enable static puncture
Driver receive NL80211_CMD_START_AP to get fixed freq, width and
apply puncture_bitmap from EHT ie, disable punctured 20 MHz sub channels
in regulatory component, and send to F/W by vdev start,  update eht op/he
op/vht op in beacon template.

When start ap, apply puncture to regulatory, set is_static_punctured flag
for all 20 MHz sub channels of current bonded channel in master channel
list of pdev, and disable 20 MHz sub channel in current channel list if
is_static_punctured is set.

When stop ap, remove puncture to regulatory, clear is_static_punctured flag
for all 20 MHz sub channels in master channel list of pdev, and don't
disable 20 MHz sub channel in current channel list if is_static_punctured
is not set.

change-Id: Ia97e7a4fa56a66f343bd648b62216347787ba6d0
CRs-Fixed: 3356755
2022-12-22 10:44:46 -08:00
Himanshu Batra
826d4f9717 qcacmn: Add MLO check for connect req
If the connect req from supplicant is non-mlo, ignore mlo related
operations and continue with connect req

Change-Id: If30df0a7dc195c2cbafc60f1e4c999b0c5689998
CRs-Fixed: 3360070
2022-12-22 07:04:33 -08:00
Tiger Yu
ba6c61a462 qcacmn: Remove the export symbol for static variable and function
Fix the compiling issue by removing the export symbol for static
qdf_timer_clean and mem_debug_disabled.

Change-Id: I01f886e04af2f294ed9cb93afdbb69d7d8b9f2ee
CRs-Fixed: 3363506
2022-12-22 07:04:24 -08:00
Yeshwanth Sriram Guntuka
34d893df39 qcacmn: IOMMU map and unmap RX buffers to LPASS SMMU CB
IOMMU map and unmap RX buffers into LPASS SMMU context
bank for LPASS to access RX buffers in direct link
usecases.

Change-Id: Ie72a008309e3abdf3fbc7198bb5d3af5e9497180
CRs-Fixed: 3356568
2022-12-22 00:45:12 -08:00
Tallapragada Kalyan
80e1cfff99 qcacmn: add new fields to flow rule HAL API to support PPE
waikiki supports sending a packet from REO2PPE if a flow
rule matches. these changes are added to take advantage of
this HW feature when ever we are adding a flow rule

CRs-Fixed: 3359141
Change-Id: I8fedfcc759bc0427d71d3bb615e61ba38577c5c0
2022-12-21 15:56:57 -08:00
Basamma Yakkanahalli
73e6b1ef7c qcacmn: Populate vdev group_id and group_flag in vdev start cmd
Populate mbssid_multi_group_flag and mbssid_multi_group_id during
WMI_VDEV_START_REQUEST_CMD.

Change-Id: I77a00a4f8268e9f8e68f195f81671a87e86175a0
CRs-Fixed: 3352540
2022-12-21 15:56:45 -08:00
Jeff Johnson
6d84faa9cf qcacmn: Use QDF NAPI APIs in HIF
Currently the HIF code directly calls Linux NAPI APIs. However, the
QDF has abstractions for these. Furthermore, the QDF implementation
properly handles NAPI API changes introduced in Linux Kernel versions
5.19 through 6.1. Therefore, modify HIF to use the QDF NAPI APIs so
that the version-specific changes are only needed in QDF.

Change-Id: Ibc6c69c9add8d2829ac34dcdcf8b2b262f7304b7
CRs-Fixed: 3364162
2022-12-21 13:55:08 -08:00
Jeff Johnson
161c891e60 qcacmn: Add qdf_napi_disable() abstraction
Linux API napi_enable() is abstracted, but napi_disable() is not.  Add
an abstraction so that all of the native NAPI API calls in HIF can be
changed to use QDF abstractions.

Change-Id: I26e4c1d301dc6744be19b3f4142542aefe0e6fec
CRs-Fixed: 3364272
2022-12-21 13:54:58 -08:00
Jeff Johnson
49e3273400 qcacmn: Support upstream 6.1 NAPI changes
Commit b48b89f9c189 ("net: drop the weight argument from
netif_napi_add") was introduced in Linux 6.1.  As described by the
subject, this removes the weight argument from netif_napi_add().

This was preceded in Linux 5.19 by commit 58caed3dacb4 ("netdev:
reshuffle netif_napi_add() APIs to allow dropping weight") which added
new APIs to call when a non-default weight wishes to be sent.

QDF function __qdf_netif_napi_add() is the abstraction of
netif_napi_add(). Update the implementation of this abstraction to
call either netif_napi_add() or netif_napi_add_weight() based upon
kernel version.

Change-Id: I4817614408c6eb2d4741444efc9db3a79a200550
CRs-Fixed: 3364271
2022-12-21 13:54:49 -08:00
Jeff Johnson
69cd76d3ad qcacmn: Cleanup QDF NAPI ENHANCED_OS_ABSTRACTION implementation
Currently the ENHANCED_OS_ABSTRACTION implementation of some of the
NAPI QDF APIs are directly calling Linux native APIs rather than
calling the __qdf static inline abstraction APIs.

An upcoming patch modifies the static inlines to handle changes made
to the NAPI APIs in Linux kernel versions 5.19 through 6.1, so update
the ENHANCED_OS_ABSTRACTION implementation to use the static inlines
so that the version-specific changes only need to be made in one
place.

Change-Id: I90473a8495e923c65d4e390057c421b6fc60f170
CRs-Fixed: 3364270
2022-12-21 13:54:39 -08:00
Venkateswara Swamy Bandaru
a1abaf2a19 qcacmn: Add support for WMI_VDEV_PARAM_EXTRA_EHT_LTF setting
Add support for WMI_VDEV_PARAM_EXTRA_EHT_LTF vdev parameter
setting.

Change-Id: Ibc801b74e1247b011cf369b612cab790ff4f1ac2
CRs-Fixed: 3361368
2022-12-21 09:13:39 -08:00
Nandha Kishore Easwaran
f6ecea5fa3 qcacmn: Fix compilation for Big endian
Fix compilation issue for Big endian mode.

Change-Id: Idea5c18544f8ca2894f1859fa311b56c62df1a51
CRs-Fixed: 3361629
2022-12-21 09:13:30 -08:00
Surya Prakash Raajen
49ca504dbd qcacmn: Maintain dp_mlo_ctxt per each MLO group
As per current design, dp_mlo_ctxt is allocated during the
initialization of module while the MLO grouping information is
understood after WMI_READY_EVENT. The same is deinitialized while
unregistering the module.
To ensure dp_mlo_ctxt exists per MLO group, bring the dp_handle
a layer below in the hierarchy into the mlo_setup_info and allocate
dp_mlo_ctxt after the WMI_READY_EVENT is received from all the SOCs
for a given group. Deallocate it after the WMI_MLO_TEARDOWN_COMPLETE
event is received.

CRs-Fixed: 3355405
Change-Id: Ic3102a34a8d44877827e2ff1f7da2e414b2b463f
2022-12-21 06:33:27 -08:00
Sreeramya Soratkal
27f8943f9c qcacmn: Update the MLO ops to include attach and detach
To handle dp_mlo_ctxt assignments from the UMAC module,
moving the callers for attach and detach to the list of
MLO operations for multi chip.

CRs-Fixed: 3355400
Change-Id: Id743ec1086cf1b3ba0a3ec42212dc21c5a9ccc6b
2022-12-21 06:33:18 -08:00
Will Huang
e2da240791 qcacmn: Add AFC vendor event index
Add QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT_INDEX for AFC event index.

Change-Id: I6b8314d616027e33e09da0b9cdc451a5ca6246d3
CRs-Fixed: 3341706
2022-12-20 20:30:47 -08:00
Vulupala Shashank Reddy
faa15884e0 qcacmn: Fix FILS Discovery rx frames capture in packet capture mode
Currently the FILS Discovery rx frames are dropped in
tgt_mgmt_txrx_rx_frame_handler considering them as unspecified
packets as action category for FILS Discovery is not defined.

Define FILS Discovery action category so that the FILS Discovery
will not be considered as unspecified frames and dropped while
processing.

Change-Id: I72398caf3cbb1f7d53d5f97da9d1997af2b33595
CRs-Fixed: 3346195
2022-12-20 20:30:38 -08:00
Harsh Kumar Bijlani
e94a73784a qcacmn: Add support to drop tx mcast frames in WDS extended mode
Add support to drop tx mcast frames in WDS extended mode

Change-Id: Ia5af3b31c95393eb9c8af6b92ddeced6ac7a8d3d
CRs-Fixed: 3359296
2022-12-20 11:57:01 -08:00
aloksing
336315bdd2 qcacmn: Fix invalid memory access
rx user status pointer is not valid

memzero ppdu_info before ppdu TLV processing and
Assign valid user status pointer from ppdu_info
user status before rtap update.

Change-Id: Ib9f8bf356a8d4710d295716cf88b8cf6a37158cb
CRs-Fixed: 3341380
2022-12-20 11:56:52 -08:00
Rakesh Pillai
00b746a64d qcacmn: Increase the field width of bandwidth for 320 MHz
The current field width for bandwidth parsed from
tx completion status is only 2-bits, which is not
sufficient for 320 MHz and 240 MHz, since these enum
values are 4 and 5 respectively,  which needs a
minimum field width of 3-bits to store.

Increase the field width of bandwidth in the tx
completion status data structure to account for
320 MHz and 240 MHz enum values.

Change-Id: Ie108f31537607ab9ebf6510542b8967c0272e383
CRs-Fixed: 3359371
2022-12-20 11:56:44 -08:00
Nidhi Jain
f967a39488 qcacmn: Add int16 check in WMI TLV handler
This change is to add missing handling for
INT16 data in the WMI TLV handler.

Change-Id: I5da3f8ef05d2a26221afb50446d3920973897e8d
CRs-Fixed: 3344085
2022-12-20 00:47:30 -08:00
Nidhi Jain
800dddec55 qcacmn: Registration function for link disablement
This change is to allow other modules to register for
link disablement.
It includes below functions:
1- Notify link update
2- Register to handler to get link update notification
3- Unregister T2LM handlers

Added the below changes as well,
- Move T2LM related data structures to wlan_mlo_t2lm.h file
- Host receives the expected duration from FW for multiple vdevs.
  Hence, add support to extract the expected duration for multiple vdevs.

Change-Id: Ie8e77d5d3b4351a8551ecd7da50786b58dad3b2e
CRs-Fixed: 3346432
2022-12-19 22:17:49 -08:00
Rhythm Patwa
07bee8ee4e qcacmn: Define AFC vendor commands and events
Wi-Fi Alliance specification for Automated Frequency Coordination (AFC)
system ensures that the Standard Power Wi-Fi devices can operate in 6
GHz spectrum under favorable conditions, without any interference with
the incumbent devices.

Add support for vendor command/events and corresponding
attributes to define the interface for exchanging AFC requests and
responses between the driver and a userspace application.

Change-Id: I8c894236cdb3a33f6eae5dd43879fc84f29a80dd
CRs-Fixed: 3337619
2022-12-19 11:38:44 -08:00
Edayilliam Jayadev
d757a64784 qcacmn: Update fields of management Rx REO snapshot
Update the fields in management Rx reorder snapshot
structure.

CRs-Fixed: 3346508
Change-Id: I52e8245dfdfa40ea566756b6378a00e08993ab5c
2022-12-19 11:38:36 -08:00
Shashikala Prabhu
b723172ec9 qcacmn: Register T2LM event handlers
Register and unregister the T2LM WMI event handler.

Change-Id: I870b72618fa39c5b7ba271c5a58e3d3bbe1f44a7
CRs-Fixed: 3360463
2022-12-18 12:13:13 -08:00
Rakesh Pillai
d9e0ee2250 qcacmn: Print BW counters for 320 MHz
Currently the datapath stats do not print the
packet count for 320 MHz bandwidth.

Add support to print BW counters for 320 MHz.

Change-Id: Ic9579a1860e6aca442f7bc4a3b92930e8506e9bd
CRs-Fixed: 3359372
2022-12-18 12:13:04 -08:00
Neha Bisht
f27e31059b qcacmn: Add an API to get number of station mld device contexts
Add an API to get number of station mld device contexts

Change-Id: I91bdbfda36e596b7456482f5f0480a341d4e6ed5
CRs-Fixed: 3361088
2022-12-18 05:54:30 -08:00
Pavankumar Nandeshwar
c811b9d544 qcacmn: PPE-DS feature naming convention update
1. Change the names of parameters and functions related
   to direct switch feature from ppe to ppeds
2. Remove the unused ppe_release_ring

Change-Id: I5a95b1273e338f354903af98158578ac65758a8a
CRs-Fixed: 3345097
2022-12-18 01:11:58 -08:00
Pavankumar Nandeshwar
3548804a60 qcacmn: Add a cdp api to stop the ppe ds
Add a cdp api to stop the ppe direct switch
from control path

Change-Id: Id1c5d5c0e2b80d6fa0fa7b907fac133f815f9627
CRs-Fixed: 3356472
2022-12-18 01:11:49 -08:00
Aakanksha Doda
ea0e2133b3 qcacmn: Add changes to support MLO+Mesh
Add changes to support MLO+Mesh.

Change-Id: I52df040ef44846e525a1c0a1acf131cb8cac0bf2
CRs-Fixed: 3350795
2022-12-17 23:22:38 -08:00
Jeff Johnson
f138380bb7 qcacmn: Fix wmi_unified_param.h documentation
The kernel-doc script identified numerous documentation issues in
wmi_unified_param.h, so fix them.

Change-Id: I249e4f990a125ba45497c48edef373b926cc3d01
CRs-Fixed: 3351041
2022-12-17 21:25:52 -08:00
Jeff Johnson
f8a610f679 qcacmn: Fix hal_rx.h documentation
The kernel-doc script identified a multitude of documentation issues
in hal_rx.h, so fix them.

Change-Id: I36913abcfea5504b1fdea2afb5c71810b08e4da6
CRs-Fixed: 3352421
2022-12-17 21:25:44 -08:00
Sai Rupesh Chevuru
cff09264f4 qcacmn: Process the pending rx buffers during soc teardown
Process the pending rx buffers during MLO soc teardown sequence.

Change-Id: Ifbcbf7e2779a8ef740f77b3e9edfc02ca5355269
CRs-Fixed: 3332802
2022-12-16 10:40:09 -08:00
Deeksha Gupta
3b44cf0785 qcacmn: Introduce new macro for TX control port changes
Introduce new macro to support TX control port changes in
host driver with cfg80211.

Change-Id: I1f557c62e225ce019a6ce3174ad2d897b39e0147
CRs-Fixed: 3342945
2022-12-16 03:29:05 -08:00
Vijay Raj
cb5c29865e qcacmn: Add QCA vendor interface for AP doze mode configuration
Add a new subcommand QCA_NL80211_VENDOR_SUBCMD_DOZED_AP to configure
doze mode state on an AP interface. This is also used as an event to
indicate the updated configuration. In doze mode, AP transmits
beacons at higher beacon intervals and RX is disabled.

Uses attributes defined in enum qca_wlan_vendor_attr_dozed_ap.

Change-Id: I183140f0466eb7400cc161afb8c2e295ec587f93
CRs-Fixed: 3267855
2022-12-15 12:40:33 -08:00
VIJAY RAJ
8c6ace7bdb qcacmn: Add ini for Green AP low latency power save mode
Introduce  ini gGAPLowBeaconMult for Low beacon
multiplier for Green AP low latency power save mode.

Change-Id: Ifc03e1acaf640bb55e0ae3465b38762f54f0eeea
CRs-Fixed: 3264938
2022-12-15 12:40:21 -08:00
Nanda Krishnan
6cfeaed50f qcacmn: Tput is low when DS is enabled in STA
Issue:
When DS mode is configured for a VAP
in both AP and STA (RDP 433), the tput reduces.
For instance, for an ingress of 7G
in standalone case, the egress rate is
1) 6887 Mbps when DS is enabled only in AP
2) 1900 Mbps when DS is enabled in both AP and STA
RCA:
With the help of debugs & proc/interrupts, identified
that we are not setting up the peer when the
device in STA mode due to AP mode check in
dp_soc_txrx_peer_setup.
Hence, the traffic is not flowing via DS
and so, tput reduces.

Fix:
Added changes to invoke txrx_peer_setup in
STA mode and DS mode will configured in that mode.
With the fix, traffic flows via DS, which
in turn improves the increased

Change-Id: Ib51e9a27e5078ed99160f213ddffed801c2e4ecf
CRs-Fixed: 3355603
2022-12-15 03:14:34 -08:00
Xiaoning Ma
4b313c5aac qcacmn: Fix compile issue for WLAN_QCOM_VA_MINIDUMP
Add missing header file to avoid compile issue when
WLAN_QCOM_VA_MINIDUMP is enabled.

Change-Id: I2d413560f4cf6a5f9e6cce73d8aee723e963104c
CRs-Fixed: 3356409
2022-12-14 23:15:53 -08:00
Sushant Butta
0bffc7e7d1 qcacmn: Do length check to avoid memory corruption
Check size of the frag before passing
to trim function, which can lead to memory
corruption.

Change-Id: Icea102f9fef8c7333591337a93d32bc449704202
CRs-Fixed: 3354458
2022-12-14 21:12:31 -08:00
Surya Prakash Sivaraj
210ee60f2f qcacmn: Add support for SAE EXT key AKM
Add support for SAE EXT key (0x0fac18) AKM.

Change-Id: If4b493d99561360aba50e1d1a7d1e5553e84acb0
CRs-Fixed: 3355394
2022-12-14 15:46:58 -08:00
Surya Prakash Sivaraj
3c3b18baaa qcacmn: Update indoor concurrency on cc change
On every country change, the master channel list and
the current channel list is recomputed. Therefore,
recompute the indoor concurrency list on every country
change and update the list with STA interfaces operating
in the indoor channels of the new country.

Change-Id: Ia7f73820a054e0d89248f3408e2e71b2c1c41959
CRs-Fixed: 3345389
2022-12-14 11:57:34 -08:00
Edayilliam Jayadev
d81b28c2ed qcacmn: Add INI to enable/disable non MLO 11be AP operation
Add INI variable to enable/disable non MLO 11be AP operation.

CRs-Fixed: 3260964
Change-Id: Ic84859244fc30d5f7c5ccd42d4a89334dbbf4890
2022-12-14 09:51:39 -08:00
Nitin Shetty
8271e2c71e qcacmn: set service code bypass for PPEDS
Program service code bypass to avoid
L2 new mac address learning exception
when fdb learning is disabled

Change-Id: I588a885aac1755cdf2ded5176b25d5ae9f533091
CRs-Fixed: 3354407
2022-12-13 07:46:21 -08:00
abhinav kumar
19ae8a535e qcacmn: Abort connection for next candidate if SAP stop/start is pending
In the case of STA/CLI + STA/CLI, if an STA/CLI is in connecting state
and a disconnect is received on any other STA/CLI, the disconnect can
timeout waiting for the connection on the first STA/CLI to get completed.
This is because the connection is a blocking serialization command and
it can try multiple candidates and thus can take up to 30+ sec to
complete.

Same way if an SAP/GO has a start/stop command or peer disconnect in
pending queue, the delay is processing it can cause timeouts and other
issues.

So abort the next connection attempt if any of the vdev is waiting
for vdev operation to avoid timeouts.

Change-Id: I6570b8213c9008d8fea26febb49d0e40d9180d12
CRs-Fixed: 3354561
2022-12-13 05:48:27 -08:00
KARTHIK KUMAR T
a04069265f qcacmn: Add mlo_mcast cb_ftype
Add mlo_mcast cb_ftype in the cb_ftype enum

Change-Id: I857da8952af500eca9a8e04555937085b3c3cfb2
CRs-Fixed: 3354564
2022-12-13 05:48:19 -08:00
Nanda Krishnan
66fd581109 qcacmn: Printing Tx Desc in use count for DS mode
Requirement:
As part of serviceability for DS, display the number
of Tx descriptors currently in use by DS module
via “cfg80211tool athXX txrx_stats 260” like non-DS.

Snippet of log/code of Non-DS:
DP_PRINT_STATS("Tx Descriptors In Use = %u",
                       soc->stats.tx.desc_in_use);

Fix:
Introduced a new ops (dp_tx_ppe_ds_inuse_desc)
to display the current Tx desc in use.
dp_ppe_ds_inuse_desc API will be registered
to dp_tx_ppe_ds_inuse_desc in initialization
and it will be invoked from dp_print_soc_tx_stats API
to display the in_use desc via 260 command

Change-Id: I18971fc5d4cb5eb5437b012e3b89db7c9c2446b4
CRs-Fixed: 3352686
2022-12-13 05:48:11 -08:00
Chaoli Zhou
91036d45ac qcacmn: Fix compile issue for wifi pos
Fix below compile issues:
1.error: no previous prototype for wifi_pos_get_vdev_priv_obj()
and wifi_pos_get_psoc_priv_obj().
2. error: incompatible integer to pointer conversion assigning
to 'struct wifi_pos_vdev_priv_obj *' or 'struct wifi_pos_psoc_priv_obj *'
from 'int'.
3. error: declaration of 'struct wifi_pos_osif_ops' will not be visible
outside of wifi_pos_register_osif_callbacks();

Change-Id: I6946f6240ed5adff291871c75ca85f848d955f4d
CRs-Fixed: 3356150
2022-12-12 22:35:18 -08:00