Commit Graph

1096 Commitit

Tekijä SHA1 Viesti Päivämäärä
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
ffe9a8626a qcacmn: Fix compilation issue
Add API parameter to dp_getrateindex to fix compilation issue

Change-Id: I2d7f3a29051eb35d88c5699c21cf378bd7f280ff
CRs-Fixed: 2397918
2019-03-01 19:19:35 -08:00
phadiman
a1f798250d qcacmn: Provide API for dp soc reinit
dp_soc_reinit is a flag to check if the
Rx descriptor memory can be reused across
WiFi up/down

Provide an API which checks the flag and
returns either true or false based on the
value set

CRs-Fixed: 2354186
Change-Id: I8c1afbfe0f743d7c9ab37a42a9ef0c6ac1fbf39c
2019-02-27 09:56:10 -08:00
Pamidipati, Vijay
ba4b57f368 qcacmn: Populate LTF in rx_ppdu_indication structure
Add support for indicating LTF as part of Rx PPDU indication

Change-Id: I9a39e5a32f3e6117b53ecae5a653df8318f0b21d
CRs-Fixed:2397734
2019-02-27 08:12:13 -08:00
Chaithanya Garrepalli
af34aae9cd qcacmn: add counters for sa_idx invalid issue
Add counters in case where we identify
HW issue where sa_valid and da_valid bit
are set and sa_idx and da_idx are invalid

Change-Id: I690b626dd3c2b7f20b35982514b0f27576221250
CRs-fixed: 2340521
2019-02-27 03:14:02 -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
Srinivas Girigowda
03bd4b6b30 qcacmn: Replace struct ether_header with qdf_ether_header_t
Replace struct ether_header with qdf_ether_header_t.

Change-Id: I30d06dcf94e3149bf77f1f99e7a854bc9d7ae3ac
CRs-Fixed: 2404851
2019-02-26 21:18:44 -08:00
Srinivas Girigowda
99f2a29945 qcacmn: Replace ETHERTYPE_8021Q with ETHERTYPE_VLAN
Replace ETHERTYPE_8021Q with ETHERTYPE_VLAN.

CRs-Fixed: 2404839
Change-Id: I5a1f721246ae71848f259a19ee3aa0de005ea43b
2019-02-26 21:18:40 -08:00
Srinivas Girigowda
4468047f83 qcacmn: Remove references of cds_ieee80211_defines.h
The file cds_ieee80211_defines.h is removed as part of
Change-Id: I3b7a3f61f82ea15b7975fb5d143257c80382f20d.
Hence remove the references of this file.

Change-Id: Ie94a748d062b65824e5b1f8aba8b7f7d92e937aa
CRs-Fixed: 2405051
2019-02-26 21:18:36 -08:00
Surya Prakash Raajen
3a01bdd783 qcacmn: Add CDP api to fetch data rates
Add new CDP api to fetch data rates accordingly
from datapath

Change-Id: I1cf08d396e0f611c61a02c868c9c31759ef52a79
CRs-Fixed: 2394226
2019-02-26 16:28:57 -08:00
Chaithanya Garrepalli
4c952f1039 qcacmn: For HKv2 use ast find by pdev in case of roaming
When client roams from repeater to AP we need to delete the
existing WDS while creating a peer. In this case use AST search
by pdev_id to find the AST entry when ast_override support is
enabled for soc

Change-Id: I1c7bfb8173416b6e155d3c58e94c395028c9b16d
CRs-fixed: 2399868
2019-02-25 20:13:29 -08:00
Aditya Sathish
821e61be5e qcacmn: Replace %d specifier to %u for unsigned int variables
Replace %d specifier to %u for unsigned int variables in stats
outputs.

Previously, %d would cause uint32_t values to roll over to
negative values.

CRs-Fixed: 2402160
Change-Id: I3d3c02ac44a38d311e8e8e0e933af79f362f42b7
2019-02-25 14:14:23 -08:00
Aditya Sathish
2f3f538531 qcacmn: Fix compilation warnings caused by dp tx debug print
Fix compilation warnings caused by dp tx debug print due to an
incorrect specifier being used for the mentioned variable.

"%d" was used instead of "%lu" for printing the output of the
sizeof operator.

