Commit Graph

604 Commits

Author SHA1 Message Date
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
Balaganapathy Palanisamy
a497ea80aa qcacmn: Add peer isolation support per vap
Configure the client as isolated peer if part of isolation
list while creating/associating the node or adding the peer
to the isolation list.
Do not forward the packets to and from clients in isolation
list instead accelerate to upper stack.

CRs-Fixed: 2689868

Change-Id: I67fd4dee0fb76c993746cdd66c70c241d407239a
2020-06-03 08:08:13 -07:00
Jia Ding
c66705291b qcacmn: Properly set OL_TXRX_NUM_LOCAL_PEER_IDS
Set OL_TXRX_NUM_LOCAL_PEER_IDS to WLAN_MAX_CLIENTS_ALLOWED
if WLAN_MAX_CLIENTS_ALLOWED is defined.

Change-Id: Ifb5c6ab15e791f92aa8503537e624195cf3fad6d
CRs-Fixed: 2694492
2020-05-29 14:51:01 -07:00
Yeshwanth Sriram Guntuka
1173b39f0f qcacmn: Update peer rx mpdu count per mcs rate
Update the peer rx mpdu count per mcs rate as part
of peer stats updation.

Change-Id: I945d32c7701f5f5c9bfbbaa6ab4576b94389c84c
CRs-Fixed: 2688068
2020-05-21 20:34:59 -07:00
Prathyusha Guduri
dcb2fc98f6 qcacmn: Add Tx desc limit check for exception packets
Soc level exception descriptors limit is sent from FW in WMI service
ready TLV. Using that to check for exception packets limit

Change-Id: I99d20ecbb6a5bfd61b5a8a205775d34749eae880
2020-05-13 06:46:01 -07:00
Ananya Gupta
4ef9913568 qcacmn: Cancel reap timer during driver unload
In case of driver unload, there can be a race condition
since the timer for processing monitor status ring can run
in parallel to the unload time wow ack response handler,
which is also flushing all the monitor status ring entries.
To avoid this race condition, stop the monitor reap timer
as a part of target suspend, and process all the outstanding
entries in the montior status ring.
This will make sure that the monitor status ring is
processed from only one context at any given time.

Change-Id: If61327c73fdddc414b3957b69ae986f2a26bb803
CRs-Fixed: 2677812
2020-05-08 14:25:48 -07:00
Amir
d2e553e973 qcacmn: Add debug statistics for monitor mode
qcacmn: Add debug statistics for monitor mode

Change-Id: I3fe59af1c7f561bd22f502eb5b19265ecd49ee69
CRs-Fixed: 2677656
2020-05-07 08:44:20 -07:00
nobelj
d5cee84d47 qcacmn: fix qdf trace print during ppdu stats log
fix qdf trace print during ppdu stats log

Change-Id: Ibe91f597498324e49d0e6b335d3d8edb7dcdb828
2020-05-06 12:27:47 -07:00
phadiman
1f3652debc qcacmn: Datapath init-deinit changes
Do a logical split of dp_soc_attach and
dp_pdev_attach into Allocation and initialization
and dp_soc_detach and dp_pdev_detach into
de-initialization and free routines

Change-Id: I23bdca0ca86db42a4d0b2554cd60d99bb207a647
2020-05-02 21:59:42 -07:00
nobelj
01dcfedca1 qcacmn: Support MU in tx capture mode
Support fix for MU related data frame in tx capture mode.

Change-Id: I8b63eaf320463a3a068beb589089582cafe05001
CRs-Fixed: 2656346
2020-04-27 23:26:50 -07:00
Pavankumar Nandeshwar
2d9f587695 qcacmn: Host-FW handshake improvements for WDS AST deletions
- For directly connected peers, during peer de-auth,
  a Single Peer delete request to the FW from host
  should delete all AST entries attached to the peer.
- This optimization is aimed at optimizing host-fw
  handshake messages

Change-Id: Iaebe2022f90ef9a10a6a0f37b21c409cf9e9ea39
CRs-fixed: 2647242
2020-04-20 05:54:48 -07:00
Kai Chen
93d8e4ae42 qcacmn: enable monitor destination ring interrupt
Enable monitor destination ring interrupt to fix
packet is getting stuck in monitor mode.
Fix and add monitor mode debug count

Change-Id: I74efdcf6a4373dd73e373285c8cd3aa5757cd0b2
2020-04-19 10:03:37 -07:00
Vulupala Shashank Reddy
1f34b9d74e qcacmn: Delete cdp ops as part of Componentization of packet capture
As part of componentization of packet capture feature
removed cdp ops of packet capture.

