The rx done command is time sensitive for some remote processors. The
remote will not release memory until this ack is sent to them. Create a
kthread a queue the rx_done work on this worker instead of using the
global workthread.
Change-Id: I34a6a2e8e63f8e82c59b4f5a67e29cc5729c57a1
Signed-off-by: Chris Lew <clew@codeaurora.org>
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>
Add the local clock gcc_ddrss_ubwcp_clk for the icc node
qnm_ubwc_p, then gcc_ddrss_ubwcp_clk can be scaled along
with the bandwidth of qnm_ubwc_p.
Change-Id: I47fe30106f07c10efa18aac5f5fa5f42b1f5ab2b
Signed-off-by: Xubin Bai <quic_xubibai@quicinc.com>
Enable the USB PHY drivers used on pineapple. This includes the QMP PHY
for SSUSB and EUSB2 PHY + repeater for HSUSB.
Change-Id: I9f4176c3628e14e10a1719ebfedbb99be86770d5
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Add support to scale local clocks along with BW votes using
the clk framework, as opposed to only voting shared clocks
through BCM and then voting to DFS to scale clocks.
Change-Id: I62190e08a382551b2759cee22ce4bd50e760604f
Signed-off-by: Xubin Bai <quic_xubibai@quicinc.com>