Skip to content

automated: linux: add remoteproc smoke test - #634

Merged
roxell merged 1 commit into
Linaro:masterfrom
lool:remoteproc
Sep 11, 2026
Merged

automated: linux: add remoteproc smoke test#634
roxell merged 1 commit into
Linaro:masterfrom
lool:remoteproc

Conversation

@lool

@lool lool commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Some remoteprocs silently fail to come up, e.g. when their firmware
can't be loaded after an initramfs update.

Add a smoke test which enumerates every remoteproc and checks that it
reached the running or attached state. Auto-detect all remoteprocs by
default; set DEVICE to target specific ones.

Some remoteprocs are not booted by the kernel at all, either because no
firmware is shipped for them or because another subsystem owns their
lifecycle, e.g. ath11k for wpss. Skip modem and wpss by default
rather than failing them, and make the list a parameter since it
varies per SoC. Their state is still logged to help triage. Boards
without any remoteproc report remoteproc-device-exists as skip
instead of failing.

@lool

lool commented Aug 9, 2026

Copy link
Copy Markdown
Contributor Author

Comment thread automated/linux/remoteproc-smoke/remoteproc-smoke-test.sh
Comment thread automated/linux/remoteproc-smoke/remoteproc-smoke-test.sh
Comment thread automated/linux/remoteproc-smoke/remoteproc-smoke-test.sh Outdated
Comment thread automated/linux/remoteproc-smoke/remoteproc-smoke-test.sh
@bhcopeland

Copy link
Copy Markdown
Member

@lool any progress on this PR?

@lool

lool commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

@lool any progress on this PR?

Addressed the 4 review comments per your suggestions; sorry for the delay, I sent this before going on leave, and replies were buried in a million other things when I came back!

@lool

lool commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Test runs below, first on UNOQ:

$ for f in /sys/class/remoteproc/*; do echo "$f $(cat $f/name) $(cat $f/state)"; done
/sys/class/remoteproc/remoteproc0 modem running
/sys/class/remoteproc/remoteproc1 adsp running

$ ./remoteproc-smoke-test.sh
INFO: About to run remoteproc smoke test...
INFO: Output directory: /home/arduino/test-definitions/automated/linux/remoteproc-smoke/output
INFO: Waiting 0 seconds for requested device to exist...
remoteproc-device-exists pass
INFO: remoteproc0 modem state is running
INFO: modem is not expected to be running, skipping
remoteproc-modem-running skip
INFO: remoteproc1 adsp state is running
remoteproc-adsp-running pass

$ cat output/result.txt
remoteproc-device-exists pass
remoteproc-modem-running skip
remoteproc-adsp-running pass

$ ./remoteproc-smoke-test.sh -d "adsp cdsp"
INFO: About to run remoteproc smoke test...
INFO: Output directory: /home/arduino/test-definitions/automated/linux/remoteproc-smoke/output
INFO: Waiting 0 seconds for requested device to exist...
INFO: No remoteproc named cdsp
remoteproc-cdsp-running fail
INFO: remoteproc1 adsp state is running
remoteproc-adsp-running pass

On a RPi:

$ ./remoteproc-smoke-test.sh
INFO: About to run remoteproc smoke test...
INFO: Output directory: /home/lool/test-definitions/automated/linux/remoteproc-smoke/output
INFO: Waiting 0 seconds for requested device to exist...
remoteproc-device-exists skip

Comment thread automated/linux/remoteproc-smoke/remoteproc-smoke-test.sh Outdated
@lool

lool commented Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

@bhcopeland @roxell sorry, I picked up this PR from another system, and fumbled my git commit forgetting to add the changes addressing the review comments – fixed now, sorry :-/

(@roxell: FYI Qualcomm now has a policy to default to year-less copyright statements, I believe it's just to avoid churn, but I know this isn't a common practice. I've added the year, but I personally think the years are indeed a bit of noise, so I thought I'd mention it to you too :)

@bhcopeland

Copy link
Copy Markdown
Member

LGTM now. Thanks, @lool, for the adjustments. @roxell if you could approve too (if all looks good for you) then we can merge.

Some remoteprocs silently fail to come up, e.g. when their firmware
can't be loaded after an initramfs update.

Add a smoke test which enumerates every remoteproc and checks that it
reached the running or attached state. Auto-detect all remoteprocs by
default; set DEVICE to target specific ones.

Some remoteprocs are not booted by the kernel at all, either because
no firmware is shipped for them or because another subsystem owns
their lifecycle, e.g. ath11k for wpss. Skip modem and wpss by
default rather than failing them, and make the list a parameter
since it varies per SoC. Their state is still logged to help triage.
Boards without any remoteproc report remoteproc-device-exists as
skip instead of failing. Colliding remoteproc names are
disambiguated by a stable device id.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
@roxell
roxell merged commit d1a1fae into Linaro:master Sep 11, 2026
3 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.

4 participants