Commit Graph

68 Commits

Author SHA1 Message Date
Yue Ma
45a05d5d95 qcacld-3.0: Fix kernel check patch errors and warnings for BMI
Fix msm-4.9 kernel check patch errors and warnings for BMI module.

Change-Id: I2eb1f179ca2a1ae9ceac7b314d252bd410d9eef9
CRs-fixed: 2034077
2017-04-19 17:44:16 -07:00
Zhang Qian
b3326c61fe qcacld-3.0: Fix resource leak in __ol_transfer_bin_file
qcacld-2.0 to qcacld-3.0 propagation

If data was NULL in fw_entry, fw_entry should be released before return.
Otherwise there will be resource leakage.

Change-Id: I0a72f6bd74f349baf1028aed1f9988b188cda1b6
CRs-fixed: 1111115
2017-04-16 21:16:55 -07:00
bings
6028ee8b41 qcacld-3.0: Do not access target register in driver unloading
qcacld-2.0 to qcacld-3.0 propagation

Crash happens when driver continues to access target register in
ol_target_failure when driver is unloading.

If rmmod happens firstly, do nothing in ol_target_failure in ssr.
If ssr happens firstly, wait for ssr finish in rmmod.

Change-Id: I2a4980b6cd4b689da07c34f2acdfaafbbb0715bb
CRs-Fixed: 2025585
2017-04-11 04:16:41 -07:00
Kai Liu
a27ce62df5 qcacld-3.0: override default uart tx pin to aviod conflict with sdio pin
In sdio interface chip, both sdio_data2 and uart_tx pin will use GPIO6.
It is set by fw rom code, which will cause sdio CRC error  when there is
sdio transaction. Override uart tx pin to avoid side effect to sdio pin.

Change-Id: Icd268e607c51238dcea7e8e3a55dceb96d5b1c1a
CRs-Fixed: 2019742
2017-04-09 20:16:40 -07:00
Tushnim Bhattacharyya
12b4874f33 qcacld-3.0: Replace policy manager header file included in data path
Replace policy manager header file include as part of policy manager
moving to host common.

Change-Id: Ie1f9d6675cc373c3325c9e76514f48299932cdda
CRs-Fixed: 2009818
2017-03-30 16:26:36 -07:00
Yu Wang
95ed98e08d qcacld-3.0: add support for QCA9377_REV1_1
Add processing for QCA9377_REV1_1_VERSION

Change-Id: I0d91e2b903b60370e9d8395917539cb491a272e3
CRs-Fixed: 2004328
2017-02-14 16:28:16 -08:00
Yuanyuan Liu
7a97b8f838 qcacld-3.0: Add support for setting fw log mode for msm8998
Add support for setting fw log mode for msm8998. Change the log mode
from bool type to tristate to support multiple log modes.

CRs-Fixed: 1115611
Change-Id: I6aef023d1e3cb1b68f1520f800af094f6f6decdb
2017-02-02 12:43:36 -08:00
Yuanyuan Liu
10fc3d328d qcacld-3.0: Switch to new recovery APIs
Swith to new recovery APIs with dev instance and recovery reason.
As recovery could have different mode and be target specific.

Change-Id: I26a1a2a0d23a687a5babcaf4ba4e5c6e788fedac
2017-01-23 14:36:08 -08:00
Yingying Tang
61910ef272 qcacld-3.0: Add support for QCA9379 SDIO & USB boards
Propagate from qcacld-2.0 to qcacld-3.0

This change add the corresponding support for QCA9379 which has new chip ID.

Change-Id: I252b75d9ae7b760a6a8f6931b4db753f50d3baba
CRs-Fixed: 990755
2017-01-10 10:52:43 -08:00
Frank Liu
ab70c840e7 qcacld-3.0: Support IBSS firmware bin(32-clis)
qcacld-2.0 to qcacld-3.0 propagation

Firmware can't support all station feature and 32 ibss clients
in one bin because of the mem limitation. So host supports to
download IBSS firmware bin if con_mode=6.

CRs-Fixed: 962246
Change-Id: I6c3dca17c82fdfd2bdadcee319cc157e6aa2ead9
2016-11-29 02:31:14 -08:00
Yingying Tang
9fad0cab1c qcacld-3.0: Add break at end of switch case
Propagate from qcacld-2.0 to qcacld-3.0

Currently there are some places where break is missed at the end of
switch case. Add fix to correct it.

