WLAN suspend/resume feature has tight dependency on APPS platform
suspend/resume support. On new targets APPS suspend/resume is not
supported until target is feature complete. In absence of APPS
suspend/resume support testing WLAN offload features become
difficult. Add unit test framework to test WLAN suspend/resume
features using private IOCTL command by simulating APPS
suspend/resume behaviour.
Trigger WLAN suspend:
iwpriv wlan0 wlan_suspend 0 0
To resume WLAN run a ping test from access point side and very 1st
ping request unicast packet should trigger wake up.
If FW is not waking up APPS then use below command to do a manual
wake up:
Trigger WLAN resume:
iwpriv wlan0 wlan_resume 0 0
This framework is only for SNOC platform.
Change-Id: I177a0047f460aa2a305a9e4e46fbfaa94a81dced
CRs-Fixed: 1042205
FW common files needs to be in sync with host and fw.
There are duplicate definition of target attach API when
latest copy of fw common files are used.
Remove duplicate definition of target attach from hif layer.
Change-Id: Ie4a80ba07bc3ec2d9d1466c32062c373c9759a94
CRs-Fixed: 1012542
Datapath changes for WiSA specification.
- Multicast packets with 50000 as destination
port should go at 6Mbps.
- Multicast packets with 50001 as destination
port should go at 24Mbps.
Change-Id: I582b13fd85e2bdc0e49739a1c6f8d8a3b295902f
CRs-Fixed: 1010412
Expose copy engine infrastructure for use by an nss subsystem.
Change-Id: Icad9dc056ecccf4029caa4b83d4c976dcfc232a4
Acked-by: Varsha Mishra <varsham@codeaurora.org>
CRs-Fixed: 1009050
Added new APIs ce_batch_send and ce_send_single
only used by WIN.
Acked-by: Varsha Mishra <varsham@codeaurora.org>
Change-Id: I55d86d692455be118734f6e0a13e0e58c227b1a0
CRs-Fixed: 1009050
MAX_NUM_RECEIVES, the maximum number of messages to be processed
by the bottom-half before control is returned to kernel was
defined as different (but close) numbers for NAPI and non-NAPI
cases (based on NAPI feature flag), 100/1000 for non-NAPI and
128/1024 for NAPI cases.
With this update the value is set to 128/1024 regardless of NAPI
feature being compiled or not.
Change-Id: I152afd30b302d52426c07ae39a95af388ba0ae52
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
CRs-Fixed: 1012336
CE_COUNT_MAX should be the maximum number of CE's supported.
Set it to 12 to support all chipsets dynamically.
Change-Id: Id65278ee452a4ca2e3b0dcfe5c082a7e7a286347
CRs-Fixed: 1002084
Update htc_endpoint only for htt tx endpoint to avoid
double freeing of Tx Queue packets as it will be
freed in htt_htc_misc_pkt_pool_free.
Rename htc_endpoint to htc_htt_tx_endpoint to reflect
it's appropriate use.
Change-Id: I736ba08505acc829eb15be30538553dd945695f6
CRs-Fixed: 1006498
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
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
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
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
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
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
Targetdef is needed during BMI phase of PLL switching.
Move this member to ol_bmi_context
Change-Id: Idf5bbe610a926506b87e8458fa460fd583263a03
CRs-Fixed: 967765
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
NIC_DEV is not needed in hif. Remove it from HIF.
Initialize cdf_device global structure in HDD.
Change-Id: Iff3e88c269ed0324d18289e23a0369fa6c2b14b0
CRs-Fixed: 967765
Carve out hif_softc for internal hif usage.
ol_softc acts a opaque handle to other modules.
Change-Id: I7633e70ed82fe2ee88a21e2502177d6a7388ff56
CRs-Fixed: 967765
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
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
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
Group BMI members and access bmi info from hif instead of
dereferencing hif context.
Change-Id: I082f648490be0078df7d90cc8ebbf745b64fd97a
CRs-Fixed: 967765
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
Few members are relevant only for PCIe based solutions, hence
move those to hif_pci_softc structure.
Change-Id: I1f38da4cfc9f69c05a9c80e67abc70fd97e22af9
CRs-Fixed: 967765
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
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
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