Don't start usb transfer when rwp offset is invalid to avoid exception
happening when transfer usb data.
Change-Id: I7182ebb2e66131a21d65f7df0ad239c6346c0e9d
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
The EUD driver's 'enable' command line argument is set to
EUD_ENABLE_CMD even if the bootloader hasn't enabled it,
which is not correct. Hence, update the 'enable' variable
based on the state of the hardware.
Change-Id: I1159436c0e9a803462f2154ccc05649d3f7b40da
Signed-off-by: Raghavendra Rao Ananta <rananta@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>
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>
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>
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>
This change is for general scheduler improvement.
Change-Id: I5e27121c3625d21d0a5abedcda9bcbfc947f5359
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Set the bhi and bhie pointers to NULL as part of clean
up. This makes sure that stale pointers are not accessed
in case the bhi or bhie is failed to initialize during
power up.
Change-Id: Iddbd3a8234ff4d384ab03081479d55faf10d9443
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Collects data from SMEM region when modem crashes
and stores it under /dev to expose to user space.
Change-Id: I6b79a2ea7f7d9d7507e8c44dd1d385a185759ac1
Signed-off-by: Shawn Shin <shshin@codeaurora.org>
When RC_CLK_CAL_EN is set in auto mode while haptics boost is working
in open loop, the first cycle of the vibration would be played
incorrectly because the haptics module couldn't get enough clock count
before the play gets triggered. Fix this by toggling the RC clock
calibration mode from disabled to auto mode.
Change-Id: I80b3c48b9bb508b12841a679eafa2c618771edf2
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
During LRA frequency calibration, reading CAL_TLRA_CL_STS has to be
done before de-asserting play. In the boot up LRA frequency calibration
sequence, CAL_TLRA_CL_STS was read out and stored in SDAM module
registers by the bootloader. Later, HLOS haptics driver can read it from
there and use it for calculating LRA frequency. This boot up LRA
frequency calibration sequence is only available for PM8350B 2.0 chip.
Update the driver to support this.
Change-Id: I0b81e79bad57160f9c79e01151e2d4060b4bbd41
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
RC_CLK_CAL_COUNT is the calibration count used in manual RC_CLK_CAL
mode when playing FIFO patterns. For haptics module in PM8350B 2.0,
there are new equations recommended to calculate RC_CLK_CAL_COUNT
based on CAL_TLRA_CL_STS and LAST_GOOD_TLRA_CL_STS status to achieve
better accuracy. Update the driver to support this.
Change-Id: I983c1b1f284006847549d2b3d23a0c1039f8b4c1
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>