Commit graph

2,481 commits

Author SHA1 Message Date
Poddar, Siddarth
e0a0247ead qcacmn: Reduce the log spam in kmsg
Move the logs to appropriate log levels to avoid excessive
logging in kmsg. Also log the error reason and line number.

Change-Id: I08ed38861ff0b3d50861b957de34b1c62bc45afb
CRs-Fixed: 2024378
2017-04-03 13:47:20 -07:00
Sathish Kumar
c606d91600 qcacmn: Populate WIN specific vdev param for TLV
Add following pdev param in TLV vdev param array -
WMI_VDEV_PARAM_MCAST2UCAST_SET
WMI_VDEV_PARAM_RC_NUM_RETRIES
WMI_VDEV_PARAM_CABQ_MAXDUR
WMI_VDEV_PARAM_MFPTEST_SET
WMI_VDEV_PARAM_RTS_FIXED_RATE
WMI_VDEV_PARAM_VHT_SGIMASK
WMI_VDEV_PARAM_VHT80_RATEMASK
WMI_VDEV_PARAM_PROXY_STA
WMI_VDEV_PARAM_RX_DECAP_TYPE
WMI_VDEV_PARAM_BW_NSS_RATEMASK
WMI_VDEV_PARAM_BEACON_RATE

Change-Id: I6dfb75e31da2466f3a6128993428b003ba9e76bc
CRs-Fixed: 1115239
2017-04-03 13:47:19 -07:00
Sathish Kumar
9a7fdc14a6 qcacmn: Populate WIN specific pdev param for TLV
Add following pdev param in TLV pdev param array -
WMI_PDEV_PARAM_RX_DECAP_MODE
WMI_PDEV_PARAM_FAST_CHANNEL_RESET
WMI_PDEV_PARAM_SMART_ANTENNA_DEFAULT_ANTENNA
WMI_PDEV_PARAM_SET_MCAST2UCAST_MODE
WMI_PDEV_PARAM_SET_MCAST2UCAST_BUFFER
WMI_PDEV_PARAM_REMOVE_MCAST2UCAST_BUFFER
WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE
WMI_PDEV_PARAM_SET_PPDU_DURATION_CMDID
WMI_PDEV_PARAM_SET_PROMISC_MODE_CMDID

Change-Id: I8d57f744446788f8c086353b96e8787d2a31f2aa
CRs-Fixed: 1115239
2017-04-03 13:47:17 -07:00
Kiran Kumar Lokere
54518924c3 qcacmn: Add public API to set/reset NOL channels in regulatory
Provides the public API to set/reset the NOL channel status in the
regulatory current channel list.

Change-Id: Ic04b55a88705c94aa2933ac402ba9c538147aecd
CRs-Fixed: 2002892
2017-04-03 13:47:16 -07:00
Kiran Kumar Lokere
43568a9b3f qcacmn: Fixes for regulatory channel event processing
Fix the population of tx power. Also fix the WMI TLV processing
for regulatory channel list event. Also make sure correct
range enums are calculated for pdev range.

Change-Id: Iec9559c0ab4b2b5e52d0b0a3eb4a0e8d038dc791
CRs-Fixed: 2002892
2017-04-03 13:47:15 -07:00
Amar Singhal
40c1783ccc qcacmn: Remove 4.9 ghz channels from reg component
4.9 ghz channels would be added when we do different channel
enumerations for different operating classes. Remove them now
to simplify the reg component logic.

Change-Id: Iceb199d5cc531a83b613101cdb61a78c9b0746c0
CRs-Fixed: 2002892
2017-04-03 13:47:14 -07:00
Abhijit Pradhan
5ae2b3ade6 qcacmn: Changes for DFS component to interact with southbound
Define DFS tx and rx ops in lmac_if layer and register rx ops with
DFS module statically inside wlan_lmac_if_register_rx_handlers.

Change-Id: I17f8fb74c244e841c0b05565fb902ebc70d31606
CRs-Fixed: 2001106
2017-04-03 13:47:13 -07:00
Rajeev Kumar
a3fc523714 qcacmn: Do not free objmgr global context if child objects are leaked
Object manager global context contains all child pointers to PSOC,
PDEV, VDEV and PEER. In case any child object is leaked in that
case do not free object manager global context to avoid memory
corruptions.

