Commit Graph

5424 Commitit

Tekijä SHA1 Viesti Päivämäärä
Jeffin Mammen
689aa38d1e qcacmn: Read AC ID from the firmware event
Read AC ID from the firmware event(ATF) received.
The AC ID sent by the firmware is used to (un)block
tx traffic with ATF enabled

Change-Id: I4efedea26495b262f1c55fab3a1fc2824e1509f7
CRs-Fixed: 2306297
2018-09-03 05:11:11 -07:00
Manjunathappa Prakash
d0fc0ea364 qcacmn: Add more debug_ids and reduce the dump log level
Add more debug IDs to narrow down further funciton who is holding peer
reference. Reduce the peer debug dump log level to avoid side effects of
console logging.

Change-Id: I9820c72bcde8a0c2b0e779cf322e1133ef8a43e6
CRs-Fixed: 2303069
2018-09-01 01:42:42 -07:00
Wu Gao
f3ea89016b qcacmn: Indicate roc event to up layer for idle roc request
It won't indicate roc event to up layer for idle roc request, which
casue p2p listen command pending.

Change-Id: I7a1c3c83411c63b790db1500a283d062dd87d63b
CRs-Fixed: 2298546
2018-09-01 01:42:40 -07:00
Manoj Ekbote
b8de937cc4 qcacmn: Initial support for 11ax MBSSID IE
1. Service ready ext includes a parameter for max
BSSID indicator.
2. Beacon template includes MBSSID IE offset.
3. Vdev create and up cmds include more parameters.

Change-Id: I71214eacdaa886725b7ea8f61db3a743ba6597e9
CRs-Fixed: 2306638
2018-08-31 19:09:55 -07:00
Amar Singhal
f318f04a83 qcacmn: Enable 11d in WORLD mode
In WORLD mode, there can be urgency to discover the current country since
WORLD mode restricts the channel and TX power availability. Therefore,
enhance 11d state machine to enable 11d in world mode. Use INI
configuration parameter enable_11d_in_world_mode to decide whether to
enable 11d in world mode automatically.

CRs-Fixed: 2289358
Change-Id: I8a4e1f6c74acb5ac1faec8f98840bf66c3d9a3f7
2018-08-31 11:17:28 -07:00
Pranita Solanke
afcd0f1289 qcacmn: Add Video/all TID Counters framework for both tx/rx
Add struct in cdp required to display VoW stats
for hawkeye and akronite

Change-Id: Ibd3a3b5e5933841cc28c9ce1b36d69615234720a
2018-08-31 04:01:24 -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
Arif Hussain
0dd995fb96 qcacmn: Use statically allocated memory for a few DFS structures
Change a few memory allocations of the DFS module from dynamic to
statically allocated memory from .bss segment to avoid any possible
runtime memory allocation failure because of the requested contiguous
memory of a large size.

The static allocation will not work for Multiple RADIO based boards as
it will use the same memory for all the radios.

Change-Id: I93b30a0a3f2f7d91466c930c12e9fae60699605a
CRs-Fixed: 2302097
2018-08-30 13:40:49 -07:00
Pranita Solanke
f840754fbf qcacmn: Add support for last tx rate for multicast
Apstats display last tx rate for unicast as well as for multicast
hence we are adding support for last tx rate for multicast

Change-Id: I94cdcbb9c156ecaa4b7a5407a0f0c00dfa9786e9
2018-08-30 01:59:26 -07:00
Akshay Kosigi
0987f2dcf7 qcacmn: Add FTM build flags
Add FTM flags to enable/disable FTM and enable NL80211 only, enable TX99
only or both.

Change-Id: I18bbbadd65d23221dc4d739e05235f4d81c12043
CRs-Fixed: 2240572
2018-08-29 14:03:02 -07:00
Wu Gao
e5b5636856 qcacmn: Report err status if idr_find return NULL
It won't report err status since if idr_find return NULL, which cause
unnecessary process with NULL pointer.

Change-Id: I5813ddca11172f75fb73c9530e003c50e55beba2
CRs-Fixed: 2275848
2018-08-29 07:22:10 -07:00
Venkateswara Swamy Bandaru
4dd4a62272 qcacmn: Extend target type checks of qca8074v1 to qca8074v2
Extend target type checks of qca8074v1 to qca8074v2

Change-Id: Ie5eba980af03c87f0086ffe2c2c89d7dc86dc71f
CRs-Fixed: 2292315
2018-08-29 03:08:00 -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
Alok Singh
18fcc5548a qcacmn: Add return as int for qdf hrtimer cancel
Add return value as int to check the success and failure of hrtimer cancel.

CRs-Fixed: 2292414
Change-Id: I7bfe94882551533c3f6b4164a2a3f778216b281b
2018-08-28 14:46:33 -07:00
phadiman
3952f2b86c qcacmn: Remove QDF_BUG in htc_completion_handler
Remove the QDF_BUG in the htc_completion handler
which detects Rx netbuf packet corruption

