Skip to content

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

Merged
Shiraz Hashim (shashim-quic) merged 1763 commits into
qualcomm-linux:qcom-next-stagingfrom
sgaud-quic:qcom-next-staging-7.3-20261021
Oct 30, 2026
Merged

Shiraz Hashim (shashim-quic) merged 1763 commits into
qualcomm-linux:qcom-next-stagingfrom
sgaud-quic:qcom-next-staging-7.3-20261021

Conversation

@sgaud-quic

@sgaud-quic Salendarsingh Gaud (sgaud-quic) commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Name SHA Commits

tech/bsp/clk cbb26e5 28
tech/bsp/devfreq 0837ca4 7
tech/bsp/ec 926202a 2
tech/bsp/interconnect 81fc6e2 1
tech/bsp/sched 2cb2e18 2
tech/security/firmware-smc a1d3d5b 15
tech/bsp/soc-infra dbf8f4d 53
tech/bsp/pinctrl 79149ef 1
tech/bsp/remoteproc 8c716bc 1
tech/bus/peripherals d69a417 8
tech/bus/pci/all 374f902 66
tech/bus/usb/dwc 6f24600 8
tech/bus/usb/phy b94824d 38
tech/debug/hwtracing fae0f79 27
tech/pmic/misc e7cdfc0 23
tech/mem/dma-buf 9041627 2
tech/mem/iommu e1fac89 11
tech/mm/audio/all 6d7300e 37
tech/mm/camss ab78a95 48
tech/mm/drm fa231b1 178
tech/mm/fastrpc d0f4511 8
tech/mm/video e9c5fec 76
tech/mm/gpu e1748a3 13
tech/net/ath 601094e 24
tech/net/eth 65af320 20
tech/net/bluetooth bf83018 8
tech/pm/pmdomain b3f799d 5
tech/pm/power 3faa52e 14
tech/pm/thermal 2602b17 9
tech/security/crypto e1032fb 27
tech/security/ice dc34f45 14
tech/security/optee-next b157b8e 2
tech/storage/all f2a8c9a 9
tech/all/dt/qcs6490 fdf8383 21
tech/all/dt/qcs9100 044fb5f 25
tech/all/dt/qcs8300 e5c50e7 34
tech/all/dt/qcs615 4bc8635 14
tech/all/dt/agatti 2ca1b63 2
tech/all/dt/eliza 20b729d 21
tech/all/dt/hamoa 05f97ed 41
tech/all/dt/glymur 6d2b429 43
tech/all/dt/kaanapali 51c7fe5 23
tech/all/dt/pakala 09989ea 15
tech/all/hawi e15b1df 47
tech/all/maili 0a27763 16
tech/all/shikra a1c6d4b 211
tech/all/config 5aeb156 92
tech/overlay/dt 1eb2676 106
tech/all/workaround 8b967f0 8
tech/noup/debug/all 9f1e8ae 37
tech/hwe/unoq a2d85fe 4
early/hwe/nord 45ac4ce 134
early/hwe/staging/nord ae32455 155

Issues :

  1. [qcom-next][sm8750-mtp] Display fail to come up with 7.3 #1359
  2. GFX Failure on Kernel premerge Tests for 7.3-rc4 #1233
  3. Audio record is failing on hamoa and purwa base builds for 7.3-rc2 #1142

ximiali and others added 30 commits October 16, 2026 14:30
…0100

Add "qcom,x1e80100-smmu-500" to the force_min_tlbival_granule check
so that Hamoa and Purwa apps_smmu are also covered.

Signed-off-by: Yushan Li <yushan.li@oss.qualcomm.com>
Add the board's horizontal button connected to GPIO69 as a gpio-keys input.
The button generates KEY_SLEEP events and is configured as a wakeup source.

Note: The button is actually connected to the onboard MCU, and forwarded
to the SoC via an active-high GPIO.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260708-buttons-ios-v1-1-f19feca52b60@oss.qualcomm.com/
Signed-off-by: Nirmesh Kumar Singh <nirmesh.singh@oss.qualcomm.com>
…ocks

Add support for 10kHz and 100kHz GCC GP clock frequencies required for
display backlight PWM functionality on Qualcomm QCS615 (Talos) SoC.

Link: https://lore.kernel.org/r/20261016-talos-gp-clk-freqs-update-v1-1-17c9a095063c@oss.qualcomm.com/
Signed-off-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
…B GDSC's"

This reverts commit 8fbbeee.

Reason for revert: Going with GDSC PWRSTS_RET_ON approach.

Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
… callback"

This reverts commit 2c50e88.

Reason for revert: Going with GDSC PWRSTS_RET_ON approach.

Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
…n error path

The BAM interrupt is requested with a devres helper and so on error it's
freed after probe() returns. We disable the clock before freeing or
masking it so it may still fire and we may end up reading BAM registers
with clock disabled.

Stop using devres for interrupts as we free it in remove() manually
anyway. Add an appropriate label and free the interrupt before disabling
the clock in error path and in remove().

Fixes: e7c0fe2 ("dmaengine: add Qualcomm BAM dma driver")
Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc%40oss.qualcomm.com?part=2
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-2-56f67da84c05@oss.qualcomm.com
BH workqueues are a modern mechanism, aiming to replace legacy tasklets.
Let's convert the BAM DMA driver to using the high-priority variant of
the BH workqueue.

[Vinod: suggested using the BG workqueue instead of the regular one
running in process context]

Suggested-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-3-56f67da84c05@oss.qualcomm.com
…data

In preparation for supporting the pipe locking feature flag, extend the
amount of information we can carry in device match data: create a
separate structure and make the register information one of its fields.
This way, in subsequent patches, it will be just a matter of adding a
new field to the device data.

Reviewed-by: Dmitry Baryshkov <lumag@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-4-56f67da84c05@oss.qualcomm.com
Extend the device match data with a flag indicating whether the IP
supports the BAM lock/unlock feature. Set it to true on BAM IP versions
1.4.0 and above.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Acked-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-5-56f67da84c05@oss.qualcomm.com
Add support for BAM pipe locking. To that end: when starting DMA on an RX
channel - prepend the existing queue of issued descriptors with an
additional "dummy" command descriptor with the LOCK bit set. Once the
transaction is done (no more issued descriptors), issue one more dummy
descriptor with the UNLOCK bit.

We *must* wait until the transaction is signalled as done because we
must not perform any writes into config registers while the engine is
busy.

The dummy writes must be issued into a scratchpad register of the client
so provide a mechanism to communicate the right address via descriptor
metadata.

Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-6-56f67da84c05@oss.qualcomm.com
The workqueue is setup in probe() but never cancelled on error or in
remove(). Set up a devres action to clean it up. We need to move the
initialization earlier as we don't want to cancel the work before any
outstanding DMA transfer is terminated. Make sure we do terminate all
transfers in qce_dma_release() devres action.

Fixes: eb7986e ("crypto: qce - convert tasklet to workqueue")
Closes: https://sashiko.dev/#/patchset/20260427-qcom-qce-cmd-descr-v16-0-945fd1cafbbc%40oss.qualcomm.com?part=7
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-7-56f67da84c05@oss.qualcomm.com
The header defines a struct embedding struct crypto_queue whose size
needs to be known and which is defined in crypto/algapi.h. Move the
inclusion from core.c to core.h.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-8-56f67da84c05@oss.qualcomm.com
It's unclear what the purpose of this field is. It has been here since
the initial commit but without any explanation. The driver works fine
without it. We still keep allocating more space in the result buffer, we
just don't need to store its address. While at it: move the
QCE_IGNORE_BUF_SZ definition into dma.c as it's not used outside of this
compilation unit.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-9-56f67da84c05@oss.qualcomm.com
This function can extract all the information it needs from struct
qce_device alone so simplify its arguments. This is done in preparation
for adding support for register I/O over DMA which will require
accessing even more fields from struct qce_device.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-10-56f67da84c05@oss.qualcomm.com
…est()

Switch to devm_kmalloc() and devm_dma_alloc_chan() in
devm_qce_dma_request(). This allows us to drop two labels and shrink the
function.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-11-56f67da84c05@oss.qualcomm.com
As the first step in converting the driver to using DMA for register
I/O, let's map the crypto memory range.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-12-56f67da84c05@oss.qualcomm.com
Switch to using BAM DMA for register I/O in addition to passing data. To
that end: provide the necessary infrastructure in the driver, modify the
ordering of operations as required and replace all direct register writes
with wrappers queueing DMA command descriptors.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-13-56f67da84c05@oss.qualcomm.com
…dmaengine

In order to communicate to the BAM DMA engine which address should be
used as a scratchpad for dummy writes related to BAM pipe locking,
fill out and attach the provided metadata struct to the descriptor.

Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260629-qcom-qce-cmd-descr-v20-14-56f67da84c05@oss.qualcomm.com
BAM DMA cannot process zero-length transfers, so the driver always holds
back at least one byte to submit to the engine and only ever finalizes
with an empty buffer when nothing is left to submit. For plain hashes
this was handled by returning the precomputed hash of the empty message
(tmpl->hash_zero), but HMAC's result depends on the key and cannot be
constant, so hmac(sha256) produced an incorrect digest for an empty
message and the crypto self-tests failed.

A zero pending buffer at finalization time does not necessarily mean the
message itself is empty, though: the caller can also reach it by
importing a state that already reflects some hashed data with nothing
currently buffered (crypto_ahash_import() followed directly by
finalization). Special-casing only a genuinely empty message would
silently compute the wrong result for an imported state in that
scenario.

Handle every zero-length finalization consistently through the software
fallback ahash instead. When nothing has been processed yet, let the
fallback compute the result from scratch using the key already propagated
to it via setkey(). Otherwise, reconstruct the fallback's running hash
state from the state kept by the driver and finalize from there,
accounting for the HMAC ipad block that the engine absorbs internally and
that never goes through update().

Cc: stable@vger.kernel.org
Fixes: ec8f5d8 ("crypto: qce - Qualcomm crypto engine driver")
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-1-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
XTS is not defined for an empty plaintext: it requires at least one full
block of data. The driver treated a zero-length request as a successful
no-op, so the crypto self-tests "unexpectedly succeeded" when -EINVAL
was expected.