CRs-Fixed: 1063255
Change-Id: I117bdf7280e7cd1127d2251f1412a08ac8aadbc9
2016-11-14 11:50:58 -08:00
Yue Ma
e93d52557a qcacld-3.0: Remove obsolete codeswap feature
Codeswap feature is introduced for a WLAN chipset which is already
cancelled. It is no longer used in host driver. Remove the feature
to avoid any confusion for future development.

Change-Id: I70ae291ded2d2e290408e2f5b177e872f1f3d7e8
CRs-fixed: 1082183
2016-11-03 17:54:05 -07:00
Srinivas Girigowda
6147c58dff qcacld-3.0: 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-19 10:45:28 -07:00
Jeff Johnson
6c3c2b56aa qcacld-3.0: Fix -Wmissing-prototypes in BMI
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in BMI.

Change-Id: I701a9620ad93b41b5bcfd79d0c048f62e8151a18
CRs-Fixed: 1075533
2016-10-11 06:24:37 -07:00
Komal Seelam
78ff65a8c6 qcacld-3.0: Add NL event to indicate SSR shutdown is triggered
propagation from qcacld-2.0 to qcacld-3.0.

On Dual-WiFi Platforms, Radio Device 1 (R1 - SDIO interface) should
be functional only if Radio Device 0 (R0 - PCIe interface) is active.
If SSR is indentified on R0, indicate userspace application to unload
R1 on this event and Reload R1 once R0 SSR and reload is complete.

CRs-Fixed: 1046397
Change-Id: I8a06b569fe536bb93dbb37bdb289295bfce62f6e
2016-09-26 04:49:39 -07:00
Ankit Gupta
a507601be7 qcacld-3.0: Align return value check for qdf_mem_cmp
qdf_mem_cmp api returns zero when comparison string matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.

Replace the return value check from true/false to
zero/non-zero values.

Change-Id: I485d69a4bf85d1e6273ea780af6d0423c3910686
CRs-Fixed: 1066946
2016-09-21 17:08:59 -07:00
Himanshu Agarwal
f03f81036d qcacld-3.0: Fix NULL pointer dereferencing issues
Fix below issues:
1) check cds_get_context results before use
2) remove function calls from ASSERTs
3) make sure variables are initialized before use
4) check pointers for NULL before dereferencing

Change-Id: Iac92e6f2d1030a7dd12469e34341135bea7c781f
CRs-Fixed: 1047286
(cherry picked from commit a2547fd35fc517abfbc96363768b5d036d59d057)
2016-09-10 19:08:39 -07:00
Mohit Khanna
04bea52a30 qcacld-3.0: Add USB bus support (BMI)
Add BMI specific changes for USB bus support.

Change-Id: Icf9d2097d23945c6fab6d3d06dbff04578c8054e
CRs-Fixed: 1023663
2016-08-19 18:33:20 -07:00
Yuanyuan Liu
90fd18c141 qcacld-3.0: Fix null qdf_dev pointer in ramdump handler
Container_of returns invalid ol_ctx pointer which leads to a null
pointer of qdf_dev. Fix this by directly request qdf_dev pointer
from cds.

Change-Id: I08910bb798b7992d550c9e061eed04a9b6f140d1
CRs-Fixed: 1033518
2016-07-14 16:53:12 -07:00
Govind Singh
5b48620c03 qcacld-3.0: Add host changes for latest fw common changes
FW common files needs to be in sync with host and fw.
Add changes to compile successfully with latest version
of FW interface file.

Change-Id: I487a18185c406da5c2fb07e2a95cafe4793578aa
CRs-Fixed: 1012542
2016-07-08 06:12:10 -07:00
Yuanyuan Liu
8052806008 qcacld-3.0: Add NULL check for ol_ctx in bmi_download_firmware
ol_ctx is NULL by default if NO_BMI is defined. Hence, add NULL
check for ol_ctx in bmi_download_firmware so that this NULL pointer
could be handled properly in BMI and NO_BMI cases.

Change-Id: I17b6a7e266e41b1f9135bb81bf4329c1ae460862
CRs-Fixed: 1038414
2016-07-06 22:44:40 -07:00
Himanshu Agarwal
879a3bec5c qcacld-3.0: Add NULL checks before dereferencing
Add NULL checks before dereferencing in:
1) BMI layer
2) HTT layer
3) EPPING layer.

Change-Id: I9998d4aeb983dc101121a71d791d7ec626e3f5d4
CRs-Fixed: 1036390
2016-07-06 13:30:39 -07:00
Rajeev Kumar
769d982071 qcacld-3.0: Remove redundant spam logs from BMI
BMI is logging every read/write in driver log buffer which
is leading to driver buffer overrun. Remove redundant log
messages from BMI such that driver log buffer can store more
useful control path log messages.

