ci: Enable testing GLES2-3 on a530 (Dragonboard 820c).
Following on from the db410c conversion to baremetal testing, reuse the same scripts in the same rack to run 7 db820c boards (#4/8 is failing in the bootloader for unknown reasons). Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4177>
This commit is contained in:
@@ -161,7 +161,7 @@ arm_build:
|
|||||||
- .fdo.container-ifnot-exists@debian@arm64v8
|
- .fdo.container-ifnot-exists@debian@arm64v8
|
||||||
- .container
|
- .container
|
||||||
variables:
|
variables:
|
||||||
FDO_DISTRIBUTION_TAG: &arm_build "2020-03-13"
|
FDO_DISTRIBUTION_TAG: &arm_build "2020-03-17-db820c"
|
||||||
|
|
||||||
.use-arm_build:
|
.use-arm_build:
|
||||||
variables:
|
variables:
|
||||||
@@ -713,7 +713,7 @@ arm64_a306_gles2:
|
|||||||
- .use-arm_build
|
- .use-arm_build
|
||||||
stage: freedreno
|
stage: freedreno
|
||||||
variables:
|
variables:
|
||||||
BM_KERNEL: /lava-files/Image
|
BM_KERNEL: /lava-files/Image.gz
|
||||||
BM_DTB: /lava-files/apq8016-sbc.dtb
|
BM_DTB: /lava-files/apq8016-sbc.dtb
|
||||||
BM_ROOTFS: /lava-files/rootfs-arm64
|
BM_ROOTFS: /lava-files/rootfs-arm64
|
||||||
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
|
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
|
||||||
@@ -736,6 +736,26 @@ arm64_a306_gles2:
|
|||||||
variables:
|
variables:
|
||||||
DEQP_VER: gles3
|
DEQP_VER: gles3
|
||||||
|
|
||||||
|
arm64_a530_gles2:
|
||||||
|
extends:
|
||||||
|
- arm64_a306_gles2
|
||||||
|
stage: freedreno
|
||||||
|
variables:
|
||||||
|
BM_KERNEL: /lava-files/db820c-kernel
|
||||||
|
BM_DTB: /lava-files/db820c.dtb
|
||||||
|
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
|
||||||
|
DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
|
||||||
|
DEQP_SKIPS: deqp-freedreno-a530-skips.txt
|
||||||
|
tags:
|
||||||
|
- google-freedreno-db820c
|
||||||
|
|
||||||
|
arm64_a530_gles3:
|
||||||
|
extends:
|
||||||
|
- arm64_a530_gles2
|
||||||
|
parallel: 6
|
||||||
|
variables:
|
||||||
|
DEQP_VER: gles3
|
||||||
|
|
||||||
# RADV CI
|
# RADV CI
|
||||||
.test-radv:
|
.test-radv:
|
||||||
extends: .radv-rules
|
extends: .radv-rules
|
||||||
|
@@ -22,7 +22,7 @@ if [ -z "$BM_FASTBOOT_SERIAL" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$BM_KERNEL" ]; then
|
if [ -z "$BM_KERNEL" ]; then
|
||||||
echo "Must set BM_KERNEL to your board's kernel Image in the job's variables:"
|
echo "Must set BM_KERNEL to your board's kernel vmlinuz or Image.gz in the job's variables:"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -67,14 +67,14 @@ pushd rootfs
|
|||||||
find -H | cpio -H newc -o | xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz
|
find -H | cpio -H newc -o | xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz
|
||||||
popd
|
popd
|
||||||
|
|
||||||
gzip -c $BM_KERNEL > Image.gz
|
cat $BM_KERNEL $BM_DTB > Image.gz-dtb
|
||||||
cat Image.gz $BM_DTB > Image.gz-dtb
|
|
||||||
abootimg \
|
abootimg \
|
||||||
--create artifacts/fastboot.img \
|
--create artifacts/fastboot.img \
|
||||||
-k Image.gz-dtb \
|
-k Image.gz-dtb \
|
||||||
-r rootfs.cpio.gz \
|
-r rootfs.cpio.gz \
|
||||||
-c cmdline="$BM_CMDLINE"
|
-c cmdline="$BM_CMDLINE"
|
||||||
rm Image.gz Image.gz-dtb
|
rm Image.gz-dtb
|
||||||
|
|
||||||
# Start watching serial, and power up the device.
|
# Start watching serial, and power up the device.
|
||||||
$BM/serial-buffer.py $BM_SERIAL | tee artifacts/serial-output.txt &
|
$BM/serial-buffer.py $BM_SERIAL | tee artifacts/serial-output.txt &
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
mount -t proc none /proc
|
mount -t proc none /proc
|
||||||
mount -t sysfs none /sys
|
mount -t sysfs none /sys
|
||||||
mount -t devtmpfs none /dev || echo possibly already mounted
|
mount -t devtmpfs none /dev || echo possibly already mounted
|
||||||
|
@@ -68,3 +68,31 @@ set -e
|
|||||||
cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
|
cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
|
||||||
chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
|
chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
|
||||||
rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
|
rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
|
||||||
|
|
||||||
|
if [ ${DEBIAN_ARCH} = arm64 ]; then
|
||||||
|
# Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355
|
||||||
|
# ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the
|
||||||
|
# .config from
|
||||||
|
# http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64
|
||||||
|
# with the following merged in:
|
||||||
|
#
|
||||||
|
# CONFIG_DRM=y
|
||||||
|
# CONFIG_DRM_MSM=y
|
||||||
|
# CONFIG_ATL1C=y
|
||||||
|
#
|
||||||
|
# Reason: 5.5 has a big stack of oopses and warns on db820c. 4.14-5.4
|
||||||
|
# linaro kernel binaries (see above .config link) have these as modules
|
||||||
|
# and distributed the modules only in the debian system, not the initrd,
|
||||||
|
# so they're very hard to extract (involving simg2img and loopback
|
||||||
|
# mounting). 4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for
|
||||||
|
# the command size") so it can't actually run fredreno. qcomlt-4.14 is
|
||||||
|
# unstable at boot (~10% instaboot rate). The 5.4 qcomlt kernel with msm
|
||||||
|
# built in seems like the easiest way to go.
|
||||||
|
wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/Image.gz -O Image.gz \
|
||||||
|
-O /lava-files/db820c-kernel
|
||||||
|
wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/apq8096-db820c.dtb \
|
||||||
|
-O /lava-files/db820c.dtb
|
||||||
|
|
||||||
|
# Make a gzipped copy of the Image for db410c.
|
||||||
|
gzip -k /lava-files/Image
|
||||||
|
fi
|
||||||
|
@@ -31,8 +31,12 @@ wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
|
|||||||
# Strip the image to a small minimal system without removing the debian
|
# Strip the image to a small minimal system without removing the debian
|
||||||
# toolchain.
|
# toolchain.
|
||||||
|
|
||||||
# xz compress firmware so it doesn't waste RAM at runtime.
|
# xz compress firmware so it doesn't waste RAM at runtime. Except db820c's
|
||||||
find /lib/firmware -type f -print0 | xargs -0r -P4 -n4 xz -T1 -C crc32
|
# GPU firmware, due to using a precompiled kernel without compression support.
|
||||||
|
find /lib/firmware -type f -print0 | \
|
||||||
|
grep -vz a530 | \
|
||||||
|
xargs -0r -P4 -n4 xz -T1 -C crc32
|
||||||
|
ln -s /lib/firmware/qcom/a530* /lib/firmware/
|
||||||
|
|
||||||
# Copy timezone file and remove tzdata package
|
# Copy timezone file and remove tzdata package
|
||||||
rm -rf /etc/localtime
|
rm -rf /etc/localtime
|
||||||
|
2560
.gitlab-ci/deqp-freedreno-a530-fails.txt
Normal file
2560
.gitlab-ci/deqp-freedreno-a530-fails.txt
Normal file
File diff suppressed because it is too large
Load Diff
14
.gitlab-ci/deqp-freedreno-a530-skips.txt
Normal file
14
.gitlab-ci/deqp-freedreno-a530-skips.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Note: skips lists for CI are just a list of lines that, when
|
||||||
|
# non-zero-length and not starting with '#', will regex match to
|
||||||
|
# delete lines from the test list. Be careful.
|
||||||
|
|
||||||
|
# Skip the perf/stress tests to keep runtime manageable
|
||||||
|
dEQP-GLES[0-9]*.performance.*
|
||||||
|
dEQP-GLES[0-9]*.stress.*
|
||||||
|
|
||||||
|
# These are really slow on tiling architectures (including llvmpipe).
|
||||||
|
dEQP-GLES[0-9]*.functional.flush_finish.*
|
||||||
|
|
||||||
|
# unstable results (probably related to the iommu faults).
|
||||||
|
dEQP-GLES3.functional.texture.filtering.3d.*
|
||||||
|
dEQP-GLES3.functional.texture.vertex.3d.filtering.*
|
Reference in New Issue
Block a user