Commit gráf

158 Commit-ok

Szerző SHA1 Üzenet Dátum
wadesong
31d77bc18a qcacmn: Fix a NULL pointer dereference issue
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
2017-08-10 06:12:50 -07:00
Nachiket Kukade
13e5613615 qcacmn: Remove QDF_BUG from htc_wait_recv_ctrl_message
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
2017-07-18 23:35:15 -07:00
Srinivas Girigowda
38ee305644 qcacmn: HTC: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: I1a20a6b9e4c9de8c79517aafed70f0e7eea920fb
CRs-Fixed: 2017427
2017-07-12 20:12:50 -07:00
Rakesh Pillai
13146458f9 qcacmn: Fix CLANG warnings in Data path
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
2017-06-30 22:50:37 -07:00
tfyu
60c2c9836e qcacmn: Fix the TX packet drop after doing the TX bundle
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
2017-06-28 21:33:30 -07:00
Nandha Kishore Easwaran
e43583f3c1 qcacmn: Dptrace changes to take per pdev stats
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
2017-06-05 22:52:34 -07:00
Manikandan Mohan
e3e209e1fd qcacmn: Fix kernel module check patch warnings
Fix kernel module check patch warnings in Host Target Communication
module files

Change-Id: I151f597142d93a26e5e037cf7fce944f86fba72a
CRs-fixed: 2033001
2017-05-02 13:29:31 -07:00
Dustin Brown
6cb0fa1c4f qcacmn: Create qdf_log_timestamp_to_secs helper function
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
2017-04-13 21:31:10 -07:00
Houston Hoffman
adc3147da9 qcacmn: add htc_get_tx_queue_depth api
Wish to know the number of unsent packets in a given tx queue

Change-Id: I73999de9aaadbb61eea13388e583e341e1d7855a
CRs-Fixed: 2018893
2017-04-11 11:04:44 -07:00
Dustin Brown
536064a37e qcacmn: Implement WMI/Credit History log print APIs
Create output agnostic log print APIs for WMI and Credit History to
enhance the debugging experience.

Change-Id: Ie89a9cb3b54c373ac2610d62003e940da17696d8
CRs-Fixed: 2028762
2017-04-11 11:04:24 -07:00
Himanshu Agarwal
fa594d9f08 qcacmn: Handle failure scenario for qdf_nbuf_map()
Handle failure scenario for qdf_nbuf_map() API by freeing
allocated memory, returning failure/error etc.

Change-Id: I493fb063c8f57e38525e2dc1701a6e972d2ec0e6
CRs-Fixed: 2028524
2017-04-11 11:03:47 -07:00
Yue Ma
9c6f84da99 qcacmn: Resume fastpath DP in correct place for runtime PM
Fastpath DP should be resumed after WOW is disabled from FW. Move
it to correct place.

Change-Id: I9108ee4393cc4ee5f8a232c3de14d68b47aa760e
CRs-fixed: 2023358
2017-04-03 18:02:13 -07:00
Yun Park
81967e04f3 qcacmn: Check NULL before derefencing pPacket from htc_packet_dequeue
Add NULL check for pPacket returned from htc_packet_dequeue before
dereferencing it.

Change-Id: I30c4fb3a4bc6652396795305c3b8a23bba88922a
CRs-fixed: 2009829
2017-03-28 20:45:58 -07:00
Himanshu Agarwal
974d0a5275 qcacmn: Add variable to store magic pattern
Add variable to store magic pattern and APIs to set
magic cookie in a packet.

Change-Id: I4e010c2e2571398e4f7423162162cf0d2206d18b
CRs-Fixed: 2016682
2017-03-24 02:19:00 -07:00
Mukul Sharma
514201712a qcacmn: Add callback context for wake up / suspend ack callback's
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
2017-03-08 13:00:40 -08:00
Kiran Venkatappa
e17e3b63e0 qcacmn: Support per mac CE for WMI commands
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
2017-02-22 11:13:16 -08:00
Liangwei Dong
6c5e33226b qcacmn: Protect the TxQueue in failure
qcacld-2.0 to qcacmn propagation

To acquire lock to protect pEndpoint->TxQueue
in the failure path.

Change-Id: I6844f1329427e7065dc3e4e64bf105087d963dd9
CRs-Fixed: 1077223
2017-02-09 15:50:10 -08:00
yeshwanth sriram guntuka
78ee68fa4a qcacmn: Remove redundant qdf_mem_zero calls
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
2017-01-08 22:34:01 -08:00
Poddar, Siddarth
f176340b9e qcacmn: Fix to avoid skb buff leak when NBUF alloc fail
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
2017-01-04 04:02:46 -08:00
Jeff Johnson
c66399a1ce qcacmn: Fix -Wmissing-prototypes in Host Transport layer
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
2016-11-23 14:44:53 -08:00
Venkateswara Swamy Bandaru
ae41b9e0ae qcacmn: Add support for asynchronous Host to Target connection
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
2016-11-21 17:22:54 -08:00
Liangwei Dong
2c73be828a qcacmn: Fix WMI command tx failure
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
2016-11-09 20:25:59 -08:00
Venkateswara Swamy Bandaru
b3c810b062 qcacmn: Fix for HT_C tx lock issue
Added missed condition while locking HT_C tx lock when
htc_issue_packets returns error

