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:
parent
8997757c6a
commit
4bc15e78fa
|
@ -161,7 +161,7 @@ arm_build:
|
|||
- .fdo.container-ifnot-exists@debian@arm64v8
|
||||
- .container
|
||||
variables:
|
||||
FDO_DISTRIBUTION_TAG: &arm_build "2020-03-13"
|
||||
FDO_DISTRIBUTION_TAG: &arm_build "2020-03-17-db820c"
|
||||
|
||||
.use-arm_build:
|
||||
variables:
|
||||
|
@ -713,7 +713,7 @@ arm64_a306_gles2:
|
|||
- .use-arm_build
|
||||
stage: freedreno
|
||||
variables:
|
||||
BM_KERNEL: /lava-files/Image
|
||||
BM_KERNEL: /lava-files/Image.gz
|
||||
BM_DTB: /lava-files/apq8016-sbc.dtb
|
||||
BM_ROOTFS: /lava-files/rootfs-arm64
|
||||
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
|
||||
|
@ -736,6 +736,26 @@ arm64_a306_gles2:
|
|||
variables:
|
||||
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
|
||||
.test-radv:
|
||||
extends: .radv-rules
|
||||
|
|
|
@ -22,7 +22,7 @@ if [ -z "$BM_FASTBOOT_SERIAL" ]; then
|
|||
fi
|
||||
|
||||
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
|
||||
fi
|
||||
|
||||
|
@ -67,14 +67,14 @@ pushd rootfs
|
|||
find -H | cpio -H newc -o | xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz
|
||||
popd
|
||||
|
||||
gzip -c $BM_KERNEL > Image.gz
|
||||
cat Image.gz $BM_DTB > Image.gz-dtb
|
||||
cat $BM_KERNEL $BM_DTB > Image.gz-dtb
|
||||
|
||||
abootimg \
|
||||
--create artifacts/fastboot.img \
|
||||
-k Image.gz-dtb \
|
||||
-r rootfs.cpio.gz \
|
||||
-c cmdline="$BM_CMDLINE"
|
||||
rm Image.gz Image.gz-dtb
|
||||
rm Image.gz-dtb
|
||||
|
||||
# Start watching serial, and power up the device.
|
||||
$BM/serial-buffer.py $BM_SERIAL | tee artifacts/serial-output.txt &
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
mount -t proc none /proc
|
||||
mount -t sysfs none /sys
|
||||
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}/.
|
||||
chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /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
|
||||
# toolchain.
|
||||
|
||||
# xz compress firmware so it doesn't waste RAM at runtime.
|
||||
find /lib/firmware -type f -print0 | xargs -0r -P4 -n4 xz -T1 -C crc32
|
||||
# xz compress firmware so it doesn't waste RAM at runtime. Except db820c's
|
||||
# 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
|
||||
rm -rf /etc/localtime
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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.*
|
Loading…
Reference in New Issue