Commit graph

1,394 commits

Author SHA1 Message Date
Houston Hoffman
f771862053 qcacmn: Move PCIE_AWAKE_WHILE_DRIVER_LOAD code to pcie
Move pcie specific code for keeping the target awake
durring driver load.  This code should be in a pci
specific file to avoid the ifdef HIF_PCI.

Change-Id: I117c43d95196a1f2f79b1124d290acf8542ebf10
CRs-Fixed: 986480
2016-03-16 13:02:35 -07:00
Houston Hoffman
e02e12d156 qcacmn: ifdef hif_pm_runtime_mark_last_busy call from ce file
fixes a compilation error for snoc.

Change-Id: Ie451904aa53a9be37f1fe6d070b19307a8f74fea
CRs-Fixed: 978746
2016-03-16 13:02:32 -07:00
Houston Hoffman
32bc8eb686 qcacmn: Add function pointer framework
Function pointers are needed to dynamically route
function calls to bus specific implementations
when supporting simultaneous multibus.

Change-Id: I81a181824e8c679ff0bdf906563de95b3291ba4a
CRs-Fixed: 986480
2016-03-16 13:02:29 -07:00
Houston Hoffman
108da40074 qcacmn: Introduce hif_bus_configure
Need to make hif_enable bus agnostic

Change-Id: If9bff722b32afb46efdf854bfbaa08304d77e780
CRs-Fixed: 967250
2016-03-16 13:02:24 -07:00
Vishwajith Upendra
70f8b6e32c qcacmn: Update driver to use QDF NBUF APIs(2/2)
Update driver to use QDF NBUF APIs

Change-Id: I555c739660e62e6d0237c65c57bcb169fec11cf4
CRs-Fixed: 981187
2016-03-16 12:22:29 -07:00
Chouhan, Anurag
fc06aa9430 qcacmn: Fix compilation issues HTC/HIF
Resolve compilation issues for references to cdf after rebase

Change-Id: I332566deb690fa7de68d89bf51b42f94f7a270a6
CRs-Fixed: 981187
2016-03-16 12:18:31 -07:00
Chouhan, Anurag
5776318d19 qcacmn: Add QDF OS abstraction convergence
Converge ADF and CDF API's and move them to
QDF folder. MCL/WIN driver use this QDF converged
module for OS abstraction.

Change-Id: I1d0cdfd8730a5c021aaa50b7dc8549d491d760b3
CRs-Fixed: 981187
2016-03-16 12:18:26 -07:00
Houston Hoffman
5693683262 qcacmn: change skb->cb to support 64 bit paddrs(2/2)
Prapogation from qcacld-3.0 to qcacld-3.1

Change skb->sb such that it is overlayed between tx and rx and
each one of then still fits 48 bytes.
Note that this will break IPA and it will be fixed subsequently
by another change.

Change-Id: I96168aee99dbdbecbdbd4259597e179b02d29f5d
CRs-Fixed: 881090
2016-03-16 12:16:24 -07:00
Govind Singh
16b886a0c8 qcacmn: Replace mac_id with pdev_id in common wmi layer
Replace mac_id with pdev_id, add vdev_id to peer commands/events
and change reserved0 to pdev_id in PDEV commands.

Change-Id: I2f659159fa2f0d023650eae68b6d3115aac379b0
CRs-Fixed: 983619
2016-03-16 16:42:02 +05:30
Govind Singh
0a74fc5b10 qcacmn: Protect rx execution context for wmi events
wmi rx event context can be modified at runtime by
upper layers. Protect rx execution context for wmi events
to avoid race conditions.

Change-Id: I7eed7108d09f8f39432990b2ebfef29a41bfa9aa
CRs-Fixed: 983619
2016-03-16 16:42:02 +05:30
Govind Singh
236fc209ea qcacmn: Adpat common wmi layer with QDF os abstraction
Adapt common wmi layer with converged os abstraction layer.
Remove references to non-converged header files from
wmi layer.

Change-Id: I3671a40604fa1a5f10a5a67106db33f382e0f335
CRs-Fixed: 983619
2016-03-16 16:42:01 +05:30
Govind Singh
a2e792e924 qcacmn: Add tlv formation of wmi main commands in common wmi layer
Move tlv formation of wmi main commands from umac to
common wmi layer.