Return -EINVAL for empty XTS requests while keeping the no-op behavior
for the other ciphers, which the crypto engine simply cannot process due
to its DMA not supporting zero-length transfers.

Cc: stable@vger.kernel.org
Fixes: f087894 ("crypto: qce - Return error for zero length messages")
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-2-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
In CTR mode, the IV acts as the initial counter block.
APer NIST SP 800-38A, after a CTR mode operation the next unused counter
value is:

IV_next = IV_in + ceil(cryptlen / AES_BLOCK_SIZE)

The skcipher requires req->iv to hold this updated counter on
completion, ensuring chained requests produce correct results.

Referring to Crypto6.0 documentation, Section 2.2.5 says:
"The count value increments automatically once per block of data (in
AES, a block is 16 bytes) based on the value in the
CRYPTO_ENCR_CNTR_MASK registers."

QCE increments internal counter register once per full 16-byte block(for
ctr-aes) is processed. In case of partial request length, the hardware
uses the current counter to generate keystreams but does not increment
the counter register afterwards. So the counter value written in
CRYPTO_ENCR_CNTRn_IVn later once read by software is one less than the
expected value.

Crypto selftest framework capture this scenario with test vector
4 comprising of a 499-byte payload (31 full blocks + 3 partial bytes).
Error:
[    5.606169] alg: skcipher: ctr-aes-qce encryption test failed (wrong output IV) on test vector 4, cfg="in-place (one sglist)"
[    5.606176] 00000000: e7 82 1d b8 53 11 ac 47 e2 7d 18 d6 71 0c a7 61
[    5.606192] alg: self-tests for ctr(aes) using ctr-aes-qce failed (rc=-22)
Expected iv_out: 0x62 (iv_in + 32)
Obtained iv_out: 0x61 (iv_in + 31, partial block not counted)

To fix this, just increase the counter value for partial block requests
by 1 and for the full block size requests, don't take any action as
expected value is already returned by the hardware.

Cc: stable@vger.kernel.org
Fixes: 3e806a1 ("crypto: qce - update the skcipher IV")
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-3-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
…al block

ctr(aes) is registered with a block size of 1, so the crypto API hands
the driver requests whose length is not a multiple of the AES block
size. The crypto engine, however, stalls waiting for a full block of
input in that case, leaving the operation incomplete and failing the
request (and the crypto self-tests) with a hardware operation error.

Route AES-CTR requests with a partial final block to the software
fallback, which already handles the other cases the engine cannot.

Cc: stable@vger.kernel.org
Fixes: bb5c863 ("crypto: qce - fix ctr-aes-qce block, chunk sizes")
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-4-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
The crypto engine reliably processes AES requests only when the payload
is a single contiguous buffer. A payload split across multiple
scatterlist entries makes the engine stall waiting for input, failing
the request with a hardware operation error. This was uncovered by the
crypto self-tests, which feed the algorithms randomly fragmented
buffers.

Detect a payload that spans more than one scatterlist entry, in either
the source or the destination, and route the request to the software
fallback.

Cc: stable@vger.kernel.org
Fixes: 25b71d6 ("crypto: qce - Improve the conditions for requesting AES fallback cipher")
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-5-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
The QCE hardware does not support AES XTS mode when key1 and key2 are
equal. The driver was handling this by unconditionally rejecting the
keys with -ENOKEY(-126), regardless of whether FIPS mode is active or
the FORBID_WEAK_KEYS flag is set.
[    5.599170] alg: skcipher: xts-aes-qce setkey failed on test vector 0; expected_error=0, actual_error=-126, flags=0x1
[    5.599184] alg: self-tests for xts(aes) using xts-aes-qce failed (rc=-126)

In general for weak keys,
- If FIPS mode is active or FORBID_WEAK_KEYS is set: return -EINVAL.
- In non-FIPS mode, Accept the key and encrypt successfully.

Since QCE was returning -ENOKEY for non-FIPS mode whereas the
expectation is to encrypt content and return success, the selftest saw a
mismatch and failed.

There are two problems in QCE behavior:
  * -ENOKEY is returned instead of -EINVAL for the FIPS/weak-key
    rejection case.
  * key1 == key2 is rejected even in non-FIPS mode

Fix xts-aes-qce behavior by using generic helper xts_verify_key() to
reject keys early with -EINVAL for FIPS mode active(or FORBID_WEAK_KEYS
set). For non-FIPS mode, since QCE hardware cannot accept the keys, use
software fallback mechanism to encrypt the data.

Cc: stable@vger.kernel.org
Fixes: f0d078d ("crypto: qce - Return unsupported if key1 and key 2 are same for AES XTS algorithm")
Signed-off-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-6-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
…lock

CCM builds on AES-CTR for encryption, and the crypto engine stalls on a
partial final block just as it does for plain ctr(aes): a payload whose
length is not a multiple of the AES block size leaves the operation
incomplete and fails with a hardware operation error. This was caught by
the ccm(aes) crypto self-tests.

Force the software fallback for CCM requests whose message length is not
block aligned, reusing the driver's existing need_fallback mechanism.

Cc: stable@vger.kernel.org
Fixes: 9363efb ("crypto: qce - Add support for AEAD algorithms")
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-7-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
The crypto engine reliably processes CCM only when the message payload
is a single contiguous buffer. The associated data is already linearized
into a bounce buffer before being submitted, but when the payload itself
is split across multiple scatterlist entries the engine stalls waiting
for input and the request fails with a hardware operation error. This
was uncovered by the crypto self-tests, which feed the algorithms
randomly fragmented buffers.

Detect a payload that spans more than one scatterlist entry (in either
the source or the destination, skipping past the associated data) and
route the request to the software fallback.

Cc: stable@vger.kernel.org
Fixes: 9363efb ("crypto: qce - Add support for AEAD algorithms")
Tested-by: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-8-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
This driver's crypto algorithms still have a few issues that need
addressing which don't currently trigger any self-test failures. For
that reason: don't register the algorithms unless the user really wants
it.

Add a module parameter to the QCE driver that by default causes the
driver to *not* register the crypto algorithms. It will only be one if
the user explicitly passes the do_register_algos argument as true.

The power-management part of the driver is kept as is to allow scaling
down of interconnects gating of clocks by runtime PM.

Cc: stable@vger.kernel.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-9-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
The self-tests for this driver have been fixed. The crypto algorithms
are only registered if the user explicitly requests it with the provided
module parameter defaulting to false. There's no reason to further keep
it unbuildable with the BROKEN label.

While at it: update the Kconfig description by saying this is an
"offloader" and not an "accelerator".

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-10-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
This driver is disabled in arm64 defconfig but one of its
functionalities - scaling down the interconnect votes to 0 when unused -
will be moved to an always-enabled core qce driver. This upcoming core
driver will also be in charge of registering the qcrypto device on the
auxiliary bus so that it may be enabled if desired.

As the first step: convert the driver to using the auxiliary bus and
remove the interconnect management from the code. Update the power
management as required and make sure to use the parent struct device
for DMA.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-11-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
Add the core driver for the Qualcomm crypto engine. Its task is to bind
to the qce DT node, set up runtime PM for interconnect down-scaling and
register the auxiliary device using the crypto offloader driver.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260922-qce-fix-self-tests-v9-12-b1aa742e79af@oss.qualcomm.com
Signed-off-by: Udit Tiwari <udit.tiwari@oss.qualcomm.com>
@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-glymur-crd-multimedia kbdev-hamoa-iot-evk-multimedia kbdev-kaanapali-mtp-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia kbdev-sm8750-mtp-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ◻️ ✅ Pass
BT_FW_KMD_Service ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
Ethernet_Basic_Validation ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ✅ Pass ◻️ ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ◻️ ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
KVM_Driver ✅ Pass ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail
KVM_EL2_DTB ✅ Pass ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail
KVM_Infra ✅ Pass ❌ Fail ◻️ ◻️ ✅ Pass ◻️ ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail
OpenCV ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
PCIe ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ❌ Fail
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
UFS_Validation ⚠️ skip ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
USBHost ✅ Pass ✅ Pass ⚠️ skip ◻️ ⚠️ skip ◻️ ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ◻️ ⚠️ skip
WiFi_Firmware_Driver ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass
gpdsp_remoteproc ⚠️ skip ⚠️ skip ⚠️ skip ◻️ ✅ Pass ◻️ ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ◻️ ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
rngtest ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
smmu ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ✅ Pass
watchdog ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass

The Nord Ride Embedded board carries a QCA6797AQ (WCN7850) LGA module on
a connectivity adapter card hanging off PCIe2.  Two PMIC GPIOs gate the
module supplies: PWR_CORE (pmau0102_e GPIO6) enables the DBU_CORE_VL,
DBU_CORE_VM and DBU_CORE_VH regulators feeding VDD_CORE_VL/VM/VH, and
PWR_CTRL1 (pmau0102_e GPIO8) enables DBU4, which produces the 3.3 V rail.
PWR_CTRL2 drives DBU3, which is not populated, so it is left alone.

Describe those rails, the WCN7850 PMU that derives the chip supplies from
them, and the PCIe endpoint node consuming the PMU outputs.

Signed-off-by: Yu Zhang (Yuriy) <yu.zhang@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20261021022921.2053957-5-shengchao.guo@oss.qualcomm.com
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
… support

The WCN7850 module on the connectivity adapter card exposes its HCI
interface on UART17, and BT_EN is routed to pmau0102_e GPIO9.

Hook that GPIO up to the WCN7850 PMU, enable uart17 as serial1, and
describe the Bluetooth controller consuming the PMU outputs.

Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20261021022921.2053957-6-shengchao.guo@oss.qualcomm.com
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-glymur-crd-multimedia kbdev-hamoa-iot-evk-multimedia kbdev-kaanapali-mtp-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia kbdev-sm8750-mtp-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass
BT_FW_KMD_Service ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
BT_ON_OFF ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
BT_SCAN ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
Ethernet_Basic_Validation ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ❌ Fail ⚠️ skip ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ✅ Pass ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
USBHost ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ❌ Fail ⚠️ skip
WiFi_Firmware_Driver ✅ Pass ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass
watchdog ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