Change-Id: I051a3acbb95148fa2d9fbd6db5b4ec7a6144dd99
CRs-Fixed: 2400276
2019-02-25 14:14:19 -08:00
Karunakar Dasineni
f8ec0cbe57 qcacmn: Fix defrag waitlist flush issues
Check if peer is valid before access during flush.

Check waitlist during peer cleanup even if REO queue was
not allocated, since these are independent.

Add a timeout to avoid calling flush function too frequently.

Change-Id: Ib8da2014f81a48ccc3ca6a330209a942ac0998a2
2019-02-24 01:30:00 -08:00
Srinivas Girigowda
7950297868 qcacmn: Replace IEEE80211_IS_BROADCAST with QDF_IS_ADDR_BROADCAST
Replace IEEE80211_IS_BROADCAST with QDF_IS_ADDR_BROADCAST.

Change-Id: I199797ea402ee68dd0addf6698aa5ccd0ddc8f97
CRs-Fixed: 2396621
2019-02-23 16:02:59 -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
Venkata Sharath Chandra Manchala
cad74add80 qcacmn: Add support for full pktlog
1. Enable CE5 and allow it to service
   pktlog messages from the firmware.
2. Register full pktlog callback handlers
   for handling sw_events and full tx pktlog.

Change-Id: Ifb70ac0993f2402201f88758845f730cf677b1a0
CRs-Fixed: 2388906
2019-02-21 23:25:30 -08:00
nobelj
23bb63a3a9 qcacmn: Do not flush tlv if we get same tlv for MUMIMO
For MUMIMO and OFDMA, we get same tlv multiple times.
So flush not required.

Change-Id: I532f4893320c28083d0f29d319fbc0db5b5d14b8
2019-02-21 15:01:39 -08:00
hangtian
fe681a5c2d qcacmn: Use qdf_mem_zero for zero initialization, dp part
Use qdf_mem_zero for zero initialization, dp part.

Change-Id: I8cd5d43b554bf355dfcff0463ba4acb6d22ba254
CRs-Fixed: 2378005
2019-02-21 01:46:39 -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
Jeff Johnson
6889ddf7bb qcacmn: Replace CONVERGED_TDLS_ENABLE feature flag
The CONVERGED_TDLS_ENABLE feature flag was originally introduced when
the TDLS feature was being componentized so that one could select
either the legacy implementation or the componentized implementation.
That componentization activity has concluded and the legacy
implementation no longer exists. To align with the current usage
remove all legacy TDLS code and switch to using the FEATURE_WLAN_TDLS
feature flag since that more accurately describes the code being
protected.

Change-Id: Ieef785844bd25b06604167eae2f52e39717f502f
CRs-Fixed: 2395694
2019-02-20 09:09:44 -08:00
Vinay Adella
5dc5551bde qcacmn: Use the correct dp_peer find API for unmap & delete peer
Use __dp_peer_find_by_id, as this will return the peer, even if
delete is in progress. This is needed, if the FW has crashed and
there is no response expected

Change-Id: I0f77184860622b06f793fcfd321547ea41e958cd
CRs-Fixed: 2392817
2019-02-18 23:19:45 -08:00
Aditya Sathish
f8074d87b2 qcacmn: Add return path for fc_peer_stats for peer mac address
Add return path for fc_peer_stats for peer mac address if the peer
is connected to another pdev.

The DP peers are maintained at the SOC as such there is no check
to make sure that the peer is for a particular pdev.

This issue is especially seen when an end user invokes
fc_peer_stats in wifi0 for a peer that is connected to wifi1. In
such a case, we should be returning an error since the peer is not
connected to the pdev that the user application is directed to.

Change-Id: Ie1142c508605bfcf2fd49adc863879eee98fffe6
CRs-Fixed: 2397052
2019-02-18 00:43:56 -08:00
Aditya Sathish
8a7357548a qcacmn: Remove dedicated CDP API for mcastenhance 6 AST lookup
Remove dedicated CDP API for mcastenhance 6 AST lookup and replace
the calls with generic APIs

Change-Id: Ic2c5613be57d7eaffc233ee601f136694f81f848
CRs-Fixed: 2369606
2019-02-17 22:12:54 -08:00
Chaitanya Kiran Godavarthi
e0b3414ea7 qcacmn: Change debug module ID to QDF_MODULE_ID_DP
QDF_MODULE_ID_DP is the module id to be used for debug
prints in the dp_peer.

