コミットグラフ

640 コミット

作成者 SHA1 メッセージ 日付
Yeshwanth Sriram Guntuka
7e9e7e4bcd qcacmn: Use the appropriate desc pool for mon status ring
In dp_mon_status_srng_drop_for_mac, the rx_desc pool
used for status ring is dest ring desc pool which is
not the appropriate one.

Fix is to use the appropriate desc pool for mon status
ring.

Change-Id: I6f178354789212b375a7a541366bef590a925568
CRs-Fixed: 2800658
2020-10-24 15:45:50 -07:00
Yeshwanth Sriram Guntuka
c5a9883e25 qcacmn: Drop packets from RXDMA2SW ring on the non-monitoring MAC
In monitor mode, if channel is initially configured from 5G
band and then moved to channel from 2G band, packets are still
received on MAC-0 RXDMA2SW ring since IMPS is disabled for both
MACs. Since driver reaps only MAC-1 RXDMA2SW ring, ring full
condition is hit for the MAC-0 ring causing ring backpressure.

Fix is to drop packets received on the non-monitoring MAC
ring.

Change-Id: I49cb276827f4a06791183ee3fe8c88ba84df085d
CRs-Fixed: 2791341
2020-10-19 07:08:01 -07:00
Ananya Gupta
936ca8fe36 qcacmn: Deregister IPA handler from pdev during deinit
A htt message arrived after ipa context is freed as part of
deinitialization which was dereferenced by event handler
assigned to pdev->ipa_uc_op_cb, resulting in crash.
To fix this, during deinit pdev->ipa_uc_op_cb is deregistered
and assigned NULL before freeing up ipa context.

Change-Id: I8125cb104a538e88cda93960f7443129fabd850a
CRs-Fixed: 2793295
2020-10-13 00:08:18 -07:00
Mainak Sen
a46ec49881 qcacmn: Check return value of mscs lookup function
check return value in mscs lookup function

Change-Id: Ib7381bc71e407b67b44463b2b7b1e2e655cc75cc
2020-10-07 15:16:31 -07:00
Mainak Sen
eb011c8f02 qcacmn: Add cdp ops for MSCS feature
Add a new cdp datapath ops - mscs_ops for Mirrored
stream classification signalling feature. This function
will be invoked from ECM flow acceleration manager

Change-Id: I749623846395057b6ea8328c881efa8733700b0e
2020-10-05 17:50:29 -07:00
Vevek Venkatesan
69cfce2eca qcacmn: add cdp ops for IPA Tx buf smmu_unmapping
Add cdp ops for IPA Tx buffer SMMU-S1 unmapping.

Change-Id: Ia28509439c27d4b42353c55774926f245fd30abc
CRs-Fixed: 2789746
2020-10-05 17:50:26 -07:00
Jinwei Chen
18989f8ede qcacmn: support multiple pages prealloc for descriptor
Support multiple pages prealloc for DP descriptor

Change-Id: I66d4cef3acf69acf4b6fc8e5a6d01c3d67921dca
CRs-Fixed: 2751338
2020-09-21 01:33:16 -07:00
Varsha Mishra
ca0cf99f1d qcacmn: FR-64493 WDS Extended support
Use AST override feature to send out multicast packet in
4 address format. Pass per packet peer_id from osif layer.

Change-Id: Ic86120169c89e7972caa3cc8c967de72670314d0
CRs-Fixed: 2775051
2020-09-19 10:25:26 -07:00
Varsha Mishra
c7789836fd qcacmn: Extended WDS solution RX
1. Register peer->osif_peer for per-STA netdevice delivery.
2. Wi-Fi 3-address frame packets received would be processed
   through AP netdevice.
3. Wi-Fi 4-address frame packets received would be processed
   through per-STA netdevice.

Change-Id: I102874ea1de9fba40ab7f0e2c32c9de1c9b4d075
2020-09-19 10:25:18 -07:00
Debasis Das
c1184913b7 qcacmn: Ensure nbuf count is less than no of segs
While preparing raw packets for transmission, the count
of nbuf belonging to one mpdu must be less than the
number of segments.This makes sure the frags array inside
seg_info does not go out of bounds.

Change-Id: I7fffba7f64da274aa73c558cfc63d90f4419a04d
2020-09-17 21:09:07 -07:00
Manikanta Pubbisetty
b36165ae23 qcacmn: export CMEM FST firmware capability to DP
Firmware advertizes its support to place FST in CMEM,
export this capability to DP.

