Commit graph

2,513 commits

Author SHA1 Message Date
Naveen Rawat
e92475bb19 qcacmn: Implement NAN component init deinit
Implement framework for NAN component and NAN init/deint.

Change-Id: Ice8a7269dc646daa97014ac9667e6f07748fdfba
CRs-Fixed: 2014795
2017-04-11 11:04:12 -07:00
Naveen Rawat
207fb4ead9 qcacmn: Define NAN components's get/set and utility APIs
Define set/get and utility APIs to be used by NAN and other UMAC
components.

Change-Id: Ib3c3c9711ab823dfdf538099d30078b703566fe1
CRs-Fixed: 2014795
2017-04-11 11:04:11 -07:00
Naveen Rawat
5b3602a617 qcacmn: Define NDP structures and enums and private obj
1) Define NDP structures and enum.
2) Define PSOC and VDEV private object

Change-Id: I3cb3c0e357f8b4598a0e4ec8abbd5b69e5de5180
CRs-Fixed: 2014795
2017-04-11 11:04:10 -07:00
Himanshu Agarwal
fa594d9f08 qcacmn: Handle failure scenario for qdf_nbuf_map()
Handle failure scenario for qdf_nbuf_map() API by freeing
allocated memory, returning failure/error etc.

Change-Id: I493fb063c8f57e38525e2dc1701a6e972d2ec0e6
CRs-Fixed: 2028524
2017-04-11 11:03:47 -07:00
CNSS_WLAN Service
17e8533110 Merge "qcacmn: Add new iterate PSOC API for all objects" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:32:06 -07:00
CNSS_WLAN Service
9e591dbe87 Merge "qcacmn: Fix lock issues with object manager" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:32:06 -07:00
CNSS_WLAN Service
33aeb5cac2 Merge "qcacmn: Fix peer ref count issue in p2p_mgmt_tx" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:32:04 -07:00
CNSS_WLAN Service
f3c5a24628 Merge changes Ibef1681f,Ia62137da into wlan-cmn.driver.lnx.2.0-dev
* changes:
  qcacmn: Fix checkpatch warning in policy manager component
  qcacmn: Fix the position of qdf_nbuf_map in Tx DP
2017-04-10 12:31:59 -07:00
CNSS_WLAN Service
6a4a298d9f Merge "qcacmn: Fix for unaligned memory access" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:31:57 -07:00
CNSS_WLAN Service
17a4f64731 Merge "qcacmn: Add macros for aligning addresses" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:31:57 -07:00
CNSS_WLAN Service
668838ea86 Merge "qcacmn: Lithium LRO Support" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:31:55 -07:00
CNSS_WLAN Service
d982eff87d Merge "qcacmn: Activate init and deinit for regulatory component" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:26:55 -07:00
CNSS_WLAN Service
f738826848 Merge "qcacmn: Trigger panic if psoc object is leaked when destroying obj mgr" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:26:36 -07:00
CNSS_WLAN Service
bb911c855e Merge "qcacmn: Reduce log level to avoid watchdog" into wlan-cmn.driver.lnx.2.0-dev 2017-04-10 12:26:21 -07:00
Linux Build Service Account
1020f57e15 Merge "qcacmn: WMI regulatory message change" 2017-04-07 20:23:22 -07:00
Srinivas Pitla
935cd2dae8 qcacmn: Add new iterate PSOC API for all objects
The current iterate object API does not invoke operation on logically
deleted objects. The new API will invoke operation on all objects.

Change-Id: I7821dccf3ccb0c5d209e3bf27489fcb4bf99aef5
CRs-Fixed: 2028529
2017-04-05 01:15:35 -07:00
Srinivas Pitla
9365b08782 qcacmn: Fix lock issues with object manager
1) Implement lock free API for get peer
   In DA UAPSD, get_peer API is invoked in ISR context, This is causing
   system to get into deadlock, since the current get_peer() gets preempted
   Lock acquire attempt is done in ISR context

2) Avoid invoking peer_release_ref() calls with peer_list_lock() acquired
   as peer_release_ref can invoke peer destroy operation

Change-Id: I095ae12ced4201cdc68bda70c8e8dee6cfb2bb9d
CRs-Fixed: 2028529
2017-04-05 01:15:34 -07:00
Abhishek Singh
8c2ce41254 qcacmn: Fix peer ref count issue in p2p_mgmt_tx
In p2p_mgmt_tx ref count of peer is increased and then frame is
passed to wlan_mgmt_txrx_mgmt_frame_tx which again increase the peer
ref count. But the ref count is decreased only once when frame tx
complete is received. Thus peer is not deleted while vdev destroy
and as peer contain the ref count of vdev, vdev is also not
deleted.

To fix this Release peer ref count in p2p_mgmt_tx after
wlan_mgmt_txrx_mgmt_frame_tx.

Change-Id: I8e42b22559f3baf43fefd6183a079f9629efae3c
CRs-Fixed: 2028550
2017-04-04 22:59:38 -07:00
Tushnim Bhattacharyya
7f09318235 qcacmn: Fix checkpatch warning in policy manager component
Fix checkpatch warning in policy manager component.

Change-Id: Ibef1681f3dc8e17b0d1d7bcde0d7dbea5526eedf
CRs-Fixed: 2009818
2017-04-04 20:07:23 -07:00
Pamidipati, Vijay
41e34b1ca3 qcacmn: Fix the position of qdf_nbuf_map in Tx DP
Move the qdf_nbuf_map to correct position before align_pad is
computed for mesh mode header addition

