Commit Graph

279 Commits

Author SHA1 Message Date
psimha
fb49db3c83 qcacmn: Check to prevent crash when reading stats
Add a check for update_dp_stats before calling it.
This is registered only for WIN & causes a crash on MCL.

Change-Id: I584b7dba73bcc2426deb97641c30b4d704ce0d8b
CRs-Fixed: 2111735
2017-09-19 15:53:02 -07:00
Dustin Brown
49a8f6e37e qcacmn: Prepend kernel includes with "kernel/"
To avoid include conflicts, prepend all kernel includes with "kernel/"

Change-Id: I1c3ae9078d5537b03486afff9c2491881c9f694c
CRs-Fixed: 2098814
2017-09-15 12:22:51 -07:00
Tallapragada Kalyan
4c183b84c6 qcacmn: Configure REO dest ring ctrl register to address rng mapping non UDP TCP flows
earlier we configured only REO_R0_DESTINATION_RING_CTRL_IX_2
and REO_R0_DESTINATION_RING_CTRL_IX_3, but we now configure
REO_R0_DESTINATION_RING_CTRL_IX_0 and
REO_R0_DESTINATION_RING_CTRL_IX_1. Also added module param for
rx hash steering.

Change-Id: I690aa395bc19e49df3687be2e70eaaad4994003e
2017-09-14 16:48:07 -07:00
Houston Hoffman
ae850c6d62 qcacmn: Cleanup some excessive logging
Cleanup some excessive logging used durring bringup.

Change-Id: I09df15b7aad8176ad35f70d4d51b4a0a254699e0
CRs-Fixed: 2101103
2017-09-13 15:25:42 -07:00
Soumya Bhat
539ecfa47d qcacmn: HTT PPDU Status TLV processing
Add support to process HTT PPDU per-user TLVs that are sent to host from
FW on PPDU Tx completions.

Change-Id: Ia05d5d0e045bfeb4143886ef3a1b075d927645fa
CRs-Fixed: 2098696
2017-09-13 01:48:20 -07:00
Anish Nataraj
38a2956c7a qcacmn: Add PPDU Statistics Support for Rx datapath
Add support for processing rssi, mcs etc fields from
PPDU status ring and delivering to CDP interface

Change-Id: I312bef20605594645bae6ec748f0b59e4d427075
CRs-Fixed: 2098696
2017-09-13 01:48:19 -07:00
Pamidipati, Vijay
038d090817 qcacmn: Add PPDU statistics support for Tx datapath
Add support to process HTT PPDU statistics for transmit
datapath and deliver PPDU indication to CDP interface.

Change-Id: I22e757497e13ce86fb7b42112fd56555c58e97bc
CRs-Fixed: 2098696
2017-09-13 01:48:18 -07:00
Manoj Ekbote
525bcabbb7 qcacmn: Clean up desc pool during soc detach
During soc detach, free the memory allocated for
link desc pool. This will return the 2 MB regions to
buddy allocator.

Change-Id: I1f1929525cf1d5de32321d56ec947969bebfeb93
2017-09-11 15:37:00 -07:00
psimha
a079b8c678 qcacmn: Deregister HIF ext groups on rmmod
- Deregister & free the hif ext ctx when detaching DP interrupts.
- Unregister the hotcpu_notifier during rmmod.

Change-Id: Icbd3c6cee70b6b224059a4b301b9840485a96d11
CRs-Fixed: 2086729
2017-09-08 19:40:02 -07:00
URAJ SASAN
81d9571879 qcacmn: Enable client isolation
[PATCH 0/1][CR:2093711]

The client isolation feature parameters were
pass and stored but were not used for enabling/disabling.
Added the changes to enable disable the feature.

iwpriv ath0 ap_bridge 1
iwpriv ath0 get_ap_bridge

By default feature is enabled so the STA-STA packet does not
go through the bridge interface and incase the feature is disabled
packets are given to the kernel stack.

Change-Id: I76e8683a0a7e8791cf8cf743e39b7201fee39d30
2017-09-07 05:30:27 -07:00
Venkateswara Swamy Bandaru
ed15e74a87 qcacmn: Add support to pass napi budget as module parameter
Add module parameter to pass napi budget for dp interrupts. Default value is
set to 128.