Change-Id: I265246bcfd38a36e34c4ede66e117a92bb185032
CRs-Fixed: 2772238
2020-09-17 10:18:34 -07:00
Ankit Kumar
bdddeb7c22 qcacmn: Add frame vdev id check in tx
Drop frame if it is not for the vap, to which
client is connected.
Enable this check only for ap.

Change-Id: I33d7eb79267490bdb8697e4e45f789e9f6279f0e
CRs-Fixed: 2756304
2020-09-16 09:30:33 -07:00
Jia Ding
9f0246370d qcacmn: Do smmu unmap for IPA TX and RX doorbell registers
During driver initialization, IPA TX and RX doorbell registers
are provided to wlan as physical addresses. With SMMU S1 enabled,
they're mapped to IOVA of wlan domain.

On driver deinit path, do smmu unmap for the two IOVA addresses.

Change-Id: I85ef1c3e99bef504abf09eebf9ace760b68f35f1
CRs-Fixed: 2768303
2020-09-15 09:28:54 -07:00
Naga
c4cd90a9c4 qcacmn: FR-64492 WDS Extended support
- Added data structure for wds ext peer
- Enhanced DP peer structure to maintain
  wds ext peer data structure, which inturn
  maintain pointer to osif device.
- Enhanced DP vdev structure to maintain feature
  configuration, which will be updated during vdev
  creation when feature is flag is set at control
  psoc.
- Enhanced cdp_vdev_param_type and cdp_config_param_t
  to set wds ext configuration into DP vdev
- Enhanced cdp_cmn_ops structure and corresponding
  call back definitons to get peer id, which will
  be saved in osif private structure and to set
  wds ext peer rx.
- Enhanced cdp_ctrl_ops to send event to control
  path when 1st 4 address frame is received from
  backhaul.

Change-Id: Ide0ea54e7b2d480ad646fb84b6e4e3108930f986
CRs-Fixed: 2773492
2020-09-15 07:19:50 -07:00
Rakesh Pillai
08e5f5bf9d qcacmn: Add cdp API to enable/disable SWLM
Add CDP APIs to enable or disable the Software
latency manager.

Change-Id: I1ec182e97a245ec5848660fa912eebe83cfba2fc
CRs-Fixed: 2769030
2020-09-10 03:15:13 -07:00
Rakesh Pillai
b6835a9413 qcacmn: Add support to dump SWLM stats
Add the support to print the software
latency manager statistics.

Change-Id: I7b6f77eefc6f4f800996dc868d41e7e0f7dd3331
CRs-Fixed: 2769020
2020-09-10 01:04:35 -07:00
Rakesh Pillai
4b6f9e082b qcacmn: Add CDP API to save low latency connection count
The 11g and 11a connections are latency critical and
hence the tx coalescing cannot be applied on traffic
running for these connections.

Add a CDP API to save the number of low latency
connection in the dtapath vdev handle. The Software
latency manager can use this information to decide
and skip the tx register write coalescing for packet
transmission on low latency connections.

Change-Id: Iff51867447e9d4537a3637cb65d94e184e4249ef
CRs-Fixed: 2769025
2020-09-10 01:04:15 -07:00
Mainak Sen
60cdb2185c qcacmn: Hlos tid override support in dp vdev
1. Add flag to support hlos id override feature in dp vdev
2. Update tid from nbuf->priority in dp_tx_send
3. Update tid to nbuf->priority in dp_rx_process

Change-Id: I66e8d77733a667f3f60b77e0d7bb444f7c5ad93d
2020-09-07 01:03:42 -07:00
phadiman
dbb0787de4 qcacmn: Modify wlanstats context to RDK stats context
peer wlanstats context is used only for RDK Plume stats
but the name is misleading as wlan statistics

Hence rename peer's wlanstats_ctx to rdkstats_ctx and
the APIs the APIs around the same

CRs-Fixed: 2767192
Change-Id: I9e8955554b94fa29a3964fed729a95a4db67c8f6
2020-09-03 04:04:17 -07:00
Nisha Menon
d95c9bb377 qcacmn: Map IPA tx buffers as part of IPA ready callback
Register IPA ready callback with IPA driver. The callback
sets ipa_is_ready flag in the host driver and kick starts
the ipa init sequence as part of which the Tx buffers are
mapped to IPA.
None of the IPA APIs are invoked until IPA ready registration
is complete.

