Commit graph

337 Commits

Autor SHA1 Nachricht Datum
Venkata Sharath Chandra Manchala
a7d5874dba qcacmn: Account for fragmented packets
Account and print fragmented packets received
on the Rx error path.

Change-Id: I078b6524e8de279445bf5f1f156655c354a169b6
CRs-Fixed: 2303817
2018-09-06 11:48:16 -07:00
Venkateswara Swamy Bandaru
6ca4112f46 qcacmn: Remove SW WAR in rawmode for qca8074v2 target
Remove SW WAR in rawmode for qca8074v2 target. Added flag in
vdev structure which will be filled during vdev attach time.
Based on the flag war is applied.

Change-Id: Id91d6359b0a575b1f2b1222e56ac93a0e08a3c73
CRs-Fixed: 2296584
2018-09-05 06:47:16 -07:00
Balamurugan Mahalingam
3715aa4dd6 qcacmn: [2/2] Support both qca8074v1 and qca8074v2 from hal
Pass hal_soc handle to hal function calls to invoke appropriate
target specific hal APIs

Change-Id: I1d646875508cab9b2ec2af55441cbece36a020cd
2018-09-04 11:53:38 -07:00
Sravan Kumar Kairam
31ee37a1dc qcacmn: Implement lithium dp ops to change peer ref count
There are many instances where outside DP peer reference is
used. This may lead to potential invalid access as the peer
reference used outside DP can be deleted in peer unmap. So
implement DP ops to give peer handle by incrementing peer ref
count and also to decrement the peer ref count.

Change-Id: I54b131e4ce4fde888e5d0e69f81c6da8633e2787
CRs-Fixed: 2307529
2018-09-03 12:59:53 -07:00
Nandha Kishore Easwaran
e03102f60d qcacmn: Remove DP_INTR_POLL flag
Remove DP_INTR_POLL FLAG as polling is now handled runtime using
hif_is_polled_mode_enabled. This is needed as 8074 works on interrupts
whereas 6290 is still working on polling mode

Change-Id: I0e7fdc338d462735dc216c929b1b5a99dc984435
2018-09-03 05:11:19 -07:00
Ruchi, Agrawal
2cbca3b050 qcacmn: msdu time lag update for tx completion
msdu time from hwenqueue to tx completion as part of
msdu stats.

Change-Id: I71ba6f1dec0505e4fa09b5fb123f21912b08b9c5
CRs-Fixed: 2286774
2018-08-31 00:51:20 -07:00
Ruchi, Agrawal
234753cb0f qcacmn: add cal client timer change for peer stats
Cal client timer change for updating peer stats
per sec.

Change-Id: Ie6540fcf0e4699bff9156d87c17a5c73664a6230
CRs-Fixed: 2286826
2018-08-31 00:51:17 -07:00
Krunal Soni
a88d618314 Revert "qcacmn: Add cdp ops to set/get timestamp for management frames"
1) This reverts commit
   I7025fdd7540f47bb4d3f95ef6d9f2ef92af5f1f1

2) Reverted changes have been taken care through:
   Idd7617782e71ee187eef7fcb3523c05b49f82094

CRs-Fixed: 2300055
Change-Id: Icc47ded9a585e356b7eae1ad53ffea6668510308
2018-08-30 13:40:52 -07:00
Yue Ma
af4272dbab qcacmn: Check pending TX packets before runtime suspend
If there are pending TX packets, abort runtime suspend.

Change-Id: I3680142c3c35ddb946b32040adfcee6bdcad710c
CRs-fixed: 2302214
2018-08-28 20:10:51 -07:00
sumedh baikady
1f8f319500 qcacmn: Add support for cfgtool ba aging timeout cmd
Adds dp handlers for cfgtool80211 cmd to get/set
block ack aging timeout.

Change-Id: I74bb6e9e25c01f1e712066cb1e41e9adb6619662
CRs-fixed: 2193128
2018-08-28 14:46:35 -07:00
Venkata Sharath Chandra Manchala
7f30b27044 qcacmn: Reduce the log level for dumpStats
Reduce the log level for TX/RX path stats
as excessive logging is causing timeouts.

