Currently, Host initial wake up, suspend ack callback do not
register callback context with host-to-target communication layer.
As now PMO is handling now these callback, objmgr psoc is required
as callback context.
Hence as part of the fix, Add supports for callback context for
these API's.
Change-Id: I83d513764792b800a8540cdbe847aad552df0ab1
CRs-Fixed: 2015229
Firmware requires WMI commands to be sent on different copy engine for
each MAC. Change CE assignement to support this.
Change-Id: I91a2422a944741dc25c3bf45b18cde30e7409632
CRs-Fixed: 2005214
qcacld-2.0 to qcacmn propagation
To acquire lock to protect pEndpoint->TxQueue
in the failure path.
Change-Id: I6844f1329427e7065dc3e4e64bf105087d963dd9
CRs-Fixed: 1077223
qcacmn to qcacmn-2.0 propagation
qdf_mem_zero is called after qdf_mem_malloc to set the memory
value to zero. qdf_mem_malloc uses kzalloc internally to allocate
memory which sets memory to zero.
Removing redundant qdf_mem_zero which are called after
qdf_mem_malloc.
Change-Id: I8e1faf6099f8fbc869c8af42b7511a13e66e6bed
CRs-Fixed: 1079697
propagation from qcacld-2.0 to qcacmn.
If host fail to allocate receive packet bundle buffer
it will return no memory without freeing receive pkt queue.
Fix is to free the receive pkt queue before returning from message handler.
Also, fill the rx free list during driver load time itself with the
pre allocated memory so that Tx won’t take away this memory.
Change-Id: I4bf2aeb7bc85cc68cfa1314e6dbf5057665ba7ce
CRs-Fixed: 1079623
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in the Host Transport layer.
Change-Id: Ic9c7f920883f41176d89419de25b7e02df0b895e
CRs-Fixed: 1093231
Add support for asynchronous Host to Target connection connection in
whcih packets can be queued in both interrrupt and process context.
Change-Id: I52f0f972b938a558e4ef3c13cf4d76aa3a63d58f
CRs-Fixed: 1092518
qcacld-2.0 to qcacmn propagation
In USB solution, one WMI command will consume
one "resource". So, for WMI endpoint, the
"resource" number of one bundle is
HTC_MAX_MSG_PER_BUNDLE_TX rather than 2 *
HTC_MAX_MSG_PER_BUNDLE_TX.
Change-Id: Ia60e49a403a0d689d1ba8397f7c796cd911ab918
CRs-Fixed: 1013006
qcacld-2.0 to qcacmn propagation
Return HTC_SEND_FULL_KEEP directly in epping_tx_queue_full function
and give nodrop pkts higher priority over normal pkts
Change-Id: Ib36e1a9f34eb9054b12f0e8ba54a86ace7d6c8f8
CRs-Fixed: 990726
WMI can queue the packets in both process and tasklet context. Before
queuing the packet H-TC will increase TxProcessCount. Only one core
can increase it and proceed for queuing the packets to HIF. At 100%
cpu utilization due to locking and unlocking the H-TC TX lock, one
core is holding TXProcessCount(and went to tasklet context and stuck
there) and other core is not able to queue the packets to HIF. Which
is creating virtual CE stuck case. Fixed the issue by acquing the
H-TC tx lock before the while loop which queus the packets
in H-TC queue
Change-Id: I435be9fa34b5ae86c6edb6ee29426a9134e5b6f2
CRs-Fixed: 1083038
This is a qcacld-2.0 to qcacld-3.0 propagation.
pr_debug() should not appear by default in kernel log (kmsg).
DEBUG is a kernel macro, since host driver is using the same name macro,
pr_debug log statements are appearing in kmsg.
Fix this by moving the code under DEBUG to WLAN_DEBUG and
remove DEBUG macro from Kbuild.
Change-Id: I5bb385f91f9b6ba15629a5878625fefc21d4a7e1
CRs-Fixed: 1003261
htc_runtime_pm apis are needed to deprecate the qdf_runtime_pm apis.
The qdf_runtime_pm apis rely on cds_get_context which is not being
converged and thus qdf_runtime_pm needs to be deprecated.
Since the htc_handle wraps the hif context for most upper layers,
htc_module is providing a wrapper functions.
Change-Id: Ic66a0891db53b610fd4373e7528a08f2787f45fc
CRs-Fixed: 1044150
Host is not handling target initial wake up properly which is
leading to resume failure. Fail PM suspend request if target
has sent initial wake up message.
Change-Id: I3797f1afa99ed9412b7ded3e1ea85c344bd0f435
CRs-Fixed: 1059543
Credit reports are logged to memory.
Root causing credit report issues requires
memory dumps, so having them in the dmesg
gives little additional value.
Change-Id: Ia84adb156b8af49867116d367613264008fcc750
CRs-Fixed: 1026520
Add two new apis of dump bundle stats and clear bundle stats
for debug logging support.
CRs-Fixed: 975526
Change-Id: If8e3bc2bc5e5a4f1b2e180d7d5c4ce0695e933ee
Remove bus specific calls from data path layer.
Add sdio specific target address.
Add sdio bundling rates in datapath layer.
Fix rx data callback for UMP system.
CRs-Fixed: 969334
Change-Id: I0cd45479ca89b97455b4a9c71ce326646f38a5f3
Refactor DPTRACE to support new data path features like
TSO and FASTPATH and add support to log DHCP, ARP and
EAPOL packets.
Change-Id: I7f9e4be12d82fbf419b2402284928144df6824f0
CRs-Fixed: 1008087
Fixing compliation issues due to fw common files which
are not yet converged.
Change-Id: I60c2045c0807e2700b548f3dfb9f07fe04eede46
Acked-by: Varsha Mishra <varsham@codeaurora.org>
CRs-Fixed: 1009050
qdf_wait_single_event expects msecs as the timeout value.
However, two references in dp, first of which is this instance,
passes the value in ticks. This causes the value to be converted
to msecs a second time by the function and hence an incorrect
timeout value.
The other instance is in the qcacld-3.0 project.
Change-Id: Ic73f5b22e987589c1f0607ced6ae9e51ff3c52c2
Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>
CRs-fixed: 1012345
TargetSendSuspendComplete should take the HTCInitInfo
context as an argument. The wow_nack should be its
own argument.
Change-Id: Ib13385cf0a04730d066ffcd53c1f669c7a5ced60
CRs-Fixed: 1003793
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
Enable HTT_DATA2_MSG_SVC and HTT_DATA3_MSG_SVC, using only
rx legs, CE 9 and 10, respectively. Add required CE entries
to the map that gets sent to the FW, and define the latter
service.
Rename htc_endpoint to htc_tx_endpoint in htt_pdev to
represent the role better.
Acked-by: Orhan K AKYILDIZ <oka@codeaurora.org>
Change-Id: I81ae796bdb7e632aa24f15c63a2811791dd29d28
CRs-Fixed: 982728
There is race condition in HTCTrySend() where it is
clearing TxProcessCount after releasing target lock
which is resulting it in WMI command stuck as other
thread check TxProcessCount and returns after
putting command in queue.
Fix above race condition by unlocking target lock
after clearing TxProcessCount.
Change-Id: I80d69bf583d3eb3c9800c69d7917921aa959f866
CRs-Fixed: 991142
Remove the header files which are not in common project so that HTC
layer can be converged.
Change-Id: Iaf5869e1d739cc80dcc5b89a446f499527350e38
CRs-fixed: 982024
Clean up CDS related functions so that HTC layer can be converged.
Also add compilation flag for runtime PM APIs.
Change-Id: I4c4a06b4387c8cc3f9b41d0191f46d7fa1b0a0b4
CRs-fixed: 982024
There are two ways to enable/disable HTC credit flow control. One is
in HTC itself with a static variable. The other is from the modules
who want to establish HTC service (e.g. WMI or HTT) by sending the
request. Make sure credit flow control enable/disable can be safely
done by other modules so that HTC layer can be converged.
Change-Id: I169c1ac7b410a7c9e7203c174bf1f1ec8a07ca06
CRs-fixed: 982024
Fix compilation error since qdf_event is used without including
the appropriate header file.
Change-Id: Iecc2f4080f8cb699ada4892dd431d68df4a080ca
CRs-Fixed: 994652
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
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
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
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
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