Skip to content

Prepare qcom-next based on tag 'Linux 7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git#495

Open
sgaud-quic wants to merge 698 commits intoqualcomm-linux:qcom-next-stagingfrom
sgaud-quic:qcom-next-staging-7.0-20260420
Open

Prepare qcom-next based on tag 'Linux 7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git#495
sgaud-quic wants to merge 698 commits intoqualcomm-linux:qcom-next-stagingfrom
sgaud-quic:qcom-next-staging-7.0-20260420

Conversation

@sgaud-quic
Copy link
Copy Markdown
Contributor

Name SHA Commits

tech/bsp/clk 0f5a318 14
tech/bsp/interconnect ec1ab95 7
tech/security/firmware-smc a50984a 2
tech/bsp/soc-infra c793ce5 5
tech/bsp/pinctrl 28c2b80 1
tech/bsp/remoteproc abb91ae 5
tech/bus/peripherals 0849a10 6
tech/bus/pci/all 6a697f8 6
tech/bus/pci/mhi fb9c163 1
tech/bus/pci/phy aaf8ef1 4
tech/bus/usb/dwc 49ac8e0 2
tech/bus/usb/phy 8c7f91d 35
tech/debug/hwtracing 87ae82d 31
tech/pmic/misc e6525e3 9
tech/pmic/regulator 81fc8fb 6
tech/mem/iommu e31b170 5
tech/mm/audio/all 06f5706 16
tech/mm/camss 7c584e4 29
tech/mm/drm fa2d11c 15
tech/mm/fastrpc c29b2a8 5
tech/mm/video 72e188f 29
tech/mm/gpu 9c8e55d 2
tech/net/ath 0fa4871 3
tech/net/eth 49b156f 1
tech/net/qrtr 64d75f7 1
tech/net/phy a3602e9 1
tech/net/bluetooth 229e73e 3
tech/pm/power 2c0fae8 10
tech/pm/thermal d174ed3 6
tech/security/crypto a6ce790 12
tech/security/ice 7a9d8eb 26
tech/storage/phy cf1667f 1
tech/storage/all e254dae 1
tech/all/dt/qcs6490 5df38ca 19
tech/all/dt/qcs9100 c98cdc0 22
tech/all/dt/qcs8300 a32d843 27
tech/all/dt/qcs615 cdbdac6 27
tech/all/dt/agatti c828f10 1
tech/all/dt/hamoa 0c8d1c1 38
tech/all/dt/glymur ac7a496 32
tech/all/dt/kaanapali 710775e 28
tech/all/dt/pakala f6b63a0 7
tech/all/config b31ed76 57
tech/overlay/dt 2d3b16a 34
tech/all/workaround c3f9d3b 13
tech/mproc/all b204da4 5
tech/noup/debug/all a8695a4 19
tech/hwe/unoq ce06e26 16

kona-jagadeesh and others added 30 commits April 7, 2026 09:51
Add X1P42100 camera clock controller support and clock bindings
for camera QDSS debug clocks which are applicable for both X1E80100
and X1P42100 platforms.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260331-purwa-videocc-camcc-v3-2-6daca180a4b1@oss.qualcomm.com
…ntroller

Add support for the video clock controller for video clients to be
able to request for videocc clocks on X1P42100 platform. Although
X1P42100 is derived from X1E80100, the video clock controller differs
significantly. The BSE clocks are newly added, several cdiv clocks have
been removed, and most RCG frequency tables have been updated. Initial
PLL configurations also require changes, hence introduce a separate
videocc driver for X1P42100 platform.

Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260331-purwa-videocc-camcc-v3-3-6daca180a4b1@oss.qualcomm.com
…g clocks

Add support for camera QDSS debug clocks on X1E80100 platform which
are required to be voted for camera icp and cpas usecases. This change
aligns the camcc driver to the new ABI exposed from X1E80100 camcc
bindings that supports these camcc QDSS debug clocks.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Fixes: 76126a5 ("clk: qcom: Add camcc clock driver for x1e80100")
Link: https://lore.kernel.org/r/20260331-purwa-videocc-camcc-v3-4-6daca180a4b1@oss.qualcomm.com
…troller

Add support for the camera clock controller for camera clients to
be able to request for camcc clocks on X1P42100 platform. Although
X1P42100 is derived from X1E80100, the camera clock controller driver
differs significantly. Few PLLs, clocks and GDSC's are removed, there
is delta in frequency tables for most RCG's and parent data structures
also changed for few RCG's. Hence introduce a separate camcc driver
for X1P42100 platform.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260331-purwa-videocc-camcc-v3-5-6daca180a4b1@oss.qualcomm.com
Add device tree bindings for the camera clock controller on
Qualcomm Glymur SoC.

Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260402-glymur_camcc-v1-1-e8da05a21da7@oss.qualcomm.com
Add support for the camera clock controller for camera clients
to be able to request for camcc clocks on Glymur platform.

Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260402-glymur_camcc-v1-2-e8da05a21da7@oss.qualcomm.com
Add CAMX overlay dts file for Hamoa boards.

This change also enables the compilation of the CAMX overlay
for Hamoa boards.

Signed-off-by: Ignatius Michael Jihan <mignatiu@qti.qualcomm.com>
…nect in Mahua SoC

Document the RPMh Network-on-Chip (NoC) interconnect for the Qualcomm
Mahua platform.

Mahua is a derivative of the Glymur SoC. Many interconnect nodes are
identical and continue to use Glymur fallback compatibles. Mahua
introduces SoC-specific configurations and topologies for several
NoC blocks, including CNOC, HSCNOC, PCIe West ANoC/Slave NoCs.
This updates the existing Glymur yaml schema to include Mahua-specific
compatible strings, using two-cell "fallback" compatibles wherever
the hardware is identical with Glymur.

Co-developed-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Signed-off-by: Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
Acked-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260127-mahua_icc-v2-1-f0d8ddf7afca@oss.qualcomm.com
Mahua is a derivative of the Glymur SoC. Extend the
Glymur driver to support Mahua by:

  1. Adding new node definitions for interconnects that differ from Glymur
     (Config NoC, High-Speed Coherent NoC, PCIe West ANOC/Slave NoC).
  2. Reusing existing Glymur definitions for identical NoCs.
  3. Overriding the channel and buswidth, with Mahua specific values for
     the differing NoCs

Co-developed-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Signed-off-by: Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260127-mahua_icc-v2-2-f0d8ddf7afca@oss.qualcomm.com
…operty to enable QoS

Some QCS8300 interconnect nodes have QoS registers located inside
a block whose interface is clock-gated. For those nodes, driver
must enable the corresponding clock(s) before accessing the
registers. Add the 'clocks' property so the driver can obtain
and enable the required clock(s).

Only interconnects that have clock‑gated QoS register interface
use this property; it is not applicable to all interconnect nodes.

Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260127090116.1438780-2-odelu.kukatla@oss.qualcomm.com
Enable QoS configuration for master ports with predefined priority
and urgency forwarding.

Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260127090116.1438780-3-odelu.kukatla@oss.qualcomm.com
Add clocks which need to be enabled for configuring QoS on
qcs8300 SoC.

Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260127090116.1438780-4-odelu.kukatla@oss.qualcomm.com
Add cooling-cells property to the CPU nodes to support cpufreq
cooling devices.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Link: https://patch.msgid.link/20260403-cpufreq-v1-1-9d465988c3f9@oss.qualcomm.com
Signed-off-by: Aastha Pandey <aastha.pandey@oss.qualcomm.com>
Commit d4a44f0 ("iommu/arm-smmu: Invoke pm_runtime across the driver")
enabled pm_runtime for the arm-smmu device. On systems where the SMMU
sits in a power domain, all register accesses must be done while the
device is runtime active to avoid unclocked register reads and
potential NoC errors.

So far, this has not been an issue for most SMMU clients because
stall-on-fault is enabled by default. While a translation fault is
being handled, the SMMU stalls further translations for that context
bank, so the fault handler would not race with a powered-down
SMMU.

Adreno SMMU now disables stall-on-fault in the presence of fault
storms to avoid saturating SMMU resources and hanging the GMU. With
stall-on-fault disabled, the SMMU can generate faults while its power
domain may no longer be enabled, which makes unclocked accesses to
fault-status registers in the SMMU fault handlers possible.