Change-Id: I3c7ef1f75373bfd319b02aab98f5bef099086bac
CRs-Fixed: 2298368
2018-08-28 13:09:51 -07:00
Sravan Kumar Kairam
51d4664cb5 qcacmn: Reduce log level in peer unmap softirq context
Currently host is taking long time to process the peer unmap
event from FW which is executed in softirq context. Reason is
as part of unref delete spin lock is taken and error level logs
are logged and error level logs take more time to process when
some other printks are already in progress to write to console.
This is leading to change interface failure from SAP to STA as
due to longer time processing of peer unmap event.

Reduce the severity of log level such that logs are directed to
wifi logger logs instead to console.

Change-Id: I543619036aa06c9ac4d97d18e44465b3c9b71806
CRs-Fixed: 2271260
2018-08-25 02:11:38 -07:00
Mohit Khanna
7ac554bda5 qcacmn: Support for DP RX Threads
Add support for DP RX Threads as a part of the FR. Multiple RX
threads can be enabled from the ini. The code is added in a new DP
module outside of the cmn project.

Change-Id: Id966c46c2799d23c2a4fa1c884610955afed3565
CRs-Fixed: 2256470
2018-08-24 18:35:45 -07:00
Sravan Kumar Kairam
ae20c9e9b5 qcacmn: Move log with error debug level outside of spinlock
In some cases, error level logs take more time to process when
some other printks are already in progress to write to console.
As this error log inside spinlock, so when some other core is also
competing for this spinlock, that core keeps iterating in a loop.
After some time spinlock panic may trigger as it is suspected that
this core is locked on this spinlock.

This fix moves the error log outside spinlock so that the other
core don't have to wait to acquire spinlock due to this.

Change-Id: I38be80ba3cb65dd77520ca39bf6210e9711f56da
CRs-Fixed: 2299628
2018-08-23 19:50:11 -07:00
Pamidipati, Vijay
3eab5b1b92 qcacmn: Add a missing lock for del_ast
Add a missing lock for protecting AST table while
deleting an AST entry in STA roaming case

Change-Id: I38b08c71e4080867780ba81063ac9d7a73962e04
2018-08-23 13:50:22 -07:00
Venkata Sharath Chandra Manchala
599b14ce03 qcacmn: Fill appropriate statistics value
Update stats request value if statistics request
from user level is greater that CDP_TXRX_STATS_HTT_MAX value.

Change-Id: I0e36200021fb70662481bc823a95f9e64a8b1e14
CRs-Fixed: 2291842
2018-08-22 18:07:25 -07:00
chenguo
4d877b8ea5 qcacmn: Delete duplicated rate info code in statistics printing
Using common function to replace the duplicated rate info code in
statistics of data path for TX, RX and peer info printing.

Change-Id: I80d296001b95d7a5ff11d7ce538e16f86e7e67e8
CRs-Fixed: 2291395
2018-08-22 14:54:53 -07:00
sumedh baikady
df4a57cd31 qcacmn: Handle 2k exception and rate limit delba
Upon receiving 2k jump exception, send delba
and track delba tx status and retries.

Change-Id: Ida35256233869dfa390c40030c9296b9c48481ce
Crs-fixed: 2239856
2018-08-20 01:36:58 -07:00
Pamidipati, Vijay
13f5ec2749 qcacmn: Enable DBDC WAR in Root AP mode
In current code, DBDC WAR for AST applies only for repeater mode.
Add support to enable this even in AP modex, for use in SON usecases

Change-Id: I82791fbae0cc86ac6d951c4d85b709c755334273
2018-08-17 10:30:45 -07:00
Venkateswara Swamy Bandaru
37ce7097c7 qcacmn: Add static compilation option to enable DP polling
Add static compilation option to enable DP polling irrespective of
HIF polling is enabled or not.

