Commit Graph

319 Commits

Author SHA1 Message Date
Venkateswara Swamy Bandaru
6523a02ecc qcacmn: Fix mesh no ecryption frame issue
Send no encryption frame only to the firmware and do not duplicate
the frame.

Change-Id: Ie601126b59027d33808db27b18ec23efbab564c0
CRs-Fixed: 2186526
2018-02-23 17:45:54 -08:00
Venkateswara Swamy Bandaru
165d0abaf7 qcacmn: Fix QOS issue with mesh tx
Initialize msdu tid with tid received from upper layer for all packets

Change-Id: Ifb2da4e8eb9bc463cbba9850c55fcbcf82e4f10c
CRs-Fixed: 2188360
2018-02-20 23:26:08 -08:00
Venkateswara Swamy Bandaru
37a3a456f6 qcacmn: Increase debug level of mesh prints
Increase debug level of mesh prints as in current debug level lot of
prints are coming.

Change-Id: Ic584c1bb17415521b66e656274e7283279c8cc61
CRs-Fixed: 2188324
2018-02-20 23:26:06 -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
Ruchi, Agrawal
e8eeb44420 qcacmn: Resolve null pointer dereference issue in flush txdesc
On Flushing txdesc resource on pdev detach caused null ptr
issue, resolved it by adding dummy function to not free desc
resources for mcl, as it is freed in vdev detach.

Change-Id: I9ab777571623c926b4ecbf9c95ba0837101eba26
CRs-Fixed: 2179488
2018-02-13 11:45:49 -08:00
Pamidipati, Vijay
726ea12445 qcacmn: Mcast2Ucast fix for no-snoop entry case
Add support to transmit the original multicast frame (Control
frames) instead of dropping it in Tx path, if no snoop entries are
found for multicast address.

Change-Id: Ic8caeaf4b092f9368c8c2d76632941eb8d7bb9c8
2018-02-13 03:55:22 -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
Ruchi, Agrawal
c0f9c97c95 qcacmn: Free txdesc during pdev detach
On Firmware auto recovery , txdesc resources
might not be freed if f/w has not sent the
completion. Freeing those buffers in pdev
detach

Change-Id: I7d62258347f1fc9566fc8230564bcaf458ea4cc4
2018-02-09 00:42:30 -08:00
Venkateswara Swamy Bandaru
d004c7e040 qcacmn: Fix meta header infomration for the mesh tx frames
Set update_peer_cache, learning_frame bits in meta header for all
the frames that are sent to firmware.

Change-Id: Id8dac0007cc87f792859e5108ddfa77746166b49
CRs-fixed: 2180223
2018-02-06 07:44:59 -08:00
Venkateswara Swamy Bandaru
58c8085e21 Revert "Revert "qcacmn: Mesh throughput enhancements""
This reverts commit I7421f3572c46ed27a2d96724b2bbbe40c0704e5f.

Change-Id: I8c44b0e893f81aadf7aa4404538776f27a579d76
CRs-Fixed: 2180219
2018-02-06 07:44:57 -08:00
Soumya Bhat
2072557943 qcacmn: Populate required info to capture header
Populate capture header with peer_id and first/last msdu
indications.

Change-Id: I8ef6f13cb9243a5f24dc014e2dd55e78ad351616
CRs-Fixed: 2177969
2018-02-05 03:40:09 -08:00
chenguo
94b76158c1 qcacmn: hotfix for qdf_nbuf_map checking logic of TSO TX
The map\unmap checking logic need to be revised. Before that, it
is needed this hotfix to unblock other test.

CRs-Fixed: 2175684
Change-Id: Ife8147526307924079be9081eaf17323f67b87c0
2018-02-05 01:31:32 -08:00
Prathyusha Guduri
be41d97175 qcacmn: add dp_tx_send_exception
dp_tx_send_exception is an exception path that transmits frames
through FW by setting DP_TX_DESC_FLAG_TO_FW

Change-Id: Id6abfcd2bf060c4fe3aaca91634f3be501530a7e
CRs-Fixed: 2176814
2018-01-30 13:40:37 -08:00
Pranita Solanke
a5a3ae721e qcacmn: Add support for Tx and RX Broadcast Packets
Add counters to display the broadcast packets on Tx and Rx side

Change-Id: I85bea07b83d34dc15b185297e7ec63208d8ab8e8
2018-01-30 05:39:04 -08:00
Pamidipati, Vijay
aeff44499d qcacmn: Fix double memfree issue in MCAST2UCAST
Fix the condition check for return value in DP transmit path
for MCAST2UCAST