Change-Id: I6570b2b347052164a274fbc22358ebf0719dcabf
CRs-Fixed: 2735107
2020-09-02 13:51:44 -07:00
Pavankumar Nandeshwar
6756b1a5aa qcacmn: Data path changes for QCN9100 bringup
Initial changes made for bring up of
QCN9100 in data path and hal

Change-Id: I6cbe90428b552b6ff5733bc0f60bfb9f7933bc9a
2020-09-01 01:49:51 -07:00
Mohit Khanna
83aab371c4 qcacmn: Add support to use pre-alloc mem
Add logic to pre-allocate DP consistent memory and reuse later
on wifi on/off. This prevents memory fragmentation.

Change-Id: I1e5eb0da39950a5d028dd46d38ff715f283e53ff
CRs-Fixed: 2740889
2020-08-31 03:32:45 -07:00
Pavankumar Nandeshwar
f0d2f53e32 qcacmn: stats VoW IGMP improvements
Add stats VoW IGMP improvements feature

Change-Id: I86b803e67f2cc3cfc01750f261f06590ff2b97c2
2020-08-28 02:01:25 -07:00
Pavankumar Nandeshwar
0eeac59b4e qcacmn: VoW IGMP improvements
As part of the VoW IGMP improvements, which deals with
conversion of igmp packets to unicast packets, the
following changes are done when the new feature is enabled:

1. IGMP/MLD packets with special addresses (addresses not
   part of any multicast group) will be converted to all
   existing clients of the AP. These packets will be
   directly fed to igmp multicast to unicast conversion
   module.
2. The IGMP/MLD packets with group specific addresses will
   first go to multicast enhancement module, where they
   will be allowed to pass and will be converted to unicast.
3. The new feature will be enabled only when multicast
   enhancement feature is enabled, which will be ensured
   at the configuration level.
FR : 61063

Change-Id: I2fd5a67766c806432fbe1a12cb9654a3600100f5
2020-08-28 02:00:48 -07:00
Rhythm Patwa
3a1d8d64f7 qcacmn: Add support for Punctured Preamble PPDU count in tx stats
Add support to update the count of number of Punctured Preamble
PPDU's transmitted by the AP.

Change-Id: Id85a490e9e80566e639f48190a96d3107c6e5c61
CRs-fixed: 2755288
2020-08-27 18:37:12 -07:00
Amir
376724d4f9 qcacmn: Add WAR to skip status ring entry
STATUS_BUFFER_DONE tlv written in first word for a status
buffer indicates that DMA is done for that status ring entry.

In existing implementation, for a status ring entry if
STATUS_BUFFER_DONE tlv is not written by HW, we poll on to status ring
entry until DMA is done by HW.

During lmac reset it may happnen that HW will not write STATUS_BUFFER_DONE
tlv in status buffer, in that case we end up polling infinitely leading
to backpressure on monitor status ring.

As per MAC team's suggestion, when HP + 1 entry is peeked and if DMA
is not done and if HP + 2 entry's DMA done is set,
replenish HP + 1 entry and start processing in next interrupt.
If HP + 2 entry's DMA done is not set,
poll onto HP + 1 entry DMA done to be set.

CRs-Fixed: 2740988
Change-Id: Ieef667f0bb4a47e74fc320c93243c637409f47f0
2020-08-26 14:32:13 -07:00
Neha Bisht
8ae1b8a9e3 qcacmn: Provide SON with per peer qos stats
Providing per peer QoS stats to SON via WDI event

Change-Id: Idd3cfbfec332269fdc8ad0ef273674e81d6ee92f
2020-08-24 05:55:22 -07:00
Ramanathan Choodamani
dae503e5a1 qcacmn: Add build flag for MSCS procedures (Data path)
This change will add a build flag support to MSCS wherein
the functions will be called based on the status of the flag
created. This flag will be enabled by default.

Change-Id: I1c234c710d3b37f534ed2df7b37343cbd65ab930
CRs-Fixed: 2757257
2020-08-22 16:01:07 -07:00
Yu Tian
dabf6e13ee qcacmn: Add RX frame pending check for WoW
Sometimes frames are queued to dp_rx_thread wait queue
during WoW suspend in progress. At this time dp_rx_thread
is in SUSPEND state and these frames can't deliver to Linux
Stack, for ICMP case, if no other frames come to wake up
system, ICMP timeout will happen. Add a RX suspend check
in WoW to avoid suspend when frame comes before WMI_WOW_ENABLE
sends to FW

