Prepare qcom-next based on tag 'Linux 7.3-rc2' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git - #1085
Conversation
Add a device tree overlay to enable EL2 boot support for the Purwa platform with CAMX configuration. CRs-Fixed: 4546991 Signed-off-by: Ignatius Michael Jihan <mignatiu@qti.qualcomm.com>
In order to enable combo mode on CSI1 mode, resources needs to be in shared mode. This change adds required resources under res-mgr node. Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
Prevent GPIOs managed by pinctrl from being requested and freed via the GPIO framework. Restrict GPIO request/free operations to non-pinctrl GPIOs by adding appropriate conditions. Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
…n staging dtso Add CTCU, QDSS replicator, dual ETR (tmc_etr/tmc_etr1), ETR replicator, SWAO replicator, and tmc_etf out-port to complete the DDR memory trace routing path in the kaanapali staging overlay. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
Unlike the CPU, the CDSP does not throttle its speed automatically when it reaches high temperatures in hamoa. Set up CDSP cooling by throttling the cdsp when it reaches 105°C. Signed-off-by: Dipa Ramesh Mantre <dipa.mantre@oss.qualcomm.com>
Update the path for the camera icp firmware. Signed-off-by: Chandan Kumar Jha <cjha@qti.qualcomm.com>
Add CAMX overlay dts file for Glymur crd boards. This change also enables the compilation of the CAMX overlay for Glymur crd boards. Signed-off-by: Chandan Kumar Jha <cjha@qti.qualcomm.com>
Added IFE Lite nodes to CPAS to enable proper voting on these paths. Signed-off-by: Ignatius Michael Jihan <mignatiu@qti.qualcomm.com>
vreg_cam0_2p8 and vreg_cam2_2p8 are not used on the Monaco EVK board. Disable them to prevent unintended regulator enablement. Signed-off-by: Nihal Kumar Gupta <nihalkum@qti.qualcomm.com>
Add IPCC_CLIENT_RTSS0/1/2/3 client ID definitions (27-30) to the qcom-ipcc dt-bindings header for use by the RTSS Mailbox device tree overlay. Signed-off-by: Sankalp Negi <snegi@qti.qualcomm.com>
Add lemans-rtss-mb.dtso overlay for Lemans platform providing: - ipcc_computeL1: IPCC Compute-L1 controller - rtss_mailbox: RTSS Mailbox device node. Signed-off-by: Sankalp Negi <snegi@qti.qualcomm.com>
Add monaco-rtss-mb.dtso overlay for Monaco platform providing: - ipcc_computeL1: IPCC Compute-L1 controller - rtss_mailbox: RTSS Mailbox device node. Signed-off-by: Sankalp Negi <snegi@qti.qualcomm.com>
Reduce the ICP iova-region-len to keep the IO region within the valid 4GB addressable range and avoid overflow. This ensures proper IOVA mapping and prevents potential address boundary violations during camera memory configuration. Signed-off-by: Chandan Kumar Jha <cjha@qti.qualcomm.com>
Enable camera sensors OV08X on the Glymur CRD platform. Adds required DT updates to support sensor bring-up and probe on Glymur crd board. Signed-off-by: Chandan Kumar Jha <cjha@qti.qualcomm.com>
Move the common Hamoa staging overlay contents into x1-staging.dtsi so they can be shared across X1 platforms. Keep hamoa-staging.dtso as a thin wrapper around the shared include and add purwa-staging.dtso to build an identical staging overlay for Purwa. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
…debug block Add the following devices that are part of the APSS debug block to enable debug features, including ETM, replicator, funnel, and TMC ETF. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
Add hamoa-camera-regulators.dtsi to define the PM8010_M PMIC LDO regulators needed by camera sensor drivers, and include it in both hamoa-evk-camx.dtso and purwa-evk-camx.dtso. L1M supplies the IMX688 AON core domain (DVDD). It is fed by S5J and supports an output range of 1056-1200 mV. L2M supplies the IMX766 core domain (DVDD). It is fed by S5J and supports an output range of 1152-1200 mV. L3M supplies the IMX766 analog domain and OV sensor I/O (AVDD2, DOVDD). It is fed by S4C and is fixed at 1808 mV. L4M supplies the IMX688 AON I/O domain and IMX766 I/O domain (DOVDD). It is fed by S4C and is fixed at 1808 mV. L5M supplies the IMX766 VCM. It is fed by BOB1 and is fixed at 2960 mV. L6M supplies the IMX688 AON analog domain (AVDD2). It is fed by S4C and is fixed at 1808 mV. L7M supplies the camera analog domain (AVDD). It is fed by BOB1 and is fixed at 2912 mV. Signed-off-by: Tingguo Cheng <tingguoc@qti.qualcomm.com>
Add og0va1b IR/VGA camera sensor node. Add imx688 camera sensor module node Signed-off-by: shubamm <shubamm@qti.qualcomm.com>
Add og0a1b VGA camera sensor node (cam-sensor1) on CCI0 and imx688 camera sensor node (cam-sensor4) on CCI1 for Hamoa board. og0a1b (cam-sensor1): - MCLK0 / CCI master 0 - 1.8V IO supply (vreg_l4m_1p8), 2.9V analog supply (vreg_l7m_2p9) - GPIO reset: TLMM 109, MCLK: TLMM 96 - Sensor position: yaw=180 (rear-facing) imx688 (cam-sensor4): - MCLK4 / CCI1 master 1 - 1.8V IO supply (vreg_l4m_1p8), 1.8V analog supply (vreg_l6m_1p8) - 1.056V digital supply (vreg_l1m_1p1), 2.8V custom supply (vreg_l7b_2p8) - GPIO reset: TLMM 237, MCLK: TLMM 100, custom GPIO: TLMM 233 - Sensor position: yaw=180 (rear-facing) Signed-off-by: shubamm <shubamm@qti.qualcomm.com>
…ug block Add the following devices that are part of the APSS debug block to enable debug features, including ETM, replicator, funnel, and TMC ETF. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
Add TGU device for supporting IPCB feature in staging dtso file. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
… overlay
Add talos-evk-staging.dtso for the QPS615 m.2 e-key daughter card.
When installed, the QPS615 PCIe switch replaces the direct WCN7850 WLAN
connection at pcie_port0. The overlay:
- Enables PCIe with IOMMU mappings (required by QPS615 DMA traffic)
- Disables the direct WCN7850 WLAN at pcie_port0 (wifi@0)
- Moves WLAN to QPS615 downstream port 1 (pcie@1,0, bus 3 dev 0)
- Describes dual Ethernet (TC956X) at QPS615 downstream port 3
(pci@3,0, bus 5 dev 0 fn0/fn1)
Signed-off-by: Mohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Enable camera sensors og0va1b on the Glymur CRD platform. Adds required DT updates to support sensor bring-up and probe on Glymur crd board. Signed-off-by: Vishal Verma <vishverm@qti.qualcomm.com>
…APSS debug block" This reverts commit 6c255c6. The driver patch series has been dropped so remove the dt patch as well. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
…APSS debug block" This reverts commit cb96f06. The driver patch has been dropped so remove the dt patch as well. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
…or APSS debug block" This reverts commit 2d7437f. The driver patch has been dropped so remove the dt patch as well. Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
…taging The patch to enable ETR and CTCU devices have been posted on upstream kernel. So remove them from the staging file. Link: https://lore.kernel.org/all/20260714-add-ctcu-etr-for-glymur-v1-1-791de63c0713@oss.qualcomm.com/ Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
Removing non-required imx577 sensor node definition for cci1 for monaco-evk. Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
Swap reset and power down pins for MIPI camera on all Monaco-EVK SOCs to to maintain a consistent pin naming convention,since the reset pin mapping differs between MIPI and GMSL cameras. Signed-off-by: Vadlamani Manjusha <mvadlama@qti.qualcomm.com>
Install Qualcomm camx DTBO overlay files by adding them to the dtb-$(CONFIG_ARCH_QCOM) build/install list. This makes DTBOs available through the standard dtbs_install flow and ensures they are included in distro kernel packages. Signed-off-by: Chandan Kumar Jha <cjha@qti.qualcomm.com>
Test Matrix
|
…face
The SCM SMC call path is opaque at runtime. Stalls caused by firmware
congestion, QCOM_SCM_WAITQ_SLEEP/RESUME cycles, and EBUSY retry loops
are invisible without recompiling the kernel with temporary printk
statements or attaching a hardware debugger.
Add five TRACE_EVENTs covering the complete lifecycle of an SCM call:
scm_smc_request
Emit before each arm_smccc_smc_quirk() invocation. Records the
SMC function ID, decoded service and command identifiers, argument
count, and up to six register arguments in hex and decimal. Because
the caller loops on QCOM_SCM_INTERRUPTED, this event fires once per
physical SMC instruction including inte
scm_smc_done
Emit after the outer __scm_smc_do() returns, pairing each
request with its final outcome. Records the SMC function ID, the
kernel error code returned to the caller, and the four firmware
result registers a0-a3.
scm_waitq_sleep
Emit when the firmware returns QCOM_SCM_WAITQ_SLEEP. Records
the wait-queue context and the SMC call context handles required
to issue the matching WAITQ_RESUME.
scm_waitq_resume
Emit just before constructing and sending the WAITQ_RESUME
follow-up call. Records the SMC call context handle being resumed.
scm_waitq_get_wq_ctx
Emit after a successful WAITQ_GET_WQ_CTX fast-call. Records
the returned wait-queue context, flags, and more_pending indicator.
These events let ftrace and perf reconstruct the full sequence of
firmware interactions, measure per-call and end-to-end latency, and
attribute waitqueue stalls to specific service/command pairs without
modifying driver source.
Link: https://lore.kernel.org/r/20260522-scm-tracepoints-v2-1-e27cdbe0c585@oss.qualcomm.com
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Yuvaraj Ranganathan <yuvaraj.ranganathan@oss.qualcomm.com>
Wire the five tracepoints defined in qcom_scm_trace.h into the SMC execution path by including the header with CREATE_TRACE_POINTS. Link: https://lore.kernel.org/r/20260522-scm-tracepoints-v2-2-e27cdbe0c585@oss.qualcomm.com Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Yuvaraj Ranganathan <yuvaraj.ranganathan@oss.qualcomm.com>
…ore __scm is published In qcom_scm_probe(), devm_request_threaded_irq() is called before smp_store_release(&__scm, scm). Two paths can dereference __scm before it is published, both causing a NULL pointer dereference. The IRQ handler receives scm via its data argument but passes only wq_ctx to qcom_scm_waitq_wakeup() and qcom_scm_get_completion(), which then dereference __scm directly. Thread scm through both functions so the IRQ handler path never touches __scm. Non-atomic SMC calls made during probe (e.g. from qcom_tzmem_init via qcom_scm_shm_bridge_enable) can return WAITQ_SLEEP, causing qcom_scm_wait_for_wq_completion() to run before __scm is published and dereference it. Add platform_set_drvdata(pdev, scm) early in probe and change qcom_scm_wait_for_wq_completion() to take the device pointer and use dev_get_drvdata() to reach scm, removing any dependency on __scm. Link: https://lore.kernel.org/r/20260724094939.613844-2-mukesh.ojha@oss.qualcomm.com Fixes: 6bf3259 ("firmware: qcom: scm: Add wait-queue handling logic") Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
…ilure of_reserved_mem_device_init() adds an entry to a global list with no devres counterpart. If qcom_scm_probe() fails after the call the assignment is never cleaned up. A probe retry would add a duplicate entry, leaking the original one permanently. Add an err_rmem label that calls of_reserved_mem_device_release() and route all error paths after of_reserved_mem_device_init() through it. of_reserved_mem_device_release() is safe to call unconditionally as it simply walks an empty list when nothing was assigned. Link: https://lore.kernel.org/r/20260724094939.613844-3-mukesh.ojha@oss.qualcomm.com Fixes: a33b257 ("firmware: qcom: scm: add support for SHM bridge memory carveout") Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
qcom_tzmem_enable() returns -EBUSY if called a second time, but this causes probe retries to fail permanently if a later step in qcom_scm_probe() defers after qcom_tzmem_enable() has already succeeded. Use DO_ONCE() to ensure qcom_tzmem_init() runs exactly once across all calls in a thread-safe manner. qcom_tzmem_dev is set on every call since probe retries use the same device pointer. The result of the first initialisation is cached and returned to every subsequent caller. Link: https://lore.kernel.org/r/20260724094939.613844-4-mukesh.ojha@oss.qualcomm.com Fixes: 40289e3 ("firmware: qcom: scm: enable the TZ mem allocator") Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
…m_enable()
qcom_tzmem_enable() is called from qcom_scm_probe() in a sleepable process
context. The helper it wraps, qcom_tzmem_init(), calls
qcom_scm_shm_bridge_enable() -> qcom_scm_call(), which invokes
might_sleep() and later acquires the qcom_scm_lock mutex via
__scm_smc_do().
DO_ONCE() takes the once_lock spinlock with IRQs disabled, so invoking
qcom_tzmem_init() from inside DO_ONCE() runs a sleepable call chain in
atomic context. CONFIG_DEBUG_ATOMIC_SLEEP=y catches this on boot:
BUG: sleeping function called from invalid context at drivers/firmware/qcom/qcom_scm.c:334
in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 49, name: kworker/u16:2
...
__might_resched+0x148/0x24c
__might_sleep+0x48/0x7c
qcom_scm_call+0x30/0xc0
__qcom_scm_is_call_available+0x98/0x100
qcom_scm_shm_bridge_enable+0x60/0xbc
qcom_tzmem_enable+0xf8/0x118
qcom_scm_probe+0x2d0/0x680
[ BUG: Invalid wait context ]
...
kworker/u16:2/49 is trying to lock:
ffffa83e8a485e38 (qcom_scm_lock){....}-{4:4}, at: __scm_smc_do+0x70/0x488
Switch to DO_ONCE_SLEEPABLE(), which guards the one-shot init with a
mutex-style path (__do_once_sleepable_start/done) that is safe to hold
across sleeping callees. All callers of qcom_tzmem_enable() are in
process context (driver probe), so this is safe.
Link: https://lore.kernel.org/r/20260806112709.4018596-1-mukesh.ojha@oss.qualcomm.com
Fixes: 9941fe8 ("firmware: qcom: scm: Fix tzmem state on probe retry")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Closes: https://lore.kernel.org/lkml/5ea74dd3-7471-4c7c-9242-c2005312b1ab@samsung.com/
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
697ac0f to
239cdce
Compare
Test Matrix
|
Test Matrix
|
LAVA Failed Case Triage SummaryPR: #1085 Job 225058 | SoC qcs615-rideLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225058 Failed test cases in LAVA job 225058 (SoC: qcs615-ride).
Job 225059 | SoC qcs8300-rideLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225059 Failed test cases in LAVA job 225059 (SoC: qcs8300-ride).
Job 225060 | SoC lemans-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225060 Failed test cases in LAVA job 225060 (SoC: lemans-evk).
Job 225061 | SoC purwa-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225061 Failed test cases in LAVA job 225061 (SoC: purwa-evk).
Job 225062 | SoC qcs6490-rb3gen2LAVA job: https://lava-oss.qualcomm.com/scheduler/job/225062 Failed test cases in LAVA job 225062 (SoC: qcs6490-rb3gen2).
Job 225063 | SoC glymur-crdLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225063 Failed test cases in LAVA job 225063 (SoC: glymur-crd).
Job 225064 | SoC monaco-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225064 Failed test cases in LAVA job 225064 (SoC: monaco-evk).
Job 225065 | SoC sm8750-mtpLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225065 Failed test cases in LAVA job 225065 (SoC: sm8750-mtp).
Job 225066 | SoC shikra-iqs-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225066 Failed test cases in LAVA job 225066 (SoC: shikra-iqs-evk).
Job 225067 | SoC qcs9100-rideLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225067 Failed test cases in LAVA job 225067 (SoC: qcs9100-ride).
Job 225068 | SoC kaanapali-mtpLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225068 Failed test cases in LAVA job 225068 (SoC: kaanapali-mtp).
Job 225069 | SoC hamoa-evkLAVA job: https://lava-oss.qualcomm.com/scheduler/job/225069 Failed test cases in LAVA job 225069 (SoC: hamoa-evk).
|
Since the introduction of this QoS change, X1 machines based on the Purwa SoC (such as the Lenovo Mini X) take a hard reset at boot time. Other machines based on Hamoa (such as the X1E001DE Snapdragon Devkit) end-up with a similar hard reset while under load, most likely due to the PCIe ports being starved of traffic. Revert the whole thing until someone figures out what magic parameters allow QoS to work in a sensible manner, as a usable machine is somehow preferable to one that crashes efficiently. This reverts commit 5a8b2cc.
239cdce to
84c4976
Compare
Test Matrix
|
Test Matrix
|
wifi interface failed to come up with this change. [ 28.532996][ T185] ath11k_pci 0000:01:00.0: failed to power up mhi: -110 [ 28.533006][ T185] ath11k_pci 0000:01:00.0: failed to start mhi: -110 [ 28.533011][ T185] ath11k_pci 0000:01:00.0: failed to power up :-110 [ 28.561322][ T185] ath11k_pci 0000:01:00.0: failed to create soc core: -110 [ 28.561330][ T185] ath11k_pci 0000:01:00.0: failed to init core: -110 [ 28.716730][ T185] ath11k_pci 0000:01:00.0: probe with driver ath11k_pci failed with error -110 [ 28.716805][ T185] arm-smmu 15200000.iommu: Runtime PM usage count underflow! Reverting the change for now to unblock. This reverts commit 19b4c47.
Adding merge log file and topic_SHA1 file Signed-off-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
84c4976 to
912d106
Compare
Test Matrix
|
Name SHA Commits
tech/bsp/clk b662153 14
tech/bsp/devfreq 0837ca4 7
tech/bsp/sched 9c2e4b8 3
tech/security/firmware-smc 16b0235 9
tech/bsp/soc-infra ff6ff7b 22
tech/bsp/pinctrl 79149ef 1
tech/bsp/remoteproc 8c716bc 1
tech/bus/peripherals c191e3d 10
tech/bus/pci/all 99c5b35 40
tech/bus/usb/dwc d90fb64 4
tech/bus/usb/phy c3aa7d5 35
tech/debug/hwtracing 257e1ef 26
tech/pmic/misc e7bb366 12
tech/mem/iommu cdc9e80 9
tech/mm/audio/all 762de76 2
tech/mm/camss f9a60f5 43
tech/mm/drm a5b4a5e 66
tech/mm/fastrpc fab5742 4
tech/mm/video bfab35e 47
tech/mm/gpu e065d5a 1
tech/net/ath 284d6dc 7
tech/net/bluetooth e352848 8
tech/pm/power 0d87ce2 10
tech/pm/thermal a58f3b3 8
tech/security/crypto 4c71afd 13
tech/security/ice dc34f45 14
tech/storage/all cb6192d 7
tech/all/dt/qcs6490 55b5c3b 20
tech/all/dt/qcs9100 3e3223b 22
tech/all/dt/qcs8300 6a513e3 28
tech/all/dt/qcs615 c3eea9f 13
tech/all/dt/agatti 2ca1b63 2
tech/all/dt/eliza 2709842 13
tech/all/dt/hamoa 3f57af0 34
tech/all/dt/glymur a43a2eb 27
tech/all/dt/kaanapali 35871da 17
tech/all/dt/pakala 9e50a87 12
tech/all/shikra bba7654 119
tech/all/config 5dbc967 81
tech/overlay/dt 3c5f17c 85
tech/all/workaround 42fd140 13
tech/noup/debug/all f017bf6 33
tech/hwe/unoq a2d85fe 4
early/hwe/nord 814d772 74
early/hwe/staging/nord 56b4e2c 89