Commit Graph

161 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Surya Prakash Raajen
c10ffa0652 qcacmn: Run time enablement of CE tasklet debug
Add support for enbalement of CE_TASKET_DEBUG_ENABLE in
run time.

Change-Id: I0132c3b989b75e7d526680f1e5f73a716e9db54c
CRs-Fixed:: 2610811
2020-01-30 05:00:18 -08:00
Shashikala Prabhu
8533bb54fe qcacmn: Add API to set/get number of monitor vdev counts in pdev
Add API to set/get monitor vdev count in pdev object.

Also update the max peer count in pdev and psoc when FW allocated peer
count is different than host requested.
Number of vdevs and beacon tx offload max vdevs in wlan_res_cfg are updated
in target_if_update_pdev_tgt_info().

Also, add radio related parameters to get number of vdevs and peers per
psoc and pdev.

Change-Id: I0165f3bd4638280b45ad54391319806fba62e2fe
CRs-Fixed: 2600984
2020-01-27 12:44:51 -08:00
Pavankumar Nandeshwar
2771d985bc qcacmn: provide an API to fetch individual peer stats
Provide an API to fetch required individual peer stats
from the data path peer stats instead of copying the
whole peer stats structure.

Change-Id: I1c9619bc7d9bb0e3e3df6d38cc5f4570869e31fe
2020-01-22 14:58:29 -08:00
Ankit Kumar
53581e92fd qcacmn: Update counter in mutipass rx packet drop
multipass_rx_pkt_drop is peer level stats counter
used to count multipass rx packet dropped frame.
Accumulate this counter at vdev and pdev level.

It also initializes multipass_en flag to false at
vdev attach.

Change-Id: Idaa85a71c80eefb9359abb026402b71aa28ad6a2
CRs-Fixed: 2595551
2020-01-17 19:50:47 -08:00
Padma Raghunathan
f75841764c qcacmn: CFR: Copy hal ppdu info to cdp ppdu structure
CFR information extracted from PPDU status TLVs is already stored in
HAL ppdu structure. Extract the same and copy it to CDP ppdu structure.
This is delivered to subscribers through a WDI event, similar to PPDU
stats.

Change-Id: I4315626c7f79f85b75b8d1b9e1e5caf8d65abed9
CRs-Fixed: 2593416
2020-01-14 05:33:47 -08:00
Adil Saeed Musthafa
e76b6f2458 qcacmn: command to modify OMN timer, primary IF in dynamic mode switch
* Add command to modify OMN (Operating Mode Notification) timer value for
hw-mode switch. These commands can enable/disable the sending of Opmode
IEs in the beacons after HW mode switch and also configure the time for
which the IE will be sent after the switch.

* Add command to change primary interface when switching dynamically to
DBS mode.

Change-Id: Iceb8e29a46fa4873d3cbd7e41ec0da3782a5dd22
CRs-Fixed: 2560684
2020-01-03 20:04:15 -08:00
Surya Prakash Raajen
bf5195f2e6 qcacmn: Memory optmization of Node/peer structure variables
Remove unused variables and reduce the memory by
the structure padding.

Change-Id: I8feca8b6e3c340601a2097ccf6ce18d5840f29b9
CRs-Fixed: 2587049
2019-12-27 01:40:32 -08:00
Sumedh Baikady
48fdc2ddfb qcacmn: Add out of band advertisement in 6Ghz
Add WMI and objmgr support for maintaining RNR
buffer cache and receive tbtt events for all
vdevs using existing tbtt offset WMI.

Change-Id: Idfed63e104e629fbe455d1cf6202cd9b332f5cf9
2019-12-18 11:13:36 -08:00
Ruben Columbus
282f3a5ce1 qcacmn: RSSI averaging function accuracy
improvement on function for avergaging rssi accuracy

Change-Id: I4fb231aacb2ed76a2e5e1b5843a8b095e9901406
2019-12-13 12:15:02 -08:00
Pavankumar Nandeshwar
4c7b81b540 qcacmn: removal of cp handles and changes for ol_if_ops
Remove pdev and vdev control path handles from data path.
Instead send pdev_id and vdev_id along with opaque soc
handle in ol_if_ops.

