Commit Graph

1112301 Commits

Author SHA1 Message Date
Subbaraman Narayanamurthy
3a218c2979 soc: qcom: pmic_glink: Add ipc logging support
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>
2022-08-25 21:42:47 -07:00
qctecmdr
f5df0ed8d3 Merge "build.config.msm.pineapple.vm: Introduce PREFERRED_USERSPACE" 2022-08-25 13:25:10 -07:00
qctecmdr
41845c2721 Merge "android: abi_gki_aarch64_qcom: Add symbols for DMA-BUF heap testing" 2022-08-25 13:25:08 -07:00
qctecmdr
d866179836 Merge "defconfig: pineapple-gki: Enable qcom stats driver" 2022-08-25 13:25:07 -07:00
qctecmdr
1740454258 Merge "remoteproc: qcom: Add notification timeout" 2022-08-25 10:05:03 -07:00
Gokul krishna Krishnakumar
d1d5c9c42a remoteproc: qcom: Add notification timeout
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>
2022-08-23 21:14:02 -07:00
Rashid Zafar
101f4ae598 defconfig: pineapple-gki: Enable qcom stats driver
Enable the qcom_stats driver on pineapple SoC.

Change-Id: Iafa302e234283bfd3b7ed727f202f16e0dec804d
Signed-off-by: Rashid Zafar <quic_rzafar@quicinc.com>
2022-08-22 21:39:07 -07:00
qctecmdr
bc59f92e71 Merge "rpmsg: glink: multi enter for unregister path" 2022-08-19 10:38:30 -07:00
qctecmdr
3002dfd5aa Merge "coresight: add node to reset all coresight devices" 2022-08-19 05:21:25 -07:00
qctecmdr
a364155fa4 Merge "Merge keystone/android-mainline-keystone-qcom-release.5.19-rc8 (c4a88a9) into msm-pineapple" 2022-08-18 15:36:52 -07:00
Maria Yu
1cb52ea9b9 rpmsg: glink: multi enter for unregister path
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>
2022-08-18 10:13:28 -07:00
Chris Lew
153212bcc8 rpmsg: glink: Add mutual exclusion to irq
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>
2022-08-18 10:13:22 -07:00
qctecmdr
274629818d Merge "coresight: etm4x: avoid build failure with unrolled loops" 2022-08-18 08:36:22 -07:00
Peng Yang
475356ca04 build.config.msm.pineapple.vm: Introduce PREFERRED_USERSPACE
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>
2022-08-18 01:10:19 -07:00
Mao Jinlong
5f0efc2265 coresight: add node to reset all coresight devices
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>
2022-08-17 23:41:10 -07:00
qctecmdr
a5ac71d228 Merge "interconnect: qcom: pineapple: Add local clock for qnm_ubwc_p" 2022-08-17 21:39:35 -07:00
qctecmdr
3be9d5a044 Merge "cpufreq: qcom-hw-debug: Fix buffer overflow" 2022-08-17 21:39:35 -07:00
qctecmdr
7304dc66c3 Merge "coresight: Add driver to support for hwevent" 2022-08-17 20:03:52 -07:00
qctecmdr
ac1d875b86 Merge "gunyah: gh_ctrl: Porting gh_ctrl driver to Pineapple" 2022-08-17 18:29:55 -07:00
qctecmdr
1b7e355359 Merge "pci: msm: Remove the msi_finish function hook" 2022-08-17 16:01:55 -07:00
Xubin Bai
caed56e132 cpufreq: qcom-hw-debug: Fix buffer overflow
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>
2022-08-17 15:56:25 -07:00
Mao Jinlong
b7e422e142 coresight: Add driver to support for hwevent
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>
2022-08-17 08:48:58 -07:00
Mao Jinlong
c507c2b100 coresight: Add driver to support for tgu
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>
2022-08-17 08:46:51 -07:00
Mao Jinlong
b09f9eef63 coresight: Add driver to support for remote etm
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>
2022-08-17 08:43:55 -07:00
Mao Jinlong
2db12fd9e9 coresight: Add driver to support for dummy coresight device
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>
2022-08-17 08:39:11 -07:00
qctecmdr
55350b9a59 Merge "gunyah: scheduler: Porting Gunyah Proxy scheduler driver to Pineapple" 2022-08-17 04:19:03 -07:00
qctecmdr
9c5a710be2 Merge "rpmsg: glink: Use threaded interrupts" 2022-08-17 04:19:03 -07:00
qctecmdr
6bcead9de0 Merge "arm64: defconfig: Enable SS/HS USB PHY drivers for Pineapple" 2022-08-17 02:36:09 -07:00
qctecmdr
3ceff11adc Merge "swiotlb: Limit max bounce buffer size" 2022-08-17 02:36:08 -07:00
Xubin Bai
58dce8f52f interconnect: qcom: pineapple: Add local clock for qnm_ubwc_p
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>
2022-08-17 00:33:55 -07:00
Wesley Cheng
af0031c521 arm64: defconfig: Enable SS/HS USB PHY drivers for Pineapple
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>
2022-08-16 16:25:49 -07:00
Xubin Bai
b5de5be5e0 interconnect: qcom: icc-rpmh: Add support to scale local clocks
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>
2022-08-16 14:38:39 -07:00
qctecmdr
b85e5ef307 Merge "stm: class: Add MIPI OST protocol support" 2022-08-16 11:08:35 -07:00
qctecmdr
88a494895f Merge "soc: qcom: Add snapshot of DCC driver" 2022-08-16 11:08:35 -07:00
Chris Lew
7daf95ce98 rpmsg: glink: Use threaded interrupts
On newer chipsets there is an increase in traffic generated from the
remote for new usecases, this is resulting in the glink interrupt
handler running for an extended amount of time. In combination with the
IPCC architecture, this can starve out other users of IPCC including
other GLINKs.