Change-Id: I64544a8f1a6f56eba9ddbf200c9157a165e68e9d
CRs-Fixed: 2292401
2018-08-16 00:47:59 -07:00
Venkateswara Swamy Bandaru
29757ad9ee qcacmn: Add DP support for qca8074v2
Add datapath support for qca8074v2.

Change-Id: I8d1a84f011b8fccedd85ca445a0e69a1a4071f72
CRs-Fixed: 2292314
2018-08-13 19:57:52 -07:00
Adil Saeed Musthafa
61a21697f6 qcacmn: Add new radiotap header fields
Add the following fields in Radiotap header:
Antenna noise (in dBM)
Vendor Namespace containing the following information
->L_SIG_A
->Device_ID
->L_SIG_B
->PPDU_START_TIMESTAMP

CRs-Fixed: 2285143
Change-Id: I977be73778ab27383f12214c73b56c9b80d9f02d
2018-08-10 20:45:27 -07:00
Ruchi, Agrawal
2a6e6143a3 qcacmn: Add change for disconnected peer stat
Add change for disconnected peer stats ,
will remove from bss_peer
and will store in vdev, bss peer will have only multicast
stats for connected and disconnected peer.

Change-Id: Id294d1f3218dbfabcc252bac04f1a3e5f543a247
CRs-Fixed: 2290723
2018-08-10 18:11:32 -07:00
Aditya Sathish
ded018e406 qcacmn: Clean up dp component prints
Clean up datapath component prints by correcting trace levels for
regularly occurring prints and removing newlines from converged
print APIs since qdf_trace_msh appends them by default.

Change-Id: Ie8fe319fcb737720f7400a165e134b6a18bd15b5
CRs-Fixed: 2243843
2018-08-10 18:11:21 -07:00
Chaithanya Garrepalli
a822b190c4 qcacmn: do not delete self AST entry while AST flush
Add check to avoid deleting self ast entry when ast
table is flushed

Change-Id: Icd9b9665941afedecaaba159f9f654d3e26c496e
CRs-fixed: 2286836
2018-08-09 04:24:22 -07:00
Chaithanya Garrepalli
95fc62f8fc qcacmn: populate RSSI for the neighbor clients
Populate the RSSI value for the non associated clients
added in pdev->neighbour_peers_list from monitor status
ring

Change-Id: I509d06bec6eafe8377681c8a3da9a64f301c3c73
CRs-fixed: 2286571
2018-08-06 13:44:01 -07:00
Pamidipati, Vijay
3756b7603e qcacmn: DBDC repeater mode changes in AST
Add new ast_get_type API for DBDC repeater feature.
Add other changes required in WDS and MEC handling
required for DBDC repeater feature to function properly.

Apply sta kickout logic to handle roaming cases
only within same radio. For roaming across radios, DP should
rely on control path.

Change-Id: If9b35720082dd87de40827843a14238e818bc454
2018-08-06 13:43:58 -07:00
Sumedh Baikady
1c61e0664d qcacmn: Block Ack state machine enhancement in DP
Move the state to in_progress when we process addba
request and upon tx comletion of addba response, move
the state to active. Any addba request received during
in_progress is ignored and reo queue is updated with
window size 1 and set to inactive.

Change-Id: I69cfbc162d873f9e6842ca3e7971146dafba2695
Crs-fixed: 2188927
2018-08-02 02:48:51 -07:00
Venkata Sharath Chandra Manchala
0cb3198ecb qcacmn: Enable support for REO Queue Stats
Map the cdp api call to a datapath handle to print REO
Queue Stats.

Change-Id: I14f880e9fc3743991fd7c8441326c23b7c3bdff8
CRs-Fixed: 2217649
2018-08-01 20:37:35 -07:00
Alok Singh
40a622b062 qcacmn: Add check for bpr feature
Disable m_copy/enhanced_stats feature causes the bpr feature disable.
Hence add check for bpr feature status during enable/disable of m_copy
and enhanced_stats.

