# Suspend to RAM seems to be broken on this machine
.*suspend.*
# This is generating kernel oops with divide error
kms_plane_scaling@invalid-parameters
# This is cascading issues
kms_3d

# Skip driver specific tests
^amdgpu.*
^msm.*
nouveau_.*
^panfrost.*
^v3d.*
^vc4.*
^vmwgfx*
^xe.*

# GEM tests takes ~1000 hours, so skip it
gem_.*

# Hangs the machine and timeout occurs
i915_pm_rc6_residency.*
i915_suspend.*
i915_pm_rpm.*
device_reset.*
api_intel_allocator.*
kms_frontbuffer_tracking.*
kms_ccs.*

# Kernel panic
drm_fdinfo.*