Guard the context and global fault handlers with pm_runtime_get_if_active()
and pm_runtime_put_autosuspend() so that all SMMU fault register accesses
are done with the SMMU powered. In case pm_runtime is not active we can
safely ignore the fault as for pm runtime resume the smmu device is
reset and fault registers are cleared.

List: https://lore.kernel.org/all/20260313-smmu-rpm-v2-1-8c2236b402b0@oss.qualcomm.com/
Fixes: b130440 ("drm/msm: Temporarily disable stall-on-fault after a page fault")
Co-developed-by: Pratyush Brahma <pratyush.brahma@oss.qualcomm.com>
Signed-off-by: Pratyush Brahma <pratyush.brahma@oss.qualcomm.com>
Signed-off-by: Prakash Gupta <prakash.gupta@oss.qualcomm.com>
Devres APIs are intended for use in drivers, and they should be
avoided in shared subsystem code which is being used by multiple
drivers. Avoid using devres based allocations in the reboot-mode
subsystem and manually free the resources.

Replace devm_kzalloc with kzalloc and handle memory cleanup
explicitly.

Fixes: 4fcd504 ("power: reset: add reboot mode driver")
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251109-arm-psci-system_reset2-vendor-reboots-v17-1-46e085bca4cc@oss.qualcomm.com
The reboot-mode driver does not have a strict requirement for
device-based registration. It primarily uses the device's of_node
to read mode-<cmd> properties.

Remove the dependency on struct device and introduce support for
firmware node (fwnode) based registration. This enables drivers
that are not associated with a struct device to leverage the
reboot-mode framework.

Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251109-arm-psci-system_reset2-vendor-reboots-v17-2-46e085bca4cc@oss.qualcomm.com
Current reboot-mode supports a single 32-bit argument for any
supported mode. Some reboot-mode based drivers may require
passing two independent 32-bit arguments during a reboot
sequence, for uses-cases, where a mode requires an additional
argument. Such drivers may not be able to use the reboot-mode
driver. For example, ARM PSCI vendor-specific resets, need two
arguments for its operation – reset_type and cookie, to complete
the reset operation. If a driver wants to implement this
firmware-based reset, it cannot use reboot-mode framework.

Introduce 64-bit magic values in reboot-mode driver to
accommodate dual 32-bit arguments when specified via device tree.
In cases, where no second argument is passed from device tree,
keep the upper 32-bit of magic un-changed(0) to maintain backward
compatibility.

Update the current drivers using reboot-mode for a 64-bit magic
value.

