For rockchip rk3288 and rk3399, the display driver is rockchip and gpu driver is panfrost. Currently, in drm-ci for rockchip rk3288 and rk3399, only the gpu driver is tested. Refactor the existing rockchip jobs to test both display and gpu driver and update xfails. Since the correct driver name is passed from the job to test gpu and display driver, remove the check to set IGT_FORCE_DRIVER based on driver name for rockchip jobs. Acked-by: Helen Koike <helen.koike@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com> Signed-off-by: Helen Koike <helen.koike@collabora.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240730021545.912271-7-vignesh.raman@collabora.com
92 lines
2.6 KiB
Bash
Executable file
92 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
set -ex
|
|
|
|
export IGT_FORCE_DRIVER=${DRIVER_NAME}
|
|
export PATH=$PATH:/igt/bin/
|
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib/aarch64-linux-gnu/:/igt/lib/x86_64-linux-gnu:/igt/lib:/igt/lib64
|
|
|
|
# Uncomment the below to debug problems with driver probing
|
|
: '
|
|
ls -l /dev/dri/
|
|
cat /sys/kernel/debug/devices_deferred
|
|
cat /sys/kernel/debug/device_component/*
|
|
'
|
|
|
|
# Dump drm state to confirm that kernel was able to find a connected display:
|
|
set +e
|
|
cat /sys/kernel/debug/dri/*/state
|
|
set -e
|
|
|
|
case "$DRIVER_NAME" in
|
|
amdgpu|vkms)
|
|
# Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib
|
|
mv /install/modules/lib/modules/* /lib/modules/. || true
|
|
modprobe --first-time $DRIVER_NAME
|
|
;;
|
|
esac
|
|
|
|
if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt" ]; then
|
|
IGT_SKIPS="--skips /install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt"
|
|
fi
|
|
|
|
if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt" ]; then
|
|
IGT_FLAKES="--flakes /install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt"
|
|
fi
|
|
|
|
if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt" ]; then
|
|
IGT_FAILS="--baseline /install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt"
|
|
fi
|
|
|
|
if [ "`uname -m`" = "aarch64" ]; then
|
|
ARCH="arm64"
|
|
elif [ "`uname -m`" = "armv7l" ]; then
|
|
ARCH="arm"
|
|
else
|
|
ARCH="x86_64"
|
|
fi
|
|
|
|
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s ${FDO_HTTP_CACHE_URI:-}$PIPELINE_ARTIFACTS_BASE/$ARCH/igt.tar.gz | tar --zstd -v -x -C /
|
|
|
|
TESTLIST="/igt/libexec/igt-gpu-tools/ci-testlist.txt"
|
|
|
|
# If the job is parallel at the gitab job level, take the corresponding fraction
|
|
# of the caselist.
|
|
if [ -n "$CI_NODE_INDEX" ]; then
|
|
sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" $TESTLIST
|
|
fi
|
|
|
|
# core_getversion checks if the driver is loaded and probed correctly
|
|
# so run it in all shards
|
|
if ! grep -q "core_getversion" $TESTLIST; then
|
|
# Add the line to the file
|
|
echo "core_getversion" >> $TESTLIST
|
|
fi
|
|
|
|
set +e
|
|
igt-runner \
|
|
run \
|
|
--igt-folder /igt/libexec/igt-gpu-tools \
|
|
--caselist $TESTLIST \
|
|
--output /results \
|
|
-vvvv \
|
|
$IGT_SKIPS \
|
|
$IGT_FLAKES \
|
|
$IGT_FAILS \
|
|
--jobs 1
|
|
ret=$?
|
|
set -e
|
|
|
|
deqp-runner junit \
|
|
--testsuite IGT \
|
|
--results /results/failures.csv \
|
|
--output /results/junit.xml \
|
|
--limit 50 \
|
|
--template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml"
|
|
|
|
# Store the results also in the simpler format used by the runner in ChromeOS CI
|
|
#sed -r 's/(dmesg-warn|pass)/success/g' /results/results.txt > /results/results_simple.txt
|
|
|
|
cd $oldpath
|
|
exit $ret
|