Commit Graph

251 Commits

Author SHA1 Message Date
Karunakar Dasineni
bb7848e5b6 qcacmn: Drop MPDUs for some RXDMA errors
Drop MPDUs received with rxdma_overflow_err, rxdma_flush
or rxdma_mpdu_length_err errors on monitor RXDMA2SW ring
since Rx TLVs are not populated properly by HW.

Change-Id: I3d4399f4c2b4bbe21e9f6b1b24369a633e964154
CRs-Fixed: 2233141
2018-05-19 10:56:55 -07:00
Jeff Johnson
e71b8c4019 qcacmn: dp: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Id6b2e4758232355b0c47bf8c2f1a0b2a1eacba05
CRs-Fixed: 2230684
2018-05-18 02:17:24 -07:00
Santosh Anbu
76693bcc89 qcacmn: Support HMWDS for legacy platform
HMWDS for legacy was broken during bring up of DBDC on Hawkeye
platform.
Add cmn_tx_ops to support add, delete and update of AST entries.

Change-Id: Ia2a465a1f5f3d304a35d02c33bff73c56bb010a3
CRs-Fixed: 2225830
2018-05-18 02:17:22 -07:00
Tallapragada Kalyan
51198fc4ee qcacmn: Add counters for IP, TCP/UDP checksum errors
Add counters for IP, TCP/UDP checksum errors reported by
hardware.

Change-Id: Iaeb9280bc1ad4a287eee409d92ad0c95dc9f2c77
2018-05-17 16:55:19 -07:00
Jeff Johnson
3f0dfd144a qcacmn: Fix typo "continous"
Replace typo "continous" with correct spelling "continuous".

Change-Id: If14e05ea8d30979c792e682c26da1e7ce33d7345
CRs-Fixed: 2238309
2018-05-17 00:47:36 -07:00
Jeff Johnson
2d821eb0fe qcacmn: Fix typo "recieve"
Replace typo "recieve" with correct spelling "receive".

Change-Id: I7d88e57b97fa6d217630d4a5d5c365b56e714428
CRs-Fixed: 2238309
2018-05-17 00:47:23 -07:00
Jeff Johnson
ba9272370e qcacmn: Fix typo "coexistance"
Replace typo "coexistance" with correct spelling "coexistence".

Change-Id: I067eef3367e16c7e29e535ef7ccf4a5311173deb
CRs-Fixed: 2238309
2018-05-17 00:47:08 -07:00
Chaithanya Garrepalli
396bbc8f6f qcacmn: add null checks in cdp_get_dp_htt_stats
Add null checks in cdp_get_dp_htt_stats for soc

Change-Id: Ifb158a33c1daddfb4aafa3fe4a88efbd57e70d48
CRs-Fixed: 2240121
2018-05-15 05:57:00 -07:00
Venkata Sharath Chandra Manchala
4face24247 qcacmn: Generate pdev mask based on mac number
Set pdev mask in the HTT Stats request based on
mac id number provided from the user.

Change-Id: Ie8f1208fd3598efd2ea3736719c8b444ef86881a
CRs-Fixed: 2237467
2018-05-15 00:36:28 -07:00
Kai Chen
783e038223 qcacmn: Add monitor mode ppdu and mpdu stats
Add monitor mode status ring ppdu stats and destination
ring ppdu/mpdu stats

Change-Id: I702172f40ffc0915b630dd3781a697199bdd20fd
2018-05-14 21:54:53 -07:00
Ruchi, Agrawal
2755048d7d qcacmn: Remove NAWDS Rx Drop Count length counter
Remove NAWDS Rx Drop Count as it is not required,
drop packets in rx where length is not
available.

Change-Id: Ib4b41eefe88410137c3845090783ee43adb9147c
CRs-Fixed: 2191474
2018-05-07 07:38:53 -07:00
Chaithanya Garrepalli
2faa46fbfb qcacmn: avoid vdev stats aggregate for every ppdu stats event
Avoid vdev aggregate stats for every ppdu stats event as it is
consuming high CPU in veriwave max clients testcase. Instead
aggregate the stats when ifconfig athX command is issued. Add
CDP API to aggregate and update stats called when needed

