提交图

45 次代码提交

作者 SHA1 备注 提交日期
wadesong
eda409102e qcacld-3.0: Initialize some locks before they are used
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
2017-11-15 04:11:19 -08:00
wadesong
43468c4626 qcacld-3.0: Lock the packet lists before freeing
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
2017-11-09 22:07:55 -08:00
bings
8321073763 qcacld-3.0: Do not destroy rx_buff_list_lock if it is not used
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
2017-11-03 03:48:22 -07:00
Yun Park
199c2ed245 qcacld-3.0: Add warning log for IPA session control critical code path
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
2017-10-26 21:49:24 -07:00
Poddar, Siddarth
b904759184 qcacld-3.0: Add debug logs for FW_RX_REFILL failure
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
2017-10-12 13:58:58 -07:00
Jeff Johnson
c13bfe08ca qcacld-3.0: dp: Replace instances of unadorned %p
Replace instances of unadorned %p in core/dp.

Change-Id: I7baa3ecc4f9964c47261dafa26116447fc7611b5
CRs-Fixed: 2100997
2017-09-25 21:56:58 -07:00
Houston Hoffman
fa60ff5562 qcacld-3.0: Try to recover from htc_connect_service failure
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
2017-08-30 10:45:35 -07:00
Orhan K AKYILDIZ
a4f58e9824 qcacld-3.0: Add logs for target attach procedure
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
2017-08-30 10:42:45 -07:00
Chris Guo
9e293a9667 qcacld-3.0: Fix synchronization issue of credit number
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
2017-08-09 19:37:05 -07:00
Rakesh Pillai
7fb7a1f850 qcacld-3.0: Fix CLANG warnings in Data path
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
2017-06-30 22:50:40 -07:00
Yun Park
56e32d9063 qcacld-3.0: Fix Datapath kernel checkpatch warnings in htt.c
Fix Datapath kernel checkpatch warnings in htt.c

Change-Id: I65db694e92a3194a15c6ce5c0e928b4957e6357a
CRs-Fixed: 2032874
2017-06-14 08:24:08 -07:00
Nachiket Kukade
8003d257b9 qcacld-3.0: Add and use API to check FW Down indication bit during probe
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
2017-06-12 17:19:28 -07:00
Govind Singh
9785416998 qcacld-3.0: Handle HTT DATA2/DATA3 connect service failure
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
2017-05-31 23:38:13 -07:00
Manikandan Mohan
83c939c474 qcacld-3.0: Update for check patch refactoring
Host Target Communication module files are updated for check
patch warnings. Thus update dependent files.

Change-Id: Id37009ca13704beb0d8c4c28cc3eaff9cf930a0f
CRs-fixed: 2030824
2017-05-02 13:29:38 -07:00
Houston Hoffman
13f4be5fb8 qcacld-3.0: increase htt_htc_misc_pkt_list_trim trim level
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
2017-04-09 13:08:50 -07:00
Poddar, Siddarth
16264472d9 qcacld-3.0: HTT: Reduce the log spam in Kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

CRs-Fixed: 2019261
Change-Id: I7e7d8c6f90f8f9feefbfb72217886fcd812cf39c
2017-04-07 07:12:18 -07:00
Srinivas Girigowda
35e65f8322 qcacld-3.0: HTT: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: I6572cb109ff752eba764f671770d9754024a4b31
CRs-Fixed: 2014745
2017-04-07 06:02:08 -07:00
Yun Park
eea1c9ca84 qcacld-3.0: Fix an htt memory leak
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
2017-03-24 03:39:08 -07:00
Himanshu Agarwal
289e40b30f qcacld-3.0: Use magic pattern to avoid double free of packets
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
2017-03-24 02:19:07 -07:00
Himanshu Agarwal
18d6b8c19b qcacld-3.0: Replace HELIUMPLUS_PADDR64 with HELIUMPLUS
Replace HELIUMPLUS_PADDR64 preprocessor macro with already
existing preprocessor macro HELIUMPLUS.

Change-Id: I4f109fc939e12323565bc05c89cc51dff3f3a7f3
CRs-Fixed: 2006551
2017-03-05 21:26:23 -08:00
Venkata Sharath Chandra Manchala
0d44d455fa qcacld-3.0: Handle void pointer declarations for pdev and vdev
Replace void pointer handles for pdev and vdev
with abstract structure handles

Change-Id: Idd9a2521249e30faf1143f671c4d2d924fe231e8
CRs-Fixed: 1109835
2017-02-15 12:26:46 -08:00
Jeff Johnson
0e60ce5615 qcacld-3.0: Fix -Wmissing-prototypes in HTT
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
2016-12-14 14:07:19 -08:00
Selvaraj, Sridhar
2cad651a1b qcacld-3.0: Remove redundant mem zero after malloc in DP/UTILS/CDS/WMA
Remove redundant qdf_mem_zero after qdf_mem_malloc since output
of qdf_mem_malloc already gives zeroed memory[i.e. kzalloc].

