hif_bus_prevent_linkdown() calls to cnss_wlan_pm_control(), which
is only defined when CONFIG_PCI_MSM is enabled, fix the conditional
compilation.
Also fix a typo of RUNTIME_PM to FEATURE_RUNTIME_PM.
Change-Id: I9d4cd65ee0020ca1b41d026c3124317ce854ea92
CRs-fixed: 966771
Remove direct call to CE debug routine from ol_fw
and hif main layer. Abstract the bus debug dump
register routines to respective hif-bus layer.
CRs-Fixed: 964031
Change-Id: I8b6f325f12aaa99e4f7461f9da26b7f60259c8f8
hif_claim_device does not serve a purpose in copy engine.
The usage and implementation of hif_claim_device need to be
reexamined for sdio and usb. It should not store the device
in a ce specific data structure.
Change-Id: I0847e152ae3a1ca57d5c6937d6929918063cc362
CRs-Fixed: 967244
Rename API cds_is_load_unload_in_progress() to
cds_is_load_or_unload_in_progress() for clarity purpose.
Change-Id: I209c661ccee760f822d5df53577d822f3c741b37
CRs-Fixed: 964217
Keep track of how many times supesend resume succeeds and fails
also mark last busy on a failed runtime suspend or a successful
runtime resume.
Change-Id: I04df805429e3a9ce91bc3d7f27bfd598396257c9
CRs-Fixed: 935300
hif runtime suspend resume is identical to a regular bus suspend
resume, but provide a different api just in case this changes.
Change-Id: If069df7733d6a1ebe38d356ac5bdd4e2a250118b
CRs-Fixed: 935300
Runtime pm opperations will be initiated in hdd, so hdd
needs an api to updated the runtime_pm state.
Change-Id: I783fc136777a56d8ea23f8b11617ebe92641221a
CRs-Fixed: 935300
Hif needs to guarantee that it frees the buffers that it doesn't
pass to upper layers.
Change-Id: I816d0a1b19a5a0c00e9669c18dfdf427c102c911
CRs-Fixed: 958124
This flag supports depricated emulation hardware.
Remove conditionally compiled code and dummy functions
that become unused as a result.
Change-Id: Ie21df7e39b196109acfb6b41afc6b8c22fecb822
CRs-Fixed: 958120
Driver state of loading, unloading, logp are maintained in
multiple modules like HDD, CDS. Change to maintain the driver
state in CDS and provide CDS APIs to find out the state of the
driver so that any of the module can query it.
Also rename the logp to recovery in progress for clarity purpose.
Change-Id: I8e1864e1bc7f3b1dd6f4eb804ce2578c6695967d
CRs-fixed: 958659
FW needs the debug mode from WLAN INI file. After parsing INI file,
WLAN driver passes the mode value to platform driver, which uses
QMI message to exchange information with FW.
Change-Id: Ifd01b18bcfafad2344196d80ab17c605cca35972
CRs-Fixed: 942237
qcacld-2.0 to qcacld-3.0 propagation
We suspect that the firmware indicator interrupt is being dropped when
the firmware indicator interrupt is disabled. Check the firmware indicator
after reenabling the firmware indicator interrupt.
Change-Id: I600bd9dfae99ab96dfaf7e3448cef9128f8b7357
CRs-Fixed: 925315
Initialization of completion_freeq_lock was removed as part of
removing the completion thread. The lock still protects the
variable num_sends_allowed for copy engines used for sending.
Change-Id: Ia52d2c1b839d2ccfedbd175f1b8f60f953d08203
CRs-Fixed: 951563
Since the wmi tx copy engine's completions can be
processed in both its tasklet context and through
ce_per_engine_servicereap on a polled basis, we
wish to be able to distinguish the when each is used.
Change-Id: I5892eeeab4e1c7e4c35b958d98db7ad0293ec24f
CRs-Fixed: 951569
Record CE interrupt in CE event history since the interrupts
may come separately for the different interrupts.
Change-Id: I269a103054d3ab2015d67370c43f4af598871b8d
CRs-Fixed: 951569
qcacld-2.0 to qcacld-3.0 propagation
Record when descriptors are posted to or completed by the copy engine
in SLUB_DEBUG builds.
Change-Id: I78ee028a7a61ffd253092cbb530ce9ec2e5022d3
CRs-Fixed: 938120
We already know kernel version is more than equal to 3.10.
So remove static checks for any previous kernel.
Change-Id: I4e17614fae47782a02dd528c7b4adf3d2802ec69
CRs-Fixed: 920681
Since management frames have been added to the wmi pipe,
the wmi pipe may fill up before the driver schedules the
tx completion processing.
Make tx completion processing use the DDR ce index to
avoid register access durring reaping.
Change-Id: I213aa0274d3c66e583bcdb700ced1133c2c30ebc
CRs-Fixed: 945831
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
Target_lock was a global lock for all target and copy engine data
structure access. Replacing target_lock with a per copy engine
lock permits paralel completion handling for different copy engines.
Change-Id: I9c09d557c85f9e48beafe5e3f936e105183ddd3f
CRs-Fixed: 941355
This is called by the platform driver in case of kernel panic.
Replacement syncronization might be needed here if the kernel
panic doesn't stop the other host cpus before the platform driver
calls this.
Change-Id: Ic6d4eb1cb08f6363029463994ec7e3837212e271
CRs-Fixed: 941355
If watermarks are going to be used, the should be set as part of a
single threaded initialization sequence.
Change-Id: I3e1e9cd0f55f46d9f46718c139963931311fe8ae
CRs-Fixed: 941355
No other thread should modify the copy engine indexes while we
are cleaning up the data structures.
Change-Id: I324286c3a8eed24ddd94aa868dbaac425cc30dbf
CRs-Fixed: 941355
Remove ce_disable_any_copy_compl_intr and
ce_enable_any_copy_compl_intr since they aren't
used and give a false sense of thread safety.
Modifying copy complete interrupt currently needs
to be synchronized with completion handling.
Change-Id: Ieb27a8c71363ebd56f16eda9e1037a161a5eeb62
CRs-Fixed: 941355
Send and recv callback registration currently occurs durring init
and after bmi download is complete. In either case no transactions
are in progress and no race condition can exist.
Similarly watermark callback registration would happen at the same time
if it were used.
Change-Id: Ia77bf30fb3bcefa500465cea9ad9927990bb7ced
CRs-Fixed: 941355
Download length should be set before messages are recieved, so
no race condition should exist.
Change-Id: I92de4b3c4077f23032df45ceca6e169616351b8b
CRs-Fixed: 941355
FW is asserted, dont service the messages. The hif completion
thread used to prevent processing of messages when firmware crashed.
Change-Id: I42a5a285056e989d302e766f2922bb7c114634dc
CRs-Fixed: 941358
ce_enable_msi should happen before interupts are enabled. Therefore
we should be single threaded here and don't need to protect access
with a spin lock.
Change-Id: I24feec02003bdb402201d71d1cd5254dacae0b72
CRs-Fixed: 941355
ce_init should happen before interupts are enabled. Therefore
we should be single threaded here and don't need to protect access
with a spin lock.
Change-Id: I5e1cfd32860eeda8a403744cf1589e35c57ee6df
CRs-Fixed: 941355
We want to process the completions in parallel.
Upper layer should take care of its own thread safety.
hif_completion_thread is a legacy function that does in
context serialization of hif completions. Bypass it.
Change-Id: I7953545b55dae093931741359bbf985e2fb9faca
CRs-Fixed: 941358
Propagation from qcacld-2.0 to qcacld-3.0
- Current AGC registers dump logic is not correct and its not
reading correct target registers
- Add correct AGC register read recipe to read correct AGC data
- Wake up SoC before reading any target register
Change-Id: I38016f91bf3d124e93e304522058e97daa711f4a
CRs-Fixed: 911554
Some of these are very remote scenarios (like HIF not being
initialized at the time of the calls, which could then
dereference a NULL pointer). There are a few cases of looping
beyond boundaries.
The scope of this update is limited to NAPI related code.
Change-Id: I60229406d5ab514d5465ef2569324d3d4eb430d4
CRs-Fixed: 938253
We want to process the completions in parallel.
Upper layer should take care of its own thread safety.
hif_completion_thread is a legacy function that does in
context serialization of hif completions. Bypass it.
Change-Id: I73b8518d87645d827814cd1345eb68370de30d1f
CRs-Fixed: 941358