Change-Id: I6b3761c6908ed9cec4e40118a657b39da6ac2532
CRs-Fixed: 2095242
2017-09-01 23:17:18 -07:00
Venkateswara Swamy Bandaru
1fecd15636 qcacmn: Add stats and filtering support in delivering of unencrypted frames
Addded stats and filtering support in delivering of unencrypted frames
in mesh mode.

Change-Id: I2fd72f766660e500affeccda9aad03a0313d0659
CRs-Fixed: 2004658
2017-08-31 06:27:38 -07:00
Tallapragada Kalyan
dbbb0c8085 qcacmn: Add support for Hash based steering in RX PATH
Add support for hash based steering in RX path, also
considered cases where a particular radio or both radios
are handled by NSS offload.
CRs-Fixed: 2092357

Change-Id: Ib0e88c28eecd7bfdb52c7337d4485ac41371be68
2017-08-31 02:11:15 -07:00
Pamidipati, Vijay
899e775769 qcacmn: Add support to dump Host AST table
Add support to print Host AST table contents and
AST statistics

Change-Id: I669d547657fe9d826d2aed59cf8dbb06bc100996
CRs-Fixed: 2099205
2017-08-29 23:41:34 -07:00
Pamidipati, Vijay
9e34025ada qcacmn: Add option to enable or disable accounting of Tx in NAPI budget
Add a division factor for number of tx completions to be accounted for in NAPI
budget. Fix the data type of budget to int to account for negative values.

Change-Id: I620af5537c5c1cdf3161da3a3c053a2c8bf777e8
CRs-Fixed: 2092526
2017-08-29 23:41:33 -07:00
Tallapragada Kalyan
cc5d7b8ff7 qcacmn: tail fragment nbuf next is not set to NULL in RAW Mode
Th tail fragment nbuf->next is not set to NULL which is causing
host crash in RAW mode RX path for bigger size pkts (AMSDU)

Change-Id: Id0a16419988f72e5d8dfb8e942063f9d797abfab
2017-08-29 20:58:13 -07:00
Om Prakash Tripathi
7c31ec678c qcacmn: Add support for TID stats v1 tlv
Add support for htt_tx_tid_stats_v1_tlv in extended htt stats

Change-Id: If5ec3399931069c25c2ad6b00cb57b303493387c
CRs-Fixed: 2094292
2017-08-29 20:57:30 -07:00
Tallapragada Kalyan
71cc01bb11 qcacmn: Do Multicast Echo Check for Multicast pkts only
Add a check to ensure MEC happens only for multicast
and broadcast pkts only. Also added additional check to
drop the mcbc pkt whose src MAC addr matches to the rx vdev.
This is in addition to the other MEC checks already in place.
CRs-Fixed: 2097918

Change-Id: Ie41fce0368cd6147c2a3678f8f4b31eb400f933c
2017-08-29 20:55:49 -07:00
Tallapragada Kalyan
85a1455795 qcacmn: Do WDS source port learning if it is a 4-addr pkt
Added one more check for wds source port learning only
if it is a 4-address pkt.

Change-Id: I85c7859008fd6e5c060c7bf444e49e86c96e32c4
2017-08-28 08:11:56 -07:00
Chaitanya Kiran Godavarthi
6228e3be66 qcacmn: Add CDP API for HK DP to get security type from peer handler
Add CDP API for HK to get security type for ucast and mcast from
peer handler. Add additional peer handler argument for raw mode
rx decap functions. The peer handler is needed in the raw mode
functions for getting the security type of the frame and process
it accordingly.

Change-Id: I3c2688f33ca36a5bd2a747699d5acaab3ba14cfe
2017-08-27 21:51:34 -07:00
Pratik Gandhi
7613908cb9 qcacmn: SmartMesh add support for multi radio
Add support for multi-radio  to smart mesh feature

Change-Id: I21f1a59be419cf68b3c038a08c58f17c82df33bb
CRs-Fixed: 2017269
2017-08-24 17:07:24 -07:00
Linux Build Service Account
9472baa04e Merge "qcacmn: Add support for back to back htt stats" 2017-08-24 08:11:05 -07:00
Linux Build Service Account
39017b6b93 Merge "qcacmn: Fix DSCP to TID map table" 2017-08-24 08:11:04 -07:00
CNSS_WLAN Service
36aea6f563 Merge "qcacmn: Fix key index extraction for mesh rx stats" into wlan-cmn.driver.lnx.2.0-dev 2017-08-22 19:59:52 -07:00
Venkateswara Swamy Bandaru
348e125905 qcacmn: Fix key index extraction for mesh rx stats
Fixed key index extraction in hal api to get correct key index from
key id octet.