Change-Id: I81220838ce1c867afdab6447a30d7d7076f0c094
CRs-Fixed: 2164244
2018-01-27 09:21:41 -08:00
Venkateswara Swamy Bandaru
b2864fabe4 Revert "qcacmn: Mesh throughput enhancements"
This reverts commit I89ff27994477a5637979a9cd6a397286144b2535.

Change-Id: I7421f3572c46ed27a2d96724b2bbbe40c0704e5f
CRs-Fixed: 2177160
2018-01-26 09:20:39 -08:00
Pranita Solanke
ed0aba69a9 qcacmn: Rx and Tx peer statistics update
* Update the pkt_type counters correctly within the array bound
 * Add support for NSS counters on Tx side
 * Update ampdu flag in PPDU struct
 * Add support for ampdu flag in hal_ppdu struct

Change-Id: I79ea52727124ea4be4d82912cb2513ea58e2af10
2018-01-18 02:33:34 -08:00
Venkateswara Swamy Bandaru
e91dd92e8b qcacmn: Mesh throughput enhancements
Sending all frames to firmware will have high throughput impact.
Queue mesh frames also to TCL/TQM and send cloned frame to firmware
only if meta header information is changed to update meta header
information. Increased meta info size as per new ext2 header.

Change-Id: I89ff27994477a5637979a9cd6a397286144b2535
CRs-Fixed: 2162643
2018-01-13 02:17:50 -08:00
Pamidipati, Vijay
7a4721f3ab qcacmn: Free Tx ME pool in detach path
Tx ME descriptors used for Tx Multicast enhancement are not freed
in pdev detach path causing memory leak. Fix this by freeing
them in pdev detach path.

Change-Id: I902e7a829495871e3d0013a9942f86c02bbba80e
CRs-Fixed: 2168524
2018-01-11 14:25:54 -08:00
Pamidipati, Vijay
fb0d54d00c qcacmn: Fix kernel panic issue in multicast enhancement code
The kernel panic is seen because wrong variable was used , and this
variable was getting de-referenced without initialization.
Fix this by using the correct variable

Change-Id: I1f03c724f3ecba44a8ce0bc94242f2acafa5649d
CRs-Fixed: 2166423
2018-01-08 17:40:25 -08:00
Kiran Venkatappa
7ec5169030 qcacmn: Send frame as multicast if snoop entry not found
Send control packets as mcast even though snoop entry is not found
instead of dropping the frame. These control frames include IGMP/MLD
frames that is required to add the snoop entry.

Change-Id: If905b54e2ae9eaa3943428b36b1b894bcd528785
CRs-Fixed: 2133270
2018-01-08 00:32:18 -08:00
chenguo
9bece1afc7 qcacmn: Enable DP statistics in driver by default for MCL
Both process_tx_status and process_rx_status is disabled for the
default setting. Enable those flags by default for MCL

CRs-Fixed: 2146734
Change-Id: I8c5a636badcfe9327fce7f3332abd93946f003bd
2017-12-28 05:44:59 -08:00
Soumya Bhat
7422db894d qcacmn: PPDU stats
Add following changes in the context of PPDU stats
1. Mirror copy mode enhancements
2. Fix memory leak due to mgmt. TLV
3. Reset RX monitor lite ring when enhanced stats disabled

Change-Id: Ifb260929290bc483dc05b152a11cd675104f3a0d
2017-12-26 07:24:48 -08:00
Ruchi, Agrawal
d8532ff2a0 qcacmn: Raw Mode AMSDU msdu ext desc not working
For RAW Mode AMSDU when multiple fragments will come
address for first fragment getting updated but other
fragments were not getting updated properly.Fix updated
all the fragment address.

Change-Id: Ie450bcd4e467cca779d0280d76ce7b4ace1dffc2
2017-12-22 19:26:39 -08:00
Pranita Solanke
fc2ff39199 qcacmn: Add multicast and unicast packets stats for BSS peer
Add support to display multicast packets stats. Also
avoid sending message to target-if layer for every MSDU
to update node statistics

Change-Id: I7bb73d97bd8a02a601d191040a9a5730a9584d3d
2017-12-21 15:26:05 -08:00
chenguo
8d0c219dde qcacmn: Hook checksum offload INI key to DP TX path
Enable or disable TCP\UCP checksum offload for TX according
to the flag in wlan cfg module, which is determined by INI
(MCL) or initialization setting(WIN).

CRs-Fixed: 2155236
Change-Id: I0e30fc062a000c2d9c47674fe80da59a2ac0de51
2017-12-20 15:27:03 -08:00
Ruchi, Agrawal
4c1468fb23 qcacmn: RAW Mode EAPOL Frame Classification
Host CCE Classification changes for RAW Mode workaround
RAW Mode EAPOL frame classification for raw mode