Change-Id: I010396bfc94020e1eee7baa3ab46b9a35b101b92
CRs-Fixed: 983619
2016-03-16 16:42:01 +05:30
Govind Singh
b75690aa2e qcacmn: Add tlv formation of wmi init commands in common wmi layer
Move tlv formation of wmi init commands from umac to
common wmi layer.

Change-Id: I8511de51f341401b5ba64581ba0f6840cfee1590
CRs-Fixed: 983619
2016-03-16 16:42:01 +05:30
Govind Singh
25729cee63 qcacmn: Add tlv formation of wmi feature commands in common wmi layer
Move tlv formation of wmi feature commands from umac to
common wmi layer.

Change-Id: I1674606573c9145fa235191bf1ef798bd26a63ce
CRs-Fixed: 983619
2016-03-16 16:42:01 +05:30
Govind Singh
fef95e2eec qcacmn: Add tlv formation of wmi scan roam commands in common wmi layer
Move tlv formation of wmi scan roaming and management commands from umac to
common wmi layer.

Change-Id: I99b2651c0054d03e58da697ab7b902b5629eeb4a
CRs-Fixed: 983619
2016-03-16 16:42:01 +05:30
Govind Singh
86b2818b4a qcacmn: Add tlv formation of wmi data commands in common wmi layer
Move tlv formation of wmi data-path commands from umac to
common wmi layer.

Change-Id: I6994103441997935a82464b0e195597305a09557
CRs-Fixed: 983619
2016-03-16 16:42:01 +05:30
Govind Singh
d0fd7262f9 qcacmn: Add tlv formation of ocb commands in common wmi layer
Move tlv formation of wmi ocb/dsrc commands from umac to
common wmi layer.

Change-Id: I2735b40b97b8ff120e37e343fc6f3681cd0d73f9
CRs-Fixed:983606
2016-03-16 16:42:01 +05:30
Govind Singh
12438e6a03 qcacmn: Add tlv formation of wmi power commands in common wmi layer
Move tlv formation of wmi power commands from umac to
common wmi layer.

Change-Id: Ie1940d8fafad600e8c245f24beec9e33c6bb6b54
CRs-Fixed: 982337
2016-03-16 16:42:01 +05:30
Govind Singh
9892efb43d qcacmn: Add tlv formation of scan commands
Add tlv formation of scan related commands to common wmi layer.

Change-Id: If7fd18f43cb8b7bad6779bc883bf2ba9395f7c6d
CRs-Fixed: 982330
2016-03-16 16:42:01 +05:30
Govind Singh
3f302ecc55 qcacmn: support of common wmi rx event handling for common wmi layer
Remove hard-coded rx execution context of wmi event callbacks.
UMAC layer needs to register execution context while registering
events with wmi layer.

Execute wmi rx event callbacks in following context-
1) work queue context provided by wmi layer.
2) umac provided context, umac can choose to
   execute in thread context or default tasklet context
   based on umac implementation.

CRs-Fixed: 978619
Change-Id: Id9b1f1e5157e8a203f93a62791f85a8145cc1599
2016-03-16 16:40:55 +05:30
Govind Singh
e9cda9a04d qcacmn: Add tlv implementation of common unified API
Add common unified API and tlv/non-tlv callback wrappers.
Add tlv implementation of common MCL/WIN API.

CRs-Fixed: 978603
Change-Id: I7e70b48ef5e1df0c0f81c639579e6eb1a6685dc3
2016-03-16 16:23:00 +05:30
Govind Singh
01dd33e9c7 qcacmn: Modify wmi handle and api for common wmi layer
Modify wmi handle and wmi unified interface API
for common wmi layer.
Register UMAC callbacks using opaque callbacks.

CRs-Fixed: 978579
Change-Id: I505fe4ac339213db30bb00695234c4cfea5a5908
2016-03-16 16:23:00 +05:30
Govind Singh
d88ae7fd2e qcacmn: Restructure and add new files in wmi layer
Add new directory structure and new files for
tlv and non-tlv implementation.
wmi layer shall not use global context of other layer,
remove global context and unused methods.

CRs-Fixed: 978547
Change-Id: I230f59052d9db8e1660cc087b09e03641227f490
2016-03-16 16:22:40 +05:30
Komal Seelam
bd7c51d1c5 qcacmn: Remove CDS instances in HIF
Remove CDS instances in HIF for WIN/MCL convergence.
a. Update con_mode param in HIF
b. Have callbacks to CDS from HIF to update CDS global context