Change-Id: I342c05260b17c5baba868223e1b6e75d995823aa
CRs-Fixed: 2073737
2017-08-22 09:29:23 -07:00
Linux Build Service Account
5e29e77a44 Merge "qcacmn: Fix for kernel panic in wifi up path" 2017-08-22 08:06:12 -07:00
Linux Build Service Account
afcbbb23b3 Merge "qcacmn: Fix Key derivation for mesh rx stats" 2017-08-22 08:06:11 -07:00
Venkateswara Swamy Bandaru
6d840bcb94 qcacmn: Fix for kernel panic in wifi up path
Same nbuf pointer is getting used after skb_unshare. This is fixed now.

Change-Id: I98cdbf5929553f20e78b04b32874beea03208cce
CRs-Fixed: 2094334
2017-08-22 07:26:04 -07:00
Venkateswara Swamy Bandaru
3f4e1c48cc qcacmn: Fix Key derivation for mesh rx stats
Fixed key derivation for mesh rx stats for received packet. Added cdp api
to get the key by passing key index and peer mac address.

Change-Id: I6a4c342b614ae85a5ad2fb047f2d8686aa068196
CRs-fixed: 2094335
2017-08-22 07:26:02 -07:00
Om Prakash Tripathi
121268292f qcacmn: Add support for back to back htt stats
In existing implementation when previous stats handling is under process
and a new stats event is received, new stats event is dropped.
Add support to queue any received stats message and process it
later in work queue context.

Change-Id: I7895a2f7ac49456c49374ce209da97c2148f43a2
CRs-Fixed: 2076552
2017-08-22 16:15:14 +05:30
Yun Park
e56aa7b89a qcacmn: Markings updated
Markings updated

Change-Id: I8f031513a2adf5005be26965f73d2e9e1f52a15f
CRs-Fixed: 2093948
2017-08-21 16:50:13 -07:00
Om Prakash Tripathi
5425c52aa0 qcacmn: Fix DSCP to TID map table
Add below fixes:
1. wifi3.0 only supports 2 HW DSCP to TID map tables.
   Check for supported number of tables before
   updating registers.
2. Do not overwrite previous DSCP TID config for
   different DSCP values while updating TID map
   for new DSCP value.

Change-Id: Icd8af1053fa48d3f1e2db317290f806cd41cd797
CRs-Fixed: 2091195
2017-08-21 01:35:11 -07:00
Aniruddha Paul
fbeb4bb9fa qcacmn: API for upating astentry active flag
API added to update the astentry active flag

Change-Id: I749960135d645cdf736fef01200c200147700f91
2017-08-20 05:16:17 -07:00
Radha krishna Simha Jiguru
f70f991f45 qcacmn: Send peer create to NSS only for connected peers
Send peer create to NSS only when peer map comes for connected peers.
When peer map comes for WDS peers only update WDS peer specific entries.

Change-Id: I32d785180bcd1dae2703d40b55f4536685f10439
2017-08-17 20:51:16 -07:00
Tallapragada Kalyan
1c14d5d8e9 qcacmn: MEC loopback check even when sa_is_valid not set
There is a case when the multicast/broadcast frame gets loop backed
even before a MEC WDS entry gets added, in this case
the MEC check based on sa_is_valid will fail, hence added
another ast lookup check.

Also fix the ast entry iterator to use _safe option, since
we are deleting ast entries in the same iterations

Change-Id: I0567893783649d991c3623a61c60fbc63d1a24ef
2017-08-17 14:55:13 -07:00
Tallapragada Kalyan
fb72b637f7 qcacmn: AST based MEC support for HAWKEYE
Implemented MEC support using AST entries rather than
using a separate MEC table.

Change-Id: Ifaafb4be1f8a981ad28609ea9740e8bbccec9046
2017-08-17 14:55:11 -07:00
Pamidipati, Vijay
623fbee5f9 qcacmn: Clean up TxRx statistics
Cleanup the print format for rate stats.
Add missing elements in HAL tx completion structure.

Change-Id: I57aaac605fce5060f7943b9bbe95ef8e8c2d3b7b
2017-08-15 17:32:16 -07:00
Pramod Simha
ccb15fbd29 qcacmn: Enable WBM scatter ring support
Program additional registers to enable the WBM scatter ring
support for providing link desc to HW.

