If MHI force wake get returns failure, it means MHI force wake
put has already been done. Add checks to avoid double calling.
Change-Id: I14f8cef5e6736130e76c287748d7ce3ff0023505
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Retry a few times if PCI link training fails to avoid device side is
not ready in time.
Change-Id: Icd88673b19a4d6f877f597d1c636438f932f85a7
Signed-off-by: Yue Ma <yuem@codeaurora.org>
With LTO, modules with a large number of compilation units maybe end
up exceeding the for loop argument list in the shell. Reduce the
probability for this happening by including only the modules that have
exported symbols.
Bug: 150234396
Change-Id: I4a289aff47e1444aca28d1bd00b125628f39bcd5
Suggested-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Git-commit: 1245167
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
Compilation fails on !SMP systems due to scheduler trace points.
Fix the issue by making them available only on SMP system.
Change-Id: Idedf12b6b0bb486184f06a8e9972bae677d9bc97
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Enable runtime power-management with an idle time of 3seconds.
Change-Id: I0716a5eca20e24cc626422b6f7f3d8f0242a50d2
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Can Guo <cang@codeaurora.org>
Enable the shima pinctrl driver for the functioning of
Top Level Mode Multiplexer block (TLMM) on Shima SoC.
Change-Id: Icc5c058035e0d208ae8f98b5e508c766c41c9330
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
Add support for shima pin configuration and control
via pinctrl framework.
Change-Id: I0357030580fd8141656280ee80aff00c31210883
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
While setting up route for a particular device, compare
stream name of CPU DAI and Backend DAI to find the correct
Backend DAI.
Change-Id: Ic3f7c0e5b2a1055e7fdf52c78ded797a9a126d03
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
WLAN driver can use the APIs to control if PCIe can enter L1 and
L1ss states.
Change-Id: Iad784b1ca66199ad61c471635a67542afd34480e
Signed-off-by: Yue Ma <yuem@codeaurora.org>
PCIe will vote for maximum CX and rate change during DRV resume.
Scale CX and rate change based on final GEN speed after PCIe
regains control.
Change-Id: I004f4bba6ca12944cd48fd56fa5a1290867c82a9
Signed-off-by: Tony Truong <truong@codeaurora.org>
Provide clients an API to exit and prevent the link from active
state power management (ASPM) L1. Also, give clients the
control to allow the link to enter ASPM L1.
Change-Id: Iedabb4eed51adb981f0eb1f204b468e7b7fbc678
Signed-off-by: Tony Truong <truong@codeaurora.org>
WLAN driver has its own watchdog timer for idle restart, so
extend idle restart timeout in platform driver to avoid timing
out before WLAN driver.
Change-Id: I4bab19fce7b30c59e9ecc0f0a8923a3693fdec12
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Current fastRPC code is synchronous, where invocation to DSP
waits until DSP responds to CPU. With asynchronous fastRPC
support, fastRPC invocation queues asynchronous job to DSP
and returned to the user. User can queue in multiple
asynchronous jobs to DSP without actually waiting for the
response. Reponses from DSP delivered through callback or
can be polled for the job.
Change-Id: Ib78534b8f1775461aa4562112d099abd5c169348
Signed-off-by: Anirudh Raghavendra <araghave@codeaurora.org>
Signed-off-by: Himateja Reddy <hmreddy@codeaurora.org>
Check if reboot is in progress at the beginning of idle restart in
order to avoid it completely. Also check if reboot is in progress
after wait_for_completion since the event can be completed in the same
context of reboot notification and it needs to return failure for such
cases to caller to avoid other issues.
Change-Id: Iff250df5971ca4c9b885f52250547e2b45d89ac3
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Add sysfs entry '/sys/kernel/shutdown_wlan/shutdown'.
When system is shutting down or rebooting, this entry will be
written so that drvier can be notified and handle it properly.
Change-Id: I2537a2893f8787ff7c9d33608ef6c42075c3d128
Signed-off-by: Yu Wang <yyuwang@codeaurora.org>
Signed-off-by: Yue Ma <yuem@codeaurora.org>
After device power on and link config, clear VDD4BLOW_EN bit
of WLAON_QFPROM_PWR_CTRL_REG register to disable OTP write.
Before device link suspend and power off, clear VDD4BLOW_EN bit
and set SHUTDOWN_EN bit. Also add a 1ms sleep after writing
WLAON_QFPROM_PWR_CTRL_REG register.
Add a DTSI entry to control above operations.
Change-Id: Icb307a85bb5d283b78bdd7615f9a4757867c8075
CRs-Fixed: 2601850
Signed-off-by: Yue Ma <yuem@codeaurora.org>
The cnss pm runtime APIs will be bypassed if the RPM is not enabled.
Change-Id: I41bbf30e1f12426670606b90a88e3af4d0840c9c
Signed-off-by: Tiger Yu <tfyu@codeaurora.org>
To make sure WLAN MAC address has already been well
configured in firmware before switching to mission mode,
send QMI message to WLAN firmware to query the current
MAC status, and wait for 10 seconds at most if it's not
ready.
A new DTS property 'use-nv-mac' is also added:
if 'use-nv-mac' is defined in WLAN dts node, the MAC
checking will be performed; otherwise, it won't.
Change-Id: I1e751d84fb304cb95ea0f989f6939bc7ba5a3ecc
Signed-off-by: Yu Wang <yyuwang@codeaurora.org>