コミットグラフ

624 コミット

作成者 SHA1 メッセージ 日付
Manjunathappa Prakash
86f4ba70f3 qcacmn: Allocate HW link desc pools for each mac
MCL operates on both macs with single pdev. So allocate HW link
descriptor pools for each macs.

Change-Id: I5a373bfbd1d15557e1fc66b8af17c2a130cdf5f9
CRs-Fixed: 2176848
2018-03-20 15:55:02 -07:00
chenguo
cd0f313885 qcacmn: Add RXDMA err process for RING 1
In monitor mode, it is needed to reap RXDMP error ring for RING1.
Also need to replenish for RING1.

Add this missing operations.

CRs-Fixed: 2190071
Change-Id: I8cd60c6cb70b472a26d55783d0964e85e99680b9
2018-03-20 15:55:00 -07:00
Manjunathappa Prakash
d9ce350f01 qcacmn: Initialize and reap both 2.4GHz and 5GHz MACs
Initialize MAC1 along with MAC0. 2.4GHz monitor mode operates on
MAC1 so initialize MAC1 and reap both MAC0 and MAC1.

Change-Id: Id281def37d460b224f5f571893266f193846fd0c
CRs-Fixed: 2176848
2018-03-20 15:54:58 -07:00
Chaithanya Garrepalli
974da2640a qcacmn: Avoid reference of peer object after peer_teardown
In API dp_peer_find_by_id return NULL if delete_in_progress
bit is set, this will avoid referencing peer memory which will
be free in peer_unmap event asynchronously.

Change-Id: Ieab559b9274a886809a9baa9bb348d348e924625
CRs-fixed: 2194265
2018-03-20 07:38:25 -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
Tallapragada Kalyan
71c46b9357 qcacmn: WDS and AST specific code under different compile time flag
Based on requirement from customer we have re-organised
AST specific and WDS specific code under different compile
time flags.

Change-Id: Icbb0dff7c2e7a2239d82c296468fa8d3e4f53021
2018-03-20 05:59:07 -07:00
Anish Nataraj
5034701e13 qcacmn: Assign ldpc from ppdu info and non-amsdu counter increment
Update ppdu rx stats ldpc value into cdp rx indication structure
Also, increment non-amsdu counter for peer/vdev/pdev level stats

Change-Id: I252b71756db7019c5a6d60eeebf9f0c782266e34
2018-03-20 02:10:09 -07:00
Anish Nataraj
0dae67614e qcacmn: Assign bss peer in peer map event
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation
Defer bss peer assigning till peer map event arrives
Do not set delete_in_progress for bss Peer

Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
2018-03-20 02:10:07 -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
Tallapragada Kalyan
084a46d276 qcacmn: memory leak in invalid peer handler
We need to free the chain of nbufs associated to
an a-msdu if its last msdu is not received and the one
received belongs to a new a-amsdu

Change-Id: Id90e58306650ad885caa79271e81de3bf81ee5bd
2018-03-16 03:36:11 -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
Tallapragada Kalyan
7a47aac367 qcacmn: Remove AST entry from previous peer ast_list for ast update
Remove ast entry from the previous peer ast_list and add it to the
new peer ast_list when ast_update is called

Change-Id: Ic6e628ec2c225e6743d042fe3f3e227cb1864a3c
2018-03-14 09:57:13 -07:00
jinweic chen
e87355474f qcacmn: fix monitor nbuf double unmap when rmmod
When reaping rx monitor msdu in dp_rx_mon_mpdu_pop, if msdu_ppdu_id >
ppdu_id, then the corresbonding dp_rx_desc will not be added to free list,
and in_use flag still is 1 but it has done nbuf unmap which linked
to this rx desc. meantime, if rmmod triggered then it will go through the
rx desc pool and unmap the linked nbuf that in_use flag is 1, panic
happened. add unmapped flag checking to avoid double unmap.

CRs-fixed: 2201071

Change-Id: Idead32b189f513897deebf646b72585b257151c2
2018-03-13 19:49:13 -07:00
Ruchi, Agrawal
d536f88dda qcacmn: Add correct peer macaddr entry for son
Adding correct peer mac addr for HM_WDS son to avoid
target assert

Change-Id: I3c8ecbf46e336997597893c5093e7de698a61182
CRs-Fixed: 2195984
2018-03-13 11:05:37 -07:00
jinweic chen
c3546321b6 qcacmn: add nbuf map result check when replenish
add the nbuf map result checking when replenish rx
nbuf to monitor status ring, this could avoid the
case nbuf map failed and invalid dma address
posted to HW or do unmap for unmapped nbuf.