Change-Id: I7e21a9199b42cdbc60c3207ecf9d705e0a151da8
CRs-Fixed: 1031927
2016-06-23 12:28:22 -07:00
Poddar, Siddarth
b61cf643e2 qcacld-3.0: Add hdd tx-rx apis for High Latency systems (Part 5 - HL Datapath)
Support per vdev tx desc pool in hdd and
for sending 802.11z action frames.
CRs-Fixed: 975526
Change-Id: Ic63e07abdabae9795bba6f76daa954235c894245
2016-06-23 12:27:58 -07:00
Manikandan Mohan
7579337abf qcacld-3.0: Fix compilation error in 4.4v Kernel
Fix compilation errors in Kernel 4.4 version.

Change-Id: I08ce390a7983cfe70b46a48d22d6cfde11dc4c30
CRs-fixed: 1026152
2016-06-14 14:28:50 -07:00
Poddar, Siddarth
ef1f30228f qcacld-3.0: Add firmware download support for sdio bus (Part 5 - HIF SDIO)
Add BMI and firmware download support for sdio bus platform.
Refactor fw and bmi download routines to get rid of compile
time bus specific macro.
Refactor allocation and free routines for high latency bus.

CRs-Fixed: 969334
Change-Id: I2c217891d0ca4b503e7388b3ebe2f787e8325af5
2016-06-14 14:27:55 -07:00
Govind Singh
d39315d8cb qcacld-3.0: Move SIGN_HEADER_MAGIC definition to BMI layer
FW common files needs to be in sync with host and fw.
SIGN_HEADER_MAGIC is not defined in fw common header files.
Abstract extra definition internal to host driver.

Change-Id: Ie902ca191617a6829c2cf3e6a45c3d170ae8d8c6
CRs-Fixed: 1012542
2016-06-06 18:45:18 -07:00
Yuanyuan Liu
6a313dcb16 qcacld-3.0: Get FW file names from PLD
Get FW file names from PLD.

CRs-Fixed: 1014363
Change-Id: I332cba76a3338eed27d37244bd9351ece99dcd97
2016-05-23 11:46:38 -07:00
Yuanyuan Liu
eaa6b6ef56 qcacld-3.0: BMI: Use PLD APIs
PLD is a interface between CLD and CNSS/ICNSS. It hides
CNSS/ICNSS APIs from CLD and provides a set of common APIs.
CLD modules should use these PLD APIs instead of calling
CNSS/ICNSS platform APIs.
Replace all CNSS/ICNSS APIs with PLD APIs in BMI.

CRs-Fixed: 1013853
Change-Id: I1e244ec9f9fd604a9b231b6ff1085f7b6b4bab22
2016-05-23 11:43:53 -07:00
Houston Hoffman
fff7b2333b qcacld-3.0: Use hif_hw_version for chip versions
Remove duplicate chip version #defines.

Change-Id: Ic869aefb0949eb03b9b359f35810e1ba43a19d80
CRs-Fixed: 1012824
2016-05-19 11:05:08 -07:00
Yuanyuan Liu
9a7ba50ddd qcacld-3.0: BMI: Clean up BMI unused code
Clean up bmi_2 related code. These code are hardware/platform
specific which is no longer supported.

CRs-Fixed: 1001252
Change-Id: I783f4a411044268d24ba660ce9f10dabe0cce8bf
2016-05-06 14:51:27 -07:00
Houston Hoffman
0cde9662a9 qcacld-3.0: Remove ifdefs from __ol_transfer_bin_file
__ol_transfer_bin_file is overly complex because of
the ifdefs.

Change-Id: Ie758476b94561d4d67b0fe051c5a72035f2df0ec
CRs-Fixed: 1010214
2016-05-04 21:19:26 -07:00
Houston Hoffman
ea4c79c012 qcacld-3.0: Remove ifdefs of QCA_SIGNED_SPLIT_BINARY_SUPPORT
Remove QCA_SIGNED_SPLIT_BINARY_SUPPORT ifdefs from __ol_transfer_bin_file
function body.

Change-Id: Ic801c5aa1e4019ec0e4ceca7b1818848aae0f365
CRs-Fixed: 1010214
2016-05-04 21:19:20 -07:00
Komal Seelam
9d774379a8 qcacld-3.0: Remove ol_target_status in ol layer
Move ol_target_status to hif and rename it hif_target_status

