mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-28 18:26:17 +00:00
tests/kms_flip: Add vblank vs. gpu hang testcase
Currently broken :( Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
737d248a12
commit
89152791e2
@ -75,6 +75,7 @@
|
|||||||
#define TEST_SUSPEND (1 << 26)
|
#define TEST_SUSPEND (1 << 26)
|
||||||
#define TEST_TS_CONT (1 << 27)
|
#define TEST_TS_CONT (1 << 27)
|
||||||
#define TEST_BO_TOOBIG (1 << 28)
|
#define TEST_BO_TOOBIG (1 << 28)
|
||||||
|
#define TEST_HANG_ONCE (1 << 29)
|
||||||
|
|
||||||
#define EVENT_FLIP (1 << 0)
|
#define EVENT_FLIP (1 << 0)
|
||||||
#define EVENT_VBLANK (1 << 1)
|
#define EVENT_VBLANK (1 << 1)
|
||||||
@ -1174,6 +1175,12 @@ static unsigned int wait_for_events(struct test_output *o)
|
|||||||
static unsigned event_loop(struct test_output *o, unsigned duration_ms)
|
static unsigned event_loop(struct test_output *o, unsigned duration_ms)
|
||||||
{
|
{
|
||||||
unsigned long start, end;
|
unsigned long start, end;
|
||||||
|
uint32_t hang = 0; /* Suppress GCC warning */
|
||||||
|
|
||||||
|
if (o->flags & TEST_HANG_ONCE) {
|
||||||
|
hang = hang_gpu(drm_fd);
|
||||||
|
igt_assert_f(hang, "failed to exercise page flip hang recovery\n");
|
||||||
|
}
|
||||||
|
|
||||||
start = gettime_us();
|
start = gettime_us();
|
||||||
|
|
||||||
@ -1192,6 +1199,9 @@ static unsigned event_loop(struct test_output *o, unsigned duration_ms)
|
|||||||
|
|
||||||
end = gettime_us();
|
end = gettime_us();
|
||||||
|
|
||||||
|
if (hang)
|
||||||
|
unhang_gpu(drm_fd, hang);
|
||||||
|
|
||||||
/* Flush any remaining events */
|
/* Flush any remaining events */
|
||||||
if (o->pending_events)
|
if (o->pending_events)
|
||||||
wait_for_events(o);
|
wait_for_events(o);
|
||||||
@ -1542,6 +1552,7 @@ int main(int argc, char **argv)
|
|||||||
TEST_CHECK_TS, "flip-vs-blocking-wf-vblank" },
|
TEST_CHECK_TS, "flip-vs-blocking-wf-vblank" },
|
||||||
{ 30, TEST_FLIP | TEST_MODESET | TEST_HANG | TEST_NOEVENT, "flip-vs-modeset-vs-hang" },
|
{ 30, TEST_FLIP | TEST_MODESET | TEST_HANG | TEST_NOEVENT, "flip-vs-modeset-vs-hang" },
|
||||||
{ 30, TEST_FLIP | TEST_PAN | TEST_HANG, "flip-vs-panning-vs-hang" },
|
{ 30, TEST_FLIP | TEST_PAN | TEST_HANG, "flip-vs-panning-vs-hang" },
|
||||||
|
{ 30, TEST_VBLANK | TEST_HANG_ONCE, "vblank-vs-hang" },
|
||||||
{ 1, TEST_FLIP | TEST_EINVAL | TEST_FB_BAD_TILING, "flip-vs-bad-tiling" },
|
{ 1, TEST_FLIP | TEST_EINVAL | TEST_FB_BAD_TILING, "flip-vs-bad-tiling" },
|
||||||
|
|
||||||
{ 1, TEST_DPMS_OFF | TEST_MODESET | TEST_FLIP,
|
{ 1, TEST_DPMS_OFF | TEST_MODESET | TEST_FLIP,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user