Change-Id: I490ce3a219ece3486d8a612de9132dd870e5bc7a
CRs-fixed: 2027166
2017-04-03 13:47:11 -07:00
Kris Muthusamy
bfc37942a5 qcacmn: 11ax Draft1.0 wmi changes
11ax WMI changes to populate HE rates

Change-Id: Id303dab1c7ec47ebc31fc685ad0b50ddfdf4bc12
CRs-Fixed: 2023667
2017-04-03 13:47:10 -07:00
Dhanashri Atre
398935eb56 qcacmn: Fix the null check before invoking function
Fix the logic that verifies that the dbs function pointer
in data path is valid.

Change-Id: I35418f2a66eb2d4b44260b005ab0d927d91eeac7
CRs-Fixed: 2025317
2017-04-03 13:45:57 -07:00
Linux Build Service Account
cbe44a82a7 Merge "qcacmn: Increment peer ref count for mgmt Tx frame" 2017-04-03 00:00:09 -07:00
Karunakar Dasineni
1d891ed8d3 qcacmn: Fix for datapath latency issues
Reduce DP poll interval to 10ms and change per-packet prints in Rx path to debug level.
Also fixed HAL macros used to setup Rx buffer descriptors.

Change-Id: I112393a3f021b275dbe9da9df9c1bac584a96f3f
CRs-Fixed: 2026389
2017-03-31 14:50:19 -07:00
Dustin Brown
62af8f3909 qcacmn: Fix Runtime PM compilation issues
Fix several small issues preventing the Runtime PM feature flag from
being enabled by default.

Change-Id: I783a7955c061f40fe4f4342717893cebd32c672b
CRs-Fixed: 2026865
2017-03-31 14:02:59 -07:00
Dhanashri Atre
2c6381da6b qcacmn: Add null check before invoking function
Verify that the dbs function pointer in data path is valid.

Change-Id: I2add5cf3b58ef52240d9cda01220ba444b7716ad
CRs-Fixed: 2025317
2017-03-31 12:05:50 -07:00
Naveen Rawat
2a294f3483 qcacmn: Rename nan_utils_i.h to nan_main_i.h
Rename nan_utils_i.h to nan_main_i.h, because it is supposed to contain
few internal structures along with apis

Change-Id: I77e44c362f2a36c5b17bcaa62cb2f2124abf0245
CRs-Fixed: 2014795
2017-03-31 10:37:01 -07:00
Debasis Das
3968e9abd7 qcacmn: Increment peer ref count for mgmt Tx frame
The peer ref count needs to be incremented in the
mgmt_txrx tx_frame API.The decrement happens in the
tx_completion API.

Change-Id: I604150ce4d238ec84e24f2b8ba807d929860438e
CR's Fixed:2019110
2017-03-31 10:01:50 -07:00
Tallapragada
57d866024a qcacmn: fix crash found in intrabss-forwarding
We are zeroing out complete peer structure after
initialing ast_entry queue. so re-adjusted code.
Also wds source port learning is called before we
pull the TLVs from the nbuf resulting in accessing
wrong src mac address.

Change-Id: Ifd5a2056a3f9f03a1ff1cf5b79046f932dd38510
2017-03-31 05:54:35 -07:00
Pamidipati, Vijay
1b63ac6bf5 qcacmn: Fix a compilation issue in TSO DP code
THis issue is seen only when FEATURE_TSO is enabled

Change-Id: Ife12f6c3c7ed2310ce7cc1b566c1ff70aa360072
CRs-Fixed: 2004658
2017-03-31 04:25:59 -07:00
Kiran Venkatappa
dbd1635cfe qcacmn: Add pdev_id in extract APIs for few pdev events
Add pdev_id extraction code for FIPS, TPC and channel hopping WMI
events. pdev_id is used to derive pdev object.