Change-Id: I756d3127f75da8f0e6e303c1250c01ce0c6ac573
CRs-Fixed: 2756263
2020-08-21 14:48:05 -07:00
Manjunathappa Prakash
93aff9ee1f qcacmn: Add DP INI to tune netdev features at runtime
Add INI to modify the HW checksum capability advertisement.
Add hook to update enable/disable of HW checksum for vdev.

Change-Id: Idd0bad1d39c8411c7b4ef19483aa2c75a756791b
CRs-Fixed: 2732099
2020-08-20 23:08:11 -07:00
Ramanathan Choodamani
fe082ae00d qcacmn: MSCS Procedures - Get the MSCS parameters
This change will acquire MSCS parameters from the
MSCS request sent by the STA and provide it to the
data path which will later use it for building flow
database.

Change-Id: I972154792c682527f8df04de693077188726e8da
CRs-Fixed: 2669386
2020-08-16 23:07:06 -07:00
phadiman
3df84438dd qcacmn: Add CDP API to get peer wlanstats ctx
Peer wlanstats context was accessed directly from
PPDU cookie, with this approach the cookie pointer
may become stale if peer goes for deletion

Hence access the wlanstats context using CDP API
with stats context protection

CRs-Fixed: 2740261
Change-Id: I54c785325f8852ad422f05527b98ebca6e4d6cf0
2020-08-14 14:44:25 -07:00
Nitin Shetty
279435cff4 qcacmn: clearing jitter statistics
adding support for clearing jitter statistics
for command "cfg80211tool athX txrx_stats 257"

Change-Id: Iaac9a6e6a849bbb08935ca581fa58c93ef51bdbd
2020-08-13 17:12:45 -07:00
Subrat Mishra
9b715c34c5 qcacmn: Retrieve per PPDU phy tx duration
Add support to retrieve per PPDU phy tx duration without response time.
Add support to retrieve per User phy tx duration for MU-MIMO and OFDMA.

These metrics are useful for ATF stats feature. Stats processing done
only if atf stats flag is set.

CRs-Fixed: 2709102
Change-Id: I90db41aa45843808e07343a80750c154abbde9cd
2020-08-12 06:42:17 -07:00
Ankit Kumar
526bbe81de qcacmn: Handle frag based ops based on rx_Desc_pool flag
Rx desc pool have a flag to identify whether frag or nbuf
operation needs to be performed for alloc, map, prep and
free buffer for monitor dest buffer.

This flag will be set only for mon destination desc pool,
if RX_MON_MEM_FRAG feature is enabled.
In all other case, It will be set to Zero and default nbuf
operation will be taken.
This flag get initialized at the time of pdev rx_desc_pool
initialization and gets reset while pdev deinit.

Mon destination buffer will have support for frag if
RX_MON_MEM_FRAG flag is set.

Change-Id: I67c6c823ee4f114035b884c024a1a9054a40665b
CRs-Fixed: 2741757
2020-08-11 14:09:08 -07:00
Adil Saeed Musthafa
eca6d16539 qcacmn: Move RU and MCS strings to cdp header file
Move RU and MCS strings from dp_stats.c to cdp header file so that these
strings can be used in user applications including the CDP header. This
will remove redundant definitions of these strings in user application

Change-Id: Ie74283f54131378447324b927e19e9716ef7519a
CRs-Fixed: 2749062
2020-08-10 01:58:06 -07:00
nwzhao
ca9a332c4a qcacmn: [DP]TWT stats feature: add WMI Support for TWT stats event
Add WMI support for WMI_TWT_SESSION_STATS_EVENTID. This event
contains stats for a given TWT session.

Change-Id: I01d5f7b30da803ee713a14c1d1124b8af7161bca
CRs-Fixed: 2609951
2020-08-05 02:17:19 -07:00
nobelj
4dd08941dd qcacmn: add fix to send ppdu in sequential order
logic of holding ppdu info list is modified to store it
in sequential order.

Change-Id: I179e76f4bb1663e141e48df5f274ac5fd1b81bbc
2020-08-03 13:28:35 -07:00
Manikanta Pubbisetty
fa2844b787 qcacmn: DP RX changes for RX buffer pool support
DP RX changes to support RX buffer pool, this is a pre-allocated pool
of buffers which will be utilized during low memory conditions.