… of_platform_populate"

Change is causing iommu failure leading to display failure on sm8750-mtp

[    8.242533] arm-smmu 3da0000.iommu: error -EINVAL: Failed to register iommu
[    8.242536] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -22

Revert change for now to unblock.

This reverts commit 9bf3690.

Signed-off-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
… to the driver"

Change is causing iommu failure leading to display failure on sm8750-mtp

[    8.242533] arm-smmu 3da0000.iommu: error -EINVAL: Failed to register iommu
[    8.242536] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -22

Revert change for now to unblock.

This reverts commit deee3a9.
…ssions"

Change is causing iommu failure leading to display failure on sm8750-mtp

[    8.242533] arm-smmu 3da0000.iommu: error -EINVAL: Failed to register iommu
[    8.242536] arm-smmu 3da0000.iommu: probe with driver arm-smmu failed with error -22

Revert change for now to unblock.

This reverts commit d0f4511.
Adding merge log file and topic_SHA1 file

Signed-off-by: Salendarsingh Gaud <sgaud@qti.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-glymur-crd-multimedia kbdev-hamoa-iot-evk-multimedia kbdev-kaanapali-mtp-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia kbdev-sm8750-mtp-multimedia
BT_FW_KMD_Service ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
Ethernet_Basic_Validation ◻️ ◻️ ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
IPA ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ◻️ ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail
Probe_Failure_Check ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
USBHost ◻️ ◻️ ⚠️ skip ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ❌ Fail ⚠️ skip
WiFi_Firmware_Driver ◻️ ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
adsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ◻️ ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass
watchdog ◻️ ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #1322

Job 262592 | SoC qcs9100-ride

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** Three pre-existing platform configuration issues on qcs9100-ride detected by the Probe_Failure_Check test: (1) qcom-tee-uefisecapp QTEE service probe fails with -EBUSY, indicating the TEE UEFI secure application service is unavailable or already initialized; (2) regulatory.db firmware file missing from rootfs (benign — WiFi functional); (3) nvmem-reboot-mode driver stuck in deferred probe due to missing nvmem cell definition in device tree.
  3. Possible fix: These are not PR-introduced regressions. Recommended actions: (1) Suppress qcom-tee-uefisecapp probe failure in CI if QTEE UEFI service is not expected on qcs9100-ride, or fix device tree/firmware configuration if it should work; (2) Add wireless-regdb package to rootfs or suppress this benign firmware warning in CI; (3) Fix qcs9100-ride device tree to define the reboot-mode nvmem cell or remove the reboot-mode node if not supported. For this PR: APPROVE — no kernel regression introduced.
  4. Detail analysis attachment: failed_case_job262592_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Add the iommus property to the parent iris: video-codec@aa00000 device tree node in the PR. Based on similar Qualcomm video codec devices, the property should be iommus = <&apps_smmu 0x2180 0x20>; or the appropriate stream ID for the sa8775p video codec. Verify the correct stream ID from the platform's SMMU stream ID mapping documentation or reference existing venus/iris video codec nodes on similar platforms.
  4. Detail analysis attachment: failed_case_job262592_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a kernel bug. Either (1) exclude KVM tests from qcs9100-ride CI runs (platform does not support nested virtualization), or (2) if KVM support is required, boot without Gunyah hypervisor (requires bootloader/firmware reconfiguration and may break safety partitioning features).
  4. Detail analysis attachment: failed_case_job262592_3_detailed.md
  Case 4: KVM_EL2_DTB — KVM/Hypervisor Mode Not Available
  1. Failed case: KVM_EL2_DTB — KVM/Hypervisor Mode Not Available
  2. Root cause: The qcs9100-ride (LeMans Ride Rev3) board is not running in EL2 (hypervisor) mode; KVM driver initialization reports "kvm [1]: HYP mode not available" at boot, preventing /dev/kvm device node creation and causing all KVM-dependent tests to fail with "[SKIP] /dev/kvm is not present".
  3. Possible fix: This is a platform/boot configuration limitation, not a PR-introduced regression. The board must boot in EL2 mode for KVM to function. Verify bootloader configuration enables EL2 mode, or mark KVM tests as expected-fail for this board configuration if EL2 mode is not supported/enabled on qcs9100-ride in the current firmware/bootloader version.
  4. Detail analysis attachment: failed_case_job262592_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Skip KVM-related tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) on qcs9100-ride platform in the LAVA test definition, or configure the platform firmware/bootloader to enable EL2 access for the host kernel if virtualization support is required.
  4. Detail analysis attachment: failed_case_job262592_5_detailed.md
  Case 6: KVM_Infra — Platform KVM Support Unavailable
  1. Failed case: KVM_Infra — Platform KVM Support Unavailable
  2. Root cause: KVM initialization failed because HYP (EL2 hypervisor) mode is not available on the qcs9100-ride platform. The kernel message "kvm [1]: HYP mode not available" at boot time (2.3s) indicates the platform firmware or hardware configuration does not support EL2 virtualization extensions required for KVM. CONFIG_KVM is enabled in the kernel config, but /dev/kvm device node was never created because kvm_init() aborted early when it detected HYP mode unavailability.
  3. Possible fix: This is a platform/firmware limitation, not a kernel regression. The qcs9100-ride test platform does not support KVM virtualization. Either: (1) Skip KVM tests on qcs9100-ride in the CI test matrix, or (2) Enable EL2/HYP mode in the platform firmware/bootloader configuration if the hardware supports it, or (3) Use a different test platform that supports virtualization extensions for KVM validation.
  4. Detail analysis attachment: failed_case_job262592_6_detailed.md
Job 262593 | SoC shikra-iqs-evk

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

Failed test cases in LAVA job 262593 (SoC: shikra-iqs-evk).

  Case 1: GIC Test Infrastructure Bug
  1. Failed case: GIC Test Infrastructure Bug
  2. Root cause: The GIC test script has a hardcoded assumption of 8 CPUs and attempts to parse /proc/interrupts for CPUs 4-7, which do not exist on shikra-iqs-evk (4-core platform). The script's line 75 bash integer comparison fails when it encounters non-numeric fields ("GICv3", "Level", "arch_timer") from the interrupt line, causing false failures for non-existent CPUs 4-7.
  3. Possible fix: Update the GIC test script to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online (like the Interrupts and hotplug tests do) and only test those CPUs, rather than hardcoding an 8-CPU assumption.
  4. Detail analysis attachment: failed_case_job262593_1_detailed.md
  Case 2: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test detected three pre-existing probe failures on shikra-iqs-evk: (1) qcom-pcie 45e8000.pcie timeout (-ETIMEDOUT) during PCIe link initialization, (2) regulatory.db firmware missing (-ENOENT) for cfg80211 wireless regulatory database, and (3) qcom-tee-uefisecapp probe failure (-EBUSY) for UEFI secure app service. Additionally, four devices remain in deferred probe state (audio codec mclk clock, sound card CPU DAI, MMC controller, I2C device 3-0010). None of these failures are introduced by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322, which contains only documentation, device tree bindings, and non-functional DT updates for multiple SoCs including shikra.
  3. Possible fix: These are known platform-specific limitations on shikra-iqs-evk, not regressions. The Probe_Failure_Check test should be updated to suppress these known benign failures for shikra: (1) PCIe controller 45e8000 timeout is expected when no PCIe device is connected, (2) regulatory.db firmware is optional and cfg80211 falls back to built-in regulatory rules, (3) qcom-tee-uefisecapp -EBUSY indicates the secure service is already in use by firmware, (4) deferred probe devices (audio, MMC, I2C) are non-critical peripherals that may require additional board-specific configuration. PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322 should be approved as it does not introduce any new probe failures.
  4. Detail analysis attachment: failed_case_job262593_2_detailed.md
  Case 3: PCIe
  1. Failed case: PCIe
  2. Root cause: PCIe PHY initialization timeout during controller probe — qcom-qmp-pcie-phy 45ee000.phy: phy initialization timed-out followed by qcom-pcie 45e8000.pcie: probe with driver qcom-pcie failed with error -110 (ETIMEDOUT). The shikra-iqs-evk board's PCIe PHY at address 45ee000 failed to complete initialization within the expected timeout period, preventing the PCIe controller from probing successfully.
  3. Possible fix: Verify PCIe PHY hardware is functional on the shikra-iqs-evk board; check PHY power supplies (vdda, vddpe-3v3 are using dummy regulators — confirm actual regulators are defined in DT and powered correctly); increase PHY initialization timeout if hardware is known to be slow; check PHY clock and reset configuration in device tree; if this is a known board-specific issue, add a quirk or extended timeout for shikra PHY initialization in drivers/phy/qualcomm/phy-qcom-qmp-pcie.c.
  4. Detail analysis attachment: failed_case_job262593_3_detailed.md
  Case 4: USBHost
  1. Failed case: USBHost
  2. Root cause: USB host controllers (DWC3/xHCI) did not probe during boot on shikra-iqs-evk; no USB root hubs or PCI sysfs entries were created, causing lsusb enumeration to fail. The test detected no USB-related kernel errors, indicating the failure is due to missing/disabled USB host functionality rather than a driver crash or PR-introduced regression.
  3. Possible fix: Verify USB host controller drivers (CONFIG_USB_DWC3, CONFIG_USB_XHCI_HCD, CONFIG_USB_DWC3_QCOM) are enabled in the kernel config for shikra-iqs-evk. If enabled, check the device tree to confirm USB nodes are configured for host mode (dr_mode = "host" or "otg") and that required PHYs and power supplies are present. If this is a known hardware limitation of shikra-iqs-evk (no USB host support), update the LAVA test suite to skip USBHost on this platform.
  4. Detail analysis attachment: failed_case_job262593_4_detailed.md
  Case 5: ** KVM_Driver (Test Environment Configuration Issue)
  1. Failed case: ** KVM_Driver (Test Environment Configuration Issue)
  2. Root cause: ** Test failure due to platform configuration incompatibility. The shikra-iqs-evk board is running under Gunyah hypervisor (EL2), which prevents KVM from initializing because nested virtualization is not supported. KVM requires direct EL2 access to create /dev/kvm, but EL2 is already occupied by Gunyah. The kernel correctly reports "HYP mode not available" during boot. This is expected behavior, not a kernel regression.
  3. Possible fix: Exclude KVM tests from the test suite for boards running under Gunyah hypervisor, or configure the board to boot without Gunyah if KVM testing is required. Update the LAVA job definition to skip KVM tests when kvm [1]: HYP mode not available is detected in dmesg, or add a pre-test check for hypervisor presence before running KVM tests.
  4. Detail analysis attachment: failed_case_job262593_5_detailed.md
  Case 6: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM initialization failed at boot because Gunyah hypervisor is already running at EL2 — kernel message "kvm [1]: HYP mode not available" indicates KVM cannot acquire EL2 when another hypervisor occupies it; /dev/kvm device node was never created, causing all KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) to fail at their availability gate.
  3. Possible fix: This is a platform configuration issue, not a kernel regression. To enable KVM on Shikra IQS EVK, boot without the Gunyah hypervisor (disable in bootloader/firmware configuration) or use a kernel build that does not include Gunyah support. If KVM testing is required for this PR, re-trigger the CI job on a board configuration that does not load Gunyah at boot.
  4. Detail analysis attachment: failed_case_job262593_6_detailed.md
  Case 7: KVM_Infra (Test Infrastructure Limitation — Platform Configuration)
  1. Failed case: KVM_Infra (Test Infrastructure Limitation — Platform Configuration)
  2. Root cause: Shikra IQS EVK firmware boots kernel at EL1 (non-hypervisor mode) instead of EL2 (hypervisor mode), preventing KVM initialization. Evidence: kernel log shows "CPU: All CPU(s) started at EL1" and "kvm [1]: HYP mode not available". CONFIG_KVM is enabled but cannot function without EL2 boot.
  3. Possible fix: This is a pre-existing platform limitation, not a PR regression. To enable KVM on Shikra IQS EVK: (1) Update bootloader/UEFI firmware to boot kernel at EL2, or (2) Exclude KVM tests from CI for this board, or (3) Add a test skip condition when /dev/kvm is unavailable due to EL1 boot (not a test failure).
  4. Detail analysis attachment: failed_case_job262593_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM subsystem failed to initialize because HYP (EL2) mode is not available on the shikra-iqs-evk platform; kernel log shows kvm [1]: HYP mode not available at boot, preventing /dev/kvm device node creation.
  3. Possible fix: This is a platform hardware/firmware limitation, not a kernel regression. The shikra-iqs-evk board does not support virtualization (EL2/HYP mode). Either: (1) skip KVM tests on this platform in the CI test suite, or (2) verify the board firmware/bootloader configuration enables EL2 if the hardware supports it but firmware is blocking it.
  4. Detail analysis attachment: failed_case_job262593_8_detailed.md