Change-Id: I1ed527cd96cb6f2326202d1a37ab43285f050a72
CRs-Fixed: 2003898
2017-03-31 02:15:15 -07:00
Amar Singhal
1fb9ce34b7 qcacmn: Change public APIs to pdev level
The current channel list is now maintained at pdev level. Accordingly,
change the relevant public APIs to take pdev and not psoc as an argument.
Also add operating class public APIs and other public macros needed from
regulatory component.

Change-Id: I953d254c5c438fa0aacc8eed07bda1ce16b01912
CRs-Fixed: 2002892
2017-03-30 23:23:31 -07:00
Amar Singhal
1b8762f7a6 qcacmn: Populate the current channel list by pdev
The current channel list needs to be maintained at pdev level.
Compute the current channel list when a pdev is created.

Change-Id: I4922c2d2f9145fb5acfd694f7d2d364af8e676fa
CRs-Fixed: 2002892
2017-03-30 23:23:30 -07:00
Tushnim Bhattacharyya
bb105f90d1 qcacmn: Include correct header file in epping module for policy manager
Include the correct header file in epping module for policy manager as
part of policy manager restructuring.

Change-Id: I115e1473fade0da0c6fc2c2ce9eda061c83dfe66
CRs-Fixed: 2009818
2017-03-30 16:26:15 -07:00
Dhanashri Atre
b178eb464d qcacmn: Initialize LRO and rx hash during vdev attach
We need to send the LRO and rx hash configuration to the
firmware during vdev attach. Currently they are being incorrectly
sent before WMI service ready indication.

Change-Id: I69680b48e6725c6deaad434d722546052cfe86b4
CRs-Fixed: 2022770
2017-03-30 14:53:31 -07:00
Abhijit Pradhan
312638baa2 qcacmn: NULL check added before calling dfs_tx_ops
Change-Id: Ic101351c23a4e4d1e893f131f1d6ecb31ac77952
CRs-Fixed: 2026054
2017-03-30 07:23:16 -07:00
Himanshu Agarwal
bedeed9257 qcacmn: Remove unnecessary QDF_ASSERT to avoid watchdog bark
When bufs needed to post in a CE ring reaches (max no. of entries - 1),
assert happens to print the dumpstack in kmsg. Once this condition is
reached, a work is scheduled to recover CE from this OOM condition which
tries to post buffers in CE. If buf posting fails again, assert will happen
and work will be scheduled again. So, if system is in low memory situation,
then buf allocation and posting will fail leading to assert and work
scheduling again and again in a cycle. Due to these continuous dumpstacks
in kmsg as a result of QDF_ASSERT(), watchdog bark is happening.

Remove QDF_ASSERT from hif_post_recv_buffers_failure() as suffcient prints
and history is present to indicate the situation and so there is no need of
any kind of dumpstack in kmsg.

Change-Id: Ib8bafb9a9fe45c62a15c45fa8a610da2074e058c
CRs-Fixed: 2021793
2017-03-30 05:46:00 -07:00
Houston Hoffman
b12ccb74a0 qcacmn: Support oom recovery for rx ce's
In oom condition, when an rx ce is oom, the ce would
deadlock as the hw couldn't copy any messages (due to the oom)
and the sw wouldn't initiate a pipe refill without a new message.

When this happens submit a work to a workqueue to try and kickstart
the cycle by allocating an nbuf and posting it to the ce.

Change-Id: I047818145dbe230fefc447b6b034705f9b87ca70
CRs-Fixed: 2015778
2017-03-30 05:45:59 -07:00
Houston Hoffman
c0c00a2c46 qcacmn: Improve recv buffer refill failure logging
Make it easier to identify when nbuf allocation starvation
in hif is the root cause for a crash, by adding events to
the hif_ce_desc_history buffer.

Change-Id: Id3b919f17ee79770f5fa81b389f9a28a0670cfa2
CRs-Fixed: 2011015
2017-03-30 05:45:57 -07:00
Houston Hoffman
ff18ea7927 qcacmn: Remove thread unsafe ce_debug varialbes
The use of these static variables could lead to an skb
double free.

Change-Id: I42ebff2c5a713350922e21f4d581c3b8935507e3
CRs-Fixed: 2011773
2017-03-30 05:45:55 -07:00
Houston Hoffman
32f8ccfadc qcacmn: Increase the ring size of the IPA ring
IPA team wants to allocate more buffers and the IPA ring
should be able to hold them all since ipa doesn't have
an error path when the copy engine is full.

