At times, the device can abruptly reset due to power rail or
other related issues which can manifest as a linkdown on the
host. As linkdown recovery mechanism is put in place, it would
be helpful to understand why a set of ramdumps was not collected
in these abrupt reset cases. Hence, it is wise to add a print
message to check whether the device has reset to PBL and make
the users aware.
Change-Id: I545a5b87461b05ea436e383fddd2a8d037a8389d
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Add the support to recover PCIe link after link down so that it can
try to collect firmware RAM dump to debug.
Change-Id: I227373b2285b3ea415a315ace7db907c477297e8
Signed-off-by: Yue Ma <yuem@codeaurora.org>
BME should be enabled after config space has been restored. Make
sure that the default config space saved which is restored during
PCIe link down recovery doesn't have BME enabled.
Change-Id: I227d09620128cbb3232f63a026bc6eb789a0b70c
Signed-off-by: Yue Ma <yuem@codeaurora.org>
In case PCIe endpoint driver infers link down because of
completion timeout for config space access or if link fails
to enumerate, ep driver can request to handle the link down.
This allows to stream line the link down notification to ep
driver to initiate recovery operation.
Change-Id: I652e60e570c1e90c9f96d1c197e4b5501cd60a1e
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Pages that are swapped out are pages that can reside in the movable
zone. However, when they are swapped in, they are restricted to the
normal zone, when they can reside in the movable zone again. Set the
GFP flags accordingly for swapin allocations, so that they can be
satisfied from the movable zone.
Change-Id: I25919034a5197a1c4f830e498d32347aa460187f
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
For the hotplug case there is chance that RIMPS timer being
programmed even if the last core in the domain is going down.
Consider online state of cpu's to fix this.
Change-Id: Id2bdd99c0e93ea67d5c9a1ae77fa033f004809c9
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
Enable Uclamp for Holi, which is replacement of STUNE.
Change-Id: Ie89b57b244bc818759e63b320d9f015dba5255ec
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
There is a possibility of cx gdsc off timeout when stall on fault
is enabled. smmu fault handler is blocked on device mutex to keep
cx vote and dispatcher trying to turn it off for recovery. To avoid
this race condition, return from fault handler when there is contention
for device mutex.
Change-Id: Ia895152f8cf1ce9bdcfecf256558ba291dabc978
Signed-off-by: gkiranku <gkiranku@codeaurora.org>
QUPv3 controller supports different modes of data transfers for SPI.
Add support to choose only fifo mode for data transfers. Currently
SSC DMA path is broken as agnoc is not enabled. This clk is owned by
SLPI, once SLPI change is mainlined we can use DMA mode for SSC QUP
also.
Change-Id: Ie4c67be29adba9d6c5a5bb1b9eb2161a2b384100
Signed-off-by: Ashish Kori <akori@codeaurora.org>
Avoid using fastrpc ctx after sending rpmsg since it may get
free during async session. During async fastrpc session there
is race condition where after sending rpmsg the ctx could be
free from async query thread.
Change-Id: I5738163096e429f19bd9b495699a1897083737b3
Signed-off-by: Edgar Flores <edgarf@codeaurora.org>
To allow the Secure VM to function similarly to the
primary VM during a panic, the panic timeout and panic
on oops configs need to be set the same way they are set
in the generic GKI configs. Currently this is not set so
the default is 0, meaning that during a panic the watchdog
becomes disabled and the system does not reboot.
Change-Id: Ib92df399da28cd8a39ad7d972fcc56fa2ad0f46a
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
This driver takes advantage of the watchdog api in
the hypervisor through the use of ARM SMCCC calls.
It allows for communication between the watchdog
code in the kernel, and the watchdog api in the
hypervisor.
Change-Id: I9406f066fb9fd1b808a4b52a328b0c6c8185238e
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Refactor the soc watchdog driver to use the
qcom watchdog framework.
Change-Id: I12a6afff4299bb39cacca27bcf483e08a503add0
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Separate core watchdog functionality from the qcom watchdog
driver to create a framework for other qcom watchdogs. This
will reduce the duplication of code for future watchdog
drivers and allow them to take advantage of this framework.
Change-Id: I1234af9d92de6841bd09157042a4fbba1745f11b
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Refactor watchdog core to remove the bark percpu
interrupt as it is deprecated and no longer used
by the watchdog.
Change-Id: Idbd959a7b42895d72f4f812057304687f7aca948
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Refactor watchdog core to remove unused member
variables in the watchdog data structure.
Change-Id: I3a83fdb291064f25721549a3fe70f97629c148b4
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Refactor watchdog core to remove dead code. Specifically,
the slack variables from the watchdog data structure and
the pet function that uses them. Currently these variables
are not used and can be refactored to simply reset the
watchdog counter directly.
Change-Id: Ie184e2826ed790288a94dfebf578ec99b53831e8
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Add the config for the core watchdog framework.
Change-Id: Idfde28614cb5d7ac239c193ff6374ad5b753e366
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
In preparation to change the qcom watchdog to a new core
framework that future watchdog drivers will utilize, the name
of the file needs to be changed. Due to the number of changes
needed in the file we need to rename it to reflect its new purpose.
Change-Id: Iac6ad57fbc02866f6716a44d7bb4a62d97e4a810
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Remove qcom watchdog config in preparation for the
creation of the watchdog core.
Change-Id: I964285a5ad06dc5753756d821bd0f4fc1d664739
Signed-off-by: Branden Bonaby <bbonaby@codeaurora.org>
Change adds kernel_restart to qcom KMI symbol list and updates
the ABI snapshot, as it is used by spss_utils driver.
Change-Id: Iedb73f0aeb092989461078cc403695e24fbe8146
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
Bail out if device returns invalid bhi/bhie offsets.
Change-Id: Ifc92c53a4c1f7c951721cbec0b1d7285cf19cd72
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
It can be used by MHI core to have a sanity check for
bhi and bhie offsets reported by device.
Change-Id: Ibcdef53a4c1f7c951721cbec0b1d7285cf19cd72
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
If mhi_get_exec_env API returns MHI_EE_MAX skip RDDM download.
API returns this value if BHI offset read failed or BHI_EXECENV
register read fails. This indicates the underlying transport is
unresponsive so there is no need to trigger RDDM using SYSERR
or request SOC reset.
Change-Id: I0cc85af84f19b425c94fe8aea987ab03af6de032
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
In case power up failed due to incorrect bhi offset
bhi pointer in mhi controller remains NULL. Later if
MHI controller forces RDDM it checks the execution
environment by accessing the BHI offset. This results
into NULL pointer dereference. Fix this by adding NULL
check for both mhi controller and bhi pointer before
reading the BHI offset.
Change-Id: I93f8918d7d595a77a5c8bcb6fd610f1a2b484fc4
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
A memory request may not be satisfied in time because of delays
in allocation times. When the allocation response is given to the
consumer, but the consumer's request has already timed out, the
memory will be leaked, as it won't be claimed by the consumer, and
it won't be relinquished to the supplier. Thus, to prevent the memory
from being leaked, relinquish unclaimed memory back to the supplier.
Change-Id: I91f52113c26f4536789fe6807175c845cc9c9e26
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Use an unbound high priority workqueue to ensure that mem-buf
transactions can be handled on any CPU, as well as with high
priority. Also, increase the timeout for allocation responses
from 2 seconds to 3.5 seconds.
Change-Id: I2ec4d85bf7307d64d2f8a7dae6dfb2b29cfc45bb
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Dump stack is observed when mutex (typec_lock) is locked without
initializing it in case of PD supported typec designs. Fix it by
initializing the mutex for PD supported typec designs also.
Change-Id: I7ee29715651dc001a450d80c49c6cce10f10e837
Signed-off-by: Shyam Kumar Thella <sthella@codeaurora.org>
Modified trigger number for reset CTI to 5.
Change-Id: Ia5c5edf9b71176bdaead06b265d4203b81342c88
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>