Change-Id: I801d5f8fab0c275942b77a9975293f95bd4026b0
CRs-Fixed: 2220704
2018-05-05 21:34:38 -07:00
Manjunathappa Prakash
56023f5649 qcacmn: Add GRO support to NAPI+Rx_thread processing model
GRO aggregations are hanging out of NAPI instance and we cannot use the
hif NAPI instance in Rx thread as gro_list inside NAPI is flushed out
at the start and end of NAPI poll, this will corrupt the gro_list on
which rx_thread is working. Address this concern by creating dummy
NAPI instances mapping to each hif NAPI and by not scheduling them.

Change-Id: I517c4c6158ed3ac073f5f617afde46c7ed07ff3e
CRs-Fixed: 2128457
2018-05-04 20:43:09 -07:00
Chaithanya Garrepalli
2f5727960b qcacmn: Initialize dp peer map memory after WMI service ready
Initialize the peer map and peer hash memory based on the config
received from target in service ready event

Change-Id: I8e1b62cd9586f5b2be7acb863a106d2486be1b35
CRs-Fixed: 2223428
2018-05-02 03:19:29 -07:00
nobelj
d803959826 qcacmn: Populate BeamFormed info from VHT_SIG_A and HE_SIG_A
Populate Beamformed information from VHT_SIG_A and HE_SIG_A

Change-Id: Iba108f6f9905ed02490936c5ca2f00e0e94b318f
CRs-Fixed: 2185151
2018-05-02 03:19:25 -07:00
narayan
8c93d70695 qcacmn: Implementation of some generic stats
cmn_dev changes to port FR43672 from 10.4 to 11.0.

Change-Id: Ic7ec9ac7875139fd5a2909738e1f0ff0d37a65a3
CRs-Fixed: 2153764
2018-05-02 01:19:43 -07:00
Manjunathappa Prakash
38205cc1b7 qcacmn: Create flow control pools on vdev start
As many as 5 vdevs can be created, which is defined by MAX_SME_SESSIONS.
But flow control pools are only valid for active TxRx capable vdevs.
which is 3 active vdevs. So attach flow pool creation to vdev_start
instead of vdev_attach.

Change-Id: I137676ba618aa3a6684c7d17ef7d9263c4df6efe
CRs-Fixed: 2220079
2018-04-17 13:17:49 -07:00
Pamidipati, Vijay
d578db10c0 qcacmn: Handle STA roaming to another AP/Repeater
Add support in DP WDS source port learning handler to kickout a STA,
when direct associated peer(SA) roams to another AP/Repeater and
reachable via TA peer

Change-Id: I84d0b92c9b4e39c05f4d7c25b3f5afb1d535ca02
CRs-Fixed: 2219924
2018-04-17 05:09:05 -07:00
Manjunathappa Prakash
029b665b6f qcacmn: Add enum for invalid htt stat type
Add enumeration for invalid stat type htt_cmn_dbg_stats_type for
ol_txrx_stats_callback handler.

Change-Id: I8a976737af8f226a1774950170f445c93ebf683b
CRs-Fixed: 2215678
2018-04-04 17:47:21 -07:00
Manjunathappa Prakash
9eaa6f099b qcacmn: Remove redefinition of *tx_flow_control_fp
ol_txrx_tx_flow_control_fp and ol_txrx_tx_flow_control_is_pause_fp are
redefined dp/inc/cdp_txrx_mob_def.h, original definition is in
dp/inc/cdp_txrx_cmn_struct.h. Remove duplicate redefinition.

Change-Id: I2c2af59d8b24360cd09efeb12ea19c0340771bb8
CRs-Fixed: 2215678
2018-04-04 04:02:08 -07:00
Ruchi, Agrawal
89219d97b4 qcacmn: ast entry reset api for son
API to reset ast entry for son, ast entry active
field will be set on call of reset_api and all the
ast entry active field will reset on call of reset_table
api, ast_flush api will delete enteries in table