Change-Id: Iceebf32271b8d53beb634031f7dbc005f5fe5ed0
CRs-Fixed: 967765
2016-03-16 01:55:42 -07:00
Komal Seelam
5584a7cf92 qcacmn: Make hif_opaque_softc as global HIF context
Make hif_opaque_softc as global HIF Context and cleanup
ol_softc structure to bmi structure. No one else is using ol_softc
numbers.

Change-Id: Ib6447d2b67d41a30ec22903720900d7e4d55c7a9
CRs-Fixed: 967765
2016-03-16 01:55:38 -07:00
Komal Seelam
a5911d3ca2 qcacmn: Remove unwanted ini config from hif
Move unwanted ini config params from hif to respective modules.

Change-Id: I19603bcf516cf2c67053c707456d83ee536f41ce
CRs-Fixed: 967765
2016-03-16 01:55:32 -07:00
Komal Seelam
f76166d3c3 qcacmn: Move BMI info structure to global BMI context
BMI info is needed during BMI Phase. The structure holds
the physical address and virtual address of Command and response
of BMI buffer. Remove the structure from HIF and move to BMI.

Change-Id: I37a43cca0bdef66f6b0201d27e9dcbecffeef5dd
CRs-Fixed: 967765
2016-03-16 01:55:29 -07:00
Komal Seelam
8eb8f28ce2 qcacmn: Move targetdef out of ol_softc to ol_bmi_context
Targetdef is needed during BMI phase of PLL switching.
Move this member to ol_bmi_context

Change-Id: Idf5bbe610a926506b87e8458fa460fd583263a03
CRs-Fixed: 967765
2016-03-16 01:55:21 -07:00
Komal Seelam
2a5fa63d2b qcacmn: Modify HIF BMI API to pass dma command and response
Pass BMI DMA Command and Response address to HIF BMI API as
arguments instead of using bmi context in HIF.

Change-Id: Ifdb51581a33665b1857c63e33b1c26bbd99575eb
CRs-Fixed: 967765
2016-03-16 01:55:15 -07:00
Komal Seelam
6081702c40 qcacmn: Move Max Peers variable to WMA
Remove Max Peers reference in HIF and move it to WMA

Change-Id: If2be1e3a69abdca471d6bb96aca9298bffd4bd25
CRs-Fixed: 967765
2016-03-16 01:55:10 -07:00
Vishwajith Upendra
3f78aa6a1d qcacmn: Make HIF independent of NIC_DEV
NIC_DEV is not needed in hif. Remove it from HIF.
Initialize cdf_device global structure in HDD.

Change-Id: Iff3e88c269ed0324d18289e23a0369fa6c2b14b0
CRs-Fixed: 967765
2016-03-16 01:52:55 -07:00
Komal Seelam
644263d323 qcacmn: Carve Out hif_softc out of ol_softc
Carve out hif_softc for internal hif usage.
ol_softc acts a opaque handle to other modules.

Change-Id: I7633e70ed82fe2ee88a21e2502177d6a7388ff56
CRs-Fixed: 967765
2016-03-15 14:29:26 -07:00
Komal Seelam
02cf2f8509 qcacmn: Refactor HIF to use Single HIF Context
Remove unwanted pointers to various HIF data structures.
Use single HIF Context and dynamically typecast to required
HIF data structures.

Change-Id: I1e2f39455a23826d1eaa9785aa9f1bc3854a9cb2
CRs-Fixed: 967765
2016-03-14 14:08:12 +05:30
Komal Seelam
43301de999 qcacmn: Make One HIF Context
Have the hif context componentized but make it one contiguous pointer.
This simplifies the design as all apis can use the same default pointer
and all members will be one load away with a precomputed offset.

Change-Id: I181c9f011a7bac02944af53188b549efeea68470
CRs-Fixed: 967765
2016-03-14 14:08:07 +05:30
Komal Seelam
c92a0cf52e qcacmn: Query HIF for FastPath support
Data Path bypasses transport layer for better throughput's.
Instead of dereferencing HIF structures, query HIF for fastpath
mode support

Change-Id: Icba897c9405084f1c14c7db4059527a96d841736
CRs-Fixed: 967765
2016-03-14 14:07:55 +05:30
Komal Seelam
f8600687ad qcacmn: Remove cds_get_context in HIF
Refactor Transport Layer from cds_get_context and pass the hif context
to all the API's to operate.