Reviewed-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
Reviewed-by: Nirmesh Kumar Singh <nirmesh.singh@oss.qualcomm.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251109-arm-psci-system_reset2-vendor-reboots-v17-3-46e085bca4cc@oss.qualcomm.com
Add ABI documentation for /sys/class/reboot-mode/*/reboot_modes,
a read-only sysfs attribute exposing the list of supported
reboot-mode arguments. This file is created by reboot-mode
framework and provides a user-readable interface to query
available reboot-mode arguments.

Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251109-arm-psci-system_reset2-vendor-reboots-v17-4-46e085bca4cc@oss.qualcomm.com
Currently, there is no standardized mechanism for userspace to
discover which reboot-modes are supported on a given platform.
This limitation forces tools and scripts to rely on hardcoded
assumptions about the supported reboot-modes.

Create a class 'reboot-mode' and a device under it to expose a
sysfs interface to show the available reboot mode arguments to
userspace. Use the driver_name field of the struct
reboot_mode_driver to create the device. For device-based
drivers, configure the device driver name as driver_name.

This results in the creation of:
  /sys/class/reboot-mode/<driver>/reboot_modes

This read-only sysfs file will exposes the list of supported
reboot modes arguments provided by the driver, enabling userspace
to query the list of arguments.

Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251109-arm-psci-system_reset2-vendor-reboots-v17-5-46e085bca4cc@oss.qualcomm.com
SoC vendors have different types of resets which are controlled
through various hardware registers. For instance, Qualcomm SoC
may have a requirement that reboot with “bootloader” command
should reboot the device to bootloader flashing mode and reboot
with “edl” should reboot the device into Emergency flashing mode.
Setting up such reboots on Qualcomm devices can be inconsistent
across SoC platforms and may require setting different HW
registers, where some of these registers may not be accessible to
HLOS. These knobs evolve over product generations and require
more drivers. PSCI spec defines, SYSTEM_RESET2, vendor-specific
reset which can help align this requirement. Add support for PSCI
SYSTEM_RESET2, vendor-specific resets and align the implementation
to allow user-space initiated reboots to trigger these resets.

Implement the PSCI vendor-specific resets by registering to the
reboot-mode framework. As psci init is done at early kernel init,
reboot-mode registration cannot be done at the time of psci init.
This is because reboot-mode creates a “reboot-mode” class for
exposing sysfs, which can fail at early kernel init. To overcome
this, introduce a late_initcall to register PSCI vendor-specific
resets as reboot modes. Implement a reboot-mode write function
that sets reset_type and cookie values during the reboot notifier
callback.  Introduce a firmware-based call for SYSTEM_RESET2
vendor-specific reset in the psci_sys_reset path, using
reset_type and cookie if supported by secure firmware. Register a
panic notifier and clear vendor_reset valid status during panic.
This is needed for any kernel panic that occurs post
reboot_notifiers.

By using the above implementation, userspace will be able to issue
such resets using the reboot() system call with the "*arg"
parameter as a string based command. The commands can be defined
in PSCI device tree node under “reboot-mode” and are based on the
reboot-mode based commands.

Reviewed-by: Umang Chheda <umang.chheda@oss.qualcomm.com>
Reviewed-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
Reviewed-by: Nirmesh Kumar Singh <nirmesh.singh@oss.qualcomm.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251109-arm-psci-system_reset2-vendor-reboots-v17-7-46e085bca4cc@oss.qualcomm.com
…nd QMP

Document PDC reg to configure pass through or secondary controller mode
for GPIO IRQs.
Document QMP handle for action concerning global resources.

Link: https://lore.kernel.org/r/20260312-hamoa_pdc-v1-2-760c8593ce50@oss.qualcomm.com
Signed-off-by: Maulik Shah <maulik.shah@oss.qualcomm.com>
Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
There are two modes PDC irqchip supports pass through mode and secondary
controller mode.

All PDC irqchip supports pass through mode in which both Direct SPIs and
GPIO IRQs (as SPIs) are sent to GIC without latching at PDC.

Newer PDCs (v3.0 onwards) also support additional secondary controller mode
where PDC latches GPIO IRQs and sends to GIC as level type IRQ. Direct SPIs
still works same as pass through mode without latching at PDC even in
secondary controller mode.

All the SoCs so far default uses pass through mode with the exception of
x1e. x1e PDC may be set to secondary controller mode for builds on CRD
boards whereas it may be set to pass through mode for IoT-EVK.

There is no way to read which current mode it is set to and make PDC work
in respective mode as the read access is not opened up for non secure
world. There is though write access opened up via SCM write API to set the
mode.

Configure PDC mode to pass through mode for all x1e based boards via SCM
write.

Link: https://lore.kernel.org/r/20260312-hamoa_pdc-v1-3-760c8593ce50@oss.qualcomm.com
Co-developed-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
Signed-off-by: Maulik Shah <maulik.shah@oss.qualcomm.com>
…100 PDC

Purwa shares the Hamoa (X1E80100) PDC device, but the hardware register
bug addressed in commit e9a48ea ("irqchip/qcom-pdc: Workaround
hardware register bug on X1E80100") is already fixed in Purwa silicon.

Hamoa compatible forces the software workaround. Add PDC compatible
for purwa as "qcom,x1p42100-pdc" to remove the workaround from Purwa.

Fixes: f08edb5 ("arm64: dts: qcom: Add X1P42100 SoC and CRD")
Link: https://lore.kernel.org/r/20251231-purwa_pdc-v1-1-2b4979dd88ad@oss.qualcomm.com
Signed-off-by: Maulik Shah <maulik.shah@oss.qualcomm.com>
Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
Rename the hamoa camera DTBs variable to match the
hamoa-camera-camx DTB target naming and improve consistency
with existing Makefile conventions.

Fixes: 9041882f7c4c ("QCLINUX: arm64: dts: qcom: Add hamoa camx overlay
dts")
Signed-off-by: Ignatius Michael Jihan <mignatiu@qti.qualcomm.com>
…perty to enable QoS

Aggre1-noc interconnect node on QCS615 has QoS registers located
inside a block whose interface is clock-gated. Accessing these
registers requires the corresponding clock(s) to be enabled.
Update the bindings to include the 'clocks' property.

Ensure that only aggre1-noc interconnect node uses this property
by explicitly forbidding it for all other interconnect nodes.

Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260311103548.1823044-2-odelu.kukatla@oss.qualcomm.com
Enable QoS configuration for master ports with predefined priority
and urgency forwarding.

Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260311103548.1823044-3-odelu.kukatla@oss.qualcomm.com
Since we now have quite a few users parsing "iommu-map" and "msi-map"
properties, give them some wrappers to conveniently encapsulate the
appropriate sets of property names. This will also make it easier to
then change of_map_id() to correctly account for specifier cells.

Link: https://lore.kernel.org/all/20260408-parse_iommu_cells-v13-1-fa921e92661b@oss.qualcomm.com/
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Change of_map_id() to take a pointer to struct of_phandle_args
instead of passing target device node and translated IDs separately.
Update all callers accordingly.

Add an explicit filter_np parameter to of_map_id() and of_map_msi_id()
to separate the filter input from the output. Previously, the target
parameter served dual purpose: as an input filter (if non-NULL, only
match entries targeting that node) and as an output (receiving the
matched node with a reference held). Now filter_np is the explicit
input filter and arg->np is the pure output.

Previously, of_map_id() would call of_node_put() on the matched node
when a filter was provided, making reference ownership inconsistent.
Remove this internal of_node_put() call so that of_map_id() now always
transfers ownership of the matched node reference to the caller via
arg->np. Callers are now consistently responsible for releasing this
reference with of_node_put(arg->np) when done.

Link: https://lore.kernel.org/all/20260408-parse_iommu_cells-v13-2-fa921e92661b@oss.qualcomm.com/
Acked-by: Frank Li <Frank.Li@nxp.com>
Suggested-by: Rob Herring (Arm) <robh@kernel.org>
Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
So far our parsing of {iommu,msi}-map properties has always blindly
assumed that the output specifiers will always have exactly 1 cell.
This typically does happen to be the case, but is not actually enforced
(and the PCI msi-map binding even explicitly states support for 0 or 1
cells) - as a result we've now ended up with dodgy DTs out in the field
which depend on this behaviour to map a 1-cell specifier for a 2-cell
provider, despite that being bogus per the bindings themselves.

Since there is some potential use in being able to map at least single
input IDs to multi-cell output specifiers (and properly support 0-cell
outputs as well), add support for properly parsing and using the target
nodes' #cells values, albeit with the unfortunate complication of still
having to work around expectations of the old behaviour too.

Since there are multi-cell output specifiers, the callers of of_map_id()
may need to get the exact cell output value for further processing.
Update of_map_id() to set args_count in the output to reflect the actual
number of output specifier cells.

Link: https://lore.kernel.org/all/20260408-parse_iommu_cells-v13-3-fa921e92661b@oss.qualcomm.com/
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>
Signed-off-by: Vijayanand Jitta <vijayanand.jitta@oss.qualcomm.com>
Add the wrapped key support for sdhci-msm by implementing the needed
methods in struct blk_crypto_ll_ops and setting the appropriate flag in
blk_crypto_profile::key_types_supported.

Tested on SC7280 eMMC variant.

How to test:

Use the "v1.3.0" tag from https://github.com/google/fscryptctl and build
fscryptctl that supports generating wrapped keys.

Enable the following config options:
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_QCOM_INLINE_CRYPTO_ENGINE=y
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
CONFIG_MMC_CRYPTO=y

Enable "qcom_ice.use_wrapped_keys" via kernel command line.

$ mkfs.ext4 -F -O encrypt,stable_inodes /dev/disk/by-partlabel/vm-data
$ mount /dev/disk/by-partlabel/vm-data -o inlinecrypt /mnt
$ fscryptctl generate_hw_wrapped_key /dev/disk/by-partlabel/vm-data > /mnt/key.longterm
$ fscryptctl prepare_hw_wrapped_key /dev/disk/by-partlabel/vm-data < /mnt/key.longterm > /tmp/key.ephemeral
$ KEYID=$(fscryptctl add_key --hw-wrapped-key < /tmp/key.ephemeral /mnt)
$ rm -rf /mnt/dir
$ mkdir /mnt/dir
$ fscryptctl set_policy --iv-ino-lblk-32 "$KEYID" /mnt/dir
$ dmesg > /mnt/dir/test.txt
$ sync

Reboot the board

$ mount /dev/disk/by-partlabel/vm-data -o inlinecrypt /mnt
$ ls /mnt/dir # File should be encrypted
$ fscryptctl prepare_hw_wrapped_key /dev/disk/by-partlabel/vm-data < /mnt/key.longterm > /tmp/key.ephemeral
$ KEYID=$(fscryptctl add_key --hw-wrapped-key < /tmp/key.ephemeral /mnt)
$ fscryptctl set_policy --iv-ino-lblk-32 "$KEYID" /mnt/dir
$ cat /mnt/dir/test.txt # File should now be decrypted

Tested-by: Wenjia Zhang <wenjia.zhang@oss.qualcomm.com>
Signed-off-by: Neeraj Soni <neeraj.soni@oss.qualcomm.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Reviewed-by: Eric Biggers <ebiggers@kernel.org>
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ❌ Fail ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ⚠️ skip ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
BT_SCAN ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
Ethernet ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip ❌ Fail ◻️ ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ◻️ ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ⚠️ skip ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
shmbridge ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
smmu ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
BT_SCAN ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
Ethernet ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip ❌ Fail ◻️ ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ◻️ ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ⚠️ skip ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
shmbridge ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
smmu ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ◻️

Ajay Kumar Nandam and others added 2 commits April 22, 2026 18:37
…ing SoCs

The LPASS LPI core was switched to the PM clock framework and runtime PM,
but only the sc7280 variant driver wired runtime PM callbacks.

Hook up runtime PM callbacks for the remaining LPASS LPI variant
drivers so all SoCs using the common core get consistent pm_clk based
clock handling:
  - sc8280xp
  - sm4250
  - sm6115
  - sm8250
  - sm8450
  - sm8550
  - sm8650

This is a mechanical per-variant driver update that relies on the
same generic PM clock flow (of_pm_clk_add_clks() + pm_clk_suspend/
pm_clk_resume()) and DT-provided clocks.

Runtime behavior was validated on Kodiak (sc7280).

Link: https://lore.kernel.org/all/20260420123135.350446-3-ajay.nandam@oss.qualcomm.com/
Signed-off-by: Ajay Kumar Nandam <ajay.nandam@oss.qualcomm.com>
@sgaud-quic sgaud-quic force-pushed the qcom-next-staging-7.0-20260420 branch from 3ab29d9 to 5ff8a42 Compare April 22, 2026 13:24
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip ❌ Fail ⚠️ skip ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@sgaud-quic sgaud-quic force-pushed the qcom-next-staging-7.0-20260420 branch from 5ff8a42 to 159f17d Compare April 24, 2026 05:13
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
0_qcom-next-ci-premerge-tests ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail ◻️ ◻️
BT_FW_KMD_Service ◻️ ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ◻️ ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ◻️ ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
Freq_Scaling ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ❌ Fail ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@sgaud-quic sgaud-quic force-pushed the qcom-next-staging-7.0-20260420 branch from 159f17d to 5ff8a42 Compare April 26, 2026 04:53
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ◻️ ◻️ ✅ Pass ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

There's a WCN6855 WiFi/Bluetooth module on an M.2 card. To make
Bluetooth work, define the necessary device tree nodes, including
UART configuration and power supplies.

The module provides a 3.3V supply originating from the main board's
12V rail. Add a fixed 12V regulator node as the DC-IN source and link
it to the 3.3V regulator node to represent this power hierarchy.

Workaround: With the WCN6855 PMU node present, the driver unintentionally
takes the pwrseq code path, which causes Bluetooth to fail to power up
during an on -> off -> on transition. To unblock functionality, the PMU
node is omitted and all Bluetooth power supply references point directly
to vreg_wcn_3p3, keeping the driver on the non-pwrseq path.

This is a temporary workaround. Once a proper M.2 binding/solution is
upstreamed, both DTS and driver changes will be re-submitted aligned
with the M.2 model.

Signed-off-by: Wei Deng <wei.deng@oss.qualcomm.com>
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ◻️ ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ◻️ ◻️ ◻️ ✅ Pass ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ◻️ ◻️
Freq_Scaling ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
hotplug ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
rngtest ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
watchdog ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️

@sgaud-quic sgaud-quic force-pushed the qcom-next-staging-7.0-20260420 branch from 5ff8a42 to 740314b Compare April 27, 2026 06:18
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
BT_FW_KMD_Service ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
BT_SCAN ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
Ethernet ◻️ ◻️ ⚠️ skip ✅ Pass ◻️ ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ❌ Fail ◻️ ◻️ ❌ Fail ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️ ⚠️ skip ⚠️ skip ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ✅ Pass ❌ Fail ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ❌ Fail ✅ Pass ◻️ ◻️ ✅ Pass ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ✅ Pass ◻️ ◻️

@rahujosh
Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #495

Job 80592 | SoC glymur-crd

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80592

Failed test cases in LAVA job 80592 (SoC: glymur-crd).

  Case 1: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On glymur-crd, the device never reaches kernel boot and falls back to USB Sahara (ENUM success -> Sahara Open) after reset, so LAVA’s auto-login-action waiting for Linux version times out due to board boot-flow/media state (SPI->NVMe path) rather than a kernel runtime crash.
  3. Possible fix: Update the glymur-crd LAVA flow to force Normal boot mode after EDL flashing and gate auto-login-action on verified post-flash boot-media readiness (NVMe path visible) before starting prompt wait.
  4. Detail analysis attachment: failed_case_job80592_1_detailed.md
  Case 2: minimal-boot
  1. Failed case: minimal-boot
  2. Root cause: On glymur-crd, the LAVA deploy path sets TAC debugboard boot mode to EDL and never switches it back, so the board reboots into USB Sahara (ENUM success/Sahara Init) instead of continuing SPI boot to Linux, causing auto-login-action timeout.
  3. Possible fix: Update the LAVA worker flow for glymur-crd to explicitly set TAC boot mode back to Normal (or clear EDL latch) after flashing and before minimal-boot reset, then rerun case 2.
  4. Detail analysis attachment: failed_case_job80592_2_detailed.md
  Case 3: job
  1. Failed case: job
  2. Root cause: On glymur-crd, the PR boot artifact never reaches the expected Linux boot banner because the SoC resets around the XBL/UEFI handoff (PM: Entering UEFI threshold) and drops into RamDump/Sahara mode, so minimal-boot times out and the wrapper job case fails.
  3. Possible fix: On glymur-crd, fix the early-boot regression in the flashed kernel/DT boot path (validate boot.img+DTB compatibility and recent glymur-specific changes), and as immediate mitigation increase minimal-boot block timeout so retries are not exhausted by a single long boot failure.
  4. Detail analysis attachment: failed_case_job80592_3_detailed.md
Job 80589 | SoC lemans-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80589

Failed test cases in LAVA job 80589 (SoC: lemans-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On lemans-evk, the testcase hard-fails on three boot-time log matches that are platform-expected optional-device conditions (missing QCA BT firmware files and SPI TPM probe timeout) rather than a kernel crash/regression.
  3. Possible fix: Make Probe_Failure_Check SoC-aware for lemans-evk by allowlisting/gating qca/*hpbtfw21*.tlv -ENOENT and tpm_tis_spi spi0.0 -110 unless BT firmware/TPM hardware is explicitly required in that lab profile.
  4. Detail analysis attachment: failed_case_job80589_1_detailed.md
  Case 2: shmbridge
  1. Failed case: shmbridge
  2. Root cause: On lemans-evk (SA8775P), the qcom-iris video codec probe emits qcom_scm_mem_protect_video_var failed: -5 during boot, and the shmbridge testcase fails because it treats these non-shmbridge SCM video-protection errors as a shmbridge failure.
  3. Possible fix: Gate/disable Iris secure video memory-protect calls on lemans-evk unless the required TZ/secure video memory setup is present, and update shmbridge log filtering to only fail on actual shmbridge/QCOM_SCM bridge API errors.
  4. Detail analysis attachment: failed_case_job80589_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On the lemans-evk run, the test runner sent LAVA_SIGNAL_STARTRUN but never sent LAVA_SIGNAL_ENDRUN, so LAVA marked the run unfinished and failed it despite normal TAC debugboard power control and successful board execution.
  3. Possible fix: Update the qcom-next-ci-premerge runner (run.sh/result_parse.sh) to always emit LAVA_SIGNAL_ENDRUN in a trap/finally path on lemans-evk (including when subtests fail/skip), then re-run job 80589 flow.
  4. Detail analysis attachment: failed_case_job80589_3_detailed.md
Job 80588 | SoC monaco-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80588

Failed test cases in LAVA job 80588 (SoC: monaco-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On monaco-evk (QCS8300), Probe_Failure_Check is a false-positive failure caused by generic dmesg pattern matching of boot-time benign/optional probe events (cpufreq-dt -17, missing optional BT firmware fallback files, and tpm_tis_spi -110 on likely-unpopulated TPM SPI path) after DT changes in PR495.
  3. Possible fix: Make the check SoC-aware by allowlisting these known monaco-evk benign signatures (or gating them on DT/hardware presence) and keep only actionable probe failures as fail criteria.
  4. Detail analysis attachment: failed_case_job80588_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: On monaco-evk, USBHost fails because the PR’s later DT refactor moved board USB settings into monaco-evk-common.dtsi with &usb_1 { dr_mode = "peripheral"; }, which regresses the EVK’s primary GL3590-backed host path and leaves no host-enumerated USB devices for the test.
  3. Possible fix: Restore monaco-evk primary USB DT to host configuration (dr_mode = "host" plus its Type-C/hub routing in the common/board DTS) and rerun USBHost with a known attached USB device on the EVK host path.
  4. Detail analysis attachment: failed_case_job80588_2_detailed.md
  Case 3: WiFi_OnOff
  1. Failed case: WiFi_OnOff
  2. Root cause: On monaco-evk (SocMonacoLAA), the LAVA test image exposes ath11k modules but does not provide usable WiFi firmware/board data for the WCN6855/QCA6698 path, so no ieee80211 phy or WLAN netdev is created and WiFi_OnOff times out.
  3. Possible fix: Update monaco-evk LAVA artifact provisioning to include/validate required ath11k firmware+BDF files before running WiFi_OnOff, and make the testcase SKIP (not FAIL) when those SoC-specific firmware prerequisites are absent.
  4. Detail analysis attachment: failed_case_job80588_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On monaco-evk, the premerge runner sends STARTRUN and per-test TESTCASE signals but never sends LAVA_SIGNAL_ENDRUN, so lava-dispatcher marks the test run unfinished/failed, with additional bench-dependent Monaco connectivity checks (USBHost/WiFi_OnOff) also failing.
  3. Possible fix: Update the Monaco premerge runner flow (run.sh/result_parse.sh) to always emit LAVA_SIGNAL_ENDRUN with final aggregated status and make USB/WiFi checks conditional on detected Monaco lab peripherals/firmware readiness.
  4. Detail analysis attachment: failed_case_job80588_4_detailed.md
Job 80594 | SoC qcs615-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80594

Failed test cases in LAVA job 80594 (SoC: qcs615-ride).

  Case 1: login-action
  1. Failed case: login-action
  2. Root cause: On qcs615-ride, after fastboot boot the DUT never reached stable userspace because stray/corrupted fastboot getvar:product traffic appeared during login wait and the boot chain hit a watchdog reset, so LAVA never saw a shell prompt.
  3. Possible fix: On the qcs615-ride worker, enforce exclusive TAC/USB ownership and normal-boot state after fastboot boot (reset/lock fastboot channel so no extra getvar reaches the DUT), then rerun the job.
  4. Detail analysis attachment: failed_case_job80594_1_detailed.md
  Case 2: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On qcs615-ride, the DUT unexpectedly reset/re-entered the PBL/SBL/UEFI boot path during fastboot boot (UART jumps from kernel output back to Format: Log Type boot banners), so LAVA never reached the expected root shell prompt.
  3. Possible fix: Add qcs615-ride-specific recovery in LAVA fastboot-boot/auto-login-action to detect bootloader banner reappearance and immediately re-power-cycle + re-run fastboot boot (instead of waiting for login timeout), while checking board power/reset stability on TAC/PDU.
  4. Detail analysis attachment: failed_case_job80594_2_detailed.md
  Case 3: fastboot-boot
  1. Failed case: fastboot-boot
  2. Root cause: On qcs615-ride, fastboot boot reported OKAY but the DUT stayed/re-entered the Qualcomm bootloader/UEFI fastboot path (repeated bootloader logs and Unhandled command: getvar:product) instead of reaching Linux console, so login-action timed out.
  3. Possible fix: In the qcs615-ride LAVA fastboot path, add a post-boot state check that confirms exit from fastboot and Linux-console arrival, and on failure force a TAC debugboard normal-boot/power-cycle recovery with a longer fastboot-boot timeout.
  4. Detail analysis attachment: failed_case_job80594_3_detailed.md
  Case 4: job
  1. Failed case: job
  2. Root cause: On the qcs615-ride (IQ-615 EVK), the DUT reboots back into PBL/SBL during fastboot-boot auto-login, so LAVA never reaches a stable Linux shell prompt and login-action times out.
  3. Possible fix: Add a qcs615-ride boot-stability guard in LAVA (detect unexpected PBL/SBL banners after Starting kernel, force TAC debugboard power-cycle + fastboot retry) and increase fastboot-boot block timeout so retries can complete.
  4. Detail analysis attachment: failed_case_job80594_4_detailed.md
Job 80591 | SoC qcs6490

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80591

Failed test cases in LAVA job 80591 (SoC: qcs6490).

  Case 1: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On qcs6490 (RB3gen2), fastboot boot succeeds but the DUT falls into a pre-OS XBL/UEFI reboot loop (including watchdog reset) and never reaches a Linux console prompt, so auto-login-action times out.
  3. Possible fix: Force the RB3gen2 into confirmed normal boot state (not forced USB/dload), perform a hard power-cycle and firmware-slot sanity recovery on this board, then rerun with slightly larger fastboot-boot block timeout so retries are available if one boot loop recurs.
  4. Detail analysis attachment: failed_case_job80591_1_detailed.md
  Case 2: fastboot-boot
  1. Failed case: fastboot-boot
  2. Root cause: On qcs6490 RB3gen2, fastboot boot succeeds but the board never reaches a stable Linux console (it repeatedly returns to UEFI/Gunyah and watchdog-resets), so LAVA auto-login-action times out and the case fails due block-time exhaustion.
  3. Possible fix: For qcs6490 fastboot jobs, align boot artifacts/firmware expectations (boot.img + rb3gen2 DT/firmware compatibility) and adjust the LAVA fastboot-boot timeout/retry budget so one failed auto-login attempt does not consume the whole block.
  4. Detail analysis attachment: failed_case_job80591_2_detailed.md
  Case 3: job
  1. Failed case: job
  2. Root cause: On qcs6490 RB3gen2, fastboot boot succeeds but the DUT never reaches the expected Linux console banner (Linux version [0-9]) and repeatedly falls back to early boot firmware, so auto-login-action times out and fastboot-boot exhausts the 10-minute block budget.
  3. Possible fix: Update the qcs6490 LAVA boot flow to ensure kernel console comes up (verify boot.img+DTB/initramfs+cmdline for RB3gen2) and raise fastboot-boot block timeout (or reduce per-attempt timeout) so retries are actually possible.
  4. Detail analysis attachment: failed_case_job80591_3_detailed.md
Job 80587 | SoC qcs8300-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80587

Failed test cases in LAVA job 80587 (SoC: qcs8300-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On qcs8300-ride, Probe_Failure_Check is failing on three boot-time probe signatures (cpufreq-dt -17, AQR115C -22, xhci-hcd -110) that are currently treated as fatal by a generic log matcher even though they are platform bring-up/optional-path issues rather than a core kernel crash.
  3. Possible fix: Make Probe_Failure_Check SoC-aware by allowlisting these known qcs8300-ride non-fatal probe patterns (or downgrading them to WARN) and keep USB/Ethernet health validated in their dedicated testcases, while separately fixing DT/board config if those peripherals are required.
  4. Detail analysis attachment: failed_case_job80587_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: On qcs8300-ride, the USB host controller fails to initialize (xhci-hcd ... can't setup: -110 / probe failed), so the USBHost test cannot enumerate any USB devices.
  3. Possible fix: Fix qcs8300-ride USB host bring-up by correcting DT/boot-time USB host wiring (host mode, VBUS regulator/GPIO enable, and HS/SS PHY clock-power dependencies) until xhci-hcd probes successfully.
  4. Detail analysis attachment: failed_case_job80587_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On the qcs8300-ride bench, required lab dependencies (notably USB host fixture/peripheral, and likely associated probe/firmware expectations) were missing, causing suite-level FAILs and the runner to exit without sending an end-of-run signal so LAVA marked the run unfinished.
  3. Possible fix: Ensure qcs8300-ride LAVA worker provisioning includes the expected USBHost fixture and board-specific firmware/dependency set, and update the test runner to always emit ENDRUN/finalize signaling even when subtests fail.
  4. Detail analysis attachment: failed_case_job80587_3_detailed.md
Job 80595 | SoC qcs9100-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80595

Failed test cases in LAVA job 80595 (SoC: qcs9100-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On qcs9100-ride (Lemans Ride Rev3), Probe_Failure_Check fails because boot dmesg contains one Aquantia PHY probe error (AQR115C stmmac-0:08 ... error -22), indicating an invalid/unused MDIO PHY entry or missing PHY firmware property for an optional Ethernet path rather than a system crash.
  3. Possible fix: Update qcs9100-ride/Lemans Ethernet DT to disable the unused Aquantia PHY path at stmmac-0:08 (or provide its required firmware/property data), and temporarily filter this known benign signature in Probe_Failure_Check until DT is corrected.
  4. Detail analysis attachment: failed_case_job80595_1_detailed.md
  Case 2: shmbridge
  1. Failed case: shmbridge
  2. Root cause: On qcs9100-ride (Lemans Ride Rev3), boot-time IRIS (aa00000.video-codec) secure memory setup fails in TrustZone (qcom_scm_mem_protect_video_var failed: -5), and the shmbridge test fails because it flags these generic qcom_scm errors from current-boot dmesg.
  3. Possible fix: Fix the qcs9100 IRIS secure PAS/CP memory configuration path (DT video-firmware/tz_cp_config and SCM sequencing) and tighten the shmbridge testcase grep to qcom_scm_shm_bridge*-specific failures instead of any qcom_scm error.
  4. Detail analysis attachment: failed_case_job80595_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On qcs9100-ride (Lemans Ride Rev3), the test runner started 0_qcom-next-ci-premerge-tests but never emitted LAVA_SIGNAL_ENDRUN, so lava-dispatcher marked the run unfinished and failed after collecting subtest results (including Probe_Failure_Check and shmbridge as FAIL).
  3. Possible fix: Update the qcom-next-ci-premerge runner/result parser to always send LAVA_SIGNAL_ENDRUN on qcs9100-ride regardless of subtest failures, then rerun job 80595 to confirm clean run closure and expected per-test fail/pass reporting.
  4. Detail analysis attachment: failed_case_job80595_3_detailed.md
Job 80590 | SoC sm8750-mtp

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/80590

Failed test cases in LAVA job 80590 (SoC: sm8750-mtp).

  Case 1: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On sm8750-mtp, the device never reaches kernel console because XBL/AVB reports dtbo_a hash mismatch (Hash of data does not match digest) and stays in bootloader/mission-mode flow, so auto-login-action times out waiting for Linux version.
  3. Possible fix: Re-provision the sm8750-mtp DUT boot-chain partitions as a matched set (at minimum dtbo_a with corresponding vbmeta* baseline, and verify fastboot boot artifacts align with that baseline) before rerunning the LAVA job.
  4. Detail analysis attachment: failed_case_job80590_1_detailed.md
  Case 2: fastboot-boot
  1. Failed case: fastboot-boot
  2. Root cause: On sm8750-mtp the fastboot flow booted a boot.img that was not artifact-matched with the board’s dtbo_a/vbmeta_a chain, triggering dtbo_a AVB hash mismatch and bootloader DTB-corruption path so Linux never reached console prompt.
  3. Possible fix: Regenerate and deploy a single matched sm8750-mtp boot set (boot.img + dtbo + vbmeta) or flash matching dtbo_a/vbmeta_a before fastboot boot, then rerun the LAVA fastboot-boot block.
  4. Detail analysis attachment: failed_case_job80590_2_detailed.md
  Case 3: job
  1. Failed case: job
  2. Root cause: On sm8750-mtp, the fastboot boot chain never reaches kernel handoff because UEFI/AVB reports dtbo_a digest mismatch and DTB/runtime-image integrity warnings, so LAVA times out waiting for Linux version.
  3. Possible fix: Regenerate and deploy a coherent SM8750 boot artifact set (boot.img + matching dtbo/vbmeta expectations for this firmware) and re-run with the same board firmware/slot to confirm kernel banner appears before auto-login-action timeout.
  4. Detail analysis attachment: failed_case_job80590_3_detailed.md

Adding merge log file and topic_SHA1 file

Signed-off-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
@sgaud-quic sgaud-quic force-pushed the qcom-next-staging-7.0-20260420 branch from 740314b to c02129c Compare April 27, 2026 16:35
@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
0_qcom-next-ci-premerge-tests ❌ Fail ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ◻️
BT_FW_KMD_Service ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
BT_ON_OFF ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
BT_SCAN ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
CPUFreq_Validation ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
CPU_affinity ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
DSP_AudioPD ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
Ethernet ⚠️ skip ◻️ ⚠️ skip ✅ Pass ◻️ ⚠️ skip ◻️ ⚠️ skip ◻️ ◻️
Freq_Scaling ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
GIC ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
IPA ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
Interrupts ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ⚠️ skip ⚠️ skip ◻️ ⚠️ skip ◻️ ⚠️ skip ◻️ ◻️
PCIe ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
Probe_Failure_Check ❌ Fail ◻️ ❌ Fail ❌ Fail ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
RMNET ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
UFS_Validation ⚠️ skip ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
USBHost ✅ Pass ◻️ ✅ Pass ❌ Fail ◻️ ❌ Fail ◻️ ✅ Pass ◻️ ◻️
WiFi_Firmware_Driver ❌ Fail ◻️ ⚠️ skip ⚠️ skip ◻️ ⚠️ skip ◻️ ⚠️ skip ◻️ ◻️
WiFi_OnOff ❌ Fail ◻️ ✅ Pass ❌ Fail ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
cdsp_remoteproc ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
hotplug ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
irq ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
kaslr ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
pinctrl ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
qcom_hwrng ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
remoteproc ❌ Fail ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
rngtest ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
shmbridge ❌ Fail ◻️ ❌ Fail ✅ Pass ◻️ ✅ Pass ◻️ ❌ Fail ◻️ ◻️
smmu ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
watchdog ✅ Pass ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️
wpss_remoteproc ⚠️ skip ◻️ ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ◻️ ◻️

@rahujosh
Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #495

Job 81079 | SoC glymur-crd

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81079

Failed test cases in LAVA job 81079 (SoC: glymur-crd).

  Case 1: cdsp_remoteproc
  1. Failed case: cdsp_remoteproc
  2. Root cause: On glymur-crd, PR 495 enables CDSP remoteproc with firmware path qcom/glymur/cdsp.mbn, but the test image lacks that glymur CDSP firmware (request_firmware -2), so remoteproc1 stays offline.
  3. Possible fix: Add/deploy the glymur DSP firmware bundle (qcom/glymur/cdsp.mbn and matching DTB blob, plus ADSP pair) into the LAVA rootfs firmware path used by this SoC, then re-run the case.
  4. Detail analysis attachment: failed_case_job81079_1_detailed.md
  Case 2: remoteproc
  1. Failed case: remoteproc
  2. Root cause: On glymur-crd, ADSP/CDSP remoteproc nodes are enabled and expect firmware at qcom/glymur/{adsp,cdsp}*.mbn, but firmware loading fails with -2 (file not found), so both remoteprocs stay offline and the test sees running=0/expected=2.
  3. Possible fix: Ship/install the matching Glymur ADSP/CDSP firmware set (adsp.mbn, adsp_dtb.mbn, cdsp.mbn, cdsp_dtb.mbn) in the runtime firmware path used by this LAVA image, or align DT firmware-name to the actually deployed SoC firmware layout.
  4. Detail analysis attachment: failed_case_job81079_2_detailed.md
  Case 3: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On glymur-crd, PR Prepare qcom-next based on tag 'Linux 7.0' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #495 enables new bring-up nodes (ADSP/CDSP remoteproc, WCN7850 Wi-Fi/BT, LPASS audio/pinctrl), but the boot image lacks required firmware blobs and some LPASS/PCIe dependency paths are not fully ready, so probe/deferred failures are logged and the case fails.
  3. Possible fix: For glymur-crd, provide the matching firmware set (qcom/glymur/*, qca/hmtbtfw20.tlv, regulatory.db) and gate/disable not-yet-ready WLAN/audio/remoteproc DT nodes (or case allowlist) until PCIe-MSI and LPASS supplier chains probe cleanly.
  4. Detail analysis attachment: failed_case_job81079_3_detailed.md
  Case 4: shmbridge
  1. Failed case: shmbridge
  2. Root cause: On glymur-crd, the shmbridge testcase’s qcom_scm error-scan falsely flags the boot command line (qcom_scm.download_mode=1 with panic=-1) as a qcom_scm failure even though SCM initialized normally.
  3. Possible fix: Update the shmbridge log parser to only match real qcom_scm runtime error lines (exclude Kernel command line/bootargs and non-fatal “untested machine, skipping” messages) and rerun on glymur-crd.
  4. Detail analysis attachment: failed_case_job81079_4_detailed.md
  Case 5: WiFi_Firmware_Driver
  1. Failed case: WiFi_Firmware_Driver
  2. Root cause: On glymur-crd, the WCN7850 Wi-Fi 7 endpoint on PCI domain 0004 enumerates and firmware is present, but ath12k probe aborts because MSI allocation fails with -22, indicating a PCIe/MSI mapping/config regression in the kernel stack for this SoC path.
  3. Possible fix: Fix or revert the PR’s PCIe/MSI mapping changes (DT msi-map/#msi-cells handling and related OF MSI translation path) so MSI vectors are successfully allocated for 0004:01:00.0 on glymur-crd before ath12k probe.
  4. Detail analysis attachment: failed_case_job81079_5_detailed.md
  Case 6: WiFi_OnOff
  1. Failed case: WiFi_OnOff
  2. Root cause: On glymur-crd, the WCN7850 WiFi endpoint at /soc@0/pci@1bf0000/pcie@0/wifi@0 fails during PCIe MSI setup (failed to alloc msi: -22), indicating a target-side PCIe/MSI mapping/bring-up regression rather than LAVA worker/debugboard/PDU failure.
  3. Possible fix: Validate and fix glymur PCIe0 MSI routing/config (DT msi-map/#msi-cells and related DWC/QCOM PCIe MSI path), then rerun the same LAVA flow to confirm ath12k_wifi7_pci probes successfully.
  4. Detail analysis attachment: failed_case_job81079_6_detailed.md
  Case 7: qcom_hwrng
  1. Failed case: qcom_hwrng
  2. Root cause: On glymur-crd, the boot firmware TRNG path is not initialized (ArmTrngLib could not be correctly initialized), so userspace cannot switch rng_current to qcom_hwrng and the testcase fails.
  3. Possible fix: Update the glymur-crd boot/DT image so Qualcomm HWRNG is actually registered and selectable, and make qcom_hwrng test auto-SKIP when qcom_hwrng is absent from rng_available on this board.
  4. Detail analysis attachment: failed_case_job81079_7_detailed.md
  Case 8: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On glymur-crd, the DUT dropped from Linux into Qualcomm ramdump/EDL (boot_dload_entry -> Sahara Open) and LAVA lava-test-shell kept waiting for a root prompt until the 1200s timeout instead of triggering recovery/fail-fast.
  3. Possible fix: Add glymur-crd-specific bootrom/EDL detection in the LAVA worker (match RamDump, boot_dload_entry, Sahara) to immediately power-cycle via debugboard.py --board tac and re-enter normal boot or fail the case early.
  4. Detail analysis attachment: failed_case_job81079_8_detailed.md
Job 81082 | SoC kaanapali-mtp

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81082

Failed test cases in LAVA job 81082 (SoC: kaanapali-mtp).

  Case 1: login-action
  1. Failed case: login-action
  2. Root cause: On kaanapali-mtp, the DUT panicked early in Linux and fell back into Qualcomm PBL/USB Sahara (EDL) mode, so LAVA kept waiting for a shell/login prompt that can never appear on that boot path.
  3. Possible fix: Update the kaanapali LAVA recovery flow to treat Kernel panic as immediate boot failure and force a full recovery cycle (debugboard.py power-cycle + correct boot mode back to normal boot, reflash if needed) before retrying login.
  4. Detail analysis attachment: failed_case_job81082_1_detailed.md
  Case 2: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On kaanapali-mtp, the DUT hits an early display-path kernel panic (msm_disp_snapshot_add_block) after DPU/Adreno bring-up and drops into PBL/APBL logs, so LAVA never receives a valid Linux login:/shell prompt and auto-login-action times out.
  3. Possible fix: Align the kaanapali boot stack (kernel/DT/rootfs firmware, especially display firmware expectations) and fix the display snapshot panic path, then keep LAVA robust by using a stricter prompt and forcing reboot-on-panic before login retries.
  4. Detail analysis attachment: failed_case_job81082_2_detailed.md
  Case 3: minimal-boot
  1. Failed case: minimal-boot
  2. Root cause: On kaanapali-mtp, the DUT never reaches a Linux login prompt because it hits an early kernel panic in the display path (msm_disp_snapshot_add_block) and reboots into PBL logs, so LAVA login-action times out.
  3. Possible fix: For kaanapali-mtp, treat kernel panic as terminal in minimal-boot (fail fast instead of waiting for login) and fix the display/firmware mismatch causing the msm panic so boot reaches login:/shell prompt.
  4. Detail analysis attachment: failed_case_job81082_3_detailed.md
  Case 4: job
  1. Failed case: job
  2. Root cause: On kaanapali-mtp, the kernel boots but crashes at ~8s with a DRM/MSM display snapshot Oops (msm_disp_snapshot_add_block) after DPU frame-done timeout and missing Adreno SQE firmware, so LAVA later only sees reboot/Sahara output and minimal-boot times out into a job failure.
  3. Possible fix: Make the kaanapali boot image/rootfs provide qcom/gen80200_sqe.fw and apply a guard/fix in the MSM display snapshot path (msm_disp_snapshot_add_block caller chain) to prevent invalid memory access during DPU timeout snapshot capture.
  4. Detail analysis attachment: failed_case_job81082_4_detailed.md
Job 81085 | SoC lemans-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81085

Failed test cases in LAVA job 81085 (SoC: lemans-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On lemans-evk, early boot logs include a non-responsive optional SPI TPM (tpm_tis_spi ... -110) and missing optional QCA BT fallback firmware blobs (qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv -> -2), which the testcase treats as hard probe/firmware failures.
  3. Possible fix: Make Probe_Failure_Check SoC-aware by allowlisting these known-benign lemans-evk signatures (or alternatively ship the BT blobs and disable/fix the unused TPM DT path), then re-run job 81085 flow.
  4. Detail analysis attachment: failed_case_job81085_1_detailed.md
  Case 2: shmbridge
  1. Failed case: shmbridge
  2. Root cause: On lemans-evk (SA8775P/Lemans), Iris (aa00000.video-codec) is now probed from DT and issues secure SCM video CP requests during boot, but TrustZone/SCM rejects qcom_scm_mem_protect_video_var (-5), and the shmbridge test fails because it treats any qcom_scm kernel error as a testcase failure.
  3. Possible fix: Gate/disable Iris secure CP programming on lemans-evk until matching TZ/firmware + DT mapping support is present (or keep &iris disabled on this board config), and in parallel tighten the shmbridge test to check SHM-bridge-specific SCM failures instead of generic qcom_scm log matches.
  4. Detail analysis attachment: failed_case_job81085_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On lemans-evk, the test payload hit real platform boot/runtime errors (qcom-iris SCM protect failures and missing WCN BT firmware files, plus TPM probe timeout), and the run ended without an ENDRUN signal so LAVA marked the test run as unfinished/failed.
  3. Possible fix: Align the lemans-evk test image/firmware+DT stack (provide expected BT firmware and correct SCM/TZ compatibility or filter known-benign board-specific probe noise) and update the runner to always emit LAVA_SIGNAL_ENDRUN even when subtests fail.
  4. Detail analysis attachment: failed_case_job81085_3_detailed.md
Job 81083 | SoC monaco-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81083

Failed test cases in LAVA job 81083 (SoC: monaco-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On monaco-evk, the testcase flags expected platform-specific boot messages as failures: missing WCN6855 BT firmware blobs (qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv) and a tpm_tis_spi timeout on spi0.0, even though boot continues and no deferred probes remain.
  3. Possible fix: Make Probe_Failure_Check SoC-aware for monaco-evk by whitelisting these known benign signatures (or gating them on actual feature enablement), and in parallel align monaco firmware/DT packaging so BT firmware files and TPM node status match board reality.
  4. Detail analysis attachment: failed_case_job81083_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: On Monaco-EVK, the USBHost check failed because no host-side USB enumeration happened (unable to initialize usb spec / No USB devices found), which points to a board-specific USB host path dependency (role/VBUS/hub/device presence) rather than a kernel crash.
  3. Possible fix: On Monaco-EVK, validate and enforce the active host path (USB1 Type-C/GL3590 hub or USB2 OTG with correct ID/VBUS GPIO/regulator state) and make the USBHost test fail only after confirming controller-up + port-power + fixture device attached.
  4. Detail analysis attachment: failed_case_job81083_2_detailed.md
  Case 3: WiFi_OnOff
  1. Failed case: WiFi_OnOff
  2. Root cause: On monaco-evk, the WLAN path never becomes hardware-visible (no iw phy, no /sys/class/ieee80211, only BT rfkill) even though ath11k modules load, indicating board image/DT+firmware provisioning for the WCN6855 WiFi side is missing or not enabled rather than a LAVA worker control failure.
  3. Possible fix: Update the monaco-evk LAVA boot image/device setup to include the correct ath11k firmware tree and Monaco DT wiring/power-enable for the WCN6855 WiFi PCIe path, then rerun WiFi_Firmware_Driver and WiFi_OnOff in the same job flow.
  4. Detail analysis attachment: failed_case_job81083_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On monaco-evk, the test definition starts the LAVA run (LAVA_SIGNAL_STARTRUN) but never closes it with LAVA_SIGNAL_ENDRUN, so lava-dispatcher marks the run as unfinished/failed despite the board and TAC debugboard power path staying healthy.
  3. Possible fix: Update qcom-next-ci-premerge-tests runner to always emit LAVA_SIGNAL_ENDRUN (via trap on normal/error exits) and keep monaco-evk peripheral-dependent checks (USB/WiFi) reported as testcase failures/skips without breaking run-finalization signaling.
  4. Detail analysis attachment: failed_case_job81083_4_detailed.md
Job 81084 | SoC qcs615-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81084

Failed test cases in LAVA job 81084 (SoC: qcs615-ride).

  Case 1: login-action
  1. Failed case: login-action
  2. Root cause: On qcs615-ride, the console/boot-control path is being interfered by unexpected getvar:product command injection on the serial/bootloader path (while LAVA waits for shell), triggering bootloader watchdog resets and preventing the kernel from reaching a stable login prompt.
  3. Possible fix: Enforce exclusive board/serial ownership for this qcs615-ride worker (TAC debugboard + ser2net port + fastboot device ID) and remove external/parallel fastboot probing so only the active LAVA job controls boot and console.
  4. Detail analysis attachment: failed_case_job81084_1_detailed.md
  Case 2: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On qcs615-ride, the fastboot boot chain entered an unstable firmware/serial state (repeated Unhandled command: getvar:product and a watchdog reset) after boot-fastboot, so LAVA never saw the expected shell prompt and login-action timed out.
  3. Possible fix: In the qcs615-ride LAVA device flow, add a post-fastboot console recovery step (hard reconnect/reset of serial + clean reboot to normal Linux path before auto-login-action) and block concurrent/garbled fastboot traffic on the worker.
  4. Detail analysis attachment: failed_case_job81084_2_detailed.md
  Case 3: fastboot-boot
  1. Failed case: fastboot-boot
  2. Root cause: On qcs615-ride, the fastboot-loaded image enters Linux but never reaches a shell prompt and then the Qualcomm UEFI/XBL watchdog resets the board, so LAVA auto-login-action times out and fastboot-boot fails.
  3. Possible fix: Reproduce on the worker and fix the QCS615 boot path so the fastboot booted kernel+initramfs reliably reaches root@...# before watchdog expiry (or temporarily disable/extend the firmware watchdog while debugging), then rerun this LAVA case.
  4. Detail analysis attachment: failed_case_job81084_3_detailed.md
  Case 4: job
  1. Failed case: job
  2. Root cause: On qcs615-ride, the fastboot/UEFI stage received malformed getvar:product traffic (????...) and triggered a watchdog reset, so LAVA never reached the expected root@...# prompt and login-action timed out.
  3. Possible fix: Stabilize the qcs615-ride worker fastboot path (single clean fastboot session, USB transport reset/rebind, and hard power-cycle via TAC debugboard before boot) and then rerun with sufficient boot block time for retries.
  4. Detail analysis attachment: failed_case_job81084_4_detailed.md
Job 81086 | SoC qcs6490

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81086

Failed test cases in LAVA job 81086 (SoC: qcs6490).

  Case 1: USBHost
  1. Failed case: USBHost
  2. Root cause: On the qcs6490 RB3gen2 LAVA setup, the USBHost test ran with no downstream USB device presented to the SoC host port (or usbmux path), so enumeration returned none and the testcase failed.
  3. Possible fix: In the qcs6490 lab flow, explicitly force the board’s USB-C path to host mode and attach a known USB mass-storage/HID device through the debugboard/mux before running Baseport/USBHost/run.sh.
  4. Detail analysis attachment: failed_case_job81086_1_detailed.md
  Case 2: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On the qcs6490-rb3gen2 LAVA setup, the USBHost subtest failed because no USB peripheral was enumerated (No USB devices found), and the run then exited without an ENDRUN signal so LAVA finalized it as an unfinished failed run.
  3. Possible fix: Ensure a known-good USB device/loopback fixture is physically attached and visible to the qcs6490 host port before USBHost runs, and update the qcom-next-ci-premerge runner to always emit LAVA_SIGNAL_ENDRUN even when a testcase fails.
  4. Detail analysis attachment: failed_case_job81086_2_detailed.md
Job 81080 | SoC qcs8300-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81080

Failed test cases in LAVA job 81080 (SoC: qcs8300-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: On qcs8300-ride, the external Aquantia AQR115C PHY on the stmmac MDIO path fails probe with -22 (starting from failed to read firmware-name), and this single Ethernet probe failure is treated as a testcase failure.
  3. Possible fix: Make the qcs8300-ride Ethernet PHY path probe-clean by adding/correcting the AQR115C DT firmware property (or making it optional in driver for this board) and temporarily exclude this known board-specific probe miss from Probe_Failure_Check gating.
  4. Detail analysis attachment: failed_case_job81080_1_detailed.md
  Case 2: 0_qcom-next-ci-pr[
  1. Failed case: 0_qcom-next-ci-pr[
  2. Root cause: On qcs8300-ride, kernel console noise on the shared ttyMSM0 test channel corrupted the LAVA_SIGNAL_STARTRUN payload (name/UUID got split by a printk line), so LAVA never saw a valid run closure and marked the run unfinished.
  3. Possible fix: In the qcs8300-ride premerge runner, quiesce kernel console logging before STARTRUN/ENDRUN emission (for example reduce printk level) and harden signal framing so run-control signals are emitted atomically and parsed cleanly.
  4. Detail analysis attachment: failed_case_job81080_2_detailed.md
Job 81078 | SoC qcs9100-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81078

Failed test cases in LAVA job 81078 (SoC: qcs9100-ride).

  Case 1: shmbridge
  1. Failed case: shmbridge
  2. Root cause: On qcs9100-ride, the Iris codec (aa00000.video-codec) repeatedly fails the SCM secure video memory protect call (qcom_scm_mem_protect_video_var returns -5/-EIO) during boot, and the shmbridge testcase fails because it flags these qcom_scm errors from the current boot log.
  3. Possible fix: For qcs9100-ride, fix the Iris secure-memory setup (DT/firmware SCM CP-region + PAS/IOMMU video-firmware path) or temporarily disable Iris probe on this board, and update shmbridge to fail only on actual shm-bridge API failures instead of unrelated SCM client errors.
  4. Detail analysis attachment: failed_case_job81078_1_detailed.md
  Case 2: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: On qcs9100-ride, the shmbridge subtest fails after detecting repeated qcom_scm_mem_protect_video_var failed: -5 errors (secure-call path), and the runner then leaves the test run open (no LAVA_SIGNAL_ENDRUN), so LAVA marks the case failed as unfinished.
  3. Possible fix: Use a qcs9100-validated DT/firmware bundle for this LAVA job’s secure-media path and update the test wrapper to always emit LAVA_SIGNAL_ENDRUN even when any subtest (like shmbridge) fails.
  4. Detail analysis attachment: failed_case_job81078_2_detailed.md
Job 81081 | SoC sm8750-mtp

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81081

Failed test cases in LAVA job 81081 (SoC: sm8750-mtp).

  Case 1: auto-login-action
  1. Failed case: auto-login-action
  2. Root cause: On sm8750-mtp (Pakala), XBL/AVB reports dtbo_a hash mismatch against vbmeta so boot never reaches kernel banner/login, causing LAVA auto-login-action timeout rather than a TAC/PDU worker failure.
  3. Possible fix: Reflash dtbo_a and matching vbmeta_a (or full slot _a) from the same build used for boot.img on this sm8750-mtp device, then rerun the LAVA job.
  4. Detail analysis attachment: failed_case_job81081_1_detailed.md
  Case 2: fastboot-boot
  1. Failed case: fastboot-boot
  2. Root cause: On sm8750-mtp (Pakala), the DUT boot chain reports dtbo_a AVB hash mismatch against vbmeta during fastboot boot, so Linux never starts and the case fails on auto-login-action timeout rather than TAC/PDU control.
  3. Possible fix: Reflash a consistent sm8750-mtp slot image set (dtbo_a + vbmeta_a and aligned boot artifacts from the same build) before running fastboot-boot, then rerun the job.
  4. Detail analysis attachment: failed_case_job81081_2_detailed.md
  Case 3: job
  1. Failed case: job
  2. Root cause: On sm8750-mtp, fastboot boot completes but the device never reaches Linux handoff (repeated SBL1/UEFI boot-chain logs and DTB header can get corrupted due to runtime kernel size), so auto-login-action times out and LAVA fails the job when retry budget cannot fit.
  3. Possible fix: Rebuild the sm8750-mtp boot artifact so ABL can cleanly hand off to kernel (validate SM8750 DTB/DTBO packaging and boot image size/load layout), and only as a short-term workaround increase the fastboot-boot block timeout.
  4. Detail analysis attachment: failed_case_job81081_3_detailed.md
Job 81087 | SoC x1e80100

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/81087

No failed cases detected from the LAVA results section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.