Graf commitů

944 Commity

Autor SHA1 Zpráva Datum
Himanshu Agarwal
a41da1d50f qcacmn: Add tlv formation of key installation commands in common wmi layer
Move tlv formation of wmi setup key installation commands from umac to
common wmi layer.

Change-Id: I51250a9b1b6bb5aed06657b9f88f4659430f4c74
CRs-Fixed: 987362
2016-03-30 12:06:53 -07:00
Siddarth Poddar
7e30287bde qcacmn: Fix tlv formation of vdev start command
Add channel info in tlv formation of vdev start command

Change-Id: I83164934978f6cac179e1e66c576549a732e356d
CRs-Fixed: 987362
2016-03-30 23:13:11 +05:30
Govind Singh
0609ff776b qcacmn: Use IEEE80211_ADDR_LEN macro for size of mac address
Use IEEE80211_ADDR_LEN macro consistently for size of
802.11 address.

Change-Id: I799433a6dc509f98d723f8d8c09d9ba348d9f07e
CRs-Fixed: 987362
2016-03-30 10:40:06 -07:00
Govind Singh
210485e9b7 qcacmn: Fix tlv formation of arp ns offload command
Fix arp ns offload command formation by removing the double
free of arp ns offload parameter structure.

Change-Id: I38d11c770f8e79d39f7593bcea3712ab07d34660
CRs-Fixed: 987362
2016-03-30 18:54:27 +05:30
Govind Singh
3fdb3a5761 qcacmn: Fix tlv formation of Peer assoc wmi command
Fix TLV header length calculation and pass peer mac address in
wmi peer assoc command.

Change-Id: I025ad7564901cba583bd78bddf0ccfa5e894c751
CRs-Fixed: 987362
2016-03-29 15:20:30 +05:30
Himanshu Agarwal
915c270701 qcacmn: Add tlv formation of some wmi vdev commands in common wmi layer
Move tlv formation of wmi vdev start/restart commands from umac to
common wmi layer.

Change-Id: Id040983068ff610e68880dd5f503edf9b9c8cff9
CRs-Fixed: 987362
2016-03-17 11:22:37 -07:00
Himanshu Agarwal
e2082f28fd qcacmn: Add tlv formation of wmi roam scan commands in common wmi layer
Move tlv formation of roam scan related commands from umac to
common wmi layer

Change-Id: Ib582f09ccc90e29eeace1af1bfcd43e0ff1e5203
CRs-Fixed: 987362
2016-03-17 11:22:23 -07:00
Service qcabuildsw
50a16579d6 Merge changes I2f659159,I7eed7108 into wlan-cmn.driver.lnx.1.0-dev
* changes:
  qcacmn: Replace mac_id with pdev_id in common wmi layer
  qcacmn: Protect rx execution context for wmi events
2016-03-17 11:00:44 -07:00
Service qcabuildsw
04eb73b29b Merge "qcacmn: Adpat common wmi layer with QDF os abstraction" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:39 -07:00
Service qcabuildsw
d93a8dbe21 Merge "qcacmn: Add tlv formation of wmi main commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:37 -07:00
Service qcabuildsw
89e9ef33a6 Merge "qcacmn: Add tlv formation of wmi init commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:35 -07:00
Service qcabuildsw
be42b19933 Merge "qcacmn: Add tlv formation of wmi feature commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:33 -07:00
Service qcabuildsw
017a6b7e35 Merge "qcacmn: Add tlv formation of wmi scan roam commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:30 -07:00
Service qcabuildsw
4169246876 Merge "qcacmn: Add tlv formation of wmi data commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:28 -07:00
Service qcabuildsw
36fed118a4 Merge "qcacmn: Add tlv formation of ocb commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:26 -07:00
Service qcabuildsw
3999631dc8 Merge "qcacmn: Add tlv formation of wmi power commands in common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:23 -07:00
Service qcabuildsw
3a1f8f90c6 Merge "qcacmn: Add tlv formation of scan commands" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:21 -07:00
Service qcabuildsw
4b50810638 Merge "qcacmn: support of common wmi rx event handling for common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:18 -07:00
Service qcabuildsw
2e9d6068eb Merge "qcacmn: Add tlv implementation of common unified API" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:16 -07:00
Service qcabuildsw
9ba7cf7bcb Merge "qcacmn: Modify wmi handle and api for common wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:12 -07:00
Service qcabuildsw
2b557a22fc Merge "qcacmn: Restructure and add new files in wmi layer" into wlan-cmn.driver.lnx.1.0-dev 2016-03-17 11:00:10 -07:00
Houston Hoffman
3c017e7bcf qcacmn: Pointerize hif_dump_registers
Allow different busses to have different register sets to dump
in case of a crash.

Change-Id: I2b0665f276594dfb29ca34fe3f363c2f414cd2e7
CRs-Fixed: 986480
2016-03-16 13:49:56 -07:00
Houston Hoffman
162164c8cd qcacmn: Unify hif_bus_get_context_size
Since the open logic needs to allocate the bus context
before initializing the bus ops table, we need a single
function that is aware of the bus context size for all
busses.