Change-Id: I1dedda76357f844e08fd422bf9eb15af70587eae
CRs-Fixed: 967765
2016-03-14 14:07:47 +05:30
Komal Seelam
b3a3bdf89f qcacmn: Refactor BMI members from ol_softc
Group BMI members and access bmi info from hif instead of
dereferencing hif context.

Change-Id: I082f648490be0078df7d90cc8ebbf745b64fd97a
CRs-Fixed: 967765
2016-03-14 14:07:40 +05:30
Komal Seelam
7fca106501 qcacmn: Refactor Ramdump API and PKTLOG API
Ramdump collection can be supported by buses other than PCIe, and
it's done in offload layer when recovery is required. Hence allocate
memory dynamically and free it once ramdump collection is complete.

PKTLOG is a DataPath Feature, HIF doesn't need to have any info
of it. Move pktlog implementation to HTT folder.

Change-Id: Ib8c2526ba8900843db2dae8388fe46c9d9e05f22
CRs-Fixed: 967765
2016-03-14 14:07:29 +05:30
Komal Seelam
aa72bb719e qcacmn: Move relevent hif_pci_softc members from ol_softc
Few members are relevant only for PCIe based solutions, hence
move those to hif_pci_softc structure.

Change-Id: I1f38da4cfc9f69c05a9c80e67abc70fd97e22af9
CRs-Fixed: 967765
2016-03-14 14:06:46 +05:30
Komal Seelam
91553ce741 qcacmn: Refactor ol_sc for target_info and ini params
Clean up driver modules to query hif for the target info and
ini handle, instead of accessing hif context in other modules.

Change-Id: Ibd4762a20f788190f242b4f24b914fa4b99d5a5b
CRs-Fixed: 967765
2016-03-14 14:05:27 +05:30
Govind Singh
2443fb341a qcacmn: Abstract bus debug dump in hif layer
Remove direct call to CE debug routine from ol_fw and
hif main layer. Abstract the bus debug dump
register routines to respective hif bus layer.

Change-Id: I8b6f325f12aaa99e4f7461f9da26b7f60259c8f8
CRs-Fixed: 964031
2016-03-14 12:37:39 +05:30
Ryan Hsu
0f6d330844 qcacmn: Fix hif_bus_prevent_linkdown compilation
hif_bus_prevent_linkdown() calls to cnss_wlan_pm_control(), which
is only defined when CONFIG_PCI_MSM is enabled, fix the conditional
compilation.

Also fix a typo of RUNTIME_PM to FEATURE_RUNTIME_PM.

Change-Id: I9d4cd65ee0020ca1b41d026c3124317ce854ea92
CRs-fixed: 966771
2016-03-14 11:50:25 +05:30
Prakash Dhavali
142cee4bf2 Initial host-common file folder cleanup and moves
Initial host-common file folder cleanup and moves
on top of baseline reference of MCL WLAN driver
SU#5.0.0.160.

Move dp, ht comm, hif, wmi and qdf folders one level up

Change-Id: I2120898024b1eafd5d651c48768dbf48bf05995d
2016-03-03 01:02:02 -08:00
Prakash Dhavali
abcec8c47e Merge commit '0219ae6' into wlan-cmn.driver.lnx.1.0-dev
Sync up wlan-cmn.driver.lnx.1.0-dev to CAF 5.0.0.160
from 5.0.0.149 release as baseline for subsequent win
and mcl convergence refactoring.

* commit '0219ae6': (554 commits)
  Release 5.0.0.160
  qcacld-3.0: Add wma handler for vdev delete and peer delete responses
  Release 5.0.0.159
  qcacld-3.0: Fix Compilation error on WLAN_FEATURE_11W disabled
  qcacld-3.0: Update channel width and center freq
  qcacld-3.0: Move sta state to not connected after try disconnect
  qcacld-3.0: Remove #ifdef FEATURE_WLAN_LFR from HDD
  qcacld-3.0: Remove RRM ie in Assoc Req based on AP capability
  qcacld-3.0: Fix fw statistics parsing on the host
  qcacld-3.0: Fix IPA-uc callback in NON-SMP system
  qcacld-3.0: SAP DFS-3 Feature support in DFS layer
  qcacld-3.0: SAP DFS-3 Feature support in WMA
  qcacld-3.0: correct phy_mode in hdd_chan_change_notify
  qcacld-3.0: move hif_bus_open to hif_open
  qcacld-3.0: Remove hif_claim_device
  qcacld-3.0: Remove epping context from cds
  qcacld-3.0: Enable Tx beamformee in SAP mode
  qcacld-3.0: Set the IMPS enable/disable based on INI
  qcacld-3.0: Fix memory leak in case of fw reset stats command
  qcacld-3.0: Use appropriate API to get total free descriptors
  ...
  qcacld-3.0: Enable athdiag debug support for SNOC devices
  qcacld-3.0: Remove support of power gating parameters
  qcacld-3.0: Add log in vos_mem_alloc if kzalloc takes more than 3 seconds

