提交图

692 次代码提交

作者 SHA1 备注 提交日期
Kiran Venkatappa
08bf93bbaf qcacmn: Use multi-page alloc for tso descs
Regular allocs usually result in allocation of size aligned to
slab boundary resulting in more memory than the requested. Use
multi-page allocation to avoid allocation of more memory than
requested.

Change-Id: Id6562f2fe419179e27206ff5b1d543090b931607
CRs-Fixed: 2294213
2018-09-03 05:11:16 -07:00
Anish Nataraj
376d9b19f3 qcacmn: Include sgi parameter for ratekps calculation
Currently gi value was not considered for ratekbps calculation
if sgi is enabled, include gi parameter for ratekbps calculation

Change-Id: Idd8b36375493c26f22f2f4f0c7ae922df37e65a1
2018-08-31 04:01:22 -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
Ruchi, Agrawal
7d32b0aebb qcacmn: common api for cal client timer
common api for cal client timer, stats update
per sec.

Change-Id: Ic508a818a7ad38253f157326c063fdc1d719c425
CRs-Fixed: 2286826
2018-08-31 00:51:15 -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
Yue Ma
442d36e967 qcacmn: Tie PM usage count to descriptor allocation and free
Tie increment and decrement PM usage count to descriptor allocation
and free instead of HW enqueue and TX completion since allocation
and free will be the most accurate places to track if the packet
has been sent or not.

Change-Id: Ia61c5bb26386d20590e87149d0fe88dba02d0fb7
CRs-fixed: 2302214
2018-08-28 20:10:48 -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
Jinwei Chen
4673310fba qcacmn: add rx data invalid peer indication
Currently there is no callback for MCL DP to do further action
when receiving data with invalid peer, add it for further processing.

Change-Id: I07c93b5119f0c1a46abba587b6b18c7b691683c7
CRs-Fixed: 2299489
2018-08-28 09:15:02 -07:00
Karunakar Dasineni
6a5267501f qcacmn: Fix 'need_status' during rxtid deletion
Set 'need_status' while sending REO queue update command
for deleting REO queues to get status from HW, which will
trigger callback to cleanup and free the queues.
Also fix issue in initializing REO command descriptor, causing
command number to be cleared.

Change-Id: Ie30fc80f76d835e239dd0b3d3e78c7f32bfa09a4
2018-08-27 22:07:33 -07:00
jiad
f9cb8344c4 qcacmn: Fix dptrace dump for TX path
When running dptrace dump on Napier, observed that eapol TX counters
are not incremented. Reason is that in Lithium DP nbuf->cb is reset
before dp_tx_trace_pkt() is invoked while dptrace relies on nbuf->cb.

Fix is to move qdf_nbuf_reset_ctxt() after dp_tx_trace_pkt() so that
TX counters that rely on nbuf->cb can be captured.

Change-Id: I5048113e66e8742b8f1f321c07494a6dcf84256a
CRs-Fixed: 2290500
2018-08-27 10:50:26 -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
Anish Nataraj
7235d9b33d qcacmn: Update ack rssi only for successful completion status
Currently ack rssi is updated unconditionally. Check completion
status before updating ack rssi

Change-Id: I9dec8a051adc933ceab33c71ccbb784471b2756e
2018-08-23 01:45:38 -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
Kai Chen
339b01d8ae qcacmn: Check the MPDU start tag before read ppdu id
Check the MPDU start tag before read ppdu id in MPDU
start TLV in the head of packet TLV.

Change-Id: I0b9a367e148d55a6c667adc8ad16e7c0fdf0a741
2018-08-21 14:16:42 -07:00
Neil Zhao
daf867352c qcacmn: Don't return if mon vap down in dp_rx_mon_dest_process
If mon vap is down, pdev->monitor_vdev will be set to NULL.
Then function returns, this return will causing mon dest ring not reaped,
causing mon dest ring full FW assert.
And it'll causing mon status ring & dest ring out of sync.

Change-Id: Ie10792da2a4a78d959c676c4b4fba3d9ee05c6e6
2018-08-21 14:16:40 -07:00
Kai Chen
0e79b6e5bd qcacmn: Fix ppdu id wrap around issue
When a ppdu id on a ppdu in status ring find a matching ppdu id
in destination ring. The old logic can cause ppdu id is destination
ring stuck on high value before wrap around. The new logic check
ppdu id between status ring and destination ring is no more than
20000.

