There is a chance that battery_chg_state_cb() can get invoked before the
battery charger driver finishes initialization. Handle it.
Change-Id: If959b00d3055e0194184b5c3992b0c0906d29213
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Commit 922e045cea2f3 ("soc: qcom: pmic_glink: Fix a race condition
in removing rpmsg device") added a semaphore to protect rpdev
usage when it is added/removed when rpmsg driver is probed/removed
so that clients can use it in pmic_glink_write() concurrently.
When a client tries to register using pmic_glink_register_client()
it checks for the state of pmic_glink device. It's logical to use
the semaphore before reading the state.
Change-Id: Ib715819ea2008f14d204fe097ac1631dbd129e40
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Add ipc logging support for pmic_glink devices so that logs can
be obtained for debugging.
Change-Id: I3710ac0fb5b9d53d5db8d28967ed02f501364e64
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
Enable drivers required for ADSP remoteproc.
Change-Id: I0844ca3bb39a50e0ada1bfab94fa89216aedb0ca
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Add symbols required by ADSP remoteproc snapshot.
Change-Id: I06cfa926f0c79a753e5a77b0575273fee8750cfa
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Add configuration struct and compatible for pineapple adsp.
Change-Id: I8342722044b3e7dcfcab355a4380bfd7c259be19
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
This change adds trace events to rproc subdevices to get an
estimate of how long each subdevice takes to run.
Change-Id: I513a6d2c3c73c03202a042d2704c79818a4f0aa0
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
[quic_gurus@quicinc.com: Fix merge conflicts]
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Add snapshot of all remoteproc drivers from msm-5.15 'commit
4eea71951526 ("virt: gunyah: rm_core: Clean up sequence idr earlier")'.
Also remove duplicate definition of sm8350_cdsp_resource.
Change-Id: I7391d4c61eb3b389e186cb7846ca0442e1a0bdef
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
If the notification clients are taking too long or are stuck somewhere we
want to be notified of such problems. This change adds the notification
timeout logic that either causes a panic or dumps the stack when a timeout
occurs.
Change-Id: Ifaa7e20a697f920ffffd7345c9794d39a718f9b0
Signed-off-by: Gokul krishna Krishnakumar <gokukris@codeaurora.org>
[quic_gurus@quicinc.com: Fix Minor merge conflict]
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
Update the parameter for call swiotlb_init_io_tlb_mem to fix
the compilation issue. And correct the value of vaddr.
Change-Id: I619e891446d33b4be11773e7abf4671aabd6564c
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Enable the generation of both signed and unsigned ABL images for
Kalama.
Change-Id: I3ed63bbd9c7283f8310c43239830d3bcb64186cf
Signed-off-by: Huang Yiwei <quic_hyiwei@quicinc.com>
Support multi enter for unregister path.
Change-Id: I3dd37604e740582ee851c208a4c67fe08f20d83f
Signed-off-by: Maria Yu <quic_aiquny@quicinc.com>
[quic_clew@quicinc.com: This is a work around until remoteproc resolves
a race where unregister is called from multiple contexts]
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
The change to defer excessive glink processing to threaded irq context
uses the IRQF_ONESHOT flags and assumes the hardirq handler will never
run when the threaded irq is running.
There are a couple instances where this does not hold true. One known
instance is during irq_resend() where an interrupt is resent in tasklet
context. In this case, it has been observed that the hard irq handler
will run even if the threaded portion of the interrupt is running.
Add a lock and state to check if the irq is running. If it is already
running, then bail out of the irq.
If threaded handler is already in execution when suspend happens and
next glink interrupt is received in suspend, interrupt handler returns
without waking up system.
Move wakeup logic in the beginning of interrupt handler.
Change-Id: Ied7808962e525ff0b7430d3fac666f7fee032722
Signed-off-by: Chris Lew <clew@codeaurora.org>
Used to indicate preferred userspace to external scripts which help pack
the kernel images.
Change-Id: If453042506198208160c85d214ee1700c8d65930
Signed-off-by: Peng Yang <quic_penyan@quicinc.com>
Add new reset_source_sink node to be able to disable all
active coresight devices.
Change-Id: Ic9daeb35d7aacd334911683d41a2f0f278719725
Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Currently the hw_regs->base array size is hardcoded to 3,
but some chips have more frequency domains than this,
which will result in buffer overflows
The array size should be dynamically allocated according
to hw_regs->domain_cnt, not hardcoded directly.
Change-Id: Ida14766fe77195aef41c6e754f2875b5a24fe742
Signed-off-by: Xubin Bai <quic_xubibai@quicinc.com>
This driver provides support for monitoring and tracing Coresight
Hardware Event across STM interface. It configures Coresight
Hardware Event mux control registers to select hardware events
based on user input.
Change-Id: I5c3c5ca70015abe7448b25777aedeeb289b8e2d3
Signed-off-by: Tao Zhang <taozha@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
This driver provides support for Trigger Generation Unit that is
used to detect patterns or sequences on a given set of signals.
TGU is used to monitor a particular bus within a given region to
detect illegal transaction sequences or slave responses. It is also
used to monitor a data stream to detect protocol violations and to
provide a trigger point for centering data around a specific event
within the trace data buffer.
Change-Id: I84378e6134eb0e6eefb483004acabc73736200a2
Signed-off-by: Tao Zhang <taozha@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
Enables support for ETM trace collection on remote processor using
CoreSight framework. Enabling this will allow turning on ETM
tracing on remote processor via sysfs by configuring the required
CoreSight components.
Change-Id: I46b7c31eb81bd3b6623b71cf6c4811ba2d99d360
Signed-off-by: Tao Zhang <taozha@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
Some Coresight devices that HLOS does not have permission to access
or configure. Such as Coresight sink EUD, some TPDMs etc.
So there needs driver to register dummy devices as Coresight devices.
Provide Coresight API for dummy devices operations, such as enable
and disable dummy devices.
Build the Coresight path for dummy sink or dummy source for debugging.
Change-Id: I93b24a84f0b463f92c5e5cb69b53a86bf873e7a6
Signed-off-by: Tao Zhang <taozha@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>