With more copy engines, the diag ce was not moved to the end.
The diag_ce was being assigned a null value from the unitialized
index.
Change-Id: Ib0fc6450712af2dc5e38f00bb692cfb26982ddae
CRs-Fixed: 997175
QDF_FTM_MODE is deprecated. QDF_GLOBAL_FTM_MODE is the enum for the
ftm driver mode now.
Change-Id: I8783fb2d3748ed08995b3b13eaf69a7a1c40c22b
CRs-Fixed: 991822
Do following cleanup on fastpath code changes:
1) Do not reap off Tx HIF buffers in Rx handling, instead handle
reaping in Tx fastpath itself.
2) In ce_per_engine_service_fast check for more Rx packets after
packet processing.
3) Make stub functions as static inline for non-fastpath enabled case.
Change-Id: If07c4344a424ce13b94128bf28931a24255b661a
CRs-Fixed: 987182
With dedicated CE for Rx and Tx completion HTT messages, skip processing
in Host Target Communication layer.
Do special handling in HIF-CE and HTT layer, this optimization results
in 3-4% CPU utilization gain.
Change-Id: I400148a0e24ac62dd09e2a95d5f35d94d83fe2df
CRs-Fixed: 987182
Make changes so that LRO and FastPath can check whether a
given CE is a datapath RX CE. This is done through new
flags in CE_state which indicate whether or not a given
CE is a htt_[tr]rx CE.
Also add support to enable multi-queue NAPI.
Note that the paths are not yet parallel-execution protected,
but this should be OK as all NAPI instances are processing
the same interrupt now and as such as serialized.
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
Change-Id: I57125b3e1fbad0345b6e1f4ed25e71babaf4f520
CRs-Fixed: 982728
Bypass QMI for 8998 RUMI bring up as it doesn't support
QMI for now.
Increase regulatory timeout for slow RUMI setup.
Change-Id: Ie4d790a79aaa166731c876bdecf0f4f6970caae4
CRs-Fixed: 978953
hif_disable_power_management is only defiend for PCI devices which is
causing compilation error for SNOC devices. Define empty definition of
hif_disable_power_management for SNOC devices.
Change-Id: I4da5e2346119626fd6478d3eb835bcb1ba9dd663
CRs-Fixed: 978810
hif_enable_power_management is only defiend for PCI devices which is
causing compilation error for SNOC devices. Define empty definition of
hif_enable_power_management for SNOC devices
Change-Id: If6a4de93d18e8c5ca2a67f43a0eae69e781efa68
CRs-Fixed: 978802
qcacld-2.0 to qcacld-3.0 propagation
Add prevent method to reset the Runtime PM state before driver
unload to ensure Runtime PM is recovered by driver load.
Change-Id: I5fccc345e5217d1a26c3c4f0cda1dca5ee71004c
CRs-Fixed: 899522
Bus power management requirements are different for different busses.
Add them to the bus opps table.
Change-Id: Ia5a2500dc2f1db3be2ddbbaea6a5969420ec0c51
CRs-Fixed: 978810 978802
In data path per packet logging is overwriting previous useful
logs. Use HDD data module ID for WMM per packet logging with
debug log level such that by defualt per packet WMM debug log
messages are not logged.
Change-Id: I64053a6d5048a14277e01f35fcb6e0bbf6ac42b9
CRs-Fixed: 969712
Rename hif_callbacks structure to hif_driver_state_callbacks and remove
get_monotonic callback and use qdf API to get monotonic time.
Remove following unwanted header files in the hif source files.
osdep.h, athdefs.h, a_types.h, osapi_linux.h.
Change-Id: Ib7a03cab1b056a33b39247989fa3dfca41c85f77
CRs-Fixed: 967765
Allow different busses to have different register sets to dump
in case of a crash.
Change-Id: I2b0665f276594dfb29ca34fe3f363c2f414cd2e7
CRs-Fixed: 986480
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
Duplicate deffinitions of hif_get_target_type prevented compilation
of snoc and pci functionality at the same time.
Change-Id: I44cdca79c6f296c4294a54a4e1bfb459a519f46b
CRs-Fixed: 986480
Pointerizing these apis is easier than removing external
references or unifying them. Support multibus by
pointerizing them.
Change-Id: Iab86adf2076a082b75d9ba393123798e16f5b82e
CRs-Fixed: 986480
Macros should not alter the execution of function bodies.
Fix possible memory leaks that this cleanup exposed.
Change-Id: I546c5822d7c28e0c9dd77094a5bb0f7e3e7544d4
CRs-Fixed: 986480
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
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
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
Select the dummy implementation in the pci bus_ops assignment function
when MAX_PERF is selected.
Change-Id: I0a77e060dde2792959ae96bca86a4c073bb4cab0
CRs-Fixed: 986480
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
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
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
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
Snoc does not use the force wake mechanism. Isolate force
wake code to reduce dummy implementations.
Change-Id: Ief32778cadb7d1b9c905535ea0d01604246c72df
CRs-Fixed: 986480
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
Upper layers should not need to know about pci specific power management
features.
Change-Id: I841af588246d328f12fa69d8c0394ec1eafaa236
CRs-Fixed: 986480
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
Since the logic requires device knowledge and could become more
complicated, provice a hif api tho check.
Change-Id: I6fbb8234a6c0a639afdd9a9a409688889e492bd7
CRs-Fixed: 986480
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
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
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
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
Function pointers are needed to dynamically route
function calls to bus specific implementations
when supporting simultaneous multibus.
Change-Id: I81a181824e8c679ff0bdf906563de95b3291ba4a
CRs-Fixed: 986480
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