Host sometimes receives HTC packets with corrupted
endpoint id during rapid wifi down/up tests. This
can be ignored hence remove QDF_BUG and add QDF_TRACE

CRs-Fixed: 2286058

Change-Id: I9b2d3ee2054461258d1196d5ace7d7cfe807332a
2018-08-28 13:09:53 -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
Debasis Das
72521f8c0a qcacmn: Support channel utilization stats
Provide support for following channel utilization stats:
self_bss_util,obss_util,ap_rx_util,free_medium,
ap_tx_util,obss_rx_util,non_wifi_util

Change-Id: Ib1358988ae0b5794e70ba4348a78646e9d2a6cba
CRs-Fixed: 2298865
2018-08-28 13:09:48 -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
Ashok Kumar Ponnaiah
6e0a63ce63 qcacmn: Correct keymgmt append order in rsnie
Correct keymgmt addition order in rsnie to match
with hostapd order of addition.
Added support to add new keymgmt values in rsnie.

Change-Id: Ib96ed6b3986f6dd45ab8f926e7a4e4415aed507d
CRs-Fixed: 2302389
2018-08-28 07:25:08 -07:00
Ashok Kumar Ponnaiah
d652f8ffde qcacmn: Correct the pairwaise cipher order in rsnie
Correct the pairwise cipher order in rsnie to match
hostapd ie generation order. as there difference in the order
cipher is added in rsnie between beacon/probe response generated
in driver and rsnie generated in hostapd, clients drop
this particular association.

Change-Id: I6bc5094a3ff03b013ab1672e8c028a1312eebd3b
CRs-Fixed: 2302389
2018-08-28 07:25:06 -07:00
Sandeep Puligilla
16ead22d94 qcacmn: Add vdev id to command timeout log
-Add vdev identificaiton information to the
serialization command timeout log message.
-Trigger self recovery API instead of QDF_BUG.

Change-Id: Ic873a6acf5e4a5af95a4a28ffa2b32220a499263
CRs-Fixed: 2297487
2018-08-27 23:51:44 -07:00
Ashok Kumar Ponnaiah
17a6db2aa6 qcacmn: Correct parameter passed to cipher2cap function
Correct parameter passed to cipher2cap function.

Change-Id: Ib962c7d908eb0591c9e87ad5987938ad5f24ef93
CRs-Fixed: 2302379
2018-08-27 23:51:42 -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
Harprit Chhabada
6e8c57303b qcacmn: Add new wlan crypto params
Add new param types for wlan_crypto_auth_mode,
wlan_crypto_key_mgmt, wlan_crypto_cipher_type.
Need as part of convergence while converting
param type received from NL to crypto param type.

Change-Id: I0110990d9d2b4b24a87770ebce2b17312a2894fc
CRs-Fixed: 2258383
2018-08-27 18:35:53 -07:00
Jianmin Zhu
2cb2181a4c qcacmn: Add API for concurrency check to cover AP channel switch case
There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.

When channel switch, need recheck whether concurrency is allowed,
Store the connection's parameter and temporarily delete it
from the concurrency table. This way the allow concurrency
check can be used as though a new connection is coming up,
after check, restore the connection to concurrency table.

Change-Id: I66e262774de8dfeba56f9b6f3d1d6721f1748881
CRs-Fixed: 2299105
2018-08-27 16:43:22 -07:00
Jianmin Zhu
6b0d0301d9 qcacmn: Enhance SAP concurrency check to cover AP channel switch case
SAP(Go) concurrency check is mainly used for two purposes:

1) When new GO/SAP session is coming up and needs to check if
this session's channel can co-exist with existing GO/SAP
sessions. For example, in case of single radio platform, MCC for
SAP/GO+SAP/GO is not supported, in such case this API should
prevent bringing the second connection.

2) There is already existing SAP+GO combination but due to upper
layer notifying LTE-COEX event or sending command to move one of
the connections to different channel. In such cases before moving
existing connection to new channel, check if new channel can
co-exist with the other existing connection. For example, one
SAP1 is on channel-6 and second SAP2 is on channel-36 and lets
say they are doing DBS, and lets say upper layer sends LTE-COEX
to move SAP1 from channel-6 to channel-149. In this case, SAP1
and SAP2 will end up doing MCC which may not be desirable result.
such cases will be prevented with this API.

Add vdev_id check while checking for 2nd case. If connection with
given vdev_id exist then it is confirmed that it's a case of
channel switch rather than a new connection case.

Optimize the performance and readability of
policy_mgr_allow_sap_go_concurrency() API by re-organizing the
code blocks.