Change-Id: I30b8970ce59c7eb4e6a38170a56d6e00e88737fc
CRs-Fixed: 2011766
2017-03-30 05:45:53 -07:00
Houston Hoffman
3891949b8c qcacmn: Increase wmi ce rx ring size
In one log the rx ring is depleted in 2.4 seconds
durring a prolonged period of memory contention.
Double the rx ring size to allow 5 seconds before
the wmi ce is oom.

Change-Id: I2e9a6caeee10f317bd3d70b770fcae3ad2d96623
CRs-Fixed: 2015778
2017-03-30 05:45:52 -07:00
Houston Hoffman
cbcd8397ea qcacmn: Block non-wmi traffic in ce layer durring suspend
Upper layers are failing to block disallowed traffic durring suspend.
Hif can enqueue the messages on the ce rings without letting hardware
know they are there.  When fw is ready to recieve non wmi packets,
hif can inform hw of the queued packets.

Change-Id: I32810d9548416021c1da4f48a4ac539f75f1d907
CRs-Fixed: 2003582
2017-03-30 05:45:50 -07:00
Abhishek Singh
06ba41e804 qcacmn: Move to common wmi event id for scan
Since new wmi API to allow components to move to common event id,
add related changes to use common wmi event id.

Change-Id: I60310238e0f216e6b52d3219c46f613935a9655f
CRs-Fixed: 1095299
2017-03-30 04:38:19 -07:00
Baila, Shashikala Prabhu
f664eee546 qcacmn: Kbuild changes to include regdomain dispatcher file in
qdf

Change-Id: Icd8420195ace9bd193efb7d6bc55743d25a95c2e
CRs-Fixed: 2026170
2017-03-30 03:20:26 -07:00
Wu Gao
b90940cb5a qcacmn: Move to common wmi event id for P2P
Since new wmi API to allow components to move to common event id, P2P
add related changes to use common wmi event id.

Change-Id: I67b9fb7cba992b06ffdfc09a1243e6f5f2c29fed
CRs-Fixed: 2025109
2017-03-30 02:03:06 -07:00
Wu Gao
6d7909cdbe qcacmn: revert temp support legacy P2P by new scan component
Add a temp changes to support ROC with new scan module. Now new P2P
component lunch and revert this change.

Change-Id: I133c80bf73cee70ac39d9a7a62791ddb6421914b
CRs-Fixed: 2023647
2017-03-30 11:58:49 +05:30
Kiran Venkatappa
dc79e0759c qcacmn: set correct pdev_id in pdev param
Remove pdev_id hardcoding to zero and set it to correct value.

Change-Id: Icda30af88f396a18e1bbab31780fedaa453db687
2017-03-29 20:38:06 -07:00
Rajeev Kumar
a85d8b4ad7 qcacmn: Fix SKB double free issue in nl_srv_ucast
If netlink_unicast() fails it already frees SKB buffer hence
do not double free the SKB when netlink_unicast() returns failure.

Change-Id: I2aa99c47f99c573abbd281c06ff58fcb38aad76b
CRs-Fixed: 2022800
2017-03-29 19:18:40 -07:00
Wu Gao
849fd2c759 qcacmn: Init and deinit P2P
This is a change to init and de-init P2P component in host common. Add
P2P component name in qdf trace.

Change-Id: I0a9d56afe851e3414bf860bed944c4e0fe661fbc
CRs-Fixed: 2006260
2017-03-29 18:12:47 -07:00
Soumya Bhat
169eff157d qcacmn: Add new WMI API to unregister event handler
Add new API to unregister event handler to allow
converged components to move to common eventid space.

Change-Id: I97f096ff3e36bc7923718498c535fb6c3c50e7e7
CRs-Fixed: 2023157
2017-03-29 16:06:01 -07:00
Pramod Simha
30e8135859 qcacmn: Changes for BA window update
Window size needs to be incremented by 1 since fw needs to
represent a value of 256 using just 8 bits.

