htt_tx_mutex, NBUF_QUEUE_MUTEX and HTT credit_mutex should all be
initialized before the related message handlers are connected to
their corresponding services, or there will be racing conditions
happening during WLAN driver initialization which will cause
the Linux kernel complaining for bad magic of spin locks and
triggers watch dog bite.
Change-Id: Id89185d811bcbed95732f142ed6fd611e0d6e2a4
CRs-Fixed: 2109674
1) The htt htc free packet list is accessed without being protected
by a lock when packets are being removed from it, which may
introduce a potential racing condition during stability stress
test. Protect the list by htt tx mutex before any pakcets are freed
from it.
2) The same protection should be done to the htt htc packet misc
list.
Change-Id: Ife075a24f119ccfff9b56ec6ce3bee5dd73c9dea
CRs-Fixed: 2137038
When CONFIG_HL_SUPPORT is defined, htt_rx_dbg_rxbuf_init is not called,
and rx_buff_list_lock is not initialized. rx_buff_list_lock should not
be destroyed if it is not initialized.
Do not call htt_rx_dbg_rxbuf_deinit when CONFIG_HL_SUPPORT is defined.
Change-Id: I9d64313efd5a9978b3fb953ac5d7ffb466abe010
CRs-Fixed: 2134345
Add warning log at the critical code path of IPA session transition
for the race condition detection
Set INFO log level to enter/exit logs for IPA session transition
code path.
Change-Id: I5089db5f53d13e5f78093171672ad86f7bd1cdc2
CRs-Fixed: 2124144
Add debug logs to capture htt rx_ring info during data stall
detection for FW_RX_REFILL failure reason.
Change-Id: I6733a37677ebccfef5096ac38858c4505e8665b6
CRs-Fixed: 2121686
In the case of low memory allocation failures, the system should be able to
continue functioning after the connect_service failure.
Change-Id: Icd054d541aa95dbf4099426cf73f3dfe6c2c4565
CRs-Fixed: 2097391
During target attach procedure, there are a number of messages sent
to the FW. Some of these sends did not check return codes. Add
return code checks and treat the codes accordingly.
Change-Id: Ib515e040b6c7e2ecc23d2d422bb359e83342fcfa
CRs-Fixed: 2064904
The target_delta and bus_delta combined with target_tx_credit
to fulfil the credit function of host.
A global lock is needed to ensure reenterable.
Change-Id: I71c006ccfe05b442706283490cd7bba4cc8a6f5f
CRs-Fixed: 964530
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
CRs-Fixed: 2063339
Change-Id: Ib96a49f40ea581127405560087354e7fa9bf46ec
When commands to Firmware fail during probe due to Firmware being down, in
most cases QDF_BUGs are hit, not allowing re-probing to take place. A new
API is defined to check if the failure is due to Firmware being down or not.
If so, return error gracefully allowing re-probing to take place
Change-Id: Ib2f21a6f1ced1c16e9d2bdbda810b160ff63e2c6
CRs-fixed: 2027444
Handle error case if DATA2/DATA3 htt service connection
with fw fails.
DATA2/DATA3 connect service is done after FW ready indication.
Hence it's safe to handle the error scenarios.
Change-Id: If6f07f3c29cbc5f1486231a7897d1223ad1c24bb
CRs-Fixed: 2034843
2048 packets could be pending in the ce and the tx_queue
depth could be pending in the htc queue.
Change-Id: I2eedd9dd7300058a4b3024dd97c826c08f8c44bd
CRs-Fixed: 2019589
qcacld-2.0 to qcacld-3.0 propagation
With ATH_11AC_TXCOMPACT defined, host to target message send-completion
won't be called and messages are stored in htt_htc_pkt_misclist after
sending to HTC layer which will be freed upon htt_detach. This list
doesn't have a size limit and outgrow with more messages.
Add a fix to limit the size of this list which gives enough time for
firmware to process these messages before releasing it.
Change-Id: I6feb2d5700abe81a21dd93303163202616c739f5
CRs-Fixed: 902909
Some of the packets like configuration messages and ipa stat
messages to fw are added in htt misc list. If these packets
fail to be transmitted, they are added in endpoint tx queue as well.
When driver is unloaded, as these packets are present in misc list
as well as in endpoint tx queue, double free will happen and crash
will be observed.
Use magic pattern to distinguish the packets that are stored in
endpoint tx queue as well.
Change-Id: I5d327049d0a2a1598f55ef3ec8a5628f9a01ccee
CRs-Fixed: 2016412
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in core/dp/htt.
Change-Id: I189ca782bdcae7d8d3a6f54acd1baf15f3f300f6
CRs-Fixed: 1091016
Fix some remaining u32 paddr references in htt and make sure
that they are defined as qdf_dma_addr_t.
Fix print %x's for such variables, as per printk-formats
document (use %llx and explicitly typecast the vars to uul).
Change-Id: I4bc25e631986d8343a704ac48fb7bdfe1717b396
CRs-Fixed: 1064917
Propagation from qcacld-2.0 to qcacld-3.0.
Add a capability in service bitmask to indicate that fw also supports
this feature of marking first packet after wow wakeup to maintain backward
compatibility.
Change-Id: I3d41f5425e3a170c046941a439d17e06df0c6bef
CRs-Fixed: 1021382
Add support for HTT instance creation, initialization and
deletion, Host -> Target and Target -> Host HTT messages
exchange, receive and transmit aspects of HTT.
CRs-Fixed: 975526
Change-Id: Ie66a83b6efe216df192b033c9d137a93fdce688f
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: Ic219f58f3e8b2f6863a275928429153defe63b5a
CRs-Fixed: 1010412
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@qca.qualcomm.com>
Change-Id: I81ae796bdb7e632aa24f15c63a2811791dd29d28
CRs-Fixed: 982728
Do following cleanup on fastpath code changes:
1) Remove reaping of 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 HTT messages, skip processing in HTC 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
These are pci specific power management features. These should
be consolidated instead of littering bus agnostic code.
Change-Id: I366f1d14ab04368d77a144bebaeb038c1469abed
CRs-Fixed: 986480
Refactor Transport Layer from cds_get_context and pass the hif context
to all the API's to operate.
Change-Id: I2fb376fda12951a77007f46ceb351bb2e7740ace
CRs-Fixed: 967765
wdi20 enable implementation for hsoffload. Large physical address
support and wdi20 interface propagate to IPA.
This is part of HIF and DP.
Change-Id: If898f03a8a75689c98c70d1e55910f476d8fe329
CRs-fixed: 941041
qcacld-2.0 to qcacld-3.0 propagation
rx_buff_list is not getting freed in
htt_detach and causing memory leak.
Change-Id: Ia9d6660674c5b4570d337cb66995fc2449145d59
CRs-Fixed: 918223
qcacld-3.0: Initial snapshot of ihelium wlan driver
to match code-scanned SU Release 5.0.0.139. This is
open-source version of wlan for next Android release.
Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507