Change-Id: I0d240150f81a333758a311af35c97e1f93ef4ed2
CRs-Fixed: 2068757
2017-08-15 13:27:05 -07:00
Pamidipati, Vijay
fc77960e38 qcacmn: Fix a locking issue in DP Tx error path
There is a possiblility of invoking spin_unlock without taking
spin_lock in DP tx descriptor prepare function in error path.
This change fixes this issue.

Change-Id: Id4c5c0115b14041865e7f97f930e7023e865eca2
CRs-Fixed: 2088616
2017-08-09 19:36:56 -07:00
Pamidipati, Vijay
4f7c305cfa qcacmn: Fix HTT completions for ME and TSO Tx completions
For frames that are dropped by FW/HW and returned to host through WBM HTT path,
freeing of associated ME buffers (for multicast enhancement) and handling of TSO
segments is missing. Create a new function to handle the freeing of buffers in
Tx completion path and call this function in both HTT completion and regular
completion path.

Change-Id: Ibd061830e9325a2b2be9b1779b67b700f4ac08ae
CRs-Fixed: 2004658
2017-08-09 17:01:59 -07:00
Venkata Sharath Chandra Manchala
f934f2b8f7 qcacmn: Adjust logging level for LRO
Change the log level from ERROR to INFO
for LRO feature specific logs to prevent
packet information from flooding on the
kmsg.

Change-Id: Id65464213d3fb39482b1274a5a6f6c104aff6599
CRs-Fixed: 2082577
2017-08-08 16:05:05 -07:00
Venkateswara Swamy Bandaru
cde5599118 qcacmn: Fix mesh rx packets stats
Fixed error in flags for mesh rx packets and added versioning support.
ver1 flag setting is missing which is fixed now.

Change-Id: I3e8da3aae34b2c5bdd9679ec7277acf1215ba841
CRs-Fixed: 2071152
2017-08-08 14:14:36 -07:00
Tallapragada Kalyan
105038008d qcacmn: Add support for DP RX checksum offload
add support for TCP, UDP and IP checksum offload in RX path

Change-Id: Id148523419cc48d094e100f51d39e6f95b21928f
2017-08-08 12:06:12 -07:00
Karunakar Dasineni
dbaf4bed59 qcacmn: Link descriptor IDs to assist debug
We need only 3 bits of cookie field in link descriptor buff_addr_info
to store bank ID. The remaining bytes will be used set a unique ID,
which will be useful in debugging. Also fixed an issue in scatter idle
list setup.

Change-Id: Id3cc9a8a316fe942e749611c2f57e9324419dd40
2017-08-08 12:06:10 -07:00
Yun Park
fde6b9e551 qcacmn: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I07f7592d547bb796a3c12bbc4745cee22e2c0022
CRs-Fixed: 2064810
2017-08-07 17:47:38 -07:00
Ajit Pal Singh
d27d746357 qcacmn: Decrease REO DEST RING size for QCA6290
Reduce REO_DST_RING_SIZE to 1024 for QCA6290

Change-Id: I1e5ac1dcf2edd82b80b15995c29dddb16b7e56bd
CRs-Fixed: 2084719
2017-08-06 19:46:00 -07:00
psimha
c983d7ee09 qcacmn: Use interrupt polling only for monitor mode
Add logic to use MSI interrupts for mission & polling for monitor mode

Change-Id: Ieb824c2eb370040a125f743ec699954bdca9c83d
CRs-Fixed: 2051911
2017-08-06 10:47:17 -07:00
Houston Hoffman
648a918927 qcacmn: Enable msi support for ext_group ring groupings
assign msi vectors to srng rings based on the ext_group they will be
serviced in.

provide support for ext_groups in hif_pci.

Change-Id: If313fdb43b939871c0d73dea9a05f757427b5b16
CRs-Fixed: 2051911
2017-08-06 10:47:16 -07:00
psimha
61b1a36f72 qcacmn: Add NAPI stats
Add basic stats to track NAPI polls & schedules.

Change-Id: Iea8f21fc08d4a5de62e00f32ffdc020f8364ced1
CRs-Fixed: 2083867
2017-08-04 15:35:43 -07:00
Tallapragada Kalyan
bb3bbcd90d qcacmn: copy peer meta data from reo descriptor to RX TLV
Change-Id: Iecb573d457914a53753604487e89e399bb814c36
2017-08-01 20:39:38 -07:00