Commit Graph

129 Commits

Author SHA1 Message Date
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
Uraj Sasan
775ab18f1c qcacmn: Trigger FW dump during WMI backpressure
[Patch 1/1]
Incase we have WMI backpressure issue, which
is not caused by host, collect the fw dump.

We trigger host dump when WMI Pending cmds reache max
wmi commands. If this feature is enable then we will
not assert host,rather will wait for fw to dump the logs
which can later be used by fw team for debugging.

To enable this debug feature:-
cfg80211tool  wifi0 set_wmi_dis_dump 1

Change-Id: I499d83d5f014e953310481816e40c3c15b715620
2019-05-21 14:43:15 -07:00
Pranita Solanke
05862964ab qcacmn: Identify WIN/MCC specific features
Identify the WIN/MCC specific features. Move the features under feature
specific flags. Get rid of WIN/MCC specific code.

Change-Id: Iaf4e5befd7d574a20bea5c078201adbeac3b762c
2019-05-20 09:58:47 -07:00
Pranita Solanke
71371bc4ad qcacmn: Removal of CONFIG WIN macro
Move WIN specific structures out of common datapath, WDI_ENUM
into common datapath and remove WIN specific header files inclusion

Change-Id: I8a0d9db4970f3ea9d966337caf178ebce55c28c5
2019-05-15 05:47:13 -07:00
nobelj
debe2b3b9c qcacmn: support enhance TX capture
support TX capture mode to deliver msdu along with meta data.

Change-Id: Ic84416cc4892e37bfb831dada136a4ff6b615a61
2019-05-10 12:39:30 -07:00
Surya Prakash
07c81e7d77 qcacmn: Update rssi only when its valid
Peer stats struct members initial value 0, so when other functions call
to update peer stats have 0 rssi value which updates mininum
rssi since its the least value. So initialize the rssi with invalid
value initially

Change-Id: Ife033598c7ac47a9a26595f97bff058570d3e91f
CRs-Fixed: 2403735
2019-05-02 05:24:04 -07:00
Manoj Ekbote
99d0783cec qcacmn: Add support to send wifi down notification
Add command to send wifi down indication when MBSS
feature is enabled.

Change-Id: Ife842dcf8704a97aba848234ddf7b4ddb2a0cc3c
2019-05-01 20:15:56 -07:00
Karunakar Dasineni
d8c7ad2228 qcacmn: Support per-ring CCE protocol tag stats
CCE stats are reported across rings today. Since HKv2 is a SMP, it
creates the possibility of missing stats when two or more CPUs are
updating the counters for the same protocol type. In order to avoid
this, we can either use locks or store stats on a per-CPU basis.
Since tagging happens on the core data path, locks are not preferred.
Instead, we use a per-ring counter, since each CPU operates on a REO
ring. Exception packets today go to Ring-0 (also normal rx Reo-0
go to Ring-0). Hence tags are maintained separately for exception
ring as well.

Change-Id: Ib01934619fb026bf64a8ac998eaec2d4df7f5a6e
CRs-Fixed: 2438143
2019-05-01 10:18:35 -07:00
Karunakar Dasineni
142f9baf47 qcacmn: Add new feature to support protocol tags
With this feature, using appropriate commands, link layer, network layer,
transport layer and some of the application protocols can be tagged with
the user provided tag values for easier identification of protocols. The
supported protocols today are as follows.

ARP, DHCPv4, DHCPv6, DNS over TCP (v4), DNS over TCP (v6), DNS over UDP
(v4), DNS over UDP (v6), ICMPv4, ICMPv6, TCPv4, TCPv6, UDPv4,
UDPv6, IPv4, IPv6, EAP.

Receive packets are tagged by hardware. Tags are applied after the first
matching rule. Hence it is recommended that the rules are
programmed in such a way that tags are configured from application layer
to data link layer to get expected results.

Change-Id: Ibdc2bd2b78234f482074955e89fb93f05988eaca
2019-04-26 15:31:10 -07:00
Amir Patel
ac7d9465f9 qcacmn: Update correct tx rate, rx rate and sojourn stats
Currently we are upadting sojourn stats for all tid.
but rate stats maintains stats for only data tids 0-7.
updating stats for tid value exceeding 7 is leading it to
assert.
Update correct tx rate, rx rate and sojourn stats.