Change-Id: I29ce11f20d68297bd946e0925a2e59a576744e73
CRs-Fixed: 1084979
2016-11-02 11:29:37 -07:00
gbian
b417db2f04 qcacmn: improve mboxping TX t-put for SDIO project
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
2016-11-01 23:18:51 -07:00
Venkateswara Swamy Bandaru
9e66f4f987 qcacmn: Fix WMI cmd send issue in case of 100% cpu utilization
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
2016-10-29 20:52:05 -07:00
Srinivas Girigowda
8a0b665897 qcacmn: Replace DEBUG macro with WLAN_DEBUG
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
2016-10-20 01:39:05 -07:00
Houston Hoffman
4d9b0808da qcacmn: Add htc_pm_runtime put/get apis
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
2016-08-30 23:28:34 -07:00
Rajeev Kumar
f5e306f785 qcacmn: Fail PM suspend if target has sent initial wake up
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
2016-08-28 22:38:14 -07:00
Mohit Khanna
0f6194e940 qcacmn: Add USB bus support (DP)
Add Host-Target communication specific changes for USB bus support

Change-Id: Iabb6f5bbfa4d0c2a8026262d2ecb11cdc0533742
CRs-Fixed: 1023663
2016-08-17 12:05:38 -07:00
Rajeev Kumar
296c019780 qcacmn: Handle initial wake up message from target
Handle initial wake up message from target .

Change-Id: Ibd3e916e288090e1318ebbd75468577b25962d05
CRs-Fixed: 1051684
2016-08-13 14:48:57 -07:00
Houston Hoffman
fb274b8013 qcacmn: Stop printing credit reports
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
2016-06-23 12:33:12 -07:00
Poddar, Siddarth
df030095a3 qcacmn: Add new apis for High Latency systems (Part 3 - HL Datapath)
Add two new apis of dump bundle stats and clear bundle stats
for debug logging support.

CRs-Fixed: 975526
Change-Id: If8e3bc2bc5e5a4f1b2e180d7d5c4ce0695e933ee
2016-06-23 12:33:03 -07:00
Nirav Shah
29beae0ab5 qcacmn: Enhance DPTRACE to support RX path
Enhance DPTRACE framework to support RX path.

Change-Id: I34594911aeb89cf36d87a7753f1e5c7261b4ceb9
CRs-Fixed: 1008087
2016-06-14 13:48:37 -07:00
Poddar, Siddarth
416b70695e qcacmn: Add datapath layer changes for sdio bus (Part 4 - HIF SDIO)
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
2016-06-14 13:48:19 -07:00
Nirav Shah
eaa20d8751 qcacmn: Refactor DPTRACE to support new features
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
2016-06-06 18:52:25 -07:00
Houston Hoffman
abd0077413 qcacmn: Address win specific compilation issues
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
2016-05-19 18:00:13 -07:00
Houston Hoffman
fb698efe55 qcacmn: Add support for AP chipsets
Add copy engine configuration, extended set_hia functionality,
htc_module credit flow control function and physical address calculations.

Change-Id: I5e4394bed39cc92bb8323d332dc124d948737322
Acked-by: Venkateswara Swamy Bandaru <vbandaru@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 17:59:48 -07:00
Houston Hoffman
9348186afb qcacmn: Support WIN fastpath in HTC_module
WIN requires htc_ctrl_msg_cmpl api.

Change-Id: I3c7a1fb8a0da6271b3f0d02d83044d484ce63870
Acked-by: Venkateswara Swamy Bandaru <vbandaru@codeaurora.org>
CRs-Fixed: 1009050
2016-05-19 17:59:39 -07:00
Prakash Manjunathappa
6a4c9803a3 qcacmn: Remove extra ticks-to-msec conversion
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
2016-05-12 11:22:38 -07:00
Houston Hoffman
61fad9f81c qcacmn: Add wow_nack to TargetSendSuspendComplete api
TargetSendSuspendComplete should take the HTCInitInfo
context as an argument.  The wow_nack should be its
own argument.

Change-Id: Ib13385cf0a04730d066ffcd53c1f669c7a5ced60
CRs-Fixed: 1003793
2016-05-04 21:10:44 -07:00
Nirav Shah
d7f9159cf2 qcacmn: 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 23:03:05 -07:00
Houston Hoffman
e633044237 qcacmn: 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@codeaurora.org>

Change-Id: I81ae796bdb7e632aa24f15c63a2811791dd29d28
CRs-Fixed: 982728
2016-04-20 15:49:17 -07:00
Rajeev Kumar
e37820ebd2 qcacmn: Fix WMI command stuck issue
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
2016-04-20 15:48:31 -07:00
Yue Ma
b16cf3028e qcacmn: Clean up header files for HTC
Remove the header files which are not in common project so that HTC
layer can be converged.

Change-Id: Iaf5869e1d739cc80dcc5b89a446f499527350e38
CRs-fixed: 982024
2016-04-01 11:53:21 -07:00
Yue Ma
ec9e71c33b qcacmn: Remove CDS related functions in HTC
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
2016-04-01 11:53:21 -07:00
Yue Ma
9be730f61b qcacmn: Update credit flow control enable/disable in HTC
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
2016-04-01 11:53:21 -07:00
Dhanashri Atre
d90a4473ec qcacmn: include the qdf_event header file when using qdf events
Fix compilation error since qdf_event is used without including
the appropriate header file.

Change-Id: Iecc2f4080f8cb699ada4892dd431d68df4a080ca
CRs-Fixed: 994652
2016-03-31 13:35:39 -07:00
Komal Seelam
7508012ea9 qcacmn: Rename hif_callbacks and remove unwanted header files in source files
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
2016-03-31 13:35:33 -07:00
Houston Hoffman
858f723a62 qcacmn: Unify io memory access
Snoc and pci should use the same memory access semantics.

Change-Id: I0f9eb8d0517853426897acd712c343b7ac7a5a1f
CRs-Fixed: 986480
2016-03-16 13:43:41 -07:00
Houston Hoffman
e61d4e1382 qcacmn: Controll target sleep in hif
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
2016-03-16 13:02:59 -07:00