Change-Id: Ia62137daea2ab09e93a86c4b9da681f5591ce947
CRs-Fixes: 2004658
2017-04-04 16:14:53 -07:00
Pramod Simha
6b23f75bf8 qcacmn: Fix for unaligned memory access
Fix the logic to align a memory to the given boundary
and dma map the alinged address to the device.

Change-Id: I5cce07d5573949ab40f64cc08c937dfb7aa82b8e
CRs-Fixed: 2026493
2017-04-04 16:14:51 -07:00
Pramod Simha
bd46f6f929 qcacmn: Add macros for aligning addresses
Define macros which take in a value and align them on the given boundary.

Change-Id: Icea681b8dd9b678900507c555ee749287fd372ce
CRs-Fixed: 2026493
2017-04-04 16:14:50 -07:00
Dhanashri Atre
efd4d82391 qcacmn: Lithium LRO Support
Add Large Receive Offload (LRO) support on Lithium.

CRs-Fixed: 1107169
Change-Id: I536bf4bf5c5529e0ec7f77cec7b0f2ced94b6d92
2017-04-04 14:31:44 -07:00
Karunakar Dasineni
987d57e405 qcacmn: WMI regulatory message change
Fix for compilation failure due to change in wmi_regulatory_rule_struct.

Change-Id: If9d43752ddb81c07445a8d17002a4752150af33d
2017-04-04 13:59:46 -07:00
Amar Singhal
5e7f1dc1d1 qcacmn: Activate init and deinit for regulatory component
Call APIs to register regulatory component for pdev/psoc
messages. Also call regulatory APIs for dispatcher psoc open.

Change-Id: Ib0e735dfaf7ab9b9960196774d77ad070cf04406
CRs-Fixed: 2002892
2017-04-04 12:34:48 -07:00
Rajeev Kumar
ae20f0b309 qcacmn: Trigger panic if psoc object is leaked when destroying obj mgr
Object manager global context has a child pointer to PSOC object and
until all PSOC objects are not freed parent global object manager
context can't be freed.

Trigger panic if PSOC objects are found to be leaking at the time of
object manager global context destruction.

Change-Id: Ie07c308984d3c0397b8beaf0cfe75f3b5ec53cbe
CRs-Fixed: 2027166
2017-04-04 11:41:31 -07:00
Himanshu Agarwal
38cea4afc4 qcacmn: Reduce log level to avoid watchdog
Reduce log level to info/debug to avoid watchdog bark.

Change-Id: I14a77b9017ada3bc2f10fc78c69cb31b22452052
CRs-Fixed: 2026821
2017-04-04 06:54:50 -07:00
Sathish Kumar
e39aab9f74 qcacmn: Populate TLV event ids for WIN specific WMI events
Extraction APIs for few WMI events were implemented, for which the
TLV event ids need to be populated.

Populate TLV event ids for the following events -
WMI_PDEV_CHANNEL_HOPPING_EVENTID
WMI_PDEV_TPC_EVENTID
WMI_WDS_PEER_EVENTID
WMI_PEER_STA_PS_STATECHG_EVENTID
WMI_INST_RSSI_STATS_EVENTID

Change-Id: I3defb120b9bd5a2fa3fdad1b84d201727c0b3f30
CRs-Fixed: 1115239
2017-04-04 01:24:09 -07:00
Sathish Kumar
476d33a2b1 qcacmn: Add TLV implementations for WIN specific WMI CMDs
Converged FW has few left-over WIN specfic WMI CMDs that need to be
implemented in TLV method.
WMI CMDs implemented through this change -

WMI_PDEV_SET_QUIET_MODE_CMDID
WMI_PEER_MCAST_GROUP_CMDID
WMI_VDEV_SPECTRAL_SCAN_CONFIGURE_CMDID
WMI_VDEV_SPECTRAL_SCAN_ENABLE_CMDID
WMI_PEER_BWF_REQUEST_CMDID
WMI_PDEV_QVIT_CMDID
WMI_PDEV_SET_WMM_PARAMS_CMDID

Change-Id: Ia2ae3d2e56608fd4c51754ae2c78f2b9912d7172
CRs-Fixed: 1115239
2017-04-04 01:24:08 -07:00
Yue Ma
f271ef063f qcacmn: Make sure no PCIe link access when runtime PM suspended
There should be no PCIe link access from DP fastpath when device has
runtime PM suspended. Runtime PM resume needs to be requested before
such access happens.

Change-Id: I924ea3e3d5b7d823efd3bd10e2be9b36a5998e24
CRs-fixed: 2023358
2017-04-03 18:02:14 -07:00
Yue Ma
9c6f84da99 qcacmn: Resume fastpath DP in correct place for runtime PM
Fastpath DP should be resumed after WOW is disabled from FW. Move
it to correct place.

Change-Id: I9108ee4393cc4ee5f8a232c3de14d68b47aa760e
CRs-fixed: 2023358
2017-04-03 18:02:13 -07:00
Ishank Jain
9f174c6e2f qcacmn: Add Non Association WDS(NAWDS) Support for Lithium
Add API to handle NAWDS packets on tx side.
Add API to handle invalid peers and pass them to umac.

Change-Id: Ie8c2508e4f51c7d6969c9eb6439919c57dd427d4
CRs-Fixed: 2008205
2017-04-03 14:38:51 -07:00
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