Commit Graph

5456 Commits

Author SHA1 Message Date
Venkateswara Swamy Bandaru
d2d1ad9774 qcacmn: Add WMI support for RU26 intollerent setting
Add WMI support for RU26 intollerent setting.

Change-Id: Ib42574f9345b16552346bb5e9e991ae14c2c355b
CRs-Fixed: 2308038
2018-09-05 08:21:05 -07:00
Vivek
e4bd23b400 qcacmn: Add API to get max size of the list
The list APIs only provides the current size of the list.
In certain cases, to be able to decide if the queue is full
we can compare the current size with the max size of the list
and not attempt to add to the list at all.

Change-Id: Ic0844ae9fccd8bcc9603d31c41692680966e1753
CRs-Fixed:2304508
2018-09-05 06:47:19 -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
Jinwei Chen
a1f53043bb qcacmn: fix excessive logging when RX invalid peer data
To avoid excessive logging to console, control the log rate when
RX data peer is invalid in function dp_rx_err_deliver, use API
QDF_TRACE_ERROR_RL instead of original QDF_TRACE.

CRs-Fixed: 2300774
Change-Id: If1bf3fd93801e0ef37c7fdb1a32cda16aa429464
2018-09-04 21:15:23 -07:00
Alok Kumar
030747ff17 qcacmn: Add flag in skb->cb for HTT packet pool
Add a flag packet_buff_pool in skb->cb to indicate
HTT packet pool buffer to use in case of HTT Rx ring
low memory scenario.

Set this flag for the buffers allocated for HTT packet pool.

Change-Id: I8e7c823f09aa8b7f686ee52f98f0984e542ff9fa
CRs-Fixed: 2301887
2018-09-04 21:15:18 -07:00
Linux Build Service Account
c5517c51b6 Merge "qcacmn: Attach 2x2+1x1 action tables" 2018-09-04 16:03:51 -07:00
Gerrit - the friendly Code Review server
f0e9b117fd Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-04 15:48:58 -07:00
Liangwei Dong
10d8b3f294 qcacmn: Attach 2x2+1x1 action tables
Attach action tables with 2x2+1x1 DBS hw
modes, and select the table based on user
dbs preference INI setting.

Change-Id: If1fc79ce9a774fbf1ca08d09546679746ba1c4a3
CRs-Fixed: 2258919
2018-09-04 15:27:46 -07:00
Dustin Brown
79694bd003 qcacmn: Use pm_wakeup_ws_event() for Kernels 4.12+
__pm_wakeup_event() was superseded in Linux kernel 4.12 by
pm_wakup_ws_event(). Add conditional compilation to use the new API as
appropriate.

Change-Id: I8f6ceb6de24e1ffcc909f9417595d29d50968ebc
CRs-Fixed: 2306603
2018-09-04 13:46:01 -07:00
Karthik Kantamneni
d07cfa4b67 qcacmn: Add qdf debugfs API to detect buffer overflow
Add API to query qdf debugfs buffer overflow.
Add support to dump log in different block sizes.

Change-Id: I3d5b63ef2f9b0eeb4df20dbb93a76f10ed10f556
CRs-Fixed: 2307897
2018-09-04 13:45:58 -07:00
Debasis Das
e6feafc106 qcacmn: Use appropriate dev handle in OS wrappers
The device handles used in OS wrappers should be of
the desired type.

Change-Id: I6a72c578492662e7c3907c844d9307fc0dc98e53
CRs-Fixed: 2299595
2018-09-04 11:53:51 -07:00
Shreedhar Parande
ed2d24fc50 qcacmn: Fix for delay in preCAC timeout for non-weather radar channels
Maximum among primary CAC timeout and secondary timeout was used to
determime preCAC timeout. Due to this the non-weather radar channels
were also using 600sec as preCAC timeout.

To fix this, CAC on primary channel is done, then use secondary
preCAC timeout.

CRs-fixed: 2303360
Change-Id: If229957d8778a0a7794650e2908da8353fb9e090
2018-09-04 11:53:49 -07:00
Yeshwanth Sriram Guntuka
0ab053e1e1 qcacmn: Reduce log level for few prints to debug
Change log level for few messages from info/warn/err
to debug.