Change-Id: I6ee083f07e464f283da0d70ada70a4e10e18e1b2
2019-12-04 07:45:10 -08:00
Pavankumar Nandeshwar
715fdc32ec qcacmn: remove ctrl_peer handle from dp peer
Remove ctrl_peer handle from dp peer and instead
use peer's mac address

Change-Id: I9e24fa94248749f9b4859bce4a1d79d70f32507e
2019-12-04 07:44:21 -08:00
Kai Chen
a8cf59455e qcacmn: Add stats on OFDMA and MU-MIMO packet
Add MCS, NSS, MPDU FCS OK, MPDU FCS ERR stats
classified by SU, OFDMA and MU-MIMO.

Change-Id: I3ade03acc06bd924fdeb8dfcaf6b18fb01f01d68
2019-12-01 19:16:58 -08:00
Rakesh Pillai
74368919c5 qcacmn: Ratelimit the tso descriptor alloc failure
In cases were all the tso tx descriptors are outstanding,
the alloc for any subsequent tso packet will fail.
This failure to get a tso tx descriptor floods the
console with failure logs.

Ratelimit the tso descriptor allocation failure and
increment the alloc failure in stats to get the exact
number of times the allocation failed.

CRs-Fixed: 2572580
Change-Id: I789788b917421be99df5435ad858d715ef0f5c8e
2019-12-01 17:42:07 -08:00
Priyadarshnee S
27f9726c24 qcacmn: Add an enum to configure UNII-1 and UNII-2A band coexistance
Add an enum that enables/disables coexistance of UNII-1 and
UNII-2A band channels.

CRs-Fixed: 2570364
Change-Id: I30cdda555675e4772aff59ebbbacfdd79f699af5
2019-12-01 17:41:51 -08:00
Venkata Sharath Chandra Manchala
8a4812f7fc qcacmn: Enable TSO Stats for Lithium based products
Add support to account for TSO jumbo packets on the
Tx path and print the statistics using dumpStats 3.

Change-Id: I6cc446df5c84e3ac436d922935fcd559e0704ec5
CRs-Fixed: 2356244
2019-10-28 07:11:53 -07:00
Manoj Ekbote
82a4606b8b qcacmn: Add ioctl param to retrieve MBSS status
Add parameter to know if MBSS feature is enabled or disabled.
During 'wifi detect', the wireless config file is changed and
there's no way to figure out status of MBSS feature.

Change-Id: Ie56244097fd15efc71213f23e5afcb57188c9386
CRs-fixed: 2531506
2019-09-24 14:00:07 -07:00
narayan
7d5c0c3d59 qcacmn: Add cmd to disable same ssid feature
Add a command to globally disable same ssid feature from uci

Change-Id: If995f673f6b0bd3cecc48293cb579e517b623e74
CRs-Fixed:2522146
2019-09-17 10:20:36 -07:00
Shashikala Prabhu
fdf5499a36 qcacmn: Update the peer rssi for entire packet bandwidth
Peer rssi is updated with the rssi measured on primary 20 and
not on the entire bandwidth.
Scale the peer rssi value by packet bandwidth offset.
Packet bandwidth offset for packet bandwidth of 20/40/80/160 is
0/3/6/9 dB.

Change-Id: I13eb8c17ec9828c0025d6b3a92a8b26b971268a1
CRs-Fixed: 2518598
2019-09-12 08:43:16 -07:00
Mainak Sen
f3053eb1d1 qcacmn: Add fields for Tx TQM and FW exception drops
VoW stats should contain fields to count TQM and FW exception
drops

Change-Id: I71a81b8e9cc9428b5c727d77c0eeec5bb23a2b42
2019-09-09 07:08:34 -07:00
Mohit Khanna
c42d8036c9 qcacmn: Donot forward MDNS packets for NAN vdev
MDNS packets if forwarded for a NAN vdev can lead to potential flooding
of the air interface. Hence donot forward them.