Change-Id: Ia601403b0a4fc6cdfff980c7745e055c814137b7
2018-08-21 14:16:37 -07:00
Anish Nataraj
37b649522c qcacmn: Assign valid user index even for TLVs peerid 0xffff
Peerid 0xffff is for scan peer and rate information needs to
be delivered using valid user index from API dp_get_ppdu_info_user_index

Change-Id: If200467755c4b18002db221413976624ca66a9c9
2018-08-20 11:52:46 -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
jiad
331eb9e6f7 qcacmn: Fix DP flow pool map for non-LFR3 roaming
tx_desc allocation failures are observed when running roaming scenarios
on Napier x86, where roaming offload is disabled (non-LFR3) and during
roaming reassociation is sent by DUT. With Lithium_DP, tx_desc are
pre-allocated within flow pool and flow pool map and unmap are currently
hooked in policy manager when connection table is updated.

In roaming scenario, flow pool is created when STA is associated with old
AP. But new flow pool is not created but is reused with old AP since same
flow pool id is passed from protocol stack. When old AP is removed from
policy manager connection table, flow pool is thus unmapped which leads to
EAPOL packets transmit failure due to unavailability of tx desc.

Fix is to increate pool_create_cnt to avoid flow pool being unmapped.

Change-Id: Ia912c1d7fe8319bece00869a9a47c8a760b17e2f
CRs-Fixed: 2287284
2018-08-14 20:02:32 -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
Chaithanya Garrepalli
be9d5fcc14 qcacmn: populate delayed_ba bit to tx PPDU descriptor
Populate delayed_ba bit to the user info in tx PPDU
descriptor from htt user common tlv

Change-Id: I7d22b10123015cd3799e1c3b2f31c7da6f020c13
2018-08-11 00:29:36 -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
y
db24745af8 qcacmn: PPDU changes for DP Componentization
PPDU rate related change moved to data path layer

Change-Id: Id362da61336fb439e394437636af53c0c2c10988
2018-08-10 18:11:36 -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
Anish Nataraj
58881d84fe qcacmn: Add nawds mcast drop counter while aggregate
Currently aggregate vdev/pdev is missing nawds mcast drop
counter, add nawds mcast drop counter from peer

Change-Id: If1e2296c30cfcb5689449c8e23317282e5dce1c6
2018-08-10 18:11:30 -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
chenguo
1b88046171 qcacmn: Add preamble only PPDU support in monitor mode
There are some particular PPDUs which have preamble only:
     * NDP frames
     * TB_PPDU frames
Add support to the above frames.

Change-Id: I7022433d3765575eaf28d7baf3a11e8b6ce13890
CRs-Fixed: 2275161
2018-08-09 14:34:17 -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
Pramod Simha
3203d5e07c qcacmn: Add NULL checks in RX defrag path
Add NULL check before dereferencing pointer in TKIP demic function
in RX defrag path.

Change-Id: Id13f91409c2891ae833e58e4c9d9d09231682f8a
CRs-Fixed: 2287517
2018-08-07 22:36:04 -07:00
Gyanranjan Hazarika
7f9c050df4 qcacmn: ba_window size in WMI for rx_reorder_queue_setup
ba_window_size_valid and ba_window size support is missing
while sending wmi_peer_reorder_queue_setup. This is needed
for handing 256 BA which is not FW default.

Change-Id: I3218921c48c0f82225b7992076e73ac0acf7bd11
CRs-fixed: 2285423
2018-08-07 02:19:31 -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
Amir Patel
52c6b73468 qcacmn: Notify peer stats change to upper layer
Notify peer stats change to upper layer via WDI interface.

Change-Id: I4b9ea3ed98ba09b4afc03e3c3edc42ab9c9f3cba
CRs-Fixed: 2287145
2018-08-06 04:21:34 -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
Mohit Khanna
890818bd02 qcacmn: Return NULL peer for invalid local_id
Return NULL peer in case an invalid peer->local_id is passed to the
peer_find_by_local_id API. In case this peer is already deleted,
the local_id may be invalid, hence simply return a NULL value.

Change-Id: I0cbae4138daa643dfa07b88caf6f32d3948d6d42
CRs-Fixed: 2280399
2018-08-01 14:20:47 -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