CRs-Fixed: 2275686
Change-Id: I5592b422823446374ce560fe3653990be4c796b0
2018-08-01 03:50:18 -07:00
Vivek
126db5db3f qcacmn: Add INI support for Lithium DP configuration items
The current Lithium DP configuration items are hard
code and cannot be configured for different values
without rebuilding the driver

Add the INI configurability option for the Lithium
DP config parameters

Change-Id: I30012903ccb0654bdff706beff80655313aca289
CRs-Fixed: 2246404
2018-07-30 02:53:39 -07:00
Ruchi, Agrawal
c3e68bc67d qcacmn: desc na change
Part of base changes, move due to dependency on
other changes.

Change-Id: I7d640d2976c4c2c2c156a5223683dc4b28559577
CRs-Fixed: 2283286
2018-07-27 14:25:16 -07:00
Amir Patel
0291157bef qcacmn: Add new members for DP componentization
To consolidate the stats spread over across UMAC, OL_IF
layer and process at respective datapaths depending
on platforms.

Change-Id: I87d02c767a309e7aeef88a124567259debc1bba5
CRs-Fixed: 2283286
2018-07-27 14:25:11 -07:00
Soumya Bhat
14b6f26e71 qcacmn: Add multicast address in tx_capture header
In existing code peer's mac address is populated in tx_capture
receiver address field. In case of multicast and broadcast packets
the packets is transmitted on BSS peer so in case of broadcast/multicast
packets the transmitter address is same as receiver address in tx_capture
header.

Add change to populate receiver address field with ethernet destination
address in case of bss peer is tranmit status.

Change-Id: Ie9495d51391454313b1697ecedb8e8dec0459565
CRs-Fixed: 2261473
2018-07-25 01:24:31 -07:00
Mohit Khanna
dba82f2bfe qcacmn: Add API to get mon mode mask in interrupt mode
Currently, monitor mode mask is being set while in interrupt mode. If
monitor mode rings are being processed in timer context(polled), both
timer and RX softirq end up processing monitor mode rings leading to
race condition. Monitor mode ring processing code is written to be
executed by a single context - either timer or softirq, not both.

Add an API to return zero monitor mode mask while in interrupt mode in
case timers are being used to process monitor mode rings.
So, in case packet log is enabled(based on a timer), regular interrupt
processing will not process monitor mode rings. It would be
done in a separate timer context.

Change-Id: I5cf5c881c2e2e07bac1b46646ee2a3b7cf42ef13
CRs-Fixed: 2266353
2018-07-24 16:58:33 -07:00
Balamurugan Mahalingam
96d2d41c87 qcacmn: Fix compilation issues and a minor issue
Removed qdf exports on functions defined in target specific
header files and defined those functions as static. Revert
changes on hal_rx_msdu_end_sa_idx_get and make
hal_rx_msdu_end_da_idx_get target specific

Change-Id: I2858b1d77118f0a26b54bf983bd342c7a4fe757d
2018-07-21 00:03:36 -07:00
Balamurugan Mahalingam
54d16a9371 qcacmn: Use txrx_intr_attach function to attach to poll and interrupt
Use appropriate reo dst ring size based on target type

Change-Id: I6e26537d25b4b8d4507acc689b9d17c83aa4d27e
2018-07-21 00:03:25 -07:00
narayan
4b25ab2b2f qcacmn: Compile qca-wifi with gcc 5.2
Description:-
Added changes to avoid qca-wifi compilation errors with GCC 5.2

Change-Id: Idc6a1186af24219f193a2c36a00987cda820e334
CRs-Fixed: 2269330
2018-07-19 23:13:44 -07:00
Venkata Sharath Chandra Manchala
faa0d8b30a qcacmn: Update statistics counters
Account for tx.success and tx.comp_pkt stats counters
at peer level and propagate them to pdev level.
NSS stats need to be updated for all packets.

Change-Id: I18de95217690c9234060253671e0d5e1ef295e2a
CRs-Fixed: 2270816
2018-07-18 00:18:15 -07:00
Alok Kumar
fcdb185203 qcacmn: Add cdp ops to set/get timestamp for management frames
Add cdp ops for timestamp setter/getter function for peer based on
mac address.