Change-Id: I2fd3df21d70326301b39b91efdf827d6b391f4e3
CRs-Fixed: 2301926
2018-09-04 11:53:47 -07:00
Balamurugan Mahalingam
2b791597da qcacmn: Avoid including hal_api.h for non qca8074 targets
Removing the compilation flags throws compilation error for non
qca8074 targets

Change-Id: I8e83bf229c487cff7db8af41be387b89c2b7fed0
2018-09-04 11:53:45 -07:00
Nandha Kishore Easwaran
e6a27f7cf7 qcacmn: Add apis to set and get ba ageing timeout
Add hal apis to set and get ba ageing timeouts.

Change-Id: I6899f70597de1096d2b318cae1d20e7e1ccab9da
CRs-fixed: 2193128
2018-09-04 11:53:43 -07:00
Balamurugan Mahalingam
db12181289 qcacmn: Fix pointer dereference before null check
vdev getting dereferenced before null check. Fixed the same

Change-Id: If2b701fe8e59a67352aba4d37d4cecee1067c30b
2018-09-04 11:53:40 -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
Balamurugan Mahalingam
5d80641550 qcacmn: [1/2] Support both qca8074v1 and qca8074v2 from hal
Some of the macro names defined in qca8074v1, are defined with
a slightly different name in qca8074v2, and few macros have the
same name in both headers but are defined with different values.
Fixed the same.

Change-Id: I5e948baf5326d1d8fdfa2bd7ee8aa072c710d17c
2018-09-04 11:53:36 -07:00
Linux Build Service Account
31c991610b Merge "qcacmn: Change default WORLD mode" 2018-09-03 16:02:53 -07:00
Linux Build Service Account
23a180a185 Merge "qcacmn: Add API qdf_nbuf_reset to reset netbuf" 2018-09-03 13:03:41 -07:00
Amar Singhal
76c44ef010 qcacmn: Change default WORLD mode
WORLD_60 is default WORLD mode. Remove channel 12 from WORLD mode. Also
fix TX power in WORLD mode for channels 12/13.

Change-Id: I030f7d07355031e9b791aec3a1edc6a3fb44651a
CRs-Fixed: 2302910
2018-09-03 12:59:59 -07:00
Amar Singhal
2193286e32 qcacmn: Correct alpha2 for Argentina
The correct alpha2 value for Argentina is AR and not AR1.
Fix it. Also add FCC5_FCCA regdomain to the regdomain table.

Change-Id: If06ca577b32602620d30ab3c5b9182ae7ab2c44a
CRs-Fixed: 2304785
2018-09-03 12:59:56 -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
Alok Kumar
d32e9abf63 qcacmn: Add API qdf_nbuf_reset to reset netbuf
This API makes the reuse of sk_buff possible, by resetting
it with the reserve and align arguments passed by the caller.

This brings back the skb to the original state as
returned by qdf_nbuf_alloc without allocating the skb again.

Change-Id: Idefcbd4be9fae5d140805d55207dec01bdc90237
CRs-Fixed: 2301899
2018-09-03 11:27:26 -07:00
Linux Build Service Account
40df48b767 Merge "qcacmn: Remove DP_INTR_POLL flag" 2018-09-03 10:03:24 -07:00
Linux Build Service Account
d4b28882ec Merge "qcacmn: Use multi-page alloc for tso descs" 2018-09-03 10:03:23 -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
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
Liangwei Dong
df19d48862 qcacmn: Correct RSN IE length check
The minimal size of RSN ie data size is
2 (only contain version field).

The original 3 will cause driver identify
such AP beacon/probe rsp as invalid and
do not connect to it.

Change-Id: Idceaf936cbd0ca448f82d9594b35ca346c6513d4
CRs-Fixed: 2294094
2018-09-03 05:11:13 -07:00
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
Linux Build Service Account
184a1f54c9 Merge "qcacmn: Indicate roc event to up layer for idle roc request" 2018-09-02 20:03:25 -07:00
Linux Build Service Account
d9e5ae5fc1 Merge "qcacmn: Initial support for 11ax MBSSID IE" 2018-09-02 18:03:56 -07:00
Gerrit - the friendly Code Review server
29497de49e Merge changes into wlan-cmn.driver.lnx.2.0 2018-09-01 17:36:35 -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