Mediatek 8173 and 8183 SOCs have a separate display controller and GPU with different drivers for each. For mt8173, the GPU driver is powervr and the display driver is mediatek. In the case of mt8183, the GPU driver is panfrost and the display driver is mediatek. Setting IGT_FORCE_DRIVER to panfrost for mt8173 is not the expected driver. So set mediatek for mt8173. Support to test both GPU and display drivers for these ARM SOCs will be added in the next patch series to increase test coverage. Acked-by: Helen Koike <helen.koike@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/20231207091831.660054-7-vignesh.raman@collabora.com
100 lines
2.9 KiB
Bash
Executable file
100 lines
2.9 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
|
|
rockchip|meson)
|
|
export IGT_FORCE_DRIVER="panfrost"
|
|
;;
|
|
mediatek)
|
|
if [ "$GPU_VERSION" = "mt8173" ]; then
|
|
export IGT_FORCE_DRIVER=${DRIVER_NAME}
|
|
elif [ "$GPU_VERSION" = "mt8183" ]; then
|
|
export IGT_FORCE_DRIVER="panfrost"
|
|
fi
|
|
;;
|
|
amdgpu)
|
|
# Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib
|
|
mv /install/modules/lib/modules/* /lib/modules/.
|
|
modprobe amdgpu
|
|
;;
|
|
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 /
|
|
|
|
|
|
# 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" /install/testlist.txt
|
|
fi
|
|
|
|
# core_getversion checks if the driver is loaded and probed correctly
|
|
# so run it in all shards
|
|
if ! grep -q "core_getversion" /install/testlist.txt; then
|
|
# Add the line to the file
|
|
echo "core_getversion" >> /install/testlist.txt
|
|
fi
|
|
|
|
set +e
|
|
igt-runner \
|
|
run \
|
|
--igt-folder /igt/libexec/igt-gpu-tools \
|
|
--caselist /install/testlist.txt \
|
|
--output /results \
|
|
$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
|