Change-Id: I661239cb7773aa157d503e9acd82a90343089d6b
2019-02-15 22:49:58 -08:00
Alok Kumar
14b3ba0647 qcacmn: Add cdp call to set peer_unmap_sync callback
Add CDP support to set peer_unmap_sync call back in
pdev struct.

Change-Id: Ia685e7e225baff03ba73bafc89d5dfd818f7f03a
CRs-Fixed: 2398850
2019-02-15 20:50:41 -08:00
Jinwei Chen
1cb78177e6 qcacmn: Fix REO entry potential overwrite issue
Host SW should not update the cached TP pointer to HW register before
current cached TP REO entry finishes processing, otherwise there is
risk if HW HP catches up to this cached TP, but HW TP value has been
updated to (cached TP + one entry size) now, this TP REO entry might
be overwritten.

Refine it and only update TP pointer to HW when entry processing has done.

Change-Id: I54df3247745717855a67649f440c606c518efd61
CRs-Fixed: 2391658
2019-02-14 03:11:43 -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
Tallapragada Kalyan
f07025a708 qcacmn: Do not drop multicast pkts in DBDC QWRAP mode
We are not suppose to drop multicast loop backedpkts
received on a different radio. instead they should be
sent to dp link aggregator for setting certain flags.

Change-Id: Idae19c1b6a2caf2a1b2b58fac531c43e9c24db51
CRs-Fixed: 2351300
2019-02-12 08:45:09 -08:00
Tallapragada Kalyan
a702362d34 qcacmn: Check for MAX_AST entries when adding AST entry
check for max_ast entries supported by FW and add the
entry on host accordingly.

Change-Id: Ief70ba631bb41d50c79d3673e3eea0c45b0c1e19
CRs-Fixed: 2355947
2019-02-12 04:47:37 -08:00
Chaithanya Garrepalli
9ff4c54c25 qcacmn: Avoid NULL dereference in peer unmap handler
Avoid NULL dereference in peer unmap handler

Change-Id: I4dfc6e5fe4c254c6534af187b705efdab706b366
CRs-fixed: 2369001
2019-02-12 02:10:41 -08:00
Amir Patel
1ea85d4671 qcacmn: Add support for STA inactive time in Hawkeye
Currently there is not STA inactive time support for lithium.
Read inactive_time from htt_peer_stats_cmn_tlv by sending
HTT_DBG_EXT_STATS_PEER_INFO to firmware.
After sending command, wait on completion variable till
firmware to response, trigger completion upon firmware response.

CRs-Fixed: 2319219
Change-Id: I93e6343641ae5c72610a57dd6ba551cca0b010c1
2019-02-09 11:52:40 -08:00
Manjunathappa Prakash
a5a3a1e49d qcacmn: Ignore fragmented packet before peer TID setup
peer->rx_tid[tid].array is initiailized when peer TID is setup.
It seems like we are processing the fragmented Rx packet before peer
TID is setup. Drop the fragmented packet in this case.

Change-Id: Ic076e59a9074efff9fed9f9154aa973c41f67341
CRs-Fixed: 2388684
2019-02-07 20:36:13 -08:00
Karunakar Dasineni
159434989a qcacmn: Fix a corner case in monitor duplicate WAR
Store last link descriptor for duplicate detection while
skipping invalid MPDUs.

Change-Id: I8ce35c1854875adca6ce59391e302a6fc6d3e28d
2019-02-06 21:51:56 -08:00
Tallapragada Kalyan
bb2077926f qcacmn: Fix for an array oob issue in hal_reo_cmd_set_descr_addr
Fix for an array out of bounds issue in
hal_reo_cmd_set_descr_addr

Change-Id: Idf7fe71ab1ec9dddbe9ec2b6b7bdb8f477294ee9
CRs-Fixed: 2365505
2019-02-05 08:51:49 -08:00
Chaithanya Garrepalli
8fb487704b qcacmn: add sync between peer teardown and add ast
Protect peer delete in progress under lock to avoid
addition of AST entry after peer tear down

Change-Id: I21ec1dde67339406ad1b5ac99d37b6ce8d021fde
CRs-fixed: 2384110
2019-02-05 06:29:59 -08:00
nobelj
fdfe7ea3cf qcacmn: Fix memory leak in rx tid setup
Take care to handle failure case resource leakage
in TID setup.