Change the interrupt to a threaded interrupt to prevent the glink ISR
from starving the CPU with interrupts disabled. In order to make sure
performance for latency sensitive clients is preserved, handle up to
10 packets in hard irq context. Defer the remaining work to the
threaded interrupt if required.

Change-Id: I2f1b085c38c02d231f9a3da2fcce32b129be2012
Signed-off-by: Chris Lew <clew@codeaurora.org>
2022-08-16 10:44:03 -07:00
Chris Lew
4837e4e0f4 rpmsg: glink: spss: Add snapshot of spss transport
This snapshot is taken as of msm-5.15 'commit <c79afcd18535>
("va_minidump: Add md_unregister support for clients")'.

Change-Id: Ifb19f2867c40d91b108d90437be0b4ccd936664c
Signed-off-by: Chris Lew <quic_clew@quicinc.com>
2022-08-16 10:44:03 -07:00
qctecmdr
ea82617440 Merge "virtual io: avoid setting swiotlb_force in virtual io mmio" 2022-08-16 08:05:42 -07:00
Mao Jinlong
9a11894fa4 soc: qcom: Add snapshot of DCC driver
Add snapshot for DCC driver from msm-5.15
commit be57d8832275 ("Merge "usb: phy: m31: fix compile issue"").

change-Id: Ied7bc57b3378f2f7310d431aee48e5c126000bad
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
2022-08-16 07:33:16 -07:00
qctecmdr
4b18039752 Merge "gunyah: virtual io: Porting Gunyah Secure Virtual io backend driver to Pineapple" 2022-08-15 22:53:54 -07:00
Chris Goldsworthy
b40226c710 android: abi_gki_aarch64_qcom: Add symbols for DMA-BUF heap testing
Add dma_buf_vmap/vunmap to allow for DMA-BUF heap testing.

Change-Id: I75f0b27b2a143983117e2cc631f00a250ceb1c03
Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
2022-08-15 21:43:14 -07:00
Srivatsa Vaddagiri
8dbe481c45 swiotlb: Limit max bounce buffer size
Limiting to 4096, assuming this is used for virtual io block device. The
default maximum (256kB) would result in overflowing of bounce buffers
and stalling of IO (max_segments of 254 for block device and max
bounce size of 256kB could result in block layer submitting a huge IO
request that can never be finished successfully). With 4096, we have
the max size of request set to 254*4096, which is a reasonable space
to set aside per block device.

Change-Id: I8a3b0ec6d26a1b7f5ccdcee649f02c3556bce93b
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
2022-08-15 21:16:26 -07:00
Srivatsa Vaddagiri
13a1aaf641 virtual io: mmio: Use memory-region attribute to get memory address
Handled changed DT format to extract memory region address.

Change-Id: Ia6b2d77c018d8639fe5eeaf6883e472f477bacc7
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
2022-08-15 21:16:21 -07:00
Sreenad Menon
2d3aafead0 virtual io: avoid setting swiotlb_force in virtual io mmio
Setting swiotlb_force to SWIOTLB_FORCE would force non virtual io
drivers also to use swiotlb. So avoid it.

Change-Id: I419700e9f38b0b00da22c8522f94edffd2fd8f52
Signed-off-by: Sreenad Menon <sreemeno@codeaurora.org>
2022-08-15 21:16:16 -07:00
Sreenad Menon
0ea7e633ca virtual io: mmio: use bounce buffers for virtual io mmio devices
In some cases, its possible that most of a VM's memory is not
accessible to virtual io backend drivers that run in the context of a
separate VM. A hypervisor could pre-share some limited memory between
both the VMs. Use such pre-arranged shared memory to allow data
exchange between front-end and back-end drivers.  DMA ops are added to
virtual io (mmio) devices, which bounces buffers to and from the
pre-shared region.

Change-Id: I6cf61cd1ca4c8b848a6d6d1aa1d5023ce9341174
Signed-off-by: Sreenad Menon <sreemeno@codeaurora.org>
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
2022-08-15 21:16:10 -07:00
qctecmdr
5d73429d48 Merge "cpufreq: qcom-hw: Disable LMH irq when disabling policy" 2022-08-15 19:48:44 -07:00
qctecmdr
b0c805234f Merge "build: config: Adding build configs for vm and pineapple tuivm" 2022-08-15 19:48:44 -07:00
qctecmdr
3799e67e82 Merge "Part Revert "modules.list.msm.pineapple: adding vm related drivers"" 2022-08-15 19:48:42 -07:00
qctecmdr
c9f7a775a1 Merge "cpufreq: qcom-hw: Enable boost support" 2022-08-15 18:17:51 -07:00
qctecmdr
bb55c3caee Merge "cpufreq: qcom-hw: remove thermal pressure on cpu hotplugged/offline" 2022-08-15 16:47:35 -07:00
Prudhvi Yarlagadda
ff05de350e pci: msm: Remove the msi_finish function hook
Remove the use of msi_finish function pointer as it is
removed from the msi.h header file.

Change-Id: I2a0972271e818efc387415cef7067124abeda422
Signed-off-by: Prudhvi Yarlagadda <quic_pyarlaga@quicinc.com>
2022-08-15 15:47:06 -07:00