qcacld-2.0 to qcacmn propagation
The ul_outstanding_cnt is not increasing when do TX sending in the bundle.
Which will cause the count is not correct, and will drop to the negative
number.
Change-Id: If7f06b376633b3384203cc49d8e8acafdd1b4853
CRs-Fixed: 2112977
Run throughput with Rome chip, crash happens since of too many logs
in pm runtime put and get. So remove log in these functions.
Change-Id: I9ca4ddef328ade7fef63d04f19603927cf8ee6d8
CRs-Fixed: 2112431
Because of the sequence of macro defination, the HTX bundle is
not enabled at all. This fix made the macro defination into the
correct sequence.
CRs-Fixed: 2070642
Change-Id: Idc62b091057da9873874f54f09ca8b76d3658516
Tx lookup queue holds the reference of the packet that is successfully
transmitted via CE pipe. Tx lookup queue method can be called from
tx path and from tasklet simultaneously for the same endpoint.
One context can get the packet reference in its local lookup Queue and the
other context may not find the reference as this is not brought back
from lookupQueue to TxLookupQueue.
Fix this by adding a per endpoint lookup queue lock.
Change-Id: I0f4872f695e9ab15c27c91e733449f03871f4262
CRs-Fixed: 2047390
For SDIO WLAN, the creditsize is different for data EP than other
EPs. This change using alt credit size to replace of original
credit size.
CRs-Fixed: 2072158
Change-Id: I105db55da66e6123b2a53326d53758c24eca21ec
In htc_send_data_pkt, netbuf will not contain a valid pointer for
TX packet count updating unless pPacket is not NULL. Move the TX
packet count updating code into the code block where pPacket is
containing a valid pointer.
Change-Id: I5cf6787b731df36c41c0c12a585e816e54ffb904
CRs-Fixed: 2053354
Currently if Firmware is down during probe, driver will BUG_ON and
re-probe will not happen. Remove QDF_BUG to allow driver to fail
gracefully, allowing re-probing by the platform driver.
Change-Id: I65fca58168f1c8413eef4790c0f428e64a58f3a7
CRs-Fixed: 2027472
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
qcacld-2.0 to qcacmn propagation
The driver will drop the TX packet if remaining depth of the sending queue
is less than 2. This will casue the memory leak, credits missing and TCP stall
issue when running the iperf test.
The fix is to add back current packet before return, which just be dequeued.
Change-Id: I9e0c69c16e9562afd627d0fc222a9fbd475c468c
CRs-Fixed: 2056195
Initial changes for adding dp trace in common framework. Modified dp_trace
record sturcture to include pdev_id as a member to take per_pdev stats.
Dump command has been modified to dump stats per pdev.
Change-Id: I8aede0bd8ab6f381c7fa0542d077bdd8bf66b3d2
CRs-fixed: 2038944
Create a timestamp conversion helper that returns whole seconds and
remaining micro seconds, for easier consumption by logging methods.
Change-Id: I5bc40075566485f3dc9f7e5fd81a13ec462c5da0
CRs-Fixed: 2031564
Create output agnostic log print APIs for WMI and Credit History to
enhance the debugging experience.
Change-Id: Ie89a9cb3b54c373ac2610d62003e940da17696d8
CRs-Fixed: 2028762
Handle failure scenario for qdf_nbuf_map() API by freeing
allocated memory, returning failure/error etc.
Change-Id: I493fb063c8f57e38525e2dc1701a6e972d2ec0e6
CRs-Fixed: 2028524
Fastpath DP should be resumed after WOW is disabled from FW. Move
it to correct place.
Change-Id: I9108ee4393cc4ee5f8a232c3de14d68b47aa760e
CRs-fixed: 2023358
Add NULL check for pPacket returned from htc_packet_dequeue before
dereferencing it.
Change-Id: I30c4fb3a4bc6652396795305c3b8a23bba88922a
CRs-fixed: 2009829
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