Change-Id: I26ed0fff818a112348a7aefba3b028ed40b2fe26
CRs-Fixed: 2209095
2018-04-03 16:50:17 -07:00
Anish Nataraj
f12b0a3463 qcacmn: Update netdevice stats to reflect ifconfig counters
netdevice_stats structure tx/rx/drop/error counters are assigned
proper values

Change-Id: I8e123a810a02292339a34b54bfebe3a56ae99dbd
2018-03-29 20:14:03 -07:00
Alok Kumar
f1d9fe23cf qcacmn: Enable support for Tx OTA Ack stats
Retrieve Tx OTA stats through cdp api.

Change-Id: I4bff475e4f3364fef181b4c52022a145a879a4c4
CRs-Fixed: 2211900
2018-03-28 14:44:37 -07:00
Vivek
2b109825ac qcacmn: Replace A_UINT with appropriate types
There are instances of use of older A_UINT/A_INT.
Replace all such instances with the qdf u_int*_t/int*_t.

Change-Id: I7ce29b03f29a0d1a0cf87cfd3c846f4694da4c2a
CR's-Fixed: 2210869
2018-03-26 04:58:12 -07:00
Nandha Kishore Easwaran
3053deedfa qcacmn: Avoid mcast check in qwrap isolation mode
Donot perform mcast echo check in case of qwrap isolation mode.
In qwrap isolation mode, packets from wired station reaches the wireless
station via the rootap. Thus we need to allow loopback packets in qwrap
isolation mode.
Also add a configuration to set isolation mode.

Change-Id: If4a63abd477596f6b48c6cf9b6e7e5bd84ec95c0
CRs-fixed: 2204033
2018-03-20 05:59:09 -07:00
Sravan Kumar Kairam
58e0adfb53 qcacmn: Add support for WLAN-IPA WDI2 with SMMU Stage 1
Update WLAN-IPA WDI-2 datapath for DMA buffer sharing with SMMU
Stage 1 translation support. When SMMU Stage 1 is enabled DMA
APIs return IO virtual address(IOVA) instead of physical address.
This IOVA need to mapped to physical address by IPA module
before accessing them.

Change-Id: I33082bc74760b0f12c348238c6f48f5ce5750172
CRS-Fixed: 2072953
2018-03-19 09:34:39 -07:00
Poddar, Siddarth
8d33d9b7a8 qcacmn: Add connectivity stats rx function pointer
Add new rx function pointer for connectivity stats
as part of ol_txrx_ops structure.

Change-Id: I91300de995b20e5dfc2c85c780453e63ea14ec93
CRs-Fixed: 2168412
2018-03-15 09:32:53 -07:00
Anish Nataraj
b9e7d01e52 qcacmn: Add linked list logic to store per ppdu descriptor status tlv
Add linked list logic to hold all ppdu descriptor status in a list till
all TLVs have been processed
This design handles asynchronous arrival of tlvs from fw per ppdu

Change-Id: Ib8943d7c826c0b441f58f0eaba7ae0bdc0539d9a
2018-03-12 14:14:06 -07:00
Pratik Gandhi
7846150f2b qcacmn: Fix compilation issues for FW header abstraction
fwhdr_abstrct: Fix compilation issues for WIN firmware header abstraction.

Change-Id: Id76a6f29fd41ae559cf377029428224d59bd03fb
CRs-Fixed: 2140921
2018-03-09 07:28:50 -08:00
Venkata Sharath Chandra Manchala
ac863c4b4d qcacmn: Set the pdev mask based on channel id
Set pdev mask in HTT extension stats msg based
on channel id information.

Change-Id: I7c971494049e16ae8e0eb694984857346c3a38b7
CRs-Fixed: 2185219
2018-03-08 22:06:11 -08:00
Neil Zhao
0bd967d021 qcacmn: fix mon vap RX skb size issues
1) for raw mode, drop frames with invalid size
2) for non-raw mode, fixed issue that
frag list data_len's not properly calculated

