drivers/gpu/drm/ci/igt_runner.sh

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/ci/igt_runner.sh

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/ci/igt_runner.sh
Extension
.sh
Size
2936 bytes
Lines
104
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: drivers/gpu
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#!/usr/bin/env bash
# SPDX-License-Identifier: MIT

. "${SCRIPTS_DIR}/setup-test-env.sh"

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

mkdir -p /lib/modules
case "$DRIVER_NAME" in
    amdgpu|vkms|panthor)
        # 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 $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

Annotation

Implementation Notes