Change-Id: I7025fdd7540f47bb4d3f95ef6d9f2ef92af5f1f1
CRs-Fixed: 2275985
2018-07-18 00:18:12 -07:00
Sravan Kumar Kairam
8e15ed92a1 qcacmn: Fix mem leak during dp peer delete
AST entry has been allocated at the time of peer creation at DP.
But during peer delete it is not deleted. This leads to memory leak
in the wlan driver. To fix this delete ast entry at the time of
peer deletion.

Change-Id: I8d16b575bd44bf06415c3b1cc44c1c7833c88137
CRs-Fixed: 2273601
2018-07-17 05:29:04 -07:00
Mohit Khanna
163c3170a1 qcacmn: fix dptrace for data packets
Enable tracing for TX/RX data packets
Donot print stats with 0 value

Change-Id: I4bab6537494c4ee0fe290e3778fb5662bf5abd66
CRs-Fixed: 2269193
2018-07-13 02:58:46 -07:00
Venkata Sharath Chandra Manchala
30e442b026 qcacmn: Disable monitor mode for QCA6390
Setup monitor mode rings and allocate
descriptors only if QCA6390_MONITOR_MODE is
defined.

Change-Id: I9c9bdc1e325eda822a326d64d6445a7112083420
CRs-Fixed: 2271998
2018-07-13 02:58:41 -07:00
Akshay Kosigi
78eced8c1d qcacmn: Add UMAC peer into DP peer structure
Add and initialize UMAC peer handle into DP peer structure as opaque
and to pass UMAC node structure to ol if layer for Block Ack and
rx_frag_tkip_demic functions.

Change-Id: If7c3faf859c97832c3c7f50fc163142b68eedeeb
CRs-Fixed: 2241356
2018-07-13 00:54:11 -07:00
Akshay Kosigi
0e7fdae9fd qcacmn: Move DP OL ops to target if layer
Move few common dp_ol_if_ops functions to target_if layer as part of
DP-CP interaction convergence

Change-Id: I9ad740af687f550f64ef8f81919159b73204e7b8
CRs-Fixed: 2243694
2018-07-12 18:02:13 -07:00
Sravan Kumar Kairam
5a6f590ed0 qcacmn: Add api to set ctrl pdev to dp pdev handle
Add cdp api to set UMAC ctrl pdev to dp pdev handle.

Change-Id: I12a1b6e04bce0b72257c87435d027d66d9156ca7
CRs-fixed: 2273029
2018-07-12 12:34:52 -07:00
phadiman
0381f56e17 qcacmn: Add sanity checks
Add sanity checks for ast_entry
structure

Change-Id: I361fac6b62f4b437f8d8d126fbb922d42b9b1b00
2018-07-12 04:58:49 -07:00
Akshay Kosigi
dbbaef4f81 qcacmn: Add UMAC vdev into DP vdev structure
Add and initialize UMAC vdev handle into DP vdev structure.

Change-Id: If0895bfdc773569cc9b40d735b6237522692cd57
CRs-Fixed: 2236237
2018-07-11 14:29:35 -07:00
Akshay Kosigi
1a9c6d1d4c qcacmn: Rename osif_pdev and os_if_vdev in dp_pdev and osif_dev
structures

Rename osif_pdev to ctrl_pdev and os_if_vdev to ctrl_vdev in dp_pdev and
osif_dev structures respectively which are
pointing to objmgr_pdev and objmgr_vdev structures to maintain
uniformity

Change-Id: Ida95a1a90ea74513573f00c652338baee3df897a
CRs-Fixed: 2241362
2018-07-09 02:02:23 -07:00
Sravan Kumar Kairam
f1e0766647 qcacmn: DP peer functions code cleanup
Remove pre processor directives for platform specific
dp peer functions and have stubs for them.

Change-Id: Ibdb9114918bbec86cc4be411f730da5777204226
CRs-Fixed: 2262603
2018-07-05 14:14:05 -07:00