Change-Id: I83fbe2c5edcf0c7554d8e64eba8987fbc15502c2
2019-02-04 13:08:07 -08:00
Krunal Soni
53add6504b qcacmn: WAR to drop MPDU with incorrect sw_peer_id
In certain scenarios where AP sends OFDMA TCP packet to
multiple STAs in HE80 mode in poor RSSI conditions, it has been
observed that host in STA gets in to null_q_descr handling case and
rxtlv doesn't carry correct sw_peer_id. Due to this,
driver can't find correct peer from table and ends up sending deauth
frame to handle invalid peer case. The TA is valid and host is able to
find the peer using the TA.

Apply workaround by detecting this special case and drop the frame.

CRs-Fixed: 2367420
Change-Id: I0cbdbb8e9976e739c959062261fc1c946e446d63
2019-02-04 13:08:03 -08:00
nobelj
9d8154dcd3 qcacmn: update TID to skb priority
update TID to skb priority before checking process_rx_status.

Change-Id: Ic81666e3cf918f6d089c43ae8234cd7a06fd0ccc
2019-02-04 07:28:30 -08:00
Venkata Sharath Chandra Manchala
368fb3aff9 qcacmn: Reduce the log level for fragmented packets
Reduce log level from info to debug level for
received fragmented packets in dp_rx_defrag path.

Change-Id: I0d1c7bf91e0337a56ea9e52565e0cbdf47a1772d
CRs-Fixed: 2385483
2019-01-31 19:58:39 -08:00
Sravan Kumar Kairam
deb899b182 qcacmn: Fix implicit conversion error
Fix implicit conversion from enum type QDF_STATUS to
different enum type A_STATUS.

Change-Id: I549c9284e18d73685e879c2f0bb8c54330a35bda
CRs-Fixed: 2389838
2019-01-30 21:46:28 -08:00
phadiman
ebf4cded6f qcacmn: Check for freelist in Rx Desc Pool
For some corner cases if there are no free
descriptors available in the rx desc pool
then stop processing frames

Add check for the same and break the loop
from processing further frames.

CRs-Fixed: 2380041
Change-Id: Ia5d82813df644af61d898131c2987d8d2798e8c9
2019-01-30 02:32:22 -08:00
Nandha Kishore Easwaran
f9c44ce2ad qcacmn: Move DA_war flag to SOC level
Moved DA_war flag from vdev level to soc level.
Also disable DA_war when extap is enabled.

Change-Id: I8e8b2ac7835fb8b5bcad603bd1e7d8036ef7719c
2019-01-30 00:03:13 -08:00
Manjunathappa Prakash
721bd5f339 qcacmn: Add DPT for Lithium_dp Tx completion status
Log DPT for Tx completion for Lithium_dp. Do not reset nbuf->cb
as it has DPT markings.

Change-Id: I493c3e0e5f4311b90c1ec60ac3a4b44d13c06f62
CRs-Fixed: 2385743
2019-01-29 19:39:12 -08:00
Dustin Brown
9ae2232af0 qcacmn: Don't define dp_bus_suspend/resume for WIN
dp_bus_suspend and dp_bus_resume are currently defined for both WIN and
MCL, but only used by MCL. Move their definitions such that they are
under the same #define's as their usages.

Change-Id: Idd17fa0a521f7474d481fbaf5d2c7cfd4138c774
CRs-Fixed: 2387904
2019-01-29 16:54:46 -08:00
Amir Patel
17b91788b0 qcacmn: Update vdev list and peer list access locking in below order
a. Acquire peer list lock
b. Acquire vdev list lock
y. Release vdev list lock
z. Release peer list lock

Change-Id: Ifc1e57fd1a243d909ca65421f269830d24d6b31b
CRs-Fixed: 2372947
2019-01-29 16:54:42 -08:00
Varsha Mishra
a6e589234e qcacmn: Add new enumeration parameters in set pdev param
Add new enumeration parameters in cdp_pdev_param_type.

Change-Id: I7bfeb2ec8828e35283493c2d22b532fb78b5d236
2019-01-29 12:20:59 -08:00
Amir Patel
36a79a672c qcacmn: Fix htt ppdu tlv bitmap issue
Define two tlvs for 64-bit and 256-bit transmission window

CRs-Fixed: 2377256
Change-Id: Id11e1d3695101ef001c689d33e4546ac8a5faea6
2019-01-29 12:20:55 -08:00