Change-Id: Idfdedfb0b5b553745440587448230013f3b56a7d
CRs-Fixed: 2503360
2019-08-16 08:23:00 -07:00
Ankit Kumar
cd66fff1ce qcacmn: Process smart antenna fields from tlv
Process smart antenna fields from tlv
HTT_PPDU_STATS_USR_COMPLTN_COMMON_TLV in tx
completion path and export it to tx_completion.

Change-Id: If14e711b0aee8e583fd329f3c3915904649ffe47
CRs-Fixed: 2491429
2019-08-15 01:28:21 -07:00
Gyanranjan Hazarika
e8047269ee qcacmn: data-path changes for dynamic hw-mode config
This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.

Relevant DP changes are:

1. Add API cdp_txrx_handle_pdev_status_change to pass
pdev 'up' or 'down' status to DP module
2. Add pdev-status check in dp_rx_process_invalid_peer
3. Add pdev-status check in dp_tx_comp_handler to free
buffer and release descriptor

Change-Id: I74b144abb1b0dc41a26a18ad28f872e6457e9653
CRs-fixed: 2490212
2019-08-07 16:22:32 -07:00
nobelj
1453164d24 qcacmn: add per user RX stats in Rx PPDU struct
1)Add per user RX stats in Rx PPDU struct
2)Add per RU size counters in wifistats/iwpriv txrx_stats 10
3)Modified RX ppdu indication structure.

CRs-fixed: 2458732
Change-Id: Id8f3d6cce97503c0529642c4f5d66f3bbc59785d
2019-08-05 23:27:05 -07:00
nobelj
7b0e27336e qcacmn: Fix OFDMA stats counter
user info with delayed ba stats are stored and stats are updated later
on receiving BAR.

Change-Id: I574dd94d5a7db2160953b5d5d302eff18f4f8648
2019-08-05 16:46:06 -07:00
Ankit Kumar
1c69ca1112 qcacmn: Added rx errors and dropped stats
Rx dma error and reo error are accumulated at pdev level.
Rx error consists of:
 - desc_alloc_failure [No free desc available]
 - csum error [IP/TCP_UDP]
 - mic_err
 - rx_dma_error
 - reo_error
Rx dropped consists of:
 - msdu_not_done
 - mec
 - mesh_filter
 - wifi_parse
 - non_rx_drop
 - non_radiotap_update_err

Change-Id: I4166a32ce94630e8a3ccad7a2551eedf9493e292
CRs-Fixed: 2499563
2019-08-05 09:31:50 -07:00
Amir Patel
5a8bbbe05d qcacmn: Add support for rx evm and rx antenna
Add Host support for rx evm and rx antenna

CRs-Fixed: 2493515
Change-Id: I6c6e3edd8d6650eabb69cea08ec275da7067f37d
2019-07-27 09:53:29 -07:00
Shashikala Prabhu
0843438590 qcacmn: Use correct skb headroom size to update radiotap header
Size of rx_pkt_hdr tlv structure is used to check if there is enough
space in the SKB to add radiotap header.
The issue is seen due to a single SKB can hold the multiple TLVs and
the next subsequent SKB has the data. In this case, there is no headroom
available in the second SKB. Therefore crash seen while adding the
radiotap header in the second SKB.

To fix this issue, check if the SKB has enough headroom space. If not,
drop the frame.

Change-Id: Icd11f946c0aee974dde2ef21f59cfe3d8b87fa5d
CRs-Fixed: 2480719
2019-07-23 11:59:42 -07:00
Akshay Kosigi
283e2358f4 qcacmn: CONFIG_WIN Macros to be moved out of DP/HAL
Remove CONFIG_WIN usage from Lithium DP and HAL module.

Change-Id: If388e45cb3e7e31493edd422a2f4c40f0dd4a799
CRs-Fixed: 2474613
2019-07-15 06:39:40 -07:00
Shiva Krishna Pittala
6c43fa8a14 qcacmn: Add radio level parameter OL_ATH_EXT_ACS_REQUEST_IN_PROGRESS
A radio level parameter for configuring if external channel selection on
the radio is in progress is required to reduce the number of external
channel selection requests by the radio.
Add the parameter OL_ATH_EXT_ACS_REQUEST_IN_PROGRESS for this purpose.

