-
Notifications
You must be signed in to change notification settings - Fork 21
baseport/remoteproc: Make ADSP/CDSP/GPDSP/WPSS tests SoC-aware, add RPMsg probe, harden logs & shellcheck #130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
acquire_test_lock "$TESTNAME" | ||
log_info "Starting $TESTNAME Testcase" | ||
|
||
#Discover |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should define the test plan / test cases to run by dynamically discover what's available on the platform. We are hiding a class of issues by doing that, especially all issues that lead to the device not being functional on a booted system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should define the test plan / test cases to run by dynamically discover what's available on the platform. We are hiding a class of issues by doing that, especially all issues that lead to the device not being functional on a booted system.
I’ve pushed the latest updates to read the DT-populated entries and then check for probing, as you recommended.
|
||
[ -n "$fw" ] || return 3 | ||
|
||
found=0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIK found is not required anywhere
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIK found is not required anywhere
the found variable was used as a simple flag to record whether any of the directory‐based “fast-path” checks succeeded
found=0 for d in ...; do [ -d "$d" ] && found=1 && break done [ "$found" -eq 1 ] && return 0
-
Initializes found=0.
-
Loops over potential DT directories (e.g. /proc/device-tree/smp2p-*).
-
If any directory exists, sets found=1 and breaks out of the loop.
-
After the loop, checks found to decide whether to return success.
195a598
to
d268dc4
Compare
…Msg probe, shellcheck fixes - Discover RProc nodes via find_remoteproc_by_firmware() instead of hardcoded IDs. - Skip cleanly when a core isn’t present on the SoC (no more false FAILs). - Stop/Start paths now wait_for_state()/wait_remoteproc_state() with timeouts & polling. - Dump rproc logs around each transition (before/after stop/start) for easier CI debug. - Add generic RPMsg exercise: * Map rpmsg_ctrl* to the owning remoteproc. * Reuse/create endpoints and try an echo; mark PASS/FAIL/SKIPPED accordingly. - CDSP: handle multi-instance (cdsp0/cdsp1…/gpdsp0/gpdsp1...) and print per-instance boot/stop/start/ping results. - WPSS: keep driver fallback (ath11k/ath11xx) if remoteproc is absent: * Validate firmware via /lib/firmware/ath11k blobs, dmesg strings, and wlan*/ath* netdev presence. * POSIX-safe globbing instead of grep-regex for interface detection. - Ensure .res contains only “TESTNAME <RESULT>”; everything else goes to log. - ShellCheck cleanup: SC2143, SC2181, SC3037, SC2034, etc. (no unused vars, no `$?` chains, printf over echo -e). - Added/updated helpers in functestlib.sh (rpmsg_* helpers, dump_rproc_logs, wait_remoteproc_state, etc.). - Protect concurrent runs with acquire_test_lock()/release_test_lock(). - Added DT check for each adsp/cdsp/wpss tests - Added dt_has_remoteproc_fw to read the /proc/device-tree for the given fw. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR refactors and toughens the remoteproc test scripts for ADSP, CDSP (multi-instance), and WPSS while keeping backward compatibility with existing functestlib helpers.
SoC-aware discovery & skips
Robust stop/start sequencing
Generic RPMsg exercise (optional)
CDSP/GPDSP multi-instance reporting
WPSS driver fallback kept & improved
Concurrency safety