Job 262594 | SoC qcs6490-rb3gen2

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

Failed test cases in LAVA job 262594 (SoC: qcs6490-rb3gen2).

  Case 1: cdsp_remoteproc
  1. Failed case: cdsp_remoteproc
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Revert the power domain performance state and TMD changes in drivers/remoteproc/qcom_q6v5_pas.c and verify CDSP boots successfully. If the feature is required, ensure SMMU domain attachment and memory carveout setup complete before asserting CDSP power domain performance states. Add explicit ordering: (1) configure SMMU mappings, (2) set power domain states, (3) release CDSP from reset. Validate on qcs6490-rb3gen2 hardware with SMMU fault logging enabled.
  4. Detail analysis attachment: failed_case_job262594_1_detailed.md
  Case 2: GIC Test Script Bug — Incorrect CPU Count Assumption
  1. Failed case: GIC Test Script Bug — Incorrect CPU Count Assumption
  2. Root cause: The GIC test script at line 75 assumes all 8 possible CPUs (0-7) are online and attempts to parse 8 interrupt count columns from /proc/interrupts, but only 6 CPUs (0-5) are online on qcs6490-rb3gen2 at boot time, causing a bash integer comparison error when the script encounters "GICv3" string instead of a numeric interrupt count for offline CPUs 6-7.
  3. Possible fix: Update the GIC test script to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online before parsing /proc/interrupts, or skip validation for offline CPUs by checking /sys/devices/system/cpu/cpu*/online status before attempting to parse their interrupt counts.
  4. Detail analysis attachment: failed_case_job262594_2_detailed.md
  Case 3: Probe_Failure_Check — Benign Firmware Load Failures (Pre-existing Infrastructure Issue)
  1. Failed case: Probe_Failure_Check — Benign Firmware Load Failures (Pre-existing Infrastructure Issue)
  2. Root cause: Two firmware files (regulatory.db for cfg80211 and renesas_usb_fw.mem for xhci-pci-renesas) are missing from the rootfs /lib/firmware directory on qcs6490-rb3gen2, causing -ENOENT probe failures. However, both affected subsystems remain fully functional: WiFi operates correctly (WiFi_Firmware_Driver and WiFi_OnOff tests passed), and the Renesas USB controller failure does not impact the primary Qualcomm USB controller (a600000.usb is SMMU-protected and functional). These are benign firmware packaging issues, not kernel driver regressions.
  3. Possible fix: Add regulatory.db and renesas_usb_fw.mem firmware files to the Yocto rootfs recipe (linux-firmware package) for qcs6490-rb3gen2. Alternatively, suppress these known benign failures in the Probe_Failure_Check test by excluding -ENOENT firmware load errors when the corresponding functional tests pass (WiFi ON/OFF for regulatory.db, USB enumeration for renesas_usb_fw.mem).
  4. Detail analysis attachment: failed_case_job262594_3_detailed.md
  Case 4: Freq_Scaling
  1. Failed case: Freq_Scaling
  2. Root cause: The Freq_Scaling test expects all CPUs (0-7) to have cpufreq interfaces, but CPU6 and CPU7 failed to boot during kernel initialization with PSCI error -22 ("psci: failed to boot CPU6 (-22)" and "psci: failed to boot CPU7 (-22)"). The test successfully validated cpufreq interfaces for CPU0-CPU6 (7 CPUs), but then failed with "CPUFreq interface not found" because it expected CPU7 to also be present and have a cpufreq interface. This is a platform-specific boot issue on qcs6490-rb3gen2, not a cpufreq driver regression.
  3. Possible fix: This is not a PR-introduced regression. The PR contains cpufreq code changes (drivers/cpufreq/cpufreq.c and freq_table.c) and disables CONFIG_CPUFREQ_DT in defconfigs, but these changes do not affect CPU boot or PSCI. The CPU6/CPU7 boot failure is a pre-existing platform/firmware issue on qcs6490-rb3gen2. The test should be updated to dynamically detect the number of online CPUs and validate only those, rather than assuming a fixed CPU count. To work around this test failure, either: (1) fix the underlying PSCI/firmware issue preventing CPU6/CPU7 from booting, or (2) update the Freq_Scaling test script to iterate over /sys/devices/system/cpu/cpu*/cpufreq instead of assuming a fixed CPU topology.
  4. Detail analysis attachment: failed_case_job262594_4_detailed.md
  Case 5: LAVA Test Framework Issue — Unfinished test run marked as failed
  1. Failed case: LAVA Test Framework Issue — Unfinished test run marked as failed
  2. Root cause: The LAVA test runner's result_parse.sh script found leftover .res files (CPU_affinity.res and Freq_Scaling.res) at the end of the test run and incorrectly interpreted them as unfinished tests, even though both tests had already completed and reported their results earlier (CPU_affinity PASSED at line 4823, Freq_Scaling FAILED at line 4798). The test framework marked the entire test definition 0_qcom-next-ci-premerge-tests as failed with the error "Marking unfinished test run as failed" despite the kernel booting successfully (Linux version 7.3.0-01763-gf0903b79ea7e) and all tests executing to completion.
  3. Possible fix: This is a LAVA test framework cleanup issue, not a kernel regression. The .res files should be removed after test results are reported to LAVA. Review the test runner's cleanup logic in send-to-lava.sh or result_parse.sh to ensure .res files are deleted after successful result transmission. As a workaround, re-trigger the CI job — this appears to be a transient test infrastructure issue rather than a reproducible kernel bug introduced by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322.
  4. Detail analysis attachment: failed_case_job262594_5_detailed.md