Change-Id: I533c2e8bb55e3cd5088c6bff046e67066c784053
CRs-fixed: 2132295
2017-12-20 14:10:39 -08:00
Kris Muthusamy
7e36889461 qcacmn: Adding vdev id for WDS add/del/update API's
- Update the WDS add/del/update dp api's with vdev context

Change-Id: I68bf5670232aaa4bb4cce6a6fe0f7b3b2e921143
CRs-fixed: 2133484
2017-12-20 11:45:07 -08:00
nobelj
2c3db26446 qcacmn: passing correct argument to qdf_mem_set api
qdf_mem_set api parameter switched!
old
qdf_mem_set(void *ptr, uint32_t value, uint32_t num_bytes)

new
qdf_mem_set(void *ptr, uint32_t num_bytes, uint32_t value)

Change-Id: I4ebbc222d32e6fe18c28f2446102c95bfc734c8e
2017-12-14 17:45:20 -08:00
chenguo
85d964f48b qcacmn: Add AST type for DP path
There is a hard-coded AST type number used for DP path, which will
cause poor readability. Fix this problem by using a pre-defined
constant type value.

CRs-Fixed: 2142975
Change-Id: I3520970bf59ea7152a0851cfdc3b8e7943ddbc19
2017-12-13 23:38:12 -08:00
Tallapragada Kalyan
2a5fc625d2 qcacmn: Add WDS Vendor Extension ECM Framework
Add WDS tx/rx policy checks in Tx and Rx datapaths.
In Rx path, check packets against rx policy configured
In Tx Reinject path, checks are to process or drop 4-addr/3-addr packets
to peers decisively

Change-Id: I0a6c01b7555fa5d369ab2c9baf454d49808857fc
2017-12-13 12:15:54 -08:00
Radha krishna Simha Jiguru
47876f618c qcacmn: make dp_send_compl_to_stack non static
make dp_send_compl_to_stack non static to be able to call it from
NSS offload path for FR 42926

Change-Id: Ie93f011c784bd6c95efbd79b6645f556ba198d66
2017-12-11 09:31:27 -08:00
Yun Park
11d46e0476 qcacmn: Optimize data path logging
Remove or lower log level to reduce log from data path which affects
to TPUT.

Change-Id: I7d4344c80cefb4a9539644ef50ff2074d80d6548
CRs-Fixed: 2143250
2017-12-07 22:34:10 -08:00
Pranita Solanke
a12b4b305c qcacmn: Add support for missing Node statistics
Add support for following node statistics for Lithium DP
1) Number of Tx unicast MSDUs and bytes
2) Last Tx and Rx rate
3) Excessive retries per AC

Change-Id: If533df25e5299bf399bed85ace99763aab74134e
2017-12-07 05:37:29 -08:00
Ruchi, Agrawal
34721398d5 qcacmn: Host CCE Classification Changes
Host CCE Classification changes for RAW Mode workaround
H/w CCE hangs while classfiying raw packets
so the classification is moved to host

Change-Id: I75cfc6b140a7983fcdfb797c93b9fd57f01c5ee3
2017-12-06 06:57:02 -08:00
ruchi agrawal
45f3ac45c9 qcacmn: WEP bit set for RAW Mode Workaround
Set WEP bit for protection disabled VAP, to avoid
Hardware crash

Change-Id: I4121d04de9465e07aae2ba24930b1045fb8addf8
CRs-Fixed: 2132317
2017-12-05 01:25:31 -08:00
Soumya Bhat
6fee59c4d5 qcacmn: RX AM Copy mode
Provision to send first MSDU of a PPDU to upper layer based
on PPDU ID received in RX monitor lite ring.
FR 42926

Change-Id: I6daed9382b57fb3355ec6453e0609085cc7b9bb0
CRs-Fixed: 2127108
2017-12-01 22:28:23 -08:00
Soumya Bhat
2f779b050b qcacmn: AM copy mode for TX
Provision to send first data frame of a PPDU to upper layer, based
on PPDU ID and peer ID received in MSDU TX completion indication.
FR 42926

Change-Id: Ifac443b1d56d3e91cd72d1868f253ca10beae8ee
CRs-Fixed: 2127108
2017-12-01 22:28:21 -08:00
Ruchi, Agrawal
bd894b3bb9 qcacmn: NAWDS multicast issue CR2130039
Multicast frames in NAWDS mode causing flood of packets between the
nawds enabled AP's due to continuous sending of mutlicast frames received
from  another AP and vicevera.Resolved the issues by droppping the 3
address Multicast frames and 4 address multicast frames with sa_peer
same as tx_peer.