Change-Id: I681e91ed1a792da7e753b477f869ee415ea8f3c7
CRs-Fixed: 986480
2016-03-16 13:49:52 -07:00
Houston Hoffman
795299c42c qcacmn: Resolve duplicate hif_get_target_type definition
Duplicate deffinitions of hif_get_target_type prevented compilation
of snoc and pci functionality at the same time.

Change-Id: I44cdca79c6f296c4294a54a4e1bfb459a519f46b
CRs-Fixed: 986480
2016-03-16 13:49:47 -07:00
Houston Hoffman
8f239f67a2 qcacmn: Pointerize more HIF apis
Pointerizing these apis is easier than removing external
references or unifying them.  Support multibus by
pointerizing them.

Change-Id: Iab86adf2076a082b75d9ba393123798e16f5b82e
CRs-Fixed: 986480
2016-03-16 13:49:43 -07:00
Houston Hoffman
4411ad4d0c qcacmn: Replace A_TARGET_ACCESS_BEGIN/END_RET_PTR
Macros should not alter the execution of function bodies.
Fix possible memory leaks that this cleanup exposed.

Change-Id: I546c5822d7c28e0c9dd77094a5bb0f7e3e7544d4
CRs-Fixed: 986480
2016-03-16 13:49:38 -07:00
Houston Hoffman
987ab445de qcacmn: Fix return codes from A_TARGET_ACCESS_BEGIN_RET
A_TARGET_ACCESS_BEGIN_RET hid nonsensical return values.
Replace nonsensical return values with sensible ones.
In many cases, the returned value is changed and not
just renamed.

Change-Id: I8bf1d4a44d4ebd76e3aa60bc4d24416ce0d45d61
CRs-Fixed: 986480
2016-03-16 13:49:33 -07:00
Houston Hoffman
2c32cf6dd1 qcacmn: Replace A_TARGET_ACCESS_BEGIN/END_RET apis
Macros should not alter the execution of function bodies.

Change-Id: I54c90230c5c0f43cb20412110f4eb7aa568e654d
CRs-Fixed: 986480
2016-03-16 13:45:20 -07:00
Houston Hoffman
bac9454390 qcacmn: Replace A_TARGET_ACCESS_BEGIN/END apis
Macros should not alter the execution of function bodies.

Change-Id: I444caccd93ec7e0fa766acce5149d0f322e837c7
CRs-Fixed: 986480
2016-03-16 13:45:16 -07:00
Houston Hoffman
54ef87d3aa qcacmn: Dummy sleep_state_adjust for epping mode
Epping mode is a test mode and wants the target to be forced
awake at all times.  The sleep state adjust calls to keep
the target awake while the driver is loading and to keep
the driver awake in max perf mode are converted to the
pci specific function so that they won't get dummied out.

This fixes the logic for MAX PERF mode by avoiding the dummy
for the keep awake call and correctly avoiding the sleep ok
call when power management is re-enabled after driver load.

This removes a discrepancy where some sleep state adjusts
were missing the epping mode check. (Q_TARGET_ACCESS_BEGIN...)

Change-Id: I4e546f12703bcee21a76f42c12b59dd7fd1ab1a9
CRs-Fixed: 986480
2016-03-16 13:45:10 -07:00
Houston Hoffman
0b48913237 qcacmn: Unify A_TARGET_ACCESS_LIKELY
Sleep state adjust has been added the the bus_ops table and the
macros using it can be unified.

Change-Id: Ib788800c83457919ae7eee01f6687cbb57c84a4b
CRs-Fixed: 986480
2016-03-16 13:45:03 -07:00
Houston Hoffman
ca581c4ee3 qcacmn: Remove extra sleep_state_adjust dummy
Select the dummy implementation in the pci bus_ops assignment function
when MAX_PERF is selected.

Change-Id: I0a77e060dde2792959ae96bca86a4c073bb4cab0
CRs-Fixed: 986480
2016-03-16 13:44:59 -07:00
Houston Hoffman
379fad90ca qcacmn: Remove driver registration logic from hif
Upper layers are responsible for registering the wlan
driver.

Change-Id: I5644aa3895827b5e9d29c8f1e7b1d910c9da20fd
CRs-Fixed: 986480
2016-03-16 13:44:54 -07:00
Houston Hoffman
bd8c04fa24 qcacmn: Unify Q_TARGET_ACCESS macros
Sleep state adjust has been added the the bus_ops table and the
macros using it can be unified.

Change-Id: Id08f5d95c295ab8419c0ae60519aae064c318856
CRs-Fixed: 986480
2016-03-16 13:44:48 -07:00
Houston Hoffman
858f723a62 qcacmn: Unify io memory access
Snoc and pci should use the same memory access semantics.

Change-Id: I0f9eb8d0517853426897acd712c343b7ac7a5a1f
CRs-Fixed: 986480
2016-03-16 13:43:41 -07:00
Houston Hoffman
dd50043a6e qcacmn: Remove unused #defines in snoc
References to the PCI compile time configuration defines
have been moved to pci specific files and don't need
dummy values.