Change-Id: Ib2f5791aa7b8e85aac6283c46f58ce7e821a559b
CRs-Fixed: 2428648 2429575 2429575
2019-04-24 09:30:02 -07:00
Kai Chen
52ef33fca3 qcacmn: Support enhanced Rx capture
Support Rx capture mode to deliver first 128 bytes of
each MSDU, along with some meta data.

Change-Id: I1ffa8b1a029d46f68aa78520bacc019de8af7a82
2019-04-19 04:08:56 -07:00
Shashikala Prabhu
f7786d3822 qcacmn: Change the data type of average/roundup tx rate
The datatype of average and round up tx rate was uint32_t which truncates
the upper byte of the average and round up tx rate value.

changing the datatype of average and round up tx rate from uint32_t to
uint64_t.

Change-Id: I3809ba7cfc73ec0b4609981e70d57112ac958f33
CRs-Fixed: 2409751
2019-04-16 09:09:38 -07:00
sumedh baikady
c2fa7c99c0 qcacmn: Deliver STP pkts from wbm exception path
Vlan tagged STP pkts are received in host from
wbm exception path with wifi parse error code.
This is delivered to stack. Stats added for wifi
parse error and vlan tagged stp pkt count.

Change-Id: I25af5ab403ee7a46b4abe2f60328314d61587b80
CRs-fixed: 2375575
2019-04-02 15:51:44 -07:00
Amir Patel
468bded892 qcacmn: Add RDK statistics changes for Hawkeye
Add RDK statistics changes to collect below stats
a. Tx rate statistics
b. Tx sojourn statistics
c. Rx rate statistics

CRs-Fixed: 2416141
Change-Id: I0c8127cd387b7665a76847f4125977bbb8c5a57a
2019-03-21 23:04:43 -07:00
Varsha Mishra
3e9d647162 qcacmn: Fixing display of Vow Stats
Adding more fields to vow stats display function.

Change-Id: Ic5227e994e55c0ebc99351051d5b409ba0c3f627
2019-03-15 23:15:02 -07:00
Venkateswara Swamy Bandaru
cf1a001281 qcacmn: Add cdp support for DCS reenable timer
Add cdp support to configure DCS re-enable timer.

Change-Id: I35fdf2fd582468e6f09cbad35c927115b4177694
CRs-Fixed: 2415368
2019-03-15 09:15:13 -07:00
Vignesh U
b7f7d8e55e qcacmn: Provide proper age value for Assoc STA Link Metrics
Use the time stamp taken during the updating of RSSI value to
calculate the time elapsed when the IOCTL call happens. Return
that value as delta age in ms.

Change-Id: I96d36a7a132b7a327d9d5a5ba3a318a82889ebd5
CRs-Fixed: 2394910
2019-03-13 19:41:39 -07:00
Varsha Mishra
a331e6e55f qcacmn: Implement delay VOW stats for hawkeye
Delay counters per TID have been implemented for following types:
1. Linux stack to hw enqueue delay
2. HW enqueue delay to tx completion delay
3. TX interframe delay
4. RX interframe delay
5. RX frame delay from ring reap to networking stack

Change-Id: I836596cbd878a43955c18b4981cb5b7b43d4df5e
2019-03-12 06:10:05 -07:00
Varsha Mishra
18281794c8 qcacmn: Implement VOW stats for hawkeye
VOW stats is an extension of regular stats to capture
all drops per TID. Delay counters per TID are also
included.

Change-Id: If6087f37b32cf9ae4bb405190a358ad3c9750dd2
2019-03-06 18:20:42 -08:00
Amir Patel
256dcbe737 qcacmn: Add CDP support for RDK peer statistics framework
Add CDP APIs for:
a. To get/set rdk stats context into soc
b. To set rdk stats flag into soc
c. To flush rdk stats

Change-Id: I74e35f5fa244d6d38f46a4f64ebbad8a630589bd
2019-03-02 17:45:45 -08:00
Venkata Sharath Chandra Manchala
69a0ed394a qcacmn: Add counters for wdi messages
Add counters to account for wdi messages from firmware.

Change-Id: I1c12d42ac4d385d2ed27f6eff84dd2fcfd540ab1
CRs-Fixed: 2365971
2019-03-01 23:39:17 -08:00
Amir Patel
78824b1d4e qcacmn: Add changes for RDK statistics
Change API signature for dp_getrateindex to populate rate index
and add additional stats required for RDK.
Add QDF abstraction for EWMA average rssi