Change-Id: Iea07cbdc5782dee58cd1c87377363cc26479464f
CRs-Fixed: 2659439
2020-04-11 15:58:42 -07:00
Nandha Kishore Easwaran
1039ae6642 qcacmn: Support for IPQ8074 2G PHYB mode 2/3
This mode is supported through hw_mode_id 7. A special mode for
IPQ8074 platform alone to bring up single pdev alone on 2G mode.
FW would advertise the mode 7 support through the WMI service
ready message and this mode will be the default mode for AP-HK10 alone.

Added preferred_hw_mode and target_pdev_id into dp structures so that
they can be used to configure the dp rings for this particular mode.
Also changed the lmac_id to target_pdev_id mapping for mode 7.

Change-Id: I3aae46fea13132eebaf7d37cff68ef517253d229
2020-04-08 13:43:30 -07:00
Yeshwanth Sriram Guntuka
0ffde7142a qcacmn: Add support to track per peer no ack counts
Add support to track no ack count for different protocol
packets per peer.

Change-Id: I32f04eb3817c1b6c4806c8bb0230db3a71fadb5e
CRs-Fixed: 2643532
2020-04-01 00:21:41 -07:00
Wu Gao
577bdfe20e qcacmn: Add dp interface to enable/disable reap timer
Enhanced channel frequency response (CFR) based on monitor status
ring, need to enable mon reap timer before starting CFR and disable
the timer after stopping CFR capture. This change adds interface to
enable/disable monitor status ring's reap timer.

Change-Id: I843433ac07c4d55e14b42855ee22779eb7ecb678
CRs-Fixed: 2639307
2020-03-24 10:24:50 -07:00
Basamma Yakkanahalli
9def5df14a qcacmn: device ID and target type checks for ipq5018 target
Initial changes for ipq5018 compilation.
Added device ID and target type checks for ipq5018 traget.

Change-Id: Ib86a371fbe66749fcb6d114e7a4a9931b684e03d
2020-03-20 23:45:43 -07:00
Amir Patel
925a7d389c qcacmn: Add full monitor mode changes
Add following changes:
	a. Add CDP API to config full monitor mode
	b. HTT configuration changes
	c. Init/Deinit changes for full monitor mode resources

CRs-Fixed: 2632442
Change-Id: I06db5194031b3ea0f0c1e5deda20df4bc0faa0b9
2020-03-20 22:16:00 -07:00
Pavankumar Nandeshwar
9b0c1271ed qcacmn: Initialized pdev id with default value 0xFF
pdev_id is being initialized with 0. Since 0 is valid pdev_id, though
pdev is not present for that id, it is being accessed.

Initialized pdev_id to 0xFF by default. Added checks on API to
detect valid pdev_id value corresponding to lmac_id

Change-Id: I2b2a38783615494ccc08e265702815f7e562214b
2020-03-17 03:11:13 -07:00
Mohit Khanna
b4429e8278 qcacmn: Add delayed register write support in HAL
In case the bus is in low power mode, the register writes (followed by a
memory barrier) may take a long time (~4ms). This can cause the caller
to block till the PCIe write is completed. Thus, even though PCI
writes are posted, it can still block the caller.

Hence, in case the bus is in low power mode (not in M0), or not in high
throughput scenarios, queue the register write in a workqueue. The
register write will happen in the delayed work context. In other cases,
i.e ,when the bus is not in low power mode or in high thoughput
scenarios, do the register writes in caller context.

Change-Id: Idf218e4581545bc6ac67b91d0f70d495387ca90e
CRs-Fixed: 2602029
2020-03-09 20:58:23 -07:00
Pavankumar Nandeshwar
d1aac5b3c3 qcacmn: Send peer_id in peer_add_wds_entry API
Send peer_id in peer_add_wds_entry API of ol_if_ops,
so that the dp peer doesn't need to be explicitly
retrieved in corresponding offload API.

Change-Id: Ia32d31946de43e9faa1970f4e74f2810f4125995
CRs-fixed: 2629475
2020-03-05 08:28:02 -08:00
Adwait Nayak
48d23f29a1 qcacmn: CFR: Update RCC specific debug statistics
Move RCC specific debug statistics to Data path
to avoid allocating nbuf for the PPDUs for which
MAC has not sent a Freeze TLV. Instead just update the
debug statistics at an earlier point irrespective of
MAC sending Freeze to PHY, to gather below information:
Status of number of PPDUs being captured by PHY
Status of MAC sending freeze TLV for the PPDUs
Update freeze reason for the number of PPDUs received

Add support to clear debug statistics at user's will.

Change-Id: I8def3ce1f3ecc0b169030704db3fb1fb1c0a20ee
CRs-Fixed: 2609604
2020-02-28 00:20:49 -08:00
Ruben Columbus
e792f8bab3 qcacmn: adding doppler/SR for he information
Add doppler and spatial reuse in ppdu descriptor to be able to use it on
HE information for tx capture

