sw_index is updated based DATA_CE_SW_INDEX_UPDATE_SKIP compile time flag.
If DATA_CE_SW_INDEX_UPDATE_SKIP is enabled software has to take care of
sw_index updation. Otherwise it will be read through register
Change-Id: I994e04cf08170441eba034a747e6224ec4c8370e
CRs-Fixed: 1072217
propagation from qcacld-2.0 to qcacmn.
PCIe link training failure will not be indicated to cnss client driver
as a link down indication.
In System/Runtime PM resume callbacks, client driver will access the target
registers results in L2 errors.
Fix it by ensuring the PCIe link resume training is completed by reading
config space device-id.
Change-Id: I8be902330215cf3c8cb0700e6f0da5b69e274c96
CRs-Fixed: 1052965
SRNG based target uses SRNG(Standard Ring) interface to implement all
the ring related access functions. This change provides CE services to
use interact with SRNG for CE access. It uses hal_srng module for HW
related access. It implements src ring using SRNG src ring and
destination ring using dest and status ring.
fastpath and batch send is not implemented as these are not applicable
to this target
Change-Id: I3e2b613004a08d669319f956d7b0656447eb8521
CRs-Fixed: 1042915
This change is applicable to Hawkeye VP bringup. It is added under
QCA_WIFI_QCA8074_VP flag
Change-Id: Ief32afebf2a306425e33e4ebc56351f10c609198
CRs-Fixed: 1063252
Instead of checking target type, check bus type for skipping soc-sleep
durring driver load code. Also enhance comments to explain why
hif_pci_target_sleep_state_adjust is called instead of
hif_target_sleep_state_adjust for the disable soc-sleep
durring driver load feature
Change-Id: I891e1b1782b46b32c1718e2c539215282e090bad
Moving global variables host_ce_config and target_ce_config to
per radio structure.
Change-Id: Iaaee722af16812e06aae068f0fa0092cf5c8f78a
CRs-Fixed: 1042915
Address compilation issues for WIN with new Lithium Firmware headers.
Also removed dependency on htt.h from header files, which may need to
add explicit dependency on htt.h in .c files.
Change-Id: Ia5027963837e645bc3f81a3db98c2ea06789aea8
CRs-Fixed: 1061096
Add CPU cluster management functionality. On low throughput,
the system works as normal. On high throughput, the driver gets
control of WLAN datapath interrupts and disperses them on different
CPUs and pegs them to maximize performance. Add init code, topology
table construction and hotplugin notifiers.
Change-Id: I247edb57003797ed6a04f70d15067072e22c2396
CRs-Fixed: 1065477
Propagation from qcacld-2.0 to qcacmn.
Add NULL check for HIF device structure in hif_enable_func before
dereferencing it.
Change-Id: I535d5138c2247b4b9acdf63211f30a57a1d3116f
CRs-Fixed: 1055684
Propagation from qcacld-2.0 to qcacmn.
Add sanity check to avoid NULL pointer dereferencing of tx
completion handler callback in hif_send_buffer_cleanup_on_pipe.
Change-Id: If38b4b7cdd1154d8272e5150c6653f90df8f4b5e
CRs-Fixed: 1057490
Check for valid nbytes values before posting descriptors
to copy engines when sending messages to FW in slub builds.
Change-Id: I6996aa5dc607be60c2434f04cd6b3249bc7df415
CRs-Fixed: 1060096
The sw_index was being recorded in the FAST_TX_SOFTWARE_INDEX_UPDATE
event leading to confusing descriptor history.
Change-Id: I1f2084296f25faf00c30370f47c4d29fb258c90b
CRs-Fixed: 1060098
Firmware crashed when it ran out of buffers. Increasing
the descriptor ring size for firmware and host on CE2
at firmwares request.
Change-Id: I602bc896dcd76b3184f922a3ac961a4433585374
CRs-Fixed: 1061291
To derive hif_ctx from napi pointer. This changes helps enable napi support
for WIN driver.
Change-Id: Idcb0775195665d60d4b1a9a010afcfab256d839f
Acked-by: Balamurugan Mahalingam <bmahalin@codeaurora.org>
Currently, the interrupt handler does not check for the correct ce_id
before triggering a fake apps resume. This check is added to
hif_fake_apps_resume().
Change-Id: I810c59bb8536356bd87a394c815a294755aa5161
CRs-Fixed: 1061287
Release the iomem requested during the cleanup path.
Successive request to iomem resource fails,
if the ioremapped region is not released
during the last cleanup
Change-Id: Icc88647df8d21f9f230b784faa8e7fdaf5968814
Acked-by: Balamurugan Mahalingam <bmahalin@codeaurora.org>
CRs-Fixed: 1056971
Disabling the interrupts and setting them as wakeup sources does
not work as expected. The pending interrupt gets trapped in sw
and kernel does not check for it before finishing the suspend.
Instead, use the suspend_noirq callback to guarantee that
wakeup messages don't get processed without rejecting the suspend.
Change-Id: I5ec5ce2a7e1b14c3d8477fe7aa0372c9ffd4dc0d
CRs-Fixed: 1060880
Unmap a previously mapped buffer if host fails to en-queue
buffer to CE destination ring.
Propagation from qcacld-2.0 to qcacmn.
Change-Id: If23398b01124638cfb266f5755fc9e45d3969ac9
CRs-Fixed: 1033307
IRQ wake up is happening as expected so reduce WLAN CE 2
IRQ wake up request log to info level to avoid logging it
every time on console.
Change-Id: I9838c80d5133b3f872b1129e41d4f722ba57b011
CRs-Fixed: 1059081
Need to ensure that that the wakeup message gets processed
deterministically (before the return of hif_bus_suspend,
or after the message has woken up the apps.)
In another change, the driver will check for the wakeup message
after hif_bus_suspend completes and reject the suspend if it
has allready recieve the wakeup message. In conjunction with
this change the host will not be able to accidentally process
and discard the wakeup message.
Change-Id: I6d487a00dcfd40a665d3be03697f3a7cfc815203
CRs-Fixed: 1051968
Need to register the device as a wakeup source and configure
the corect interrupt as a wakeup source for the snoc bus.
Change-Id: I2afcd69a8308183e141d7560a225a3b48d0e9f55
CRs-Fixed: 1051968
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 HIF.
CRs-Fixed: 1010692
Change-Id: I4018a4b7e08179f9c65a19fde61727228e876762
Because the register values were not defined in the target defs table,
The values were defaulting to 0 or missing. The code to write to these
registers checks if they exist before trying to write to them. Without
these registers defined, the base addresses of the dma rings would be
truncated to 32 bits.
Change-Id: Iabb49df50c2452522b6da30154e4d7d7221e22ac
CRs-Fixed: 1049424
Q_TARGET_ACCESS return value check was incorrect.
Fixed to match usage in the rest of the driver.
Change-Id: I73631536c9670edcb5014f3e850985dfc6fc4d16
CRs-Fixed: 1046067
WLAN suspend/resume feature has tight dependency on APPS platform
suspend/resume support. On new targets APPS suspend/resume is not
supported until target is feature complete. In absence of APPS
suspend/resume support testing WLAN offload features become
difficult. Add unit test framework to test WLAN suspend/resume
features using private IOCTL command by simulating APPS
suspend/resume behaviour.
Trigger WLAN suspend:
iwpriv wlan0 wlan_suspend 0 0
To resume WLAN run a ping test from access point side and very 1st
ping request unicast packet should trigger wake up.
If FW is not waking up APPS then use below command to do a manual
wake up:
Trigger WLAN resume:
iwpriv wlan0 wlan_resume 0 0
This framework is only for SNOC platform.
Change-Id: I177a0047f460aa2a305a9e4e46fbfaa94a81dced
CRs-Fixed: 1042205
Fixing 32 bit compliation issues due to improper type
casting and shift operation.
CRs-Fixed: 1043823
Change-Id: I2c05a0c0940c5d65c40aefdc80dc2888fbe87be1
FW common files needs to be in sync with host and fw.
There are duplicate definition of target attach API when
latest copy of fw common files are used.
Remove duplicate definition of target attach from hif layer.
Change-Id: Ie4a80ba07bc3ec2d9d1466c32062c373c9759a94
CRs-Fixed: 1012542
Refer to runtime_pm_delay inside the config_info structure.
The member was moved inside a config_info structure to cleanup
hif_softc.
Change-Id: I45b54ef2323eb635bb110ece381d5c806a0a4627
CRs-Fixed: 1035562
With the converged code swfit has issues in bringup.
Below changes are done to make it work.
1 Target type checks for AR9887/AR9888 corrected.
2 Added new reg write to wake the chip after enabling
interrupts
Change-Id: Ib17d03cb4f0699d8d2270340b2c8a4002f0b31d0
CRs-Fixed: 1035003
For AP based chisets made host to taget HTT
ce descriptos to be allocated as 4098
Change-Id: I3f74aef9fc99e383481c1a8c3e7710761d9cf106
CRs-Fixed: 1035019
Implicit declarion warnings are errors in MCL builds.
WIN uses the AHB bus and warnings are not errors in WIN.
This change fixes the warnings associated with AHB bus
Change-Id: I6bd7dba4267c9dad77535b8cb28d15e230773fa5
CRs-Fixed: 1033493
Change the log level to info. Remove repeated log messages.
Remove extra \n from many hif log prints
Change-Id: Ie3d254888f0a0d37e0bc0c81c6186cb172e882c8
CRs-Fixed: 1026520