Upstream commit 91736d0619eb ("usb: dwc3: core: set force_gen1 bit
in USB31 devices if max speed is SS"), the core driver is made capable
of setting the force gen1 bit based on the platform.
Since this is already present, no need for the code in msm-core driver.
Removing the redundant code.
Change-Id: I0573a280992e26044b3f1700d6e6061b92342fd4
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
caller of qcom_scm_set_boot_addr(), qcom_scm_disable_sdi(),
qcom_scm_phy_update_scm_level_shifter(), qcom_scm_mmu_sync(),
and qcom_scm_deassert_ps_hold() incorrectly calls SMC
api without checking if SCM driver is ready or not without
which it is possible it can fail in low level SCM layer
and result in NULL pointer dereference.
While at it, also fix the place of scm device assignment.
(cherry picked from commit a76e4a84e4333bcf35885232583e743a5d33a01f).
Change-Id: I09d9b20153fe9e3cf5f758f041ba2015ed1504ba
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
Signed-off-by: Komal Bajaj <quic_kbajaj@quicinc.com>
Previously, irq_setup was registered before irq_xfer in the init
function. This can lead to an 'unbalanced IRQ' race condition
error for the irq_xfer since irq_xfer was not being enabled when
needed in the worker function.
The fix switches the IRQ registration order, registering irq_xfer
before irq_setup since data is expected in irq context only after
the setup is done.
Change-Id: I554fef12300fd2c2b2aebe13a86c5cd0dc10aac1
Signed-off-by: Sarannya S <quic_sarannya@quicinc.com>
According to present logic, we are trying to read NGD1_INT_EN
register even before checking if QMI handle is NULL which is
resulting into NOC issue as previous runtime_resume was not
executed.
If runtime_suspend is called and QMI handle is NULL, return
immediately.
Change-Id: I85aaf51e5c8d7c45b6a0d73b02f06b5cc1732189
Signed-off-by: Prasanna S <quic_prass@quicinc.com>
Recent commit introduced locking during ring cleanup to avoid
accessing of sec list while another thread tries to access it.
But irqsave was done and then it went for unmap causing a crash.
Fix it up by deleting the sec list and releasing the lock and
then claning up the ring.
Fixes: ffb00fc38c ("sound: usb: xhci-sec: Prevent Null pointer deference in xhci-sec")
Change-Id: I5844f90fb4d5297132e683460e958c8d7294aed3
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Set spm level to lvl 5 in case of S2D while suspending
the UFS device.
Change-Id: I5ebe7331cb34df94226b598bde05da38a5f1468d
Signed-off-by: Darshankumar Jagdishchandra Thakkar <quic_djagdish@quicinc.com>
So far we bypassed multi-descriptor changes for shared-se, now
enabled multi-descriptor changes for shared SE as well.
Multi-descriptor uses block event interrupt(bei) to receive interrupt
after transferring i2c messages specified by max number of transfers.
HW will transfer data corresponding to all tre's and generate interrupt
at the end of last transfer. In this implementation the number of
interrupts are reduced and also ensured that while hardware is
processing one set of tre's,software queues the next set of tre's
if available.
Change-Id: I983272681a7cbd99d4dab3d89e4f2b9edc8b3af7
Signed-off-by: Krishna Chaithanya Reddy G <quic_kgangapu@quicinc.com>
Signed-off-by: Prasanna S <quic_prass@quicinc.com>
currently i2c geni driver is handling gsi i2c read and write in
i2c_gsi_xfer function, due to multiple if conditions giving
cyclomatic complexity number error. To provide more readability
and reduce complexity segregated to two different functions
geni_i2c_gsi_write and geni_i2c_gsi_read.
Change-Id: Id9cfffd90c0378ba3e689e8c3713a9fabe20ea84
Signed-off-by: Krishna Chaithanya Reddy G <quic_kgangapu@quicinc.com>
Signed-off-by: Prasanna S <quic_prass@quicinc.com>
If it is a shared SE usecase, other EEs might have acquired
GSI lock which shall initiate the i2c transfers so line might
not be in good state. Hence we should not check the ios lines
state during the initiating the transfer in shared SE mode.
Removed the check condition to check for i2c geni ios lines state
for shared se in geni_i2c_xfer API.
Change-Id: Ibf517ecb3efe09a90e8c5e491d552bc0f148da46
Signed-off-by: Krishna Chaithanya Reddy G <quic_kgangapu@quicinc.com>
Signed-off-by: Prasanna S <quic_prass@quicinc.com>
During deep sleep, all regulators are turned off.
So, Set spm level to lvl 5 in case of deep sleep,
to ensure that appropriate SSU command is sent to
the ufs device.
For other senerios like s2idle, the spm level
must not be changed.
Change-Id: I404b4f61192488c87f09e664e11d1ec53a5f06d0
Signed-off-by: Ram Kumar Dwivedi <quic_rdwivedi@quicinc.com>
Signed-off-by: Darshankumar Jagdishchandra Thakkar <quic_djagdish@quicinc.com>
For APCS_CPU_PLL clock, the clk_rate_request is zero'd at creation and
both the min_rate and max_rate fields will also be set at zero, which
will break any code depending on the clock boundaries. Hence, initialize
the clock boundaries properly for APCS_CPU_PLL clock.
Change-Id: Ie33a3874137c3bb509d9f4c55cd96d5b449c7df8
Signed-off-by: Sravan Kumar Muppidi <quic_sravmupp@quicinc.com>
Enable CONFIG_RELAY to support streamfs APIs.
Change-Id: I565c3faaeced97523d8789f88bd5e0db179c0ce9
Signed-off-by: Xiaoning Ma <quic_mxiaonin@quicinc.com>
Add a valid address check for VirtIO minidump driver for autogvm.
Change-Id: I778e013e6db94dce7e60f1e0fe7107f502f43988
Signed-off-by: LADI RAM SAI <quic_lramsai@quicinc.com>
Pipeline fastpath is skipped when a cpu is already running a pipeline
task. It may happen that the current pipeline task and the task for
which we are finding the best cpu are same. This scenario arises during
load balancing on every scheduler tick, where we find the new best cpu
for the current task. Fix this by allowing pipeline fastpath if current
pipeline process on a cpu is same as the process for which we are
finding the best cpu.
Change-Id: Iaf935694c7c580b2e191793491130c1a3ccbedc4
Signed-off-by: Atul Pant <quic_atulpant@quicinc.com>
In the actual use of hab client, there will be a case where
a child thread is responsible for managing habmm_socket_open/close,
and other child threads use vcid for communication. If ctx->owner
is pid, then context_stat will display the pid of the child thread.
This is not what we want. We hope that context_stat will display the
pid of the main process, not the pid of a child thread under the
main process. Because the main process often has more information
for us to analyze and debug.
Change-Id: Ie33e114f6dc1c94dec3f409022ed6e397f91bd2e
Signed-off-by: Zelong Ren <quic_zeloren@quicinc.com>