Commit Graph

32 Commits

Author SHA1 Message Date
Manikanta Pubbisetty
cbe8170798 qcacmn: Add HIF CE RX support to WBUFF
Currently, WBUFF is being used only for WMI TX buffers.
Add HIF CE RX buffers support to WBUFF in an effort to re-use
the copy engine RX buffers instead of freeing/allocating buffers
for every CE RX transaction. This fixes the problem of CE RX
memory fragmentation.

Change-Id: Id9c043a5c5d0882a7994fa03cd8c335555d46b8d
CRs-Fixed: 3534539
2023-07-18 09:51:03 -07:00
Amit Mehta
dd5f5c1afa qcacmn: Get wow nack reason code
Currently, Fw did not set NACK reason code
to Host when Fw is not ready for WoW.

As part of the new change, Fw will send NACK
reason code along with WoW NACK to host.
Make changes in host to parse NACK reason
code from the received message.

Change-Id: I17ee99cb302ff546731a46d3ce03977c3c3d5a67
CRs-Fixed: 3481189
2023-05-18 04:35:41 -07:00
Sajini R
ffc4a9de53 qcacmn: Add option to configure H-T-C pipe ready message timeout
Add INI option to configure Host-Target communication pipe ready
message timeout for debug.

Change-Id: I0b29ced69b67debcc4059b3ffb6578f3e808bf5c
2021-06-17 11:14:19 -07:00
Akshay Kosigi
af98d7cbbe qcacmn: CONFIG_WIN Macros to be moved out of HIF/HTC
Remove CONFIG_WIN from HIF and HTC module

Change-Id: If5001a16047f802b077e6cd9b211a912df5ca55e
CRs-Fixed: 2349905
2019-06-24 15:44:32 -07:00
Padma Raghunathan
2d61d53e44 qcacmn: Handle CE send completions in polling mode
When polling mode is enabled, send completions for a
CE(host->target, ULpipe) for a particular service(WMI/HTC/HTT) are handled
only when recv happens in CE(target->host, DLpipe) for the same service.

Since for services like WMI there are multiple ULpipes(Eg. CE3 for
WMI<WMAC1> and CE7 for WMI<WMAC2>) and single DLpipe(CE2). Receive on a
DLpipe is the right time to poll for send completions on all ULpipes for
that service.

Change-Id: Ie2ac30d3db1bc85c888d714b782a894539e399ff
2019-04-26 05:10:37 -07:00
Jeff Johnson
5a6cc79b9e qcacmn: htc: Replace explicit comparison to NULL
Per the Linux Kernel coding style, as enforced by the kernel
checkpatch script, pointers should not be explicitly compared to
NULL. Therefore within htc replace any such comparisons with logical
operations performed on the pointer itself.

Change-Id: Ibb6d24aff9824d7e7cf253c1fe3081443cbfb63b
CRs-Fixed: 2418252
2019-03-27 06:09:57 -07:00
phadiman
3952f2b86c qcacmn: Remove QDF_BUG in htc_completion_handler
Remove the QDF_BUG in the htc_completion handler
which detects Rx netbuf packet corruption

Host sometimes receives HTC packets with corrupted
endpoint id during rapid wifi down/up tests. This
can be ignored hence remove QDF_BUG and add QDF_TRACE

CRs-Fixed: 2286058

Change-Id: I9b2d3ee2054461258d1196d5ace7d7cfe807332a
2018-08-28 13:09:53 -07:00
Yun Park
ed2a224ba2 qcacmn: Fix out-of-bounds write in htc_add_receive_pkt_multiple
In htc_add_receive_pkt_multiple, out-of-bounds write to a buffer.
Fix by checking the endpoint against the max endpoint.

Change-Id: Iaa82c7e8f3ae59f007380a7697959dd79dfb81ed
CRs-Fixed: 2232836
2018-08-01 18:31:54 -07:00
Amar Singhal
699074598b qcacmn: Remove unused function htc_add_receive_pkt
Function htc_add_receive_pkt exposes pointer to local
variable to the caller. Since it is unused; remove it.

Change-Id: I3294fde4499a58e6872c44fd8615eff2bfb42556
CRs-Fixed: 2247626
2018-06-08 16:30:36 -07:00
Jeff Johnson
19a4014b6b qcacmn: htc: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Ieacfc963de0aa362d695ebddcd1231ca5128f55e
CRs-Fixed: 2230684
2018-05-18 02:17:30 -07:00
Pratik Gandhi
7846150f2b qcacmn: Fix compilation issues for FW header abstraction
fwhdr_abstrct: Fix compilation issues for WIN firmware header abstraction.

Change-Id: Id76a6f29fd41ae559cf377029428224d59bd03fb
CRs-Fixed: 2140921
2018-03-09 07:28:50 -08:00
Rachit Kankane
1bc1149747 qcacmn: Add HTC Credit History Feature flag
Add compilation flag to compile out HTC credit History
feature cleanly from the cld-3.2 driver binary

Change-Id: I615f0e4d6de150924b99b3444cebf00571ddc088
CRs-Fixed: 2190546
2018-03-08 18:47:17 -08:00
Kabilan Kannan
24895ade0c qcacmn: Increase the HTC control msg timeout
Firmware needs 6 seconds timeout for HTC control
messages.
Increase the HTC control message timeout to 6
seconds

Change-Id: I79a843afe028098a9cb7e98c274b54132357c76b
CRs-Fixed: 2170953
2018-01-26 17:21:04 -08:00
Dustin Brown
1e61fbc2a0 qcacmn: Address minor HTC review comments
Address minor review comments raised against previous change
Ic417f6b008fdc769227c7a23bc8e01a2064ce928. Specifically, remove function
recv_packet_completion() and member EpRecvPktMultiple from struct
htc_ep_callbacks.

Change-Id: I431579356664ad6a6274f58352adf8ce273e084f
CRs-Fixed: 2168647
2018-01-13 02:17:54 -08:00
Houston Hoffman
8868bafb8c qcacmn: Don't encapsulate packets in recv_packet_completion
Avoid leaking pointers to freed stack memory by not enqueing packets
onto a stack local queue in recv_packet_completion

Change-Id: Ic417f6b008fdc769227c7a23bc8e01a2064ce928
CRs-Fixed: 2119792
2018-01-04 03:39:02 -08:00
Jeff Johnson
a79b1114d1 qcacmn: htc: Replace instances of unadorned %p
Replace instances of unadorned %p in htc.

Change-Id: I10dbde19510476e8c4f36ea199c598a3db0a4f65
CRs-Fixed: 2111274
2017-10-03 16:02:37 -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
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
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
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
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
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
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
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
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
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
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
Vishwajith Upendra
70f8b6e32c qcacmn: Update driver to use QDF NBUF APIs(2/2)
Update driver to use QDF NBUF APIs

Change-Id: I555c739660e62e6d0237c65c57bcb169fec11cf4
CRs-Fixed: 981187
2016-03-16 12:22:29 -07:00
Chouhan, Anurag
fc06aa9430 qcacmn: Fix compilation issues HTC/HIF
Resolve compilation issues for references to cdf after rebase

Change-Id: I332566deb690fa7de68d89bf51b42f94f7a270a6
CRs-Fixed: 981187
2016-03-16 12:18:31 -07:00
Prakash Dhavali
142cee4bf2 Initial host-common file folder cleanup and moves
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
2016-03-03 01:02:02 -08:00