GEM TestsGEM Tests — Tests for core drm ioctls and behaviour. |
Simulates SNA behaviour using negative self-relocations for STATE_BASE_ADDRESS command packets.
| negative-reloc-default |
| negative-reloc-lut-default |
| negative-reloc-render |
| negative-reloc-lut-render |
| negative-reloc-bsd |
| negative-reloc-lut-bsd |
| negative-reloc-bsd1 |
| negative-reloc-lut-bsd1 |
| negative-reloc-bsd2 |
| negative-reloc-lut-bsd2 |
| negative-reloc-blt |
| negative-reloc-lut-blt |
| negative-reloc-vebox |
| negative-reloc-lut-vebox |
| negative-reloc-bltcopy |
This is a test for the extended & old gem_create ioctl, that includes allocation of object from stolen memory and shmem.
| basic-default |
| default-interruptible |
| forked-default |
| forked-default-interruptible |
| render |
| render-interruptible |
| forked-render |
| forked-render-interruptible |
| bsd |
| bsd-interruptible |
| forked-bsd |
| forked-bsd-interruptible |
| bsd1 |
| bsd1-interruptible |
| forked-bsd1 |
| forked-bsd1-interruptible |
| bsd2 |
| bsd2-interruptible |
| forked-bsd2 |
| forked-bsd2-interruptible |
| blt |
| blt-interruptible |
| forked-blt |
| forked-blt-interruptible |
| vebox |
| vebox-interruptible |
| forked-vebox |
| forked-vebox-interruptible |
Run a couple of big batches to force the eviction code.
| forked-normal |
| forked-interruptible |
| forked-swapping-normal |
| forked-swapping-interruptible |
| forked-multifd-normal |
| forked-multifd-interruptible |
| forked-swapping-multifd-normal |
| forked-swapping-multifd-interruptible |
| forked-mempressure-normal |
| forked-mempressure-interruptible |
| forked-swapping-mempressure-normal |
| forked-swapping-mempressure-interruptible |
| forked-multifd-mempressure-normal |
| forked-multifd-mempressure-interruptible |
| forked-swapping-multifd-mempressure-normal |
| forked-swapping-multifd-mempressure-interruptible |
| mlocked-normal |
| swapping-normal |
| minor-normal |
| major-normal |
| mlocked-interruptible |
| swapping-interruptible |
| minor-interruptible |
| major-interruptible |
| mlocked-hang |
| swapping-hang |
| minor-hang |
| major-hang |
| control |
| no-bsd |
| no-blt |
| no-vebox |
| invalid-ring |
| invalid-ring2 |
| invalid-bsd-ring |
| invalid-bsd1-flag-on-render |
| invalid-bsd2-flag-on-render |
| invalid-bsd1-flag-on-blt |
| invalid-bsd2-flag-on-blt |
| invalid-bsd1-flag-on-vebox |
| invalid-bsd2-flag-on-vebox |
| rel-constants-invalid-ring |
| rel-constants-invalid-rel-gen5 |
| rel-constants-invalid |
| sol-reset-invalid |
| sol-reset-not-gen7 |
| secure-non-root |
| secure-non-master |
| invalid-flag |
| cliprects-invalid |
| rs-invalid-on-bsd-ring |
| rs-invalid-on-blt-ring |
| rs-invalid-on-vebox-ring |
| rs-invalid-gen |
| rsvd2-dirt |
| cliprects_ptr-dirt |
| DR1-dirt |
| DR4-dirt |
| basic |
| basic-S3 |
| basic-S4 |
| default-uncached |
| default-cached |
| default-uncached-S3 |
| default-cached-S3 |
| default-uncached-S4 |
| default-cached-S4 |
| render-uncached |
| render-cached |
| render-uncached-S3 |
| render-cached-S3 |
| render-uncached-S4 |
| render-cached-S4 |
| bsd-uncached |
| bsd-cached |
| bsd-uncached-S3 |
| bsd-cached-S3 |
| bsd-uncached-S4 |
| bsd-cached-S4 |
| bsd1-uncached |
| bsd1-cached |
| bsd1-uncached-S3 |
| bsd1-cached-S3 |
| bsd1-uncached-S4 |
| bsd1-cached-S4 |
| bsd2-uncached |
| bsd2-cached |
| bsd2-uncached-S3 |
| bsd2-cached-S3 |
| bsd2-uncached-S4 |
| bsd2-cached-S4 |
| blt-uncached |
| blt-cached |
| blt-uncached-S3 |
| blt-cached-S3 |
| blt-uncached-S4 |
| blt-cached-S4 |
| vebox-uncached |
| vebox-cached |
| vebox-uncached-S3 |
| vebox-cached-S3 |
| vebox-uncached-S4 |
| vebox-cached-S4 |
| normal |
| interruptible |
| contexts |
| contexts-interruptible |
| fds |
| fds-interruptible |
| default-normal |
| default-interruptible |
| default-contexts |
| default-contexts-interruptible |
| default-fds |
| default-fds-interruptible |
| render-normal |
| render-interruptible |
| render-contexts |
| render-contexts-interruptible |
| render-fds |
| render-fds-interruptible |
| bsd-normal |
| bsd-interruptible |
| bsd-contexts |
| bsd-contexts-interruptible |
| bsd-fds |
| bsd-fds-interruptible |
| bsd1-normal |
| bsd1-interruptible |
| bsd1-contexts |
| bsd1-contexts-interruptible |
| bsd1-fds |
| bsd1-fds-interruptible |
| bsd2-normal |
| bsd2-interruptible |
| bsd2-contexts |
| bsd2-contexts-interruptible |
| bsd2-fds |
| bsd2-fds-interruptible |
| blt-normal |
| blt-interruptible |
| blt-contexts |
| blt-contexts-interruptible |
| blt-fds |
| blt-fds-interruptible |
| vebox-normal |
| vebox-interruptible |
| vebox-contexts |
| vebox-contexts-interruptible |
| vebox-fds |
| vebox-fds-interruptible |
Basic test for the media_fill() function, a very simple workload for the Media pipeline.
| basic |
| basic-short |
| basic-copy |
| basic-read |
| basic-write |
| basic-write-gtt |
| coherency |
| basic-read-write |
| basic-write-read |
| basic-read-write-distinct |
| basic-write-read-distinct |
| fault-concurrent |
| basic-read-no-prefault |
| basic-write-no-prefault |
| basic-write-gtt-no-prefault |
| basic-write-cpu-read-gtt |
| basic-small-bo |
| basic-small-bo-tiledX |
| basic-small-bo-tiledY |
| big-bo |
| big-bo-tiledX |
| big-bo-tiledY |
| huge-bo |
| huge-bo-tiledX |
| huge-bo-tiledY |
| basic-small-copy |
| basic-small-copy-XY |
| medium-copy |
| medium-copy-XY |
| big-copy |
| big-copy-XY |
| huge-copy |
| huge-copy-XY |
Test persistent relocations as used by uxa/libva.
| normal |
| interruptible |
| forked |
| forked-interruptible |
| forked-faulting-reloc |
| forked-interruptible-faulting-reloc |
| forked-thrashing |
| forked-interruptible-thrashing |
| forked-faulting-reloc-thrashing |
| forked-interruptible-faulting-reloc-thrashing |
| forked-thrash-inactive |
| forked-interruptible-thrash-inactive |
| forked-faulting-reloc-thrash-inactive |
| forked-interruptible-faulting-reloc-thrash-inactive |
| basic |
| uncached |
| snoop |
| display |
| stolen-normal |
| stolen-uncached |
| stolen-snoop |
| stolen-display |
| small-cpu-forwards |
| small-gtt-forwards |
| big-cpu-forwards |
| big-gtt-forwards |
| huge-cpu-forwards |
| huge-gtt-forwards |
| small-cpu-backwards |
| small-gtt-backwards |
| big-cpu-backwards |
| big-gtt-backwards |
| huge-cpu-backwards |
| huge-gtt-backwards |
| small-cpu-random |
| small-gtt-random |
| big-cpu-random |
| big-gtt-random |
| huge-cpu-random |
| huge-gtt-random |
| small-cpu-fbr |
| small-gtt-fbr |
| big-cpu-fbr |
| big-gtt-fbr |
| huge-cpu-fbr |
| huge-gtt-fbr |
| uncached-copy-correctness |
| uncached-copy-performance |
| uncached-pwrite-blt-gtt_mmap-correctness |
| uncached-pwrite-blt-gtt_mmap-performance |
| snooped-copy-correctness |
| snooped-copy-performance |
| snooped-pwrite-blt-cpu_mmap-correctness |
| snooped-pwrite-blt-cpu_mmap-performance |
| display-copy-correctness |
| display-copy-performance |
| display-pwrite-blt-gtt_mmap-correctness |
| display-pwrite-blt-gtt_mmap-performance |
pwrite to a snooped bo then make it uncached and check that the GPU sees the data.
Test speed of concurrent reads between engines.
| read-read-1x1 |
| read-write-1x1 |
| write-read-1x1 |
| write-write-1x1 |
| read-read-128x128 |
| read-write-128x128 |
| write-read-128x128 |
| write-write-128x128 |
| read-read-256x256 |
| read-write-256x256 |
| write-read-256x256 |
| write-write-256x256 |
| read-read-512x512 |
| read-write-512x512 |
| write-read-512x512 |
| write-write-512x512 |
| read-read-1024x1024 |
| read-write-1024x1024 |
| write-read-1024x1024 |
| write-write-1024x1024 |
| read-read-2048x2048 |
| read-write-2048x2048 |
| write-read-2048x2048 |
| write-write-2048x2048 |
| read-read-4096x4096 |
| read-write-4096x4096 |
| write-read-4096x4096 |
| write-write-4096x4096 |
| read-read-8192x8192 |
| read-write-8192x8192 |
| write-read-8192x8192 |
| write-write-8192x8192 |
Check that kernel relocation overflows are caught.
| invalid-address |
| single-fault |
| batch-start-unaligned |
| batch-end-unaligned |
| batch-both-unaligned |
| single-overflow |
| wrapped-overflow |
| invalid-address-noprefault |
| single-fault-noprefault |
| batch-start-unaligned-noprefault |
| batch-end-unaligned-noprefault |
| batch-both-unaligned-noprefault |
| single-overflow-noprefault |
| wrapped-overflow-noprefault |
| source-offset-page-stradle-gen8-reloc-cpu |
| source-offset-end-gen8-reloc-cpu |
| source-offset-overflow-gen8-reloc-cpu |
| source-offset-end-reloc-cpu |
| source-offset-big-reloc-cpu |
| source-offset-negative-reloc-cpu |
| source-offset-unaligned-reloc-cpu |
| source-offset-page-stradle-gen8-reloc-gtt |
| source-offset-end-gen8-reloc-gtt |
| source-offset-overflow-gen8-reloc-gtt |
| source-offset-end-reloc-gtt |
| source-offset-big-reloc-gtt |
| source-offset-negative-reloc-gtt |
| source-offset-unaligned-reloc-gtt |
| buffercount-overflow |
Test kernel relocations vs. gpu races.
| normal |
| faulting-reloc |
| interruptible |
| interruptible-hang |
| faulting-reloc-interruptible |
| faulting-reloc-interruptible-hang |
| forked |
| forked-interruptible |
| forked-faulting-reloc |
| forked-interruptible-faulting-reloc |
| forked-thrashing |
| forked-interruptible-thrashing |
| forked-faulting-reloc-thrashing |
| forked-interruptible-faulting-reloc-thrashing |
| forked-thrash-inactive |
| forked-interruptible-thrash-inactive |
| forked-faulting-reloc-thrash-inactive |
| forked-interruptible-faulting-reloc-thrash-inactive |
| forked-hang |
| forked-interruptible-hang |
| forked-faulting-reloc-hang |
| forked-interruptible-faulting-reloc-hang |
| forked-thrashing-hang |
| forked-interruptible-thrashing-hang |
| forked-faulting-reloc-thrashing-hang |
| forked-interruptible-faulting-reloc-thrashing-hang |
| forked-thrash-inactive-hang |
| forked-interruptible-thrash-inactive-hang |
| forked-faulting-reloc-thrash-inactive-hang |
| forked-interruptible-faulting-reloc-thrash-inactive-hang |
| params |
| params-ctx |
| reset-stats-default |
| reset-stats-ctx-default |
| ban-default |
| ban-ctx-default |
| reset-count-default |
| reset-count-ctx-default |
| unrelated-ctx-default |
| close-pending-default |
| close-pending-ctx-default |
| close-pending-fork-default |
| close-pending-fork-reverse-default |
| defer-hangcheck-default |
| reset-stats-render |
| reset-stats-ctx-render |
| ban-render |
| ban-ctx-render |
| reset-count-render |
| reset-count-ctx-render |
| unrelated-ctx-render |
| close-pending-render |
| close-pending-ctx-render |
| close-pending-fork-render |
| close-pending-fork-reverse-render |
| defer-hangcheck-render |
| reset-stats-bsd |
| reset-stats-ctx-bsd |
| ban-bsd |
| ban-ctx-bsd |
| reset-count-bsd |
| reset-count-ctx-bsd |
| unrelated-ctx-bsd |
| close-pending-bsd |
| close-pending-ctx-bsd |
| close-pending-fork-bsd |
| close-pending-fork-reverse-bsd |
| defer-hangcheck-bsd |
| reset-stats-bsd1 |
| reset-stats-ctx-bsd1 |
| ban-bsd1 |
| ban-ctx-bsd1 |
| reset-count-bsd1 |
| reset-count-ctx-bsd1 |
| unrelated-ctx-bsd1 |
| close-pending-bsd1 |
| close-pending-ctx-bsd1 |
| close-pending-fork-bsd1 |
| close-pending-fork-reverse-bsd1 |
| defer-hangcheck-bsd1 |
| reset-stats-bsd2 |
| reset-stats-ctx-bsd2 |
| ban-bsd2 |
| ban-ctx-bsd2 |
| reset-count-bsd2 |
| reset-count-ctx-bsd2 |
| unrelated-ctx-bsd2 |
| close-pending-bsd2 |
| close-pending-ctx-bsd2 |
| close-pending-fork-bsd2 |
| close-pending-fork-reverse-bsd2 |
| defer-hangcheck-bsd2 |
| reset-stats-blt |
| reset-stats-ctx-blt |
| ban-blt |
| ban-ctx-blt |
| reset-count-blt |
| reset-count-ctx-blt |
| unrelated-ctx-blt |
| close-pending-blt |
| close-pending-ctx-blt |
| close-pending-fork-blt |
| close-pending-fork-reverse-blt |
| defer-hangcheck-blt |
| reset-stats-vebox |
| reset-stats-ctx-vebox |
| ban-vebox |
| ban-ctx-vebox |
| reset-count-vebox |
| reset-count-ctx-vebox |
| unrelated-ctx-vebox |
| close-pending-vebox |
| close-pending-ctx-vebox |
| close-pending-fork-vebox |
| close-pending-fork-reverse-vebox |
| defer-hangcheck-vebox |
| basic-default |
| render |
| bsd |
| bsd1 |
| bsd2 |
| blt |
| vebox |
| basic-default-interruptible |
| render-interruptible |
| bsd-interruptible |
| bsd1-interruptible |
| bsd2-interruptible |
| blt-interruptible |
| vebox-interruptible |
| basic-default-hang |
| render-hang |
| bsd-hang |
| bsd1-hang |
| bsd2-hang |
| blt-hang |
| vebox-hang |
| default-child |
| render-child |
| bsd-child |
| bsd1-child |
| bsd2-child |
| blt-child |
| vebox-child |
| basic-default-forked |
| render-forked |
| bsd-forked |
| bsd1-forked |
| bsd2-forked |
| blt-forked |
| vebox-forked |
| default-bomb |
| render-bomb |
| bsd-bomb |
| bsd1-bomb |
| bsd2-bomb |
| blt-bomb |
| vebox-bomb |
| default-S3 |
| render-S3 |
| bsd-S3 |
| bsd1-S3 |
| bsd2-S3 |
| blt-S3 |
| vebox-S3 |
| default-S4 |
| render-S4 |
| bsd-S4 |
| bsd1-S4 |
| bsd2-S4 |
| blt-S4 |
| vebox-S4 |
| get-pages-sanitycheck |
| get-pages |
| get-pages-userptr |
| get-pages-oom |
| pwrite-sanitycheck |
| pwrite |
| pwrite-userptr |
| pwrite-oom |
| pread-sanitycheck |
| pread |
| pread-userptr |
| pread-oom |
| mmap-gtt-sanitycheck |
| mmap-gtt |
| mmap-gtt-userptr |
| mmap-gtt-oom |
| mmap-cpu-sanitycheck |
| mmap-cpu |
| mmap-cpu-userptr |
| mmap-cpu-oom |
| execbuf1-sanitycheck |
| execbuf1 |
| execbuf1-userptr |
| execbuf1-oom |
| execbufN-sanitycheck |
| execbufN |
| execbufN-userptr |
| execbufN-oom |
| hang-sanitycheck |
| hang |
| hang-userptr |
| hang-oom |
This test verifies the exetended gem_create ioctl, that includes allocation of obj from stolen region
Test pread behavior on tiled objects with respect to the reported swizzling value.
This is a test of write-combining mmap's behavior on tiled objects with respect to the reported swizzling value.
| input-checking |
| usage-restrictions |
| invalid-null-pointer |
| invalid-gtt-mapping |
| forked-access |
| forbidden-operations |
| relocations |
| create-destroy-unsync |
| unsync-overlap |
| unsync-unmap |
| unsync-unmap-cycles |
| unsync-unmap-after-close |
| coherency-unsync |
| dmabuf-unsync |
| forked-unsync-normal |
| forked-unsync-interruptible |
| forked-unsync-swapping-normal |
| forked-unsync-swapping-interruptible |
| forked-unsync-multifd-normal |
| forked-unsync-multifd-interruptible |
| forked-unsync-swapping-multifd-normal |
| forked-unsync-swapping-multifd-interruptible |
| forked-unsync-mempressure-normal |
| forked-unsync-mempressure-interruptible |
| forked-unsync-swapping-mempressure-normal |
| forked-unsync-swapping-mempressure-interruptible |
| forked-unsync-multifd-mempressure-normal |
| forked-unsync-multifd-mempressure-interruptible |
| forked-unsync-swapping-multifd-mempressure-normal |
| forked-unsync-swapping-multifd-mempressure-interruptible |
| mlocked-unsync-normal |
| swapping-unsync-normal |
| minor-unsync-normal |
| major-unsync-normal |
| mlocked-unsync-interruptible |
| swapping-unsync-interruptible |
| minor-unsync-interruptible |
| major-unsync-interruptible |
| process-exit |
| process-exit-gtt |
| process-exit-busy |
| process-exit-gtt-busy |
| create-destroy-sync |
| sync-overlap |
| sync-unmap |
| sync-unmap-cycles |
| sync-unmap-after-close |
| stress-mm |
| stress-mm-invalidate-close |
| stress-mm-invalidate-close-overlap |
| coherency-sync |
| dmabuf-sync |
| forked-sync-normal |
| forked-sync-interruptible |
| forked-sync-swapping-normal |
| forked-sync-swapping-interruptible |
| forked-sync-multifd-normal |
| forked-sync-multifd-interruptible |
| forked-sync-swapping-multifd-normal |
| forked-sync-swapping-multifd-interruptible |
| forked-sync-mempressure-normal |
| forked-sync-mempressure-interruptible |
| forked-sync-swapping-mempressure-normal |
| forked-sync-swapping-mempressure-interruptible |
| forked-sync-multifd-mempressure-normal |
| forked-sync-multifd-mempressure-interruptible |
| forked-sync-swapping-multifd-mempressure-normal |
| forked-sync-swapping-multifd-mempressure-interruptible |
| mlocked-normal-sync |
| swapping-normal-sync |
| minor-normal-sync |
| major-normal-sync |
| mlocked-sync-interruptible |
| swapping-sync-interruptible |
| minor-sync-interruptible |
| major-sync-interruptible |
| access-control |