Change-Id: I8d89a865f989d4e88c10390861e9d4be72ae0299
CRs-Fixed: 2731517
2020-08-01 13:13:36 -07:00
nobelj
4e788e664c qcacmn: fix tx capture MU data and bar frame ctrl
copying mu data info is done inside schedule command status tlv
and handling based on completion status is added.

Change-Id: I2792d754a4fa3e2992d68f569c9ce40be8ff02e2
2020-07-31 20:16:09 -07:00
Jeevan Kukkalli
b9dee38eec qcacmn: Add new WDI event and event structure
New WDI event WDI_EVENT_HMWDS_AST_ADD_STATUS to indicate
status of HMWDS peer ast add action to upper layers.

Change-Id: I49afd4b1b64596ef59261e3da1677955c10a7804
CRs-Fixed: 2729299
2020-07-31 16:26:41 -07:00
Srinivas Pitla
3731db6e13 qcacmn: add flag in PPDU user to indicate processed
New flag is added in PPDU user, this flag gets updated
on processing the user of a PPDU desc

Change-Id: Ib778b08833392bfd5651a83c2c1131f1d1ce3ea8
CRs-Fixed: 2738431
2020-07-28 11:39:59 -07:00
Manoj Ekbote
3d34d90697 qcacmn: Set up user completion struct based on max users
Currently, per-user information in Tx PPDU completion is allocated for
37 users though FW may send information for fewer number of users. In
new scheme, FW provides number of users in USERS_INFO TLV and host can
allocate the per-user struct based on this number. This can save memory
while processing each completion message.

CRs-Fixed: 2730923
Change-Id: If04fd664a1ef6e77e8eb44c5d2bd1fa89fcaba72
2020-07-26 20:24:22 -07:00
Kai Chen
ee26d03b10 qcacmn: resolve issue on updating protocol tag
Skip protocol tag updating from msdu end TLV protocol tag meta data
when there is RXDMA REO entrance push error on monitor destination ring.
The attention and msdu end TLV is not updated reliably when there
is RXDMA REO entrance push error such as FCS error on monitor
destination ring.

Change-Id: I4098c01251b4f4cb2e796d450c156ba8f2b9464d
2020-07-23 19:28:48 -07:00
nobelj
ab4338f749 qcacmn: Add support to get device name and tx capture debugfs init
Add support to get device name and invoke debugfs init
on post attach so that device name is updated at that point.

Change-Id: I0e0a06cae4bef4d6e43c0295f5db99220b185df2
2020-07-23 19:28:45 -07:00
Yeshwanth Sriram Guntuka
01c7242aca qcacmn: Update tx completion cb prototype to pass tx status
Update tx completion callback prototype to pass tx
status also as argument.

Change-Id: I33413a0943ec8050d6c8ae6b2ef3592d593cb063
CRs-Fixed: 2682028
2020-07-22 11:55:38 -07:00
Aniruddha Paul
1b7f50b096 qcacmn: Update the Tx/Rx Delay histograms
Update the Host Tx/Rx per packet delay histogram

Change-Id: I40c3c05b2eb90427bd83783f13f2a7a3df41d232
2020-07-17 21:25:58 -07:00
Mohit Khanna
42a8d7ef31 qcacmn: Add P2P UDP/TCP checksum offload INI entry
Add support to enable disable TCP/UDP checksum offload for P2p modes.

CRs-Fixed: 2725395
Change-Id: Id482649e501a8f9a8900a92e3e03a48f0e99603c
2020-07-12 01:49:34 -07:00
Aniruddha Paul
96a1be4fcb qcacmn: Add histogram framework for DP path
A new framework added to calculate the per packet level
histogram

Change-Id: Iac52f7a672fa2afe1d6aec26931a8bc3115c6a98
2020-07-03 10:51:57 -07:00
Mohit Khanna
97200aab9c qcacmn: Add NAN TX checksum offload INI entry
Currently there is a single INI item tcp_udp_checksumoffload to enable
or disable this feature for all the adapters. In some cases, we want to
be able to enable this feature selectively for NAN mode.

Add nan_tcp_udp_checksumoffload ini item to enable or disable checksum
offload feature specifically for NAN mode. If
nan_tcp_udp_checksumoffload is 'true' and tcp_udp_checksumoffload is
false, hardware checksum offload will be enabled only for the NAN
adapter and not for other adapters.

CRs-Fixed: 2693638
Change-Id: I6e255ce68ddc7b01ebdefe4e5e8d2c985388fefe
2020-06-16 12:20:20 -07:00