The length issues will introduce kernel issues
during skb_linearize() at upper OS network stack layer.

Symptoms:
1)
WARNING: at net/core/skbuff.c:1782
PC is at skb_copy_bits+0x1b8/0x230

2)
kernel BU at net/core/skbuff.c:1615!
PC is at __pskb_pull_tail+0x70/0x2e4

CRs-fixed: 2188754

Change-Id: I848ec976cd922708ffd02d8272ea5a6f3bce2a00
2018-03-05 11:11:41 -08:00
Venkata Sharath Chandra Manchala
78e6478d29 qcacmn: Enable Pktlog Support
Retrieve pktlog handle through cdp api.
Register proper callbacks for handling WMI
responses from fw.

Change-Id: Iaa3dca5ba95e41d09c99f6d0bef12880ef8f72c0
CRs-Fixed: 2185217
2018-02-28 00:31:35 -08:00
Prathyusha Guduri
43bb056ed0 qcacmn: Add fw stats to cdp_pdev_stats
Add htt tx and rx structs from HTT to cdp_pdev_stats.
These Fw tx and rx stats are obtained through HTT events.
athstats application uses cdp_pdev_stats that contains host stats
and fw stats.

Change-Id: Ia063f406bdc6d32a684c4026b8425ecc96faa3db
CRs-Fixed: 2190793
2018-02-27 23:33:48 -08:00
nobelj
9ab76e283f qcacmn: Add support for ppdu length in ppdu_stats
Rx PPDU length is calculated from number of MSDU length in each MPDU
Rx PPDU stats are populated after updating PPDU length.

Change-Id: I2af6a82eaddc4e791d4e7445c933a5886304e8f3
2018-02-27 21:17:19 -08:00
Sravan Kumar Kairam
f1822ba49b qcacmn: Fix compilation error
Currently including only cdp_txrx_ipa.h header gives compilation
issue as we need to include ol_txrx.h header to remove dependency.
In this remove dependency by including proper common header file
in cdp_txrx_ipa.h

Change-Id: Ia207e990f09d284a6dac97fbae8e1bc61fb6cbe1
CRs-Fixed: 2193987
2018-02-27 16:04:46 -08:00
phadiman
7821bf873d qcacmn: Remove direct Target I/F-DP interactions
Add CDP interface for missing DP APIs for use in TARGET I/F layer

Change-Id: I22158bc9120e5e53253c8005772dc1060527249d
2018-02-27 16:04:38 -08:00
Jeevan Kukkalli
d819e98465 qcacmn: Parameter API related changes
Added flag to enable/disable parameter api feature on
a particular radio

Change-Id: I9f814d477a1ed24cadb957fe79585b0c89e88ff7
CRs-Fixed: 2180230
2018-02-26 22:47:07 -08:00
Venkata Sharath Chandra Manchala
65812e69c8 qcacmn: Fix for Tx completions counter not being updated in txrx_stats
Tx completion success counters are not being updated correctly.
Accumulate successful completions in tx_success variable.

Change-Id: I290e581e93e03ad23e349c9df7834174d6d3a787
CRs-Fixed: 2191599
2018-02-26 21:44:54 -08:00
Soumya Bhat
bc719e6b02 qcacmn: Add support to get RSSI of Non associated clients
Add change in driver to get RSSI of non associated clients.

This is done in 2 levels of filtering
1. Send WMI to FW to configure BSSID in HW
2. Filter the neighbour BSSID packets received in host for
the configured client mac

Change-Id: I6b684b83cecb308dac326056aa77537aee07b933
CRs-Fixed: 2148773
2018-02-23 20:01:17 -08:00
Balamurugan Mahalingam
3ab3633184 qcacmn: Add support for QCA6290 platform
Add support for QCA6290 platform and introduced an hif api to enable,
disable polled mode.