Change-Id: I385afd98a134c2d79189090ce4c84c4b3adcc94e
CRs-Fixed: 1079691
2016-10-24 16:45:17 -07:00
Manjunathappa Prakash
fff753c12e qcacld-3.0: Add option to control Rx flow steering
Add ini configuration to enable/disable Rx flow steering.
Add HTT message to configure RX flow steering.

Change-Id: I80aab262c754716b28bfdae561d1cbf5e1d38e4d
CRs-Fixed: 1055179
2016-09-11 15:23:53 -07:00
Orhan K AKYILDIZ
5a36de324c qcacld-3.0: Fix u32 paddrs
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
2016-09-08 21:32:40 -07:00
Himanshu Agarwal
19141bb676 qcacld-3.0: Add capability based logic to mark first packet after wakeup
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
2016-08-27 16:02:41 -07:00
Mohit Khanna
c6f03989a8 qcacld-3.0: Add USB bus support (DP)
Add datapath changes for USB bus support

Change-Id: Iabb6f5bbfa4d0c2a8026262d2ecb11cdc0533742
CRs-Fixed: 1023663
2016-08-19 18:33:24 -07:00
Leo Chang
bc24e6177e qcacld-3.0: ipa data path bug fix
WDI RX ring size should be larger than RX buffer count
RX2 ring free bug fix
WDI HTT message free bug fix

Change-Id: Ib3dda42ab46d07fab1847e2590d815c851524960
CRs-fixed: 1037977
2016-07-13 13:14:23 -07:00
Siddarth Poddar
1df1cd85b4 qcacld-3.0: Add htt apis for High Latency systems (Part 1 - HL Datapath)
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
2016-06-23 12:27:43 -07:00
Nirav Shah
2e583a0344 qcacld-3.0: Datapath changes for WiSA specification
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
2016-06-14 14:28:44 -07:00
Houston Hoffman
90e24d85f8 qcacld-3.0: Add hif_ctx to fastpath_cb_register api
Hif apis can't rely on a global context.

Change-Id: I2cad80573fc0102f210bb0f7c3f9e22c5f8e16f9
CRs-fixed: 1009274
2016-05-04 21:19:33 -07:00
Nirav Shah
24e697ff3e qcacld-3.0: Update htc_endpoint only for htt tx endpoint
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
2016-04-25 22:56:20 -07:00
Houston Hoffman
23e76f99ce qcacld-3.0: enable additional two HTT data services
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
2016-04-20 22:25:01 -07:00
Manjunathappa Prakash
585178db34 qcacld-3.0: Cleanup fastpath changes
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
2016-04-17 18:16:51 -07:00
Manjunathappa Prakash
1c95626911 qcacld-3.0: add fastpath Rx support
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
2016-04-17 18:16:43 -07:00
Houston Hoffman
c2cd5d472e qcacld-3.0: Remove power_gating from upper layers
These are pci specific power management features.  These should
be consolidated instead of littering bus agnostic code.

Change-Id: I366f1d14ab04368d77a144bebaeb038c1469abed
CRs-Fixed: 986480
2016-03-24 11:58:38 -07:00
Nirav Shah
cbc6d72570 qcacld-3.0: Update driver to use QDF NBUF APIs(1/2)
Update driver to use QDF NBUF APIs

Change-Id: I4409b6c046de1221b57baed45088d5f3b898b565
CRs-Fixed: 981188
2016-03-24 11:58:23 -07:00
Anurag Chouhan
600c3a00be qcacld-3.0: Add QDF mem API's
Replace CDF mem API's with QDF mem API's

Change-Id: Icf247b4dc5b26f4b960dcb98e323b096c1d6076c
CRs-Fixed: 981188
2016-03-24 11:58:16 -07:00
Anurag Chouhan
6d760664ee qcacld-3.0: Add QDF types
Replace CDF types with QDF types

Change-Id: Idd6e65b148efb54f22d6951572957f1c6166465b
CRs-Fixed: 981188
2016-03-24 11:57:54 -07:00
Komal Seelam
c12e675c50 qcacld-3.0: Remove cds_get_context in HIF
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
2016-03-23 13:45:06 -07:00
Houston Hoffman
5be9bac028 qcacld-3.0: Implement htc runtime suspend/resume
Provide the apis to suspend & resume the htc layer
for runtime suspend.

Change-Id: Ia4c4f00fa62b250c5097e6bc14137b0114c5c90f
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
7a39c0cb30 qcacld-3.0: Replace ServiceID with service_id
Removes cammel case.

Change-Id: I8107c9fa783bdec41468191315c901018f6fd05f
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Leo Chang
8e07361afb qcacld-3.0: wdi2.0 feature enable, dp hif
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
2015-12-28 14:20:43 -08:00
Govind Singh
c5ce2905e5 qcacld-3.0: Free rx_buff_list in htt_detach
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
2015-11-23 13:08:11 -08:00
Prakash Dhavali
7090c5fd8d qcacld-3.0: Initial snapshot of ihelium wlan driver
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
2015-11-17 17:52:53 -08:00