Change-Id: I335f3b9c5b70ef58b58feacc76825b15e27dbcbc
CRs-Fixed: 986480
2016-03-16 13:23:53 -07:00
Houston Hoffman
b72c03c8f7 qcacmn: Don't use war_pci_write32
The regular path is the only path used.  The work arround
code path is never accessed because the conditional variable
is allways left to 0.

Change-Id: I9af8fd38c6fbbfc9304bbffb6e1ae78cea34c6a0
CRs-Fixed: 986480
2016-03-16 13:23:46 -07:00
Houston Hoffman
eadcb4a234 qcacmn: Reduce number of pci A_TARGET_READ/WRITE definitions
Simplify the configuration space.

Change-Id: Id2d1398ea5de77cd39a8ac8db711aae317c6e5d3
CRs-Fixed: 986480
2016-03-16 13:03:06 -07:00
Houston Hoffman
4ca03b6579 qcacmn: Add dummy functions to bus_ops table for snoc
Use bus ops table to tunnel into dummy implementations for snoc.
Needed to support both pcie and snoc in the same binary.

Change-Id: I11725ed4dfa5dd7b43a4b29236d3caca58fda41f
CRs-Fixed: 986480
2016-03-16 13:03:03 -07:00
Houston Hoffman
63777f221f qcacmn: Make hif_sleep_entry pci specific
Snoc does not use the force wake mechanism.  Isolate force
wake code to reduce dummy implementations.

Change-Id: Ief32778cadb7d1b9c905535ea0d01604246c72df
CRs-Fixed: 986480
2016-03-16 13:03:01 -07:00
Houston Hoffman
e61d4e1382 qcacmn: Controll target sleep in hif
Reduce the api footprint of hif and make hif responsible for controlling
its own timer as part of suspend resume.

Change-Id: I256161a8d147e99811f018c995081684f2bd0167
CRs-Fixed: 986480
2016-03-16 13:02:59 -07:00
Houston Hoffman
00d42aeb8e qcacmn: Move hif_targ_is_awake to pci
Avoid maintaining a dummy api for the internal function.

Change-Id: Ie26aaf557d1bdefe292aa364fa6ec3140a113f5e
CRs-Fixed: 986480
2016-03-16 13:02:57 -07:00
Houston Hoffman
b861cb3837 qcacmn: Manage driver load target sleep state in hif
The target awake durring driver load feature should be isolated
to hif.

Change-Id: I89de39cc3632f9cc54d1fe5544da8b0bf250206d
CRs-Fixed: 986480
2016-03-16 13:02:54 -07:00
Houston Hoffman
fb7d612980 qcacmn: Move power_gating to centralized power management api.
Upper layers should not need to know about pci specific power management
features.

Change-Id: I841af588246d328f12fa69d8c0394ec1eafaa236
CRs-Fixed: 986480
2016-03-16 13:02:53 -07:00
Houston Hoffman
60a1eeb69f qcacmn: Export the bus type
Currently only ol_target_failure needs to query the bus type,
but when usb and sdio busses are added there will be more
external checks based on the bus type.

Change-Id: I48172a918e75ff3a6e56fae5c311ae999efa607e
CRs-Fixed: 986480
2016-03-16 13:02:49 -07:00
Houston Hoffman
26352594d9 qcacmn: Add hif_needs_bmi api
Since the logic requires device knowledge and could become more
complicated, provice a hif api tho check.

Change-Id: I6fbb8234a6c0a639afdd9a9a409688889e492bd7
CRs-Fixed: 986480
2016-03-16 13:02:47 -07:00
Houston Hoffman
f303f91734 qcacmn: Make hif_device_id an opaque type
If different busses cannot agree upon a common hif_device_id type,
we need to make it an opaque type in the general case and only
cast it in the bus specific code.

Change-Id: I769d65f10421caf07c8f5cc35ccfe11302485576
CRs-Fixed: 986480
2016-03-16 13:02:45 -07:00
Houston Hoffman
d2ac86c794 qcacmn: Run hif_save_htc_htt_config_endpoint for snoc
hif_save_htc_htt_config_endpoint saves an endpoint id in the
hif layer. hif uses this id to avoid double frees.  There
is no reason this should be PCI specific.

Change-Id: I487634e67fddc9d821db9c48a01b28979d988111
CRs-Fixed: 986480
2016-03-16 13:02:42 -07:00
Houston Hoffman
bc69349d0d qcacmn: Use new HIF_SNOC flag
Use new HIF_SNOC instead of assuming snoc when pci is not defined.
Exposes duplicate function defs with HIF_SNOC and HIF_PCI both defined.
Remove some trivial HIF_PCI conditional compilation.

Change-Id: I958740f49b3298c165e662b89b586bda2b3d2ee8
CRs-Fixed: 986480
2016-03-16 13:02:40 -07:00
Houston Hoffman
854e67f791 qcacmn: Move hif_set_hia to pci file
hif_set_hia isn't applicable to non pci targets.
Avoid needing a dummy hif_wake_target_cpu for
snoc.

Change-Id: I1ebdac2f1ea1c87466ba144986ff151f074476ba
CRs-Fixed: 986480
2016-03-16 13:02:37 -07:00