Change-Id: I903d2b6edfb715570daffbcfcdb46866f04737dc
CRs-Fixed: 688141
2016-03-01 09:14:32 -08:00
Prakash Dhavali
65b41c171a Merge remote-tracking branch 'origin/caf/caf-wlan/master' into wlan-cmn.driver.lnx.1.0-dev
Sync-up wlan-cmn.driver.lnx.1.0-dev branch to caf master version
of host-common driver that is exactly same as qcacld-3.0 driver
version 5.0.0.149

* origin/caf/caf-wlan/master: (294 commits)
  qcacld-3.0: Lower the log level for unhandled Action frame logs
  qcacld-3.0: Add disconnect to the head of sme pending command list
  Release 5.0.0.149 QCACLD3 WLAN Driver
  qcacld-3.0: Enable emergency reaping for wmi pipe.
  qcacld-3.0: add retry logic if htc_issue_packets fails
  qcacld-3.0: Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from FW
  qcacld-3.0: Do not reserve mgmt descriptors
  qcacld-3.0: Use appropriate list API
  qcacld-3.0: Remove per vdev tx descriptor pool
  qcacld-3.0: Enable enahnced flow control
  qcacld-3.0: Add support for telescopic PNO
  ...
  Release 5.0.0.140
  ...
  Initial readme for WLAN Host Driver for iHelium

Change-Id: I36e7222946f442159390bd78a65ee5dc6876b582
CRs-Fixed: 688141
2016-02-25 23:45:07 -08:00
Satish Singh
0219ae607a Release 5.0.0.160
Release 5.0.0.160

Change-Id: Ie65b9fdb1412a6d205e4b96d9c60d7847b7a2485
CRs-Fixed: 688141
2016-02-17 15:20:54 -08:00
Sandeep Puligilla
a7512da088 qcacld-3.0: Add wma handler for vdev delete and peer delete responses
- Add handler for the vdev delete and peer delete response at WMA.
- As part of timeout handler, assert if the response is not
  received in 3 seconds.

Change-Id: I7b20254013266414174f686e1f3918822adc65d8
CRs-fixed: 960173
2016-02-17 15:20:54 -08:00
Satish Singh
32a4e14a76 Release 5.0.0.159
Release 5.0.0.159

Change-Id: I3f104ce7093b6ba6d9a9bb166c519de998a8ac43
CRs-Fixed: 688141
2016-02-17 15:20:54 -08:00
Komal Seelam
9f79df4afd qcacld-3.0: Fix Compilation error on WLAN_FEATURE_11W disabled
eCSR_AUTH_TYPE_RSN_8021X_SHA256 is defined only when 11W feature
is enabled. The code is using the identifier
eCSR_AUTH_TYPE_RSN_8021X_SHA256 without conditional compilation.

Access eCSR_AUTH_TYPE_RSN_8021X_SHA256 under 11W feature flag.

Change-Id: I5e1e513c12cf526045991749a487ac89d1773659
CRs-Fixed: 947938
2016-02-17 15:20:54 -08:00
Wu Gao
d7ff6aef93 qcacld-3.0: Update channel width and center freq
qcacld-2.0 to qcacld-3.0 propagation
"cfg80211_chandef_create" doesn't support channel width "HT80". If
create chandef by it, channel width set to HT40 when working on
SAP VHT80 mode. Which cause a mismatch between supplicant and host
driver. Update channel width and center freq for VHT80 mode

Change-Id: I9c5734fca4bcc02436aea8684ca9d0b968eb1dee
CRs-Fixed: 944618
2016-02-17 15:20:54 -08:00