Change-Id: Ia9dcb5f5b0d416f930968957ce8a3166ca7056bc
CRs-Fixed: 998536
2016-05-04 21:19:07 -07:00
Houston Hoffman
371d4a9340 qcacld-3.0: Use qdf macro for epping mode
Use QDF macro to check if we are in epping mode.
Remove bit masks of epping configuration.

Change-Id: I454ef259dfcc4b7c7860a5adfda605837f4a89cc
CRs-Fixed: 1003792
2016-05-04 21:18:51 -07:00
Houston Hoffman
52ec669089 qcacld-3.0: Fix compilation errors for msmcobalt (2/2)
Fix compilation errors when building for msmcobalt.

Change-Id: I2e1d968e967f493fb927440777d1d01f7e3f66b0
CRs-Fixed: 1006068
2016-04-25 22:56:07 -07:00
Dhanashri Atre
12a0839cd6 qcacld-3.0: Data path changes to use converged APIs (Part 1)
Change the data path and external modules to use the new
converged common data path APIs.

Change-Id: Ifb48178efd012b6ad9ea6f6d5230d0a809922b1c
CRs-Fixed: 994638
2016-04-01 15:46:10 -07:00
Houston Hoffman
e3846e4b48 qcacld-3.0: Remove ifdef HIF_PCI from ol_fw
The target defs need to be protected by a chip specific flag if
at all.  A bus flag is too generic.

Change-Id: I631b9686b69dcba0a47bf10bccf7f94ac3a4bd9c
CRs-Fixed: 986480
2016-03-24 11:58:52 -07:00
Houston Hoffman
9a547dc0bc qcacld-3.0: Skip bmi and ramdump at runtime
Need to support SNOC and PCI dynamically.
Core BSP code is responsible for SNOC firmware
loading and crash dumps.

Change-Id: Ia16076809f2b74be6f32ad5015b79b1fe2c13ca3
CRs-Fixed: 986480
2016-03-24 11:58:36 -07:00
Anurag Chouhan
f04e84f24a qcacld-3.0: Add qdf references in place of cdf
Replace CDF references with QDF references.

Change-Id: Ifb4571174719b5fce61dd305545d05628265f317
CRs-Fixed: 981188
2016-03-24 11:58:26 -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
df2b26883d qcacld-3.0: Fix compilation issues after rebase
Remove the compilation issues for references to cdf after rebase

Change-Id: Ia39c5c72fe5c95f9a91d5f6967ea60904b46f756
CRs-Fixed: 981188
2016-03-24 11:58:14 -07:00
Anurag Chouhan
b2dc16fefe qcacld-3.0: Add QDF trace API's
Replace CDF trace API's with QDF trace API's.

Change-Id: I5b99dce73297f7de8f0755fa0b47dc3f84c78747
CRs-Fixed: 981188
2016-03-24 11:58:11 -07:00
Anurag Chouhan
c554842327 qcacld-3.0: Add QDF utils
Replace CDF utils with QDF utils.

Change-Id: Ib6b3ad56b3268b1be438f3204f91d995f8bb3900
CRs-Fixed: 981188
2016-03-24 11:58:03 -07:00
Anurag Chouhan
a37b5b783a qcacld-3.0: Add QDF lock API's
Replace CDF lock API's with QDF lock API's.

Change-Id: I7c4a59920e17915f077c87457c513e763738c062
CRs-Fixed: 981188
2016-03-24 11:57:57 -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
Anurag Chouhan
fb54ab0eac qcacld-3.0: Add QDF status
Replace CDF status with QDF status

Change-Id: I7170c8ae4c5bd97a8f0f383af637bb2ec312f082
CRs-Fixed: 981188
2016-03-24 11:57:39 -07:00
Komal Seelam
3d20286183 qcacld-3.0: Make hif_opaque_softc as global HIF Context
Rename ol_softc to hif_opaque_softc.

Change-Id: I48f6e4b6eb04ccfa2050cca052e1ad67a66e3479
CRs-Fixed: 967765
2016-03-23 13:45:10 -07:00
Komal Seelam
ec702b0afb qcacld-3.0: Create ini config structures for each modules
Update ini configuration parameters for each modules in the driver

Change-Id: I00b1f2a9690060a15854ad84d819e9b883e95c41
CRs-Fixed: 967765
2016-03-23 13:45:09 -07:00
Komal Seelam
9ef9458c04 qcacld-3.0: Create BMI info structures for BMI Phase
BMI info is needed during BMI Phase. The structure holds
the physical address and virtual address of Command and response
of BMI buffer.

Change-Id: I97e8dad2ccba1352677cdf37e2f62204128d4b06
CRs-Fixed: 967765
2016-03-23 13:45:09 -07:00