Change-Id: I18cdb6fb928f28893dc0e1fd2fb574a12ca53972
CRs-Fixed: 2025197
2017-03-29 15:01:14 -07:00
Anish Nataraj
da0e2f41b7 qcacmn: Add SCAN WAR for hawkeye emulation
Emulation being clocked at lowest rate,
SCAN and serialization timers are modified to handle
these scenarios

Change-Id: Ia937930483dbcd0268fd2fe2d0393e49f09b215f
CRs-Fixed: 2009490
2017-03-29 09:09:43 -07:00
Anish Nataraj
6b38734120 qcacmn: Add multiradio support for SCAN
Modify first argument of wmi_unified_cmd_send to send
wmi_handle per pdev

Change-Id: Ifbb9cf207c34bcb21cb01492a00b107d62284218
2017-03-29 09:09:34 -07:00
Om Prakash Tripathi
89db19b5b7 qcacmn: Enable converged scan component
Update WMI layer to adopt to converged scan module
and enable converged scan component init/deinit

Change-Id: I4f9da95f90f737ac8bdcaa54f9eb4e154f37d3de
CRs-Fixed: 1095299
2017-03-29 09:09:24 -07:00
Tushnim Bhattacharyya
ac2819788b qcacmn: Add null check for legacy callback functions in policy manager
Add null check for callback functions registered from legacy modules
with policy manager.

Change-Id: I8a08870ea904f4e01a17f6a472bdd609df9c3c4c
CRs-Fixed: 2009818
2017-03-29 07:58:09 -07:00
Kiran Venkatappa
564d355833 qcacmn: Fix rmmod crash on 8074 soc emulation setup
Use correct dev_id in free_irq and add conditional check to avoid
access to registers not present on 8074 soc emulation.

Change-Id: I60055b8426b1941fca1b2f238d4e26b47ead54f9
2017-03-29 06:58:08 -07:00
Kai Chen
6eca1a62da qcacmn: Monitor mode configuration and processing
This change is for supporting monitor mode VAP.  All the monitor mode ring
is configured. The related monitor mode ring includes:
-monitor mode buffer ring
-monitor mode destination ring
-monitor mode status ring
-monitor mode link descriptor ring
The packet is not sent to monitor mode ring unless the monitor mode VAP is
configured. This release support Multiple VAP - AP/STA VAP plus Monitor
VAP configuration. The status ring is not used in this release. However,
the ring is tested and the ring is moving and there are TLV's in the ring.

Change-Id: I782ee0c3b998d8b3bbac79b5e7fdecdbff15fa93
CRs-Fixed: 2013049
2017-03-29 05:58:52 -07:00
c_cgodav
f151c38600 qcacmn: Changes to store stats in 64bit data type
Changed the data type to store stats to 64bit
from 32bit to support larger number for stats
counter

Change-Id: I25eca626623503663b6aa8436217413609e2a807
CRs-Fixed: 2024225
Acked-by: Chaithanya Garrepalli <cgarre@codeaurora.org>
2017-03-28 23:22:30 -07:00
Archana Ramachandran
0b69ec4998 qcacmn: Update legacy fixes in new policy manager component
Update legacy fixes in new policy manager component:
1. Avoid race condition to get pcl while stopping P2P GO
2. Add 160/80+80 MHz support for STA mode
3. Fix SBS is set to true by policy manager in SCC mode

Change-Id: I161ebe382915a6d9eefd6b4e3e2158ff14ad02c1
CRs-Fixed: 2009818
2017-03-28 22:42:30 -07:00
Archana Ramachandran
3dcc6ff112 qcacmn: Fix SME callback for policy manager component
Fix SME callback for policy manager component

Change-Id: If5c7256fb689e4cdb053aa5012deacac221261f9
CRs-Fixed: 2019994
2017-03-28 22:42:28 -07:00
Yun Park
81967e04f3 qcacmn: Check NULL before derefencing pPacket from htc_packet_dequeue
Add NULL check for pPacket returned from htc_packet_dequeue before
dereferencing it.

Change-Id: I30c4fb3a4bc6652396795305c3b8a23bba88922a
CRs-fixed: 2009829
2017-03-28 20:45:58 -07:00