Change-Id: I5edbcb060720510eb6ea5f5ffd46402535ba6748
CRs-Fixed: 2130039
2017-11-27 03:34:02 -08:00
Manjunathappa Prakash
d8987b30ff qcacmn: Do not log when we run out of tx descriptors
Remove excessive failure logs. We have stats when we fail to get
the tx descriptor and drop packet. So do not log tx descriptor
unavilability failure.

Change-Id: Ia3d929048545ebcd05b52d0819a818cc09878e97
CRs-Fixed: 2128380
2017-11-16 15:19:29 -08:00
Linux Build Service Account
519d203401 Merge "qcacmn: Change format specifier %p to %pK" 2017-11-15 11:57:36 -08:00
Pamidipati, Vijay
da917d573c qcacmn: Fixes for 64-bit paddr
In DP Transmit path, 32-bit variables are being used to store paddr.
This will not work for 64-bit systems.
Address this by making them 64-bit variables.

Change-Id: I4c146649773cfd9bdc636187cb35d9d776bf072f
CRs-Fixed: 2142458
2017-11-15 09:42:36 -08:00
Soumya Bhat
741b8fe64a qcacmn: Fix transmitter MAC address
Fix transmitter MAC address, which is being appended
to MSDU payload when tx packet capture is enabled.

Change-Id: Ic5bd3eab434125e9e4278e1e7af3ec47b7b3698f
CRs-Fixed: 2142085
2017-11-15 04:11:34 -08:00
Pamidipati, Vijay
57a435a7e0 qcacmn: Move peer stats to PPDU indications
Move peer stats updation to PPDU indications from per-MSDU indications
to optimize CPU cycles. Add dp_rx_stats_update for receiver side PPDU stats

Change-Id: I4bdda8ac447e64cd1017e5be3949ec3f915a9d71
CRs-Fixed: 2123969
2017-11-15 12:39:08 +05:30
Pamidipati, Vijay
871850e015 qcacmn: DP Tx path change for H/W alignment requirement
Transmit H/W requires that metadata sent as packet pre-header
should not be overlapping with the packet, as it might cause stalls
in the bus and might affect performance. For this reason, we are
removing align_pad bytes that we were adding by default for all
non-8-byte aligned frames and setting pkt_offset as 0 in Tx descriptor,
so that H/W does not read any metadata by default. H/W team confirmed that
8-byte alignment requirement is not there for frames which do not
have any metadata (Mesh/OCB/TDLS etc).

Change-Id: I2afdeaa49bc8306e7072cf5945762f19d6e4115f
CRs-Fixed: 2138287
2017-11-10 04:08:11 -08:00
Venkateswara Swamy Bandaru
80683044e3 qcacmn: Fix mesh fixed rate issue
Set host_tx_desc_pool bit in ext header for mesh frames as per
new ext2 header.

Change-Id: I7b4076e5882d8220b3f98fdbf0a7a52efc8abee6
CRs-Fixed: 2133277
2017-11-09 22:08:03 -08:00
Yun Park
b9a7b5ac0d qcacmn: DP logging adjustments (0)
Reduce logging level of DP prints

Change-Id: I8909110ae33f279a9e2e66ae3fa1d40936418db4
CRs-Fixed: 2118016
2017-10-27 19:37:27 -07:00
Soumya Bhat
e9d320934e qcacmn: Fix return condition
Fix return condition in dp_tx_comp_free_buf()

Change-Id: Ia2d5fc1d3ceb12dfbb029627dc47e575ef52b327
CRs-Fixed: 2131477
2017-10-25 01:41:49 -07:00
Soumya Bhat
cfbb8952ff qcacmn: Tx packet capture
Add support to send MSDU, mgmt. and ctrl payload along with metadata
to upper layer callback

FR 42132

Change-Id: Ie751322c7c15419ea908538e9e8687b64693fcfa
CRs-Fixed:2068486
2017-10-23 15:46:03 -07:00
Pamidipati, Vijay
bd9c13f2e8 qcacmn: Enable update of per-peer statistics in MSDU Tx completions
Update of per-peer statistics was disabled from per-MSDU indications
as they are now updated from per-PPDU indications. However, the data from
per-PPDU indications is incorrect for some fields. Re-enable update of
statistics for per-MSDU completions till this issue is fixed in FW

Change-Id: I2983ef9244a6f95104ba49ab6d1c6543a951d0b2
CRs-Fixed: 2128230
2017-10-23 08:06:22 -07:00