Change-Id: Id87a692a89d00c64929624c22c2efc27bc873e43
2020-02-25 12:39:44 -08:00
Himanshu Batra
7e8e1a229c qcacmn: Move _ol_ath_param_t enum out from CDP
Add code to move enum _ol_ath_param_t out from common DP code
and move it into OL layer

Change-Id: I92fa5f52c581a18449ab42da41ff5f6f1a2bc595
Crs-Fixed: 2560866
2020-02-20 08:32:47 -08:00
Aditya Sathish
041409f98f qcacmn: Add 6GHz support for chan/freq/band usage in mesh mode
Currently mesh mode uses channel numbering which is derived
from APIs that don't support 6GHz channels numbering due to the
overloading of 6GHz channels with 2.4GHz and 5GHz.

Add support to obtain the correct channel number (and auxiliary
information like band and frequency) through the new APIs that
support 6GHz.

Change-Id: Ib0b39ebae2a22bd6b2b5d17b9058c3c2100e0d59
CRs-Fixed: 2605229
2020-02-20 08:32:09 -08:00
Linux Build Service Account
d7586dd85c Merge "qcacmn: Add an enum value for DBDC Repeater flags" 2020-02-18 02:10:53 -08:00
Vignesh Mohan
3a795702fc qcacmn: Add a new CFG param for set opclass tbl cmd
Add a new enum in CFG __ol_ath_param list for set and
get opclass tbl command.

CRs-Fixed: 2621974
Change-Id: I9389f43b7ad5d1d338a8578c3dba39f41e29acce
2020-02-17 00:05:59 -08:00
Linux Build Service Account
67ef957780 Merge "qcacmn: Rename cmd ring to cmd_credit ring" 2020-02-15 11:08:15 -08:00
Yu Tian
0c6d94dd3e qcacmn: cdp: Implement API cdp_set_key_sec_type
Peer key security type is set in cdp_set_pn_check,
this API is called in key install step, but only
update Ucast field even if in Mcast key install.
This may be set wrongly if Ucast and Mcast security
modes are different. Add a new API to set security
modes of differ key types separately.

Change-Id: Icaa63139d117de75633ca1f81eb618c6b9294b53
CRs-Fixed: 2617461
2020-02-14 07:40:04 -08:00
Rathees kumar Chinannan
3bfb33c5b0 qcacmn: Add an enum value for DBDC Repeater flags
Add an enum value for DBDC Repeater flags

Change-Id: I50fd7a4ef970635181387b63f59318c091d4cc9b
2020-02-13 22:37:59 -08:00
Venkata Sharath Chandra Manchala
0094761c88 qcacmn: Take peer reference before requesting for rx queue status
Increase the peer ref count before requesting for reo
queue stats and release the ref count after receiving
the queue stats on the reo status srng.

Change-Id: Ife3b87951e767414efa1bfb45486cd364578d2a7
CRs-Fixed: 2604862
2020-02-13 13:05:54 -08:00
nobelj
7cc67e504f qcacmn: Support mgmt packet peer filter based on mac address
RA mac address is used to support tx capture mgmt peer filter.

Change-Id: I895034723d4b75557ad33f55adc017d1caa3a40d
2020-02-13 10:19:49 -08:00
Linux Build Service Account
71dccc8bc2 Merge "qcacmn: Set DBS scan if ndp peers are active" 2020-02-13 04:38:15 -08:00
Manjunathappa Prakash
5d73e075e8 qcacmn: Add support to deliver the packets to FISA
Hook FISA specific callback to deliver the Rx packets to
FISA frame work.

Change-Id: Ia16c857764c0c3bf99c3855eac01659eb03c7608
CRs-Fixed: 2599917
2020-02-12 11:58:59 -08:00
Saket Jha
a4a994242f qcacmn: TX Optimization
Memory optimization of unused TX rings by not configuring rings that are
not being used. Configure 2 rings for host in the case of IPA, instead
of configuring 3. If IPA is disabled then configure only 1 set of TX
rings for host.

Change-Id: I251606c728f3020a13e45e8c8386970c8a641f0a
CRs-Fixed: 2530572
2020-02-12 02:38:17 -08:00
Adil Saeed Musthafa
bbc4de06d7 qcacmn: per-peer protocol count tracking
Maintain packet counters for each peer based on protocol. Following 3
protocols are supported
* ICMP (IPv4)
* ARP (IPv4)
* EAP

Change-Id: I56dd9bbedd7b6698b7d155a524b242e8cabd76c3
CRs-Fixed: 2604877
2020-02-04 14:17:14 -08:00
Linux Build Service Account
7425efbdbe Merge "qcacmn: Add common framework for mon filters" 2020-02-03 09:38:34 -08:00