Job 262595 | SoC qcs8300-ride

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Three pre-existing probe failures detected during boot on qcs8300-ride: (1) qcom-tee-uefisecapp driver returns -EBUSY (-16) indicating the TEE service is already in use or not available in this firmware configuration; (2) regulatory.db firmware file is missing from the rootfs (-ENOENT/-2), a known benign issue as cfg80211 falls back to compiled-in regulatory data; (3) Aquantia AQR115C PHY driver fails with -EINVAL (-22) due to missing firmware-name DT property, but the Ethernet controller (23040000.ethernet) probes successfully and is functional. None of these failures are introduced by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322 — the PR adds new drivers (qcom-tee-uefisecapp, coresight, SDCA audio, ARM RAS, etc.) and modifies existing subsystems (sound, firmware, tee), but does not touch the Aquantia PHY driver, cfg80211 regulatory loader, or the qcs8300 device tree that would affect these probe paths.
  3. Possible fix: Suppress these three probe failures in the Probe_Failure_Check test's allowlist for qcs8300-ride, as they are platform-specific benign failures that do not affect system functionality: (1) qcom-tee-uefisecapp -EBUSY is expected when the TEE service is not exposed or already claimed by firmware; (2) regulatory.db -ENOENT is a known false positive (cfg80211 uses built-in regulatory data); (3) Aquantia AQR115C -EINVAL is a DT configuration issue (missing optional firmware-name property) that does not prevent Ethernet operation. Alternatively, if the test must remain strict, add the missing regulatory.db file to the rootfs and add the firmware-name property to the qcs8300-ride DT for the Aquantia PHY node.
  4. Detail analysis attachment: failed_case_job262595_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Add the iommus property to the aa00000.video-codec node in arch/arm64/boot/dts/qcom/qcs8300.dtsi to attach the video codec to an appropriate SMMU context bank (e.g., iommus = <&apps_smmu 0x2180 0x20>; following the pattern used for other qcs8300 masters).
  4. Detail analysis attachment: failed_case_job262595_2_detailed.md
  Case 3: Ethernet_Basic_Validation
  1. Failed case: Ethernet_Basic_Validation
  2. Root cause: qcom-ethqos driver fails to attach to PHY with -EINVAL because the SGMII PHY at 8909000.phy is using dummy regulators (vdda-0p9 and vdda-1p2 supplies not found in device tree), preventing proper PHY initialization and causing phylink_of_phy_connect() to reject the PHY attachment on qcs8300-ride.
  3. Possible fix: Add the missing vdda-0p9 and vdda-1p2 regulator supply properties to the SGMII PHY node (phy@8909000) in the qcs8300 device tree, mapping them to the appropriate PMIC regulator outputs for this SoC platform.
  4. Detail analysis attachment: failed_case_job262595_3_detailed.md
  Case 4: KVM_Driver — Platform Hardware Limitation
  1. Failed case: KVM_Driver — Platform Hardware Limitation
  2. Root cause: QCS8300 Ride platform does not support ARM EL2 (Hypervisor mode) required for KVM virtualization. Kernel correctly detected missing capability during boot with message "kvm [1]: HYP mode not available" and skipped KVM initialization, resulting in /dev/kvm device node not being created. CONFIG_KVM and CONFIG_VIRTUALIZATION are enabled in kernel config, but hardware/firmware does not provide EL2 support.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. Either: (1) exclude KVM tests from QCS8300 test suite since platform doesn't support virtualization, or (2) enable EL2 in platform firmware/bootloader if hardware supports it but it's currently disabled, or (3) use a different platform that supports ARM virtualization extensions for KVM testing.
  4. Detail analysis attachment: failed_case_job262595_4_detailed.md
  Case 5: KVM_EL2_DTB (and KVM_Driver, KVM_Infra — same root cause)
  1. Failed case: KVM_EL2_DTB (and KVM_Driver, KVM_Infra — same root cause)
  2. Root cause: qcs8300-ride platform boots with Gunyah hypervisor owning EL2; KVM cannot initialize because it requires exclusive EL2 access. Kernel message: "kvm [1]: HYP mode not available". This is a platform configuration incompatibility, not a kernel bug or PR-introduced regression.
  3. Possible fix: Exclude KVM tests from qcs8300-ride LAVA job definitions when Gunyah hypervisor is enabled, OR provide an alternate boot configuration without Gunyah for KVM testing. To verify KVM functionality, test on a platform that boots Linux directly at EL2 (e.g., rb5, sm8450-hdk) or disable Gunyah in the qcs8300-ride boot chain.
  4. Detail analysis attachment: failed_case_job262595_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a fixable kernel issue. KVM tests should be excluded from the QCS8300 test suite, or the test should be marked as "expected skip" for platforms without EL2 support. If EL2 support is required, this is a hardware/firmware platform limitation that must be addressed at the SoC or bootloader level.
  4. Detail analysis attachment: failed_case_job262595_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM driver initialization failed because HYP (Hypervisor) mode is not available on the QCS8300 platform — kernel message "kvm [1]: HYP mode not available" at boot indicates the CPU does not support EL2 virtualization extensions or they are disabled by firmware/bootloader.
  3. Possible fix: This is a platform hardware/firmware limitation, not a kernel regression introduced by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322. The QCS8300 SoC either does not support ARM virtualization extensions (EL2/HYP mode) or the bootloader/TrustZone firmware has disabled EL2 access. To resolve: (1) verify QCS8300 SoC specifications support virtualization extensions, (2) if supported, update bootloader/firmware to enable EL2 mode, (3) if not supported, exclude KVM tests from the CI test suite for this platform.
  4. Detail analysis attachment: failed_case_job262595_7_detailed.md
Job 262597 | SoC monaco-evk

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: ath11k_pci WiFi driver probe failed with -ETIMEDOUT (-110) on monaco-evk because the required firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs, causing MHI power-up to time out during driver initialization.
  3. Possible fix: Add the missing ath11k firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory (/lib/firmware/). This firmware is required for the WCN6855 hw2.1 WiFi chipset on monaco-evk and must be included in the Yocto build or manually copied to the target.
  4. Detail analysis attachment: failed_case_job262597_1_detailed.md
  Case 2: Device Tree Configuration Error — Missing IOMMU Binding
  1. Failed case: Device Tree Configuration Error — Missing IOMMU Binding
  2. Root cause: PR#1322 adds video codec device nodes (aa00000.video-codec) with dma-coherent property but omits the required iommus DT property, preventing IOMMU framework from attaching the device to an IOMMU group during probe.
  3. Possible fix: Add iommus property to all video-codec@aa00000 nodes in the affected device trees (monaco.dtsi and others). Reference similar Qualcomm video codec nodes for the correct SMMU stream IDs and context bank assignments for this SoC.
  4. Detail analysis attachment: failed_case_job262597_2_detailed.md
  Case 3: WiFi Driver Probe Failure — ath11k_pci probe timeout
  1. Failed case: WiFi Driver Probe Failure — ath11k_pci probe timeout
  2. Root cause: PR#1322 introduces duplicate tasklet_kill(&mhi_event->task) calls in drivers/bus/mhi/host/pm.c functions mhi_pm_disable_transition and mhi_pm_sys_error_transition, causing workqueue synchronization warnings and MHI controller initialization timeout (-110/ETIMEDOUT) during ath11k_pci WiFi driver probe on Monaco EVK.
  3. Possible fix: Remove the first tasklet_kill(&mhi_event->task) call at line 527 in mhi_pm_disable_transition and line 687 in mhi_pm_sys_error_transition in drivers/bus/mhi/host/pm.c, keeping only the conditional block that correctly handles BW_SCALE events with cancel_work_sync and non-BW_SCALE events with tasklet_kill.
  4. Detail analysis attachment: failed_case_job262597_3_detailed.md
  Case 4: WiFi_OnOff — ath11k_pci driver probe failure
  1. Failed case: WiFi_OnOff — ath11k_pci driver probe failure
  2. Root cause: ath11k_pci driver probe failed with error -110 (ETIMEDOUT) during MHI power-up after firmware load failure for ath11k/WCN6855/hw2.1/nfa765/amss.bin (error -2, ENOENT). The MHI subsystem timed out waiting for the WiFi chipset to respond after the firmware request failed, causing the entire probe sequence to abort.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs /lib/firmware/ directory in the Yocto build recipe. The Monaco EVK board uses a WCN6855 hw2.1 WiFi chipset that requires this specific firmware variant for the nfa765 board configuration. Verify the firmware is packaged in the linux-firmware or board-specific firmware recipe and included in the image.
  4. Detail analysis attachment: failed_case_job262597_4_detailed.md
  Case 5: LAVA Test Framework Issue — Test Suite Marked Incomplete
  1. Failed case: LAVA Test Framework Issue — Test Suite Marked Incomplete
  2. Root cause: LAVA marked the test suite 0_qcom-next-ci-premerge-tests as failed with "Marking unfinished test run as failed" because the result_parse.sh script listed .res files (CPU_affinity.res, Freq_Scaling.res, irq.res, smmu.res) that had already reported their results to LAVA earlier in the run. This is a test framework artifact handling issue, not a kernel regression. The kernel booted successfully and all individual tests that were supposed to run did run and report their results. The PR (documentation and device tree bindings only) did not introduce this behavior.
  3. Possible fix: This is a known LAVA test framework issue on monaco-evk. The test suite completion logic needs to be fixed to not re-list already-reported .res files. Re-trigger the CI job; the individual test results (which were properly reported) should be used for PR validation, not the overall suite status. The genuine test failures in this job are: (1) ath11k_pci WiFi probe timeout (-110), and (2) video codec missing IOMMU group attachment — both are pre-existing platform issues unrelated to this documentation-only PR.
  4. Detail analysis attachment: failed_case_job262597_5_detailed.md
Job 262599 | SoC purwa-evk

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