Change-Id: I45cfc015f71a2d7295f7fcb4803bd6e68e2752d4
CRs-Fixed: 2182546
2018-03-13 06:00:59 -07:00
Venkata Sharath Chandra Manchala
0ad4fdafb1 qcacmn: Disable TLV for PKTLOG LITE
Disable HTT_PPDU_STATS_TX_MGMTCTRL_PAYLOAD_TLV for Pktlog
Tx path for MCL only as it is currently a requirement
for WIN to keep it enabled.

Change-Id: If162384783139613f1bdad1d3820288a7887286d
CRs-Fixed: 2182626
2018-03-12 21:12:11 -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
jitiphil
301a242a31 qcacmn: Fix potential buffer overflow dp_rx_defrag_waitlist_flush
Currently variable "tid" is from message, which is used
directly as array size which causes buffer over-write.

To address this issue add check for the array size.

Change-Id: I61ffaef69d97936774d89ee4e745ab509d77adb5
CRs-Fixed: 2200862
2018-03-12 11:40:35 -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
Soumya Bhat
2f54de20b0 qcacmn: Enable promiscuous mode for M-copy feature
In existing code M-copy feature was designed to provide
first 100bytes of payload of self BSS packets.

Add change to enable promiscusous mode and provide metadata and
100bytes of payload of all the packets received by the radio.

Change-Id: I5b1f168028a4fba3a24e9d2ccd0d68c246661d76
2018-03-09 02:03:10 -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
Pamidipati, Vijay
ef2cbc6c93 qcacmn: Change default DSCP-TID mapping table to use all TIDs
Change default DSCP-TID mapping table so that all possible TID
values can be used in transmit datapath.
Also propagate a fix from legacy Tx classification code required
to compute the offset of L3 header pointer correctly

Change-Id: Ia6426817410e67018491c0f4a8122bfae7a1cfe2
CRs-Fixed: 2197640
2018-03-08 18:47:19 -08:00
Nandha Kishore Easwaran
56c28c0cd1 qcacmn: Assign lmac id on tx packet enqueue
On napier AX, HK2.0 ast search is tied to lmac_id.
This ast search feature is added to support DBDC repeater usecase.
Assign lmac id 3 to search by default on all macs until more
formal per pdev changes are made. This enables 2g.

Change-Id: Ia06d9243bddd3f4943426d6b0de3f452a252d819
CRs-fixed: 2198431
2018-03-08 18:47:14 -08:00
Soumya Bhat
f204aa825e qcacmn: Allocate heap memory instead of stack for print buffers
Existing code is allocating array of 500 bytes and providing it
to snprintf to store formatted array. This might lead to stack
overflow.

Add change to allocate memory from heap instead, in all such instance.

Change-Id: Ifaecebd60346d8a04c5facf3d1d446b420eb8c54
2018-03-08 18:47:05 -08:00
Yun Park
47e6af8c98 qcacmn: Don't set up second Rx refill ring for WIN
Set up second Rx refill ring only when IPA offload is enabled.

Change-Id: Icc8c4e2eb42dced3ae9293f33b6446b14093da0f
CRs-Fixed: 2160070
2018-03-07 17:28:59 -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
Vinay Adella
4ca1bf63ba qcacmn: Flush peer entries, if target is in reset state
Free all references held due to missing unmap command
from the Target

CRs-Fixed: 2185830
Change-Id: Ied4c3fc9f694c32ad0a283942eebb64430082d70
2018-03-05 04:28:24 -08:00
nobelj
8c07d61785 qcacmn: Add support for PPDU END TSF in ppdu stats
Add support for PPDU END TSF by adding START TSF and Duration.

Change-Id: Ida04a793876f2a5b029726cc85f2715b71a30834
2018-03-04 21:11:56 -08:00
Karunakar Dasineni
31b98d4cd7 qcacmn: Fix memory leak during REO cmd ring drain
Fix possible REO descriptor leak while draining REO
command ring by invoking command status handlers with
special error code.

Change-Id: I2fe5f60489b57a4b0a287e67e5610112f7292677
2018-03-02 19:34:25 -08:00
psimha
10e4d4a858 qcacmn: Fixes for AES-CCMP, WEP encrypted fragments
Account for encryption header size during 802.11 header decapsulation.