Change-Id: Idce5d2df7d21e36d2311946115a19482e4b81a8e
CRs-Fixed: 2299105
2018-08-27 16:43:20 -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
Liangwei Dong
79f4a94a1e qcacmn: Add 2x2_1x1 DBS action tables
Add action table for DBS 2x2 5G + 1x1 2G and
2x2 2G + 1x1 5G action tables.

Change-Id: Idadb223cde86729c0f2bbf0cdcc97d96d28c72ba
CRs-Fixed: 2258683
2018-08-27 08:53:34 -07:00
Liangwei Dong
10a38dcc42 qcacmn: Add 2x2+1x1 DBS Action type
Add new DBS Action types and handle
the Actions in policy_mgr_next_actions
API.

Change-Id: Iccc62303383c0701955446a172ed956d1aea0e0f
CRs-Fixed: 2257692
2018-08-27 08:53:31 -07:00
chenguo
4fd11a7234 qcacmn: Add NDP frame supporting for monitor mode of Lithium
NDP is a preamble only PPDU, which do not have payload information
from RXDMA destination ring. The detailed TLV sequence is:
 * RSSI legcy
 * LSIG_A
 * HE_SIGA_SU
 * RSSI_HT
 * GENERATED_CBF_DETAILS
 * PKT_END

CRs-Fixed: 2296348
Change-Id: I19f253c65969b59947bd9a21cf3912b16eb21324
2018-08-27 03:09:54 -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
Jinwei Chen
2e590ab62b qcacmn: discard rx mgmt frame if decrypt error
If RX mgmt frame is received with error decryption,
discard it in WMI layer earlier to prevent further
processing and introducing unexpected behavior, do this
for MCL only.

Change-Id: I3d0f0ca72ae497012f93f39739b727692098ba2d
CRs-Fixed: 2296371
2018-08-24 18:35:41 -07:00
Bala Venkatesh
1e7ab08924 qcacmn: Re initialize default SAP mandatory channel list
Re initialize default SAP mandatory channel list as part of the
start bss. Without this change the 5GHz channels which were
added as part of previous start bss are valid for the current
start bss operation.

Change-Id: Id234b413bbddb05efd3af8c3349271bf93a0a3bd
CRs-Fixed: 2300501
2018-08-24 10:12:08 -07:00
Subrat Mishra
1dbc3068a8 qcacmn: Add TLV support for estimated airtime calculation
Add TLV support for estimated airtime calculation.
Add support to send esp_ie_offset along with beacon template.

Change-Id: Ic70ad7df330674a10ac6051f96975aa928700ba3
CRs-Fixed: 2300339
2018-08-24 00:33:06 -07:00
jiad
5b4fb31cd0 qcacmn: Fix SAP-SAP concurrency when they are on single band
Currently SAP-SAP concurrency on same band support is indicated through
WMI service bit wmi_service_dual_beacon_on_single_mac_scc_support and
wmi_service_dual_beacon_on_single_mac_mcc_support. If SCC is supported,
channel of desirable SAP is checked against current available SAP
interfaces. If channel is different, the desirable SAP is disallowed.
Issue is that on DBS capable platforms, this will prevent second SAP
from doing DBS.

Fix is to check if desirable channel is equal to current SAP interfaces.
If equal, SAP-SAP SCC will be allowed. Otherwise fall back to DBS checks
and SCC/MCC on single band will be rejected if above two service bits
check failed or not supported.

Change-Id: I4bfbe5804003797e087bd0234b999cfe1eb4290a
CRs-Fixed: 2297756
2018-08-23 21:19:11 -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
jiad
fc0d8a88f7 qcacmn: Add SAP-SAP-SAP policy manager next actions
SAP-SAP-SAP next actions in policy manager are missing. Fix is to add
SAP-SAP-SAP next actions so that correct actions can be taken, such
as DBS mode can be enabled.

Change-Id: I347540d9aabf44ed59e7be8b695e87dd8d129aea
CRs-Fixed: 2297763
2018-08-23 15:25:45 -07:00
gaurank kathpalia
6e4b9c54b6 qcacmn: Add support for src, dest in scheduler
Currently the scheduler is unaware of the source module
which posts the message to another layer.

To trace the src, dest, and the message under ML
logging, modify current infra, to include the src,
dest in the qip argument of the API
scheduler_post_msg_by_priority

Change-Id: Ia234f60cc33fcc37ab741c462052a6e50993e3bd
CRs-Fixed: 2300537
2018-08-23 15:25:42 -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
Venkateswara Swamy Bandaru
a76abc45d7 qcacmn: Add supporting functions for extended capabilities IE
Add structures and supporting function get bit field value of extended
capabilities IE bit field.

Change-Id: Iff915320d71473310e2cbc0188508061b14a40f1
CRs-Fixed: 2296592
2018-08-23 03:54:55 -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