Failed test cases in LAVA job 262599 (SoC: purwa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the Probe_Failure_Check test to use a platform-specific allowlist of known benign probe failures for purwa-evk. Add these 7 failures to the allowlist: qcom_qseecom_uefisecapp (EBUSY), qcom-tee-uefisecapp (EBUSY), qcom-pcie 1bf8000/1bd0000 (ENODATA), regulatory.db (ENOENT), wsa_macro 6b00000/6aa0000 (EIO).
  4. Detail analysis attachment: failed_case_job262599_1_detailed.md
  Case 2: ** smmu
  1. Failed case: ** smmu
  2. Root cause: ** Video codec device (aa00000.video-codec) on purwa-evk is missing IOMMU group attachment because the device tree node lacks the required iommus property to bind it to the SMMU, preventing the IOMMU framework from creating the necessary IOMMU group for DMA protection.
  3. Possible fix: Add the iommus property to the video codec device tree node in arch/arm64/boot/dts/qcom/purwa.dtsi (or the relevant purwa device tree file modified by this PR). The property should reference the appropriate SMMU phandle and stream ID, following the pattern used by other critical devices on this platform (e.g., iommus = <&apps_smmu 0x<SID> 0x<mask>>;). Verify the correct stream ID from the hardware documentation or existing working platforms with the same video codec IP.
  4. Detail analysis attachment: failed_case_job262599_2_detailed.md
  Case 3: ** KVM_Driver — /dev/kvm device node unavailable
  1. Failed case: ** KVM_Driver — /dev/kvm device node unavailable
  2. Root cause: ** The purwa-evk platform booted with Gunyah hypervisor at EL2 (confirmed by boot log: "Hypervisor cold boot, version: gunyah-mobile-1f99e07c2" and "EFI selection='el2gh'"). KVM requires exclusive access to EL2/HYP mode to provide virtualization, but when Gunyah occupies EL2, KVM initialization fails with "HYP mode not available" and /dev/kvm is never created. This is a platform boot configuration issue, not a kernel regression.
  3. Possible fix: To enable KVM on purwa-evk, boot the platform without Gunyah hypervisor by selecting the non-EL2 boot path (EFI selection should be 'el1' or equivalent, not 'el2gh'). This requires changing the bootloader/firmware configuration or selecting a different device tree that does not enable Gunyah. If both KVM and Gunyah support are required, they cannot coexist in the same boot session — use separate boot configurations for KVM testing vs Gunyah VM testing.
  4. Detail analysis attachment: failed_case_job262599_3_detailed.md
  Case 4: KVM_EL2_DTB — KVM device node unavailable (platform configuration)
  1. Failed case: KVM_EL2_DTB — KVM device node unavailable (platform configuration)
  2. Root cause: The LAVA job is using the base purwa-iot-evk.dtb which boots in EL1 mode without EL2 (Hypervisor) support. KVM initialization reports "kvm [1]: HYP mode not available" at boot, preventing /dev/kvm creation. This is a platform configuration issue, not a kernel regression.
  3. Possible fix: Update the LAVA job definition to use purwa-iot-evk-el2.dtb instead of purwa-iot-evk.dtb. The EL2-enabled device tree is already available in the build artifacts (purwa-iot-evk-el2-dtbs := purwa-iot-evk.dtb x1-el2.dtbo). Alternatively, mark KVM tests as expected-to-skip on non-EL2 platforms.
  4. Detail analysis attachment: failed_case_job262599_4_detailed.md
  Case 5: KVM_Infra — Platform Limitation (Not a Bug)
  1. Failed case: KVM_Infra — Platform Limitation (Not a Bug)
  2. Root cause: KVM requires EL2 (HYP mode) to function, but purwa-evk boots with Gunyah hypervisor already occupying EL2, preventing KVM initialization. Kernel correctly reports "kvm [1]: HYP mode not available" and does not create /dev/kvm device node.
  3. Possible fix: This is not a PR-introduced bug. To enable KVM testing on purwa-evk: (1) boot without Gunyah hypervisor (requires firmware/bootloader changes to not load hypervisor), OR (2) use nested virtualization if Gunyah supports it (currently not available), OR (3) run KVM tests on a different platform that boots without a hypervisor at EL2 (e.g., standard QEMU or bare-metal ARM64 boards).
  4. Detail analysis attachment: failed_case_job262599_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Platform hardware does not support ARM virtualization extensions (EL2/HYP mode); kernel message "kvm [1]: HYP mode not available" indicates the Purwa IoT EVK board either lacks virtualization hardware support or firmware has not enabled EL2 mode for the kernel.
  3. Possible fix: This is a platform limitation, not a PR-introduced regression. The test should be skipped on platforms without virtualization support. Add platform capability detection to the LAVA job definition to skip KVM tests when HYP mode is unavailable, or ensure the board firmware enables EL2 mode if the hardware supports it.
  4. Detail analysis attachment: failed_case_job262599_6_detailed.md
Job 262600 | SoC sm8750-mtp

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test detected 4 probe/firmware errors during boot on sm8750-mtp: (1) qcom-tee-uefisecapp probe failure (-EBUSY) from new driver added by PR where TZ service is unavailable; (2-3) regulatory.db and Bluetooth NVM firmware load failures are known benign (WiFi_OnOff and BT_ON_OFF tests passed, confirming runtime firmware load succeeded); (4) wsa_macro ASoC register access error (-EIO) caused by clock management refactoring in PR (lpass-wsa-macro.c: removed pm_clock infrastructure, added manual clock enable/disable) creating transient register access timing issue during probe, but audio subsystem initialized successfully (Audio_Card_Registration and DSP_AudioPD tests passed).
  3. Possible fix: Suppress errors (2) and (3) as known benign per LAVA suppression rules (WiFi/BT functional tests passed). For error (4), investigate wsa_macro clock enable sequencing in wsa_macro_enable_clocks() — ensure all clocks (macro, dcodec, mclk, npl, fsgen) are fully stable before ASoC component registration; add delay or poll for clock readiness after clk_prepare_enable() sequence. For error (1), add platform compatibility check in qcomtee_uefisecapp_probe() to return -ENODEV silently on platforms without TZ UEFI service support, preventing spurious probe failure logs.
  4. Detail analysis attachment: failed_case_job262600_1_detailed.md
  Case 2: PCIe
  1. Failed case: PCIe
  2. Root cause: Test script false positive — early validation checks for "PCIe capabilities" and "bound PCIe kernel driver" failed, but runtime validation confirms PCIe is fully functional with 2 devices enumerated (0000:00:00.0 pcieport bridge and 0000:01:00.0 ath12k_wifi7_pci endpoint), drivers bound, links up at 5.0 GT/s PCIe x1, MSI/MSI-X operational, and no kernel errors. The test script's early checks are likely looking for sysfs paths or formats that changed, while the actual PCIe subsystem is working correctly on sm8750-mtp.
  3. Possible fix: This is a test infrastructure issue, not a kernel regression. The PR changes (primarily SDCA audio framework, ARM RAS, device tree bindings, and various driver updates) do not touch PCIe core functionality. No kernel fix required. Update the PCIe test script's early validation logic to match the current sysfs structure, or remove the redundant early checks since runtime validation already confirms full PCIe functionality.
  4. Detail analysis attachment: failed_case_job262600_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: /dev/kvm device node is not present because the SM8750-MTP system is running as a guest under the Gunyah hypervisor (version gunyah-mobile-80d668e8f prod), which does not support nested virtualization (KVM-on-KVM). CONFIG_KVM is enabled in the kernel config, but the KVM driver does not initialize when running under a hypervisor without nested virtualization support.
  3. Possible fix: This is not a PR-introduced regression. The test expectation is incorrect for this platform configuration. Either: (1) Skip KVM tests when running under Gunyah hypervisor by detecting hypervisor presence in the test suite, or (2) Configure the LAVA job to boot the kernel directly on bare metal (EL2) instead of under Gunyah if KVM testing is required.
  4. Detail analysis attachment: failed_case_job262600_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM cannot initialize because the system is running as a guest VM under the Gunyah hypervisor at EL1, not as the host hypervisor at EL2. The /dev/kvm device node is not created because CONFIG_KVM requires EL2 access, which is not available when running as a guest under another hypervisor. This is a platform configuration issue, not a kernel regression.
  3. Possible fix: This test is not applicable to SM8750-MTP when running under Gunyah hypervisor. Either: (1) Skip KVM tests on platforms configured with Gunyah hypervisor, or (2) Test KVM on bare-metal configurations where Linux runs at EL2, or (3) Use nested virtualization if Gunyah supports exposing EL2 to guest VMs (currently not the case).
  4. Detail analysis attachment: failed_case_job262600_4_detailed.md
  Case 5: KVM_Infra — KVM device node unavailable (Gunyah hypervisor conflict)
  1. Failed case: KVM_Infra — KVM device node unavailable (Gunyah hypervisor conflict)
  2. Root cause: KVM cannot initialize because the SM8750 MTP is running under the Gunyah hypervisor, which already controls EL2. On ARM64, only one hypervisor can control EL2 at a time. Boot log shows gunyah-hyp@80000000 reserved memory and arm-pv: using stolen time PV, confirming Gunyah is active. CONFIG_KVM is enabled but KVM driver initialization is silently skipped when EL2 is unavailable, preventing /dev/kvm creation.
  3. Possible fix: Skip KVM tests on Gunyah-enabled platforms by updating the LAVA test suite to detect Gunyah presence (check for gunyah-hyp in device tree reserved memory or paravirt stolen time) and mark KVM tests as SKIP (not FAIL) with reason "KVM unavailable - Gunyah hypervisor active". Alternatively, maintain separate test profiles for Gunyah vs KVM builds and select the appropriate profile in the LAVA job definition based on firmware configuration.
  4. Detail analysis attachment: failed_case_job262600_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests (KVM_Infra test)
  1. Failed case: 0_qcom-next-ci-premerge-tests (KVM_Infra test)
  2. Root cause: KVM and Gunyah hypervisor cannot coexist — both require exclusive access to ARM Exception Level 2 (EL2). On sm8750-mtp, Gunyah hypervisor is present and active (reserved memory region gunyah-hyp@80000000 detected at boot), so KVM initialization is silently skipped and /dev/kvm is not created. This is expected behavior, not a kernel bug.
  3. Possible fix: Suppress KVM_Infra test on Gunyah-enabled platforms (sm8750-mtp). Add a pre-check to the LAVA test plan: if Gunyah hypervisor is detected (check for /sys/firmware/devicetree/base/reserved-memory/gunyah-hyp or dmesg | grep gunyah-hyp), skip KVM tests and mark them as SKIP instead of FAIL. This is a test infrastructure misconfiguration, not a kernel issue.
  4. Detail analysis attachment: failed_case_job262600_6_detailed.md
Job 262603 | SoC glymur-qli-crd

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

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

  Case 1: Build Load Failure — EDL device serial mismatch
  1. Failed case: Build Load Failure — EDL device serial mismatch
  2. Root cause: Result: Build Load Failure. The glymur-crd board entered EDL mode successfully (PID 0x9008 detected on USB bus 1), but the USB serial number exposed by the board does not match the expected serial "A1F9878C" configured in the LAVA job flash settings. The qdl flash tool repeatedly failed to read the iProduct descriptor with "Operation timed out" and "Input/Output Error", indicating the EDL device is present but not responding correctly to USB enumeration requests. After 20 minutes (1200 seconds) of retrying, the deploy-flasher action timed out.
  3. Possible fix: This is a hardware/lab infrastructure issue, not a kernel regression introduced by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322. Re-trigger the LAVA job to attempt flashing again. If the issue persists: (1) Verify the board's USB connection and cable integrity; (2) Power-cycle the board completely (not just EDL mode entry) to reset the USB controller state; (3) Check if the board's USB serial number has changed (possibly due to firmware reflash or hardware replacement) and update the LAVA device dictionary accordingly; (4) Verify the debugboard.py EDL mode trigger is functioning correctly for this specific board serial (FTAD76TD).
  4. Detail analysis attachment: failed_case_job262603_1_detailed.md
  Case 2: Build Load Failure — EDL device serial mismatch during flasher deployment
  1. Failed case: Build Load Failure — EDL device serial mismatch during flasher deployment
  2. Root cause: Result: Build Load Failure. The deploy-flasher stage timed out after 1200 seconds while waiting for an EDL device with serial "A1F9878C". The qdl tool detected EDL devices on the USB bus (PID 0x9008 at bus 1, addr 24 and addr 25) but none matched the expected serial number. Multiple "failed to read iProduct descriptor" errors (Operation timed out, Input/Output Error) indicate USB communication instability with the glymur-crd board in EDL mode.
  3. Possible fix: Verify the board's USB serial number matches "A1F9878C" in the LAVA device configuration. If the serial has changed or the wrong board is assigned to this job, update the LAVA job definition or device dictionary with the correct serial. Check USB cable/hub connectivity and power-cycle the board to clear any USB enumeration issues. If the problem persists, manually trigger EDL mode and verify the serial with lsusb -v before re-triggering the CI job.
  4. Detail analysis attachment: failed_case_job262603_2_detailed.md
  Case 3: ** Build Load Failure — EDL device serial mismatch during flash deployment
  1. Failed case: ** Build Load Failure — EDL device serial mismatch during flash deployment
  2. Root cause: ** Result: Build Load Failure. The deploy-flasher stage timed out after 1200 seconds because the EDL device enumerated on USB (PID 0x9008) did not match the expected serial "A1F9878C", and subsequent USB descriptor reads failed with "Operation timed out" errors. The board never booted, so no kernel log was produced.
  3. Possible fix: Re-trigger the CI job to retry the flash operation. If the issue recurs, investigate the glymur-crd board's USB connection and serial number configuration: verify the board's actual USB serial matches the LAVA job definition, check for intermittent USB cable/hub issues, and confirm the debugboard.py EDL mode trigger is correctly resetting the board's USB enumeration. If the board serial has changed, update the LAVA device dictionary for this board to reflect the correct serial.
  4. Detail analysis attachment: failed_case_job262603_3_detailed.md
Job 262605 | SoC hamoa-evk

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

No failed cases detected from the LAVA results section.

Job 262607 | SoC kaanapali-mtp

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Two non-critical driver probe errors detected during boot on kaanapali-mtp: (1) qcom-tee-uefisecapp probe failed with -EBUSY (-16), indicating the TEE UEFI secure app service is already in use or resource conflict; (2) wsa_macro ASoC component register update failed with -EIO (-5) at register 0x5dc, likely caused by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322's regcache type change from FLAT to MAPLE and clock management refactoring in the wsa_macro driver.
  3. Possible fix: For qcom-tee-uefisecapp: verify TEE firmware compatibility and check for resource conflicts in device tree or secure world initialization order. For wsa_macro: revert the regcache type change from MAPLE back to FLAT, or ensure regcache_sort_defaults() is called before regmap initialization and verify clock sequencing in wsa_macro_enable_clocks() matches hardware requirements for register access during component probe.
  4. Detail analysis attachment: failed_case_job262607_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: The video codec device at 2000000.video-codec added by this PR is missing IOMMU group attachment because the device has status = "disabled" in the device tree and the iommus properties are defined only in child nodes (iris_non_pixel and pixel), not on the parent device itself, preventing the SMMU test's critical master validation from detecting IOMMU protection for the video codec.
  3. Possible fix: This is a test expectation issue, not a functional kernel bug. The video codec device is intentionally disabled (status = "disabled") and uses a child-node IOMMU binding pattern where IOMMU groups are attached to functional sub-devices rather than the parent. Update the SMMU test's critical master list to either (1) skip disabled devices, or (2) check child nodes for IOMMU bindings when the parent device uses the sub-device pattern, or (3) remove video-codec from the critical master list if it's acceptable for it to remain disabled without direct IOMMU attachment on kaanapali-mtp.
  4. Detail analysis attachment: failed_case_job262607_2_detailed.md
  Case 3: ** PCIe
  1. Failed case: ** PCIe
  2. Root cause: ** PCIe endpoint device (0000:01:00.0, Qualcomm device ID 0x17cb:0x110e, Network controller class 0x028000) is enumerated but has no kernel driver bound. The PCIe controller is functioning correctly (link trained to Gen3 x2, no errors in dmesg), but the test expects the endpoint device to have a driver loaded and PCIe capabilities exposed via sysfs.
  3. Possible fix: This is expected behavior when the driver for device 0x17cb:0x110e is not compiled into the kernel or loaded as a module. Verify whether: (1) the driver for this device exists in the kernel tree, (2) the driver is enabled in the kernel config, (3) the PR removed or disabled the driver. If the device is a WiFi/WLAN chip (class 0x028000 suggests network controller), check if ath11k, ath12k, or qca_wlan drivers are configured. If this is a new device requiring a new driver, the test expectation should be updated to skip this check until the driver is upstreamed.
  4. Detail analysis attachment: failed_case_job262607_3_detailed.md
  Case 4: BT_FW_KMD_Service — WCN7850 Bluetooth Firmware Load Failure
  1. Failed case: BT_FW_KMD_Service — WCN7850 Bluetooth Firmware Load Failure
  2. Root cause: WCN7850 Bluetooth controller repeatedly fails to load firmware (qca/hmtbtfw20.tlv) with HCI command timeout (error -110, ETIMEDOUT) during TLV segment transfer. The controller successfully reads version information (Product ID 0x1e, SOC 0x40210200) but consistently times out when downloading firmware, exhausting all retry attempts (0, 1, 2). This is a hardware/firmware communication failure on the UART transport layer, not a kernel driver regression.
  3. Possible fix: This is a pre-existing hardware/board/firmware issue unrelated to the PR changes (PR modifies only documentation, device tree bindings, and unrelated subsystems). The failure indicates either: (1) WCN7850 hardware fault on this specific kaanapali-mtp board, (2) UART14 signal integrity issue, (3) incompatible/corrupt firmware file qca/hmtbtfw20.tlv in the rootfs, or (4) power sequencing issue for the WCN7850 module. Recommended actions: (1) Verify the test passes on a different kaanapali-mtp board to isolate hardware fault, (2) Check UART14 signal quality and baud rate configuration, (3) Verify qca/hmtbtfw20.tlv firmware file integrity and version compatibility with WCN7850 hardware revision 0x02000200, (4) Review WCN7850 power supply voltages and enable GPIO timing.
  4. Detail analysis attachment: failed_case_job262607_4_detailed.md
  Case 5: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test suite timeout (2400s) caused by Bluetooth firmware download hang on kaanapali-mtp. The QCA WCN7850 Bluetooth controller repeatedly fails to download firmware file qca/hmtbtfw20.tlv with HCI command 0xfc00 tx timeout (-110 ETIMEDOUT) across multiple power-on retry attempts. The BT_ON_OFF test never completes because the Bluetooth adapter cannot initialize, triggering the LAVA test-shell timeout.
  3. Possible fix: This is a Bluetooth firmware download timeout issue on kaanapali-mtp (WCN7850), not a LAVA infrastructure failure. The PR introduces Bluetooth driver changes (QCC2072 support in btqca.c/hci_qca.c) that may have introduced a regression in the WCN7850 firmware download path. Investigate the PR's changes to qca_combine_nvm_calib(), qca_set_speed(), and related firmware loading logic for unintended side effects on WCN7850. Verify the firmware file qca/hmtbtfw20.tlv is present and accessible. If the issue is reproducible, add debug logging to the HCI command path to identify why command 0xfc00 times out during TLV segment transmission.
  4. Detail analysis attachment: failed_case_job262607_5_detailed.md
  Case 6: lava-test-shell
  1. Failed case: lava-test-shell
  2. Root cause: LAVA test-shell timed out after 2400 seconds because the BT_ON_OFF test could not complete — the Qualcomm WCN7850 Bluetooth controller on kaanapali-mtp repeatedly fails to load firmware (qca/hmtbtfw20.tlv) with HCI command 0xfc00 tx timeout errors (-110 ETIMEDOUT), exhausting all retry attempts across multiple recovery cycles without ever achieving a ready state.
  3. Possible fix: Investigate the PR's Bluetooth driver changes (hci_qca.c, btqca.c) for regressions affecting WCN7850 firmware download timing or HCI command handling; verify that the QCC2072 additions did not inadvertently alter WCN7850 code paths; increase BT_POWER_ON_RETRY_DELAY or BT_POWER_ON_ATTEMPTS in the test configuration as a temporary workaround, but the root cause is a firmware loading regression that must be fixed in the driver.
  4. Detail analysis attachment: failed_case_job262607_6_detailed.md
  Case 7: lava-test-retry
  1. Failed case: lava-test-retry
  2. Root cause: LAVA test timeout caused by Bluetooth firmware loading failure — WCN7850 Bluetooth controller repeatedly fails to load firmware (qca/hmtbtfw20.tlv) with command timeout error (-110: ETIMEDOUT) during TLV segment transfer, exhausting all retry attempts and causing the BT_ON_OFF test to hang for 40 minutes until LAVA's 2400-second test timeout is reached.
  3. Possible fix: Investigate the WCN7850 Bluetooth firmware loading path in the PR's btqca.c/hci_qca.c changes — the repeated "command 0xfc00 tx timeout" and "Failed to send TLV segment (-110)" errors indicate a regression in the firmware download protocol or timing. The PR modifies btqca.c with new qca_combine_nvm_calib() function and related firmware handling; verify that the TLV segment transmission logic correctly handles command completion and does not introduce timing regressions. Check if the kaanapali-mtp board requires specific firmware timing adjustments or if the PR's changes to firmware request paths inadvertently break the WCN7850 initialization sequence.
  4. Detail analysis attachment: failed_case_job262607_7_detailed.md
  Case 8: LAVA Test Timeout — BT_ON_OFF test hung on Bluetooth firmware loading
  1. Failed case: LAVA Test Timeout — BT_ON_OFF test hung on Bluetooth firmware loading
  2. Root cause: LAVA test-shell timed out after 2400 seconds because the BT_ON_OFF test hung indefinitely while attempting to load Bluetooth firmware (qca/hmtbtfw20.tlv). The Bluetooth driver repeatedly failed with "command 0xfc00 tx timeout" and "QCA Failed to send TLV segment (-110)" errors, exhausting all retry attempts without ever successfully initializing the Bluetooth adapter hci0. The test framework waited for Bluetooth runtime readiness but the adapter never achieved a valid BD address, causing the test to block until LAVA's 40-minute timeout expired.
  3. Possible fix: This is a pre-existing Bluetooth firmware loading issue on kaanapali-mtp, not introduced by PR Prepare qcom-next based on tag 'Linux 7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #1322 (which only modifies documentation and device tree bindings). The PR changes are unrelated to Bluetooth functionality. To resolve: (1) verify the Bluetooth firmware file qca/hmtbtfw20.tlv is present and valid in the rootfs; (2) check for known Bluetooth hardware or firmware compatibility issues on kaanapali-mtp with wcn7850; (3) increase the BT_ON_OFF test timeout or add a hard failure path after N firmware load attempts to prevent indefinite hangs; (4) re-run the LAVA job to confirm this is reproducible or transient.
  4. Detail analysis attachment: failed_case_job262607_8_detailed.md
Job 262608 | SoC qcs615-ride

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

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

  Case 1: Probe_Failure_Check (Driver Probe Failures - Benign)
  1. Failed case: Probe_Failure_Check (Driver Probe Failures - Benign)
  2. Root cause: Two benign probe failures detected: (1) qcom-tee-uefisecapp driver returns -EBUSY attempting to register duplicate efivars implementation alongside existing qcom_qseecom_uefisecapp driver on qcs615-ride; (2) cfg80211 regulatory.db firmware load returns -ENOENT but WiFi functions correctly with built-in regulatory rules (WiFi_OnOff test passed).
  3. Possible fix: Update Probe_Failure_Check test to suppress known-benign probe failures: add qcom-tee-uefisecapp -EBUSY to allowlist (duplicate efivars registration expected during transition period), and apply existing WiFi firmware suppression rule when WiFi_OnOff passes.
  4. Detail analysis attachment: failed_case_job262608_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: LAVA test validation logic expects video-decoder and video-encoder auxiliary devices to have separate IOMMU group attachments, but these sub-devices inherit DMA operations from their parent device (aa00000.video-codec, correctly attached to IOMMU group 6). This is a test expectation mismatch, not a kernel regression.
  3. Possible fix: Update the smmu test script to recognize that auxiliary/sub-devices of video-codec do not require separate IOMMU group entries — they inherit protection from the parent device. The test should only verify the parent video-codec device is attached to an IOMMU group (which it is: group 6).
  4. Detail analysis attachment: failed_case_job262608_2_detailed.md
  Case 3: KVM_Driver (Platform/Hardware Limitation - EL2 Not Available)
  1. Failed case: KVM_Driver (Platform/Hardware Limitation - EL2 Not Available)
  2. Root cause: The qcs615-ride platform boots the Linux kernel at EL1 (OS exception level) instead of EL2 (hypervisor exception level), preventing KVM initialization. Kernel message "kvm [1]: HYP mode not available" confirms the CPU is not running in hypervisor mode, which is mandatory for ARM64 KVM functionality. This is a bootloader/firmware configuration issue, not a kernel defect.
  3. Possible fix: Mark KVM tests as SKIP (not FAIL) on qcs615-ride in the LAVA test definition with reason "Platform boots at EL1; EL2 required for KVM". For proper resolution, update the qcs615-ride bootloader configuration to boot the kernel at EL2 instead of EL1, then rebuild/reflash the bootloader and verify KVM initialization succeeds.
  4. Detail analysis attachment: failed_case_job262608_3_detailed.md
  Case 4: KVM_EL2_DTB — /dev/kvm unavailable (KVM driver initialization failed)
  1. Failed case: KVM_EL2_DTB — /dev/kvm unavailable (KVM driver initialization failed)
  2. Root cause: KVM driver failed to initialize because HYP mode (EL2) is not available on qcs615-ride; the platform runs under Gunyah hypervisor which does not expose EL2 to the guest kernel, preventing KVM from creating /dev/kvm.
  3. Possible fix: This is a platform limitation, not a regression. KVM tests should be skipped on qcs615-ride (and similar Gunyah-based platforms) via LAVA job definition test filters, as these platforms do not support nested virtualization. Add platform-specific test exclusion: skip: [qcs615-ride] to KVM test suite definitions.
  4. Detail analysis attachment: failed_case_job262608_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: QCS615 platform does not support ARM EL2 (Hypervisor mode), which is a hardware prerequisite for KVM virtualization. The kernel message "kvm [1]: HYP mode not available" at boot indicates the CPU is not running in or cannot access EL2, preventing KVM initialization and /dev/kvm device node creation.
  3. Possible fix: This is a pre-existing platform hardware limitation, not a PR-introduced regression. KVM tests should be skipped on QCS615 targets in the CI configuration, or the test suite should gracefully handle platforms without virtualization support. No kernel code fix is required.
  4. Detail analysis attachment: failed_case_job262608_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM device node /dev/kvm not created despite CONFIG_KVM=y — KVM driver initialization failed on qcs615-ride platform, likely due to missing EL2 virtualization support or platform-specific hardware constraints preventing KVM from probing successfully.
  3. Possible fix: Verify qcs615-ride hardware supports ARM virtualization extensions (EL2) and check dmesg for KVM driver probe failures; if platform lacks VHE/nVHE support, mark KVM tests as expected-fail for this SoC in the LAVA job definition; if KVM should work, investigate why kvm_arch_init() or kvm_arm_init() failed during boot.
  4. Detail analysis attachment: failed_case_job262608_6_detailed.md
Job 262609 | SoC lemans-evk

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** The test reports benign firmware load fallback attempts and a non-critical deferred probe as failures. Bluetooth firmware files qca/wcnhpbtfw21.tlv and qca/hpbtfw21.tlv failed to load (error -2, file not found), but the BT_ON_OFF functional test PASSED, confirming Bluetooth loaded fallback firmware successfully. The regulatory.db firmware load failure is a known benign pattern. The nvmem-reboot-mode deferred probe is for a non-critical reboot reason logging feature.
  3. Possible fix: Update the Probe_Failure_Check test script to suppress known-benign patterns: (1) Exclude firmware load failures where the corresponding functional test passes (cross-check BT_ON_OFF, WiFi_OnOff results). (2) Exclude regulatory.db firmware load failures (always benign). (3) Exclude nvmem-reboot-mode deferred probe warnings (non-critical feature). Implement a cross-check mechanism: if firmware load fails but functional test passes, suppress the failure.
  4. Detail analysis attachment: failed_case_job262609_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: The video codec device (aa00000.video-codec) is missing IOMMU group attachment because the device tree node for this device on lemans-evk (SA8775P) does not include the iommus property. The device probes successfully and functions, but the SMMU test validation script flags it as a critical failure because video codec is classified as a "critical master" that must be IOMMU-protected for security and memory isolation.
  3. Possible fix: Add the iommus property to the video codec device tree node in arch/arm64/boot/dts/qcom/lemans.dtsi (or sa8775p.dtsi if that's the base file). The property should reference the appropriate SMMU instance and stream ID, following the pattern used by other critical masters on this SoC (e.g., iommus = <&apps_smmu 0x1c00 0x2>; - exact stream ID must be obtained from hardware documentation or vendor reference DT).
  4. Detail analysis attachment: failed_case_job262609_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a test infrastructure issue, not a kernel regression. The PR changes (Documentation/ABI additions for STP policy and ARM64 RAS debugfs) do not affect test execution. Fix the test runner script to either (1) delete .res files after processing them, or (2) track which files have been processed to avoid re-listing them. Re-run the LAVA job to confirm all tests pass cleanly.
  4. Detail analysis attachment: failed_case_job262609_3_detailed.md

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-glymur-crd-multimedia kbdev-hamoa-iot-evk-multimedia kbdev-kaanapali-mtp-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia kbdev-sm8750-mtp-multimedia
BT_FW_KMD_Service ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
Ethernet_Basic_Validation ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
IPA ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail
Probe_Failure_Check ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
USBHost ◻️ ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ❌ Fail ⚠️ skip
WiFi_Firmware_Driver ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
adsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip
hotplug ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass
watchdog ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-glymur-crd-multimedia kbdev-hamoa-iot-evk-multimedia kbdev-kaanapali-mtp-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia kbdev-sm8750-mtp-multimedia
BT_FW_KMD_Service ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
Ethernet_Basic_Validation ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
IPA ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail
Probe_Failure_Check ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
USBHost ◻️ ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ❌ Fail ⚠️ skip
WiFi_Firmware_Driver ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
adsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip
hotplug ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass
watchdog ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-glymur-crd-multimedia kbdev-hamoa-iot-evk-multimedia kbdev-kaanapali-mtp-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia kbdev-sm8750-mtp-multimedia
BT_FW_KMD_Service ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
Ethernet_Basic_Validation ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
IPA ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail
Probe_Failure_Check ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
USBHost ◻️ ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ❌ Fail ⚠️ skip
WiFi_Firmware_Driver ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
adsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip
hotplug ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass
watchdog ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@sgaud-quic

Copy link
Copy Markdown
Contributor Author

Glymur passed job : https://lava.infra.foundries.io/scheduler/job/526244

@shashim-quic
Shiraz Hashim (shashim-quic) merged commit ae2606b into qualcomm-linux:qcom-next-staging Oct 30, 2026
4 of 12 checks passed
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.