CRs-Fixed: 2397918
Change-Id: Id878971799c5df2ae60057a86b2769724ee0dcc5
2019-02-27 03:13:56 -08:00
Abhiram Jogadenu
975303cc41 qcacmn: Add wmi support for CFR capture command
Add wmi support for CFR capture command.

CRs-Fixed: 2372061
Change-Id: Icaeb30ccf619058383314317864be65380a551fd
2019-02-22 02:50:14 -08:00
nobelj
7966633c14 qcacmn: OFDMA counter get increased when num_msdu 0
Sometimes we receive num_msdu as 0 with ru_tones and ru_start
which cause OFDMA counter to get increament

Change-Id: Ib099a2143799551266e94bc9b8d281237092a46e
2019-02-20 12:56:39 -08:00
Rhythm Patwa
ce4c4a6f1e qcacmn: Add wmi_pdev param for WMI_PDEV_PARAM_EQUAL_RU_ALLOCATION_ENABLE
Add the WMI PDEV param 'wmi_pdev_param_equal_ru_allocation_enable' to
add command support.

Change-Id: If9dde1277ea70687f7a62815b1f97fd1f60acaf0
CRs-fixed: 2247588
2019-02-13 09:27:42 -08:00
Rhythm Patwa
14b2e1c89b qcacmn: Add command support for UL PPDU duration
Add the WMI PDEV param 'wmi_pdev_param_ul_ppdu_duration' to
add command support to modify the UL PPDU duration.

Change-Id: If2f8ef02d4f992d91fa745599d5c08b1dfccceca
CRs-fixed: 2393139
2019-02-13 09:27:39 -08:00
Jeffin Mammen
a6c50bd74e qcacmn: Send RSSI of the last ack to SON module
Send the RSSI of the last ack received to SON module.

Change-Id: I08d362676b4831beac36356fac332c379853ad99
CRs-Fixed: 2393401
2019-02-13 06:43:43 -08:00
nobelj
4e9d51f914 qcacmn: Populate MU-MIMO user pos and mu group id
populate TX OFDMA and TX MU MIMO information from
user rate tlv and display the same in fc_peer_stats.

Change-Id: If1dab15bbdf391fba00a701abd6024c420d1d8f7
2019-01-24 09:59:06 -08:00
Rhythm Patwa
33fd91b43f qcacmn: Add command support for enable/disable Spatial Reuse
Add command support to enable/disbale 'Spatial Reuse Value15
Allowed' parameter in the Spatial Reuse IE.

Change-Id: I755a15da7758704f2e833ddc61805d45654f0957
CRs-fixed:2345770
2019-01-16 19:35:36 -08:00
Pamidipati, Vijay
eb0e456d68 qcacmn: Add missing NULL check in DP rx path
Add a missing NULL check for peer object in rx_da_learn API
Also add missing elements in pdev_stats_cmn_tlv structure.

CRs-Fixed: 2357352
Change-Id: Ie54fd0a6a45f00d60420c391098f22b0097de3ac
2018-12-21 10:05:35 -08:00
Shaakir Mohamed
25737a45e3 qcacmn: Add APIs to enable/disable BW Reduction
Add functions to enable/disable BW-Agile DFS Reduction

Change-Id: I1cc355f06a2027b229ca2001671ddb69c7cff4e6
CRs-Fixed: 2302983
2018-12-06 17:51:18 -08:00
Amir Patel
3ccfa6a645 qcacmn: Add accumulated last_tx_rate in cdp_tx_stats
Add accumulated last_tx_rate stat in cdp_tx_stats

Change-Id: I3d939b0f058e838e426c5fd77d576deb008288b6
2018-11-22 02:29:56 -08:00
Kumar Kathirvel
8c4a2a0a34 qcacmn: Added a new param to get the band-info
Radio band which is classified and it's operating in 5G_HIGH_BAND
or 5G_LOW_BAND or 5G_FULL_BAND freq range or NON_5G_BAND,
ie It's 2G BAND

Change-Id: I9d140960c4b1fdab41621a1b277c140323d86e59
CRs-Fixed: 2339508
2018-11-16 10:15:02 +05:30