Change-Id: I30ce066e840b11fe23158b896977fbf3924dbbf3
CRs-Fixed: 2483737
2019-07-09 12:28:09 -07:00
Vevek Venkatesan
33ba728fae qcacmn: CONFIG_MCL cleanup in DP layer
CONFIG_MCL cleanup in DP layer.

Change-Id: Icc9947aac290496b3d1bb708639b392815b82070
CRs-Fixed: 2467193
2019-06-27 05:00:13 -07:00
Krishna Rao
ee93de85f3 qcacmn: Add enum for baseline radio channel width
Add enum for baseline radio level channel width. This is required for
some low level use cases which need the original width configured into
the radio when channel is configured, rather than per-VDEV protocol
level width which might vary.

Change-Id: I8215003774bc46403a038011e7581517d25b94f9
CRs-Fixed: 2474794
2019-06-21 08:12:07 -07:00
Shaakir Mohamed
1ae7d510cc qcacmn: Add enum pdev configuration param
Add enum pdev configuration param to
    - Set PD threshold value
    - Set enable/disable PD transmission

Change-Id: I76209a316552b63f72df9a812a5491517b7f1277
CRs-Fixed: 2429269
2019-06-06 15:48:15 -07:00
Ankit Kumar
2972a24c55 qcacmn: Ignore raw frame if is not of type Data
Non raw traffic gets enqueued to VAP in raw mode
and incorrect fc.type causes HW fault.
Lets proceed only if raw frame is of type data.

Change-Id: I9f0d608cd1b319feb9af642969b258aab813645f
CRs-Fixed: 2434391
2019-06-04 02:42:23 -07:00
Shaakir Mohamed
2e504085a3 qcacmn: Add WMI support for management related params
Add WMI commands:
	1) WMI_PDEV_PARAM_SET_MGMT_TTL
           Enable/Disable/Set MGMT_TTL in milliseconds.

	2) WMI_PDEV_PARAM_SET_PROBE_RESP_TTL
           Enable/Disable/Set PROBE_RESP_TTL in milliseconds.

        3) WMI_PDEV_PARAM_SET_MU_PPDU_DURATION
           Set global MU PPDU duration for DL (usec units)

	4) WMI_PDEV_PARAM_SET_TBTT_CTRL.
           Set TBTT CTRL value BITS 0 - 2
           (refer to WMI_TBTT_CTRL_CFG enum)

Change-Id: Iedda500fdb7bdedcc11fef31f0b29ad3f1812a43
CRs-Fixed: 2415745
2019-06-03 22:42:01 -07:00
Varsha Mishra
1f4cfb6c58 qcacmn: Fix tx completion and rx stats per wbm/reo ring
Tx completion stats should be counted per wbm ring on tx completion
and not globally. Similarly, rx stats should be counter per reo ring.
Change-Id: I1e4af0d38b23e60de78ca03316861db08ff0811a
2019-05-31 07:40:18 -07:00
Karunakar Dasineni
acc8b565b3 qcacmn: Protocol tag support in lite rx monitor
Add protocol tagging support in lite rx monitor mode.

Change-Id: I1966fc4f54e1f4a1486162a88853f68f7644a766
CRs-Fixed: 2448517
2019-05-30 19:29:52 -07:00
Varsha Mishra
27c5bd3193 qcacmn: Handle tx_sniffer pakcets
Send tx_sniffer to firmware and handle ppdu completions accordingly.

Change-Id: Id19a8cba4fdcad88bca6ade8c30a587c2da26d19
2019-05-29 16:47:01 -07:00
Venkateswara Swamy Bandaru
e8aab3b8ca qcacmn: Add configuration option for acs parameters
Add configuration option for enabling/disabling acs channel
grade algo along with configurations channel efficieny
variance and weightages for near mid and far range OBSS
used in algo.

Change-Id: I21fffc6f96d78634bc6ced6ac76a61d87a7d4bb9
CRs-Fixed: 2453992
2019-05-29 11:08:08 -07:00