Change-Id: I7c0f75ffc2cd2790bfb06a685e9e7612c59e485d
CRs-Fixed: 2171371
2018-03-01 01:35:39 -08:00
Ruchi, Agrawal
f279a4a02a qcacmn: Correcting CCE Disable Param check
CCE disable param set based on return value
which has to be checked for 1, instead of
any return value non zero

Change-Id: Ia48e5d0f50a49944dbf7ca048aab1220d8989beb
CRs-Fixed: 2132295
2018-03-01 01:35:32 -08:00
Ruchi, Agrawal
d6ba7ae230 qcacmn: Correct return values on ast entry add
Return value on dp_peer_add_ast where not correct
resulting in unnecessary flooding of print.
Correct the return values for the AST APIs

Change-Id: I03983995e96314cae91db95fe02edda4564baa46
CRs-Fixed: 2183715
2018-03-01 01:35:28 -08:00
chenguo
ec03bb838b qcacmn: Fix double unmap issue in RX defrag path
If a RX packet takes below procedure, there is a double unmap:
replenish -> rx_frag -> reo_reinject -> rx_process

Fix it by mapping it again before reinjection.

CRs-Fixed: 2181134
Change-Id: I69ca74e4aad57c854f301e492fe55012ee7290a3
2018-02-28 19:16:10 -08:00
Pratik Gandhi
81fe062e7d qcacmn: Add peer protection for pdev control stats
Add protection for vdev & peer while traversing during collecting
control frame stats.

Change-Id: I1e8e4e5f6f94b35644e03ddafc03b0d885d27972
CRs-Fixed: 2189230
2018-02-28 13:22:34 -08:00
Karunakar Dasineni
de3c3a0c11 qcacmn: Ignore monitor pkt ring TLVs during flush
TLVs in monitor packet buffers might be incomplete during
RXDMA flush, and should not be used to check PPDU IDs against
status ring PPDU IDs. This was causing stall in monitor
destination ring processing.

Change-Id: I99729beb65936477ea42cf5939da2036f36ee303
CRs-Fixed: 2193051
2018-02-28 03:23:14 -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
Pamidipati, Vijay
87a93cf03a qcacmn: Use MSDU indications to update Tx byte counters
Byte counts reported in HTT Tx PPDU indications is sum of MPDU bytes
(including the 802.11 header).In Rx, we derive byte count from per-MSDU
Rx indications and this does not include 802.11 header bytes.
This is causing mismatch in reporting of Tx and Rx byte counts.
Also PPDU TLV for mcast MPDUs is not giving correct multicast bytes count.

Move the byte count update for Tx also to per-MSDU indications to match
the behavior with Rx

CRs-Fixed: 2182576
Change-Id: I92e779661014b058ba98c830881ff8eded4ea6ff
2018-02-27 23:33:50 -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
Tallapragada Kalyan
9d9cbb6762 qcacmn: Fix memory leak during vdev detach in STA mode
Vdev detach does not happen till all the peers associated
the vdev are deleted. because of DBDC repeater feature,
we are creating a self peer even for STA VAP and were not
deleteing it properly causing a memory leak. This change
fixes this issue.

Change-Id: I39d271bef5d5adc6e94333a3fbc483bdb7067f27
CRs-Fixed: 2193590
2018-02-27 14:07:11 -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
Ruchi, Agrawal
c729c57e65 qcacmn: Resolved NULL ptr dereference in detach path
On attach , allocation failed and in error handling
path it will call pdev_detach to free the resource,
resolved NULL pointer dereference which was causing
kernel panic.

Change-Id: I0fd5395fc2d4d2040049124094231dfa524a66b7
CRs-Fixed: 2192809
2018-02-26 13:42:17 -08:00
Srinivas Pitla
0e3478d8a8 qcacmn: Fix passing right pointer as pdev object
As part of init FR, osif_pdev object stores pdev object, so same has
to be passed as param.

Change-Id: Ic9c41e5ef54fdb80898f10f27a86970e76d1f24c
CRs-Fixed: 2188451
2018-02-26 06:35:04 -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
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
Manoj Ekbote
4a59d8de1c qcacmn: Fix issues leading to use-after-free
1. After mem_free() is done for a vdev without peers,
set it to NULL so that later check can catch it.If not,
it could be used to increment stats.
2. After a bss peer is freed, mark it as NULL so that
it is not used again to update stats.

Change-Id: I82e73c29c1409aac1af735ab849e8b07d387acf2
2018-02-23 12:54:45 -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