Change-Id: I16e210fef93251b33928788cf873117249c2d70f
2018-02-23 06:06:00 -08:00
Chaithanya Garrepalli
20d7142933 qcacmn: Removed WDS rx stats from host peer stats
Removed WDS rx stats from host peer stats as this
is not supported in HAWKEYE

Change-Id: Id12be043b584a659ecbec46b6c2efb161d4248d3
CRs-Fixed: 2186376
2018-02-21 18:20:57 -08:00
Shiva Krishna Pittala
91f2654d56 qcacmn: Provide a configuration to enable/disable CCK Tx
Firmware will use this configuration to enable/disable the
CCK transmission. By default, the CCK Tx is enabled.

CRs-Fixed: 2191524
Change-Id: I165c3ea10ea3734fc81e7d25fe8ad676afd1b2c1
2018-02-21 17:12:42 -08:00
Pamidipati, Vijay
d3478efb89 qcacmn: Add CDP interface for attach/detach of extended DP
Add APIs to be used by extended DP modules to attach/detach
their respective handles with Core DP module.

Change-Id: I63cf0883f7462a11b49666bda697c7e872d7b925
2018-02-15 14:10:53 -08:00
Yun Park
1ba3ada3aa qcacmn: Add IPA WDI Unified API support
Support for WDI2 in the Unified IPA WDI APIs.

Change-Id: Ife42a6a96ce80070de51f994e29ded252b3dd980
CRs-Fixed: 2183501
2018-02-15 09:20:35 -08:00
Tallapragada Kalyan
57b6bb3e1d qcacmn: Add support for DBDC repeater
Added CDP callback APIs so the DBDC repeater module
outside of cmn_dev can add, delete and update the AST
entries. Also with this change the sending of wds cmds
to fw is tied to adding AST, deleteing AST and updating
the AST entries.

Change-Id: I48d31962236860f50e16b771abaf3b8825b798df
2018-02-13 02:00:41 -08:00
Anish Nataraj
57614da632 qcacmn: Populate timestamp,duration,lsig_a stats
ppdu stats timestamp,duration,channel etc were not
updated and corrected the same

Also RSSI was incorrectly getting updated for
mcast frames also, fix both of the above issues

Change-Id: Id8446c6c0cfe8761f8c524fc7af0ff5bdd8b96aa
2018-02-12 21:46:51 -08:00
Soumya Bhat
0d6245c0ac qcacmn: PPDU stats debug enhancement
1. Assert if length received from FW is not equal to
   the expected length
2. Count the number of PPDU stats received by host and
   print in "iwpriv athX txrx_stats 260"
3. Optimize the PPDU stats tag mask sent to FW for
   enhanced stats enabling

Change-Id: I60019de93bb3914955a03546504efc820c960746
CRs-Fixed: 2170704
2018-02-12 07:34:57 -08:00
Prathyusha Guduri
184b640cbd qcacmn: Move cdp_stats to cdp_txrx_stats_struct.h
To expose cdp_pdev_stats to athstats, move cdp_stats from
cdp_txrx_cmn_struct.h to cdp_txrx_stats_struct.h and include
cdp_txrx_stats_struct.h wherever needed

Change-Id: I0e86527d47f5c6056a3bfbf5e8151594879427f3
CRs-Fixed: 2183725
2018-02-09 01:51:30 -08:00
phadiman
6c99befe8c qcacmn: FR 43198 Firmware Coex Stats
Host side efforts for requesting and printing
the firmware coex stats (cmn_dev changes)

Change-Id: I6ef0d7d657212088d77c328a66de30333c0d2267
2018-02-07 09:32:08 -08:00
Anirban Sirkhell
f31b24105b qcacmn: set txpow for frame and subframe
command:-
1. "iwpriv athx s_txpow param1 param2"
2. "iwpriv athx g_txpow param1"

param1 = frame_type<<8+frame_subtype param2 is power_value
if subtype == 0xff means set all subtype of that frame type

Change-Id: I8c68e1ca6a5829a3f0cf01b2c32c3332e1010243
CRs-Fixed: 2175241
2018-02-06 09:43:50 -08:00