Logging macros already print function name by default,
there is no need to print the function name again as part of the log.
Hence, remove the function name or
wherever required use '"%s...", __func__'
Change-Id: Ib6dc6cc03ef148146b1c626271d5ac3b7345c4bb
CRs-Fixed: 2312593
Remaining may be greater than its original value when
(remaining & 0x3)!=0, then OOB occurs when memcpy.To address
this, align the remaining after doing memcpy.
Change-Id: I3e39a791a76a272e82beb6561375e26ca84ec0f4
CRs-Fixed: 2259721
Do not tie up names with mailbox.
This results from SDIO HIF refactoring.
See qcacmn: I12bdf8b07350411093ba35071411525a8333cf93
Change-Id: I99184fbfc95a601f09dba5891098c35d5aa794c5
CRs-Fixed: 2252448
Address the following issues in the core/bmi folder:
CHECK: 'Defintions' may be misspelled - perhaps 'Definitions'?
CHECK: 'initilization' may be misspelled - perhaps 'initialization'?
Change-Id: I649b42e30e10e51c2c734d909a8c9ab2811b9421
CRs-Fixed: 2241939
This reverts Change-Id: I2a4980b6cd4b689da07c34f2acdfaafbbb0715bb.
This change set driver unload state before unload work is scheduled,
which causes async between platform driver and wlan host driver.
Change-Id: Ieaf1cf0a257f69bf8958085c48d9020f1b5ec610
CRs-Fixed: 2124953
Fw assert and unloading can occur at same moment, there is no need
to recover if wlan unloading is ongoing, so skip notifying SSR framework
in such case.
Change-Id: I2176d1505e8e358f4436277e4d0b706923596f27
CRs-Fixed: 2087634
Add ini param 'gtsf_ptp_options' to control
PTP options, it's a bitmap:
bit0 - PTP_OPT_RX(0x1)
set this bit to enable RX time stamping
bit1 - PTP_OPT_TX(0x2)
set this bit to enable TX time stamping
bit2 - PTP_OPT_RAW(0x4)
set this bit to use raw time as timestamp
bit3 - TSF_DBG_FS(0x8)
set this bit to add device attriubte 'tsf' for iface
The default value of gtsf_ptp_options is 0xf
Propagated from qcacld-2.0.
Change-Id: Ie53d503bdd2e85790502583a238ee138f4bcf6c6
CRs-Fixed: 2079466
qcacld-2.0 to qcacld-3.0 propagation
The board data file is selected based on the board id returned
by executing otp binary.
Based on the chip id and the board id, select the appropriate
board data file and download.
The board data file selection is as follows:
Mission mode: bdwlan<chip_id>.b<board_id>
Factory mode: utfbd<chip_id>.b<board_id>
If the auto board data files are not present in the filesystem,
then download the default board data file i.e bdwlan<chip_id>.bin
Change-Id: I26c3eb377513d2c4439eddc4e5dc75eba66c78f4
CRs-Fixed: 805800
qcacld-2.0 to qcacld-3.0 propagation
Cleanup target dump code and add support to dump IRAM region
for different platforms. Update the Target Memory Region for
different platforms.
Change-Id: Ie29fb62e0f1bc279311f77400e8be490ccf987a4
CRs-Fixed: 2088394
In function ol_configure_target cap is used uninitialized when call
pld_get_platform_cap fail, although pld_get_bus_type and
hif_get_bus_type return same bus type, so actually it has no issue here,
but it look not clear here, init it explicitly.
Change-Id: I001956521c62c14b3537b399bbca1791b274a4c7
CRs-Fixed: 2115553
Currently cds_alloc_context() & cds_free_context() take a CDS context
parameter. However CDS already maintains its own context, hence this
parameter introduces an unnecessary coupling, so remove it.
Change-Id: I4501a0fea7acc7b4a764b0d425da386922b93bcb
CRs-Fixed: 2109265
When FW support SDIO_REDUCE_TX_COMPL_FW_ACK feature, WLAN host can
enable tx_free_at_download feature to increase efficiency further.
CRs-Fixed: 2078825
Change-Id: I542e51254ca5c0a6c51f7479e0cc1cdb12a077fa
qcacld-2.0 to qcacld-3.0 propagation
Currently for SDIO implementation, tx comp indication is
suppressed and tx_desc is freed when htt download is done.
This leads to invalid tx_desc being referenced when pktlog
indication handler wants to collect TX-ed tx_desc information.
Fix consists of two parts:
1. When pktlog is enabled in ini, enable tx comp indication
handler just like PCIe and USB. tx_desc is still valid when
pktlog indication comes.
2. Check vdev pointer embedded in tx_desc structure. vdev
pointer is set when tx_desc is allocated and set to NULL when
tx_desc is freed. This guards against invalid tx_desc_id
from firmware.
Note that performance drops should be expected when
pktlog is enabled on HL platforms.
Change-Id: Iba9b8323b4a6e2ae17e36768bda3511f52236a2c
CRs-Fixed: 2034996
Skip FW memory dump in SSR case for HL SDIO solution.
HL SDIO uses the diag read API to read by 4 bytes,
which is too slow to meet SSR time requirement.
Change-Id: Iacde90ab0ec84f29f3744bf4497ec8fd8517600a
CRs-Fixed: 2071329
Get tx/rx tsf time for each msdu, and then
time stamp the msdu with the corresponding
host time.
Change-Id: I7af80318b60c28d53e95fbe545e82da4191544b6
CRs-Fixed: 2057693
Gcc 6 introduces some stricter checking for indentation,
causing warnings of misleading-indentation, which are
treated as build errors when drivers are compiled.
Fix all the identation warnings under qcacld-3.0.
Change-Id: Ie197761cfe4334ab14d593adebc56375372ba37c
CRs-Fixed: 2058158
Add below changes to support SSR within SSR,
1.Add new driver state, CDS_DRIVER_STATE_BAD, which will be set
on re-init failure and reset on re-init success and if this
state is set, don't allow any north-bound calls.
2.Don't de-register wiphy/netdev on re-init failure.
3.BUG_ON if re-init or probe fails successively for two times.
4.During driver unload, don't wait for SSR to be completed.
Change-Id: Id05a3e4b592664c9b56c7dd83b965b973f1d5ca5
CRs-Fixed: 2037628
For TF sdio chip with platform driver, ramdump is
configured in platform driver. Driver can get the
virtual memory, but it can't call ioremap again.
If there is a platform driver, ramdump should be
allocated in platform driver, and if there is no
platform driver, ramdump should be allocated in
driver.
CRs-Fixed: 2066529
Change-Id: Ia2a32a4895f354e365522a30bbfac949ccb7a391
Currently in function ol_copy_ramdump dynamically allocated memory
is not freed before return in error condition. In this change free
memory before return.
Change-Id: Ie75d69a1716c3598e0123064a6ee522076748f7d
CRs-Fixed: 2044460
When FW assert happen, it won't do FW dump
if the bus type is SDIO.
Enable FW dump for SDIO target
Change-Id: I24655ca74003c915d9eda1106aad7cf87856947e
CRs-Fixed: 2010613
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
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
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
Replace policy manager header file include as part of policy manager
moving to host common.
Change-Id: Ie1f9d6675cc373c3325c9e76514f48299932cdda
CRs-Fixed: 2009818
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
Swith to new recovery APIs with dev instance and recovery reason.
As recovery could have different mode and be target specific.
Change-Id: I26a1a2a0d23a687a5babcaf4ba4e5c6e788fedac
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
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
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
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
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
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
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
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
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)
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
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