42 lines
734 B
C
42 lines
734 B
C
|
/*
|
||
|
* SPDX-License-Identifier: MIT
|
||
|
*
|
||
|
* Copyright © 2018 Intel Corporation
|
||
|
*/
|
||
|
|
||
|
#include "gt/intel_gt.h"
|
||
|
#include "gt/intel_gt_requests.h"
|
||
|
|
||
|
#include "i915_drv.h"
|
||
|
#include "i915_selftest.h"
|
||
|
|
||
|
#include "igt_flush_test.h"
|
||
|
|
||
|
int igt_flush_test(struct drm_i915_private *i915)
|
||
|
{
|
||
|
struct intel_gt *gt;
|
||
|
unsigned int i;
|
||
|
int ret = 0;
|
||
|
|
||
|
for_each_gt(gt, i915, i) {
|
||
|
if (intel_gt_is_wedged(gt))
|
||
|
ret = -EIO;
|
||
|
|
||
|
cond_resched();
|
||
|
|
||
|
if (intel_gt_wait_for_idle(gt, HZ * 3) == -ETIME) {
|
||
|
pr_err("%pS timed out, cancelling all further testing.\n",
|
||
|
__builtin_return_address(0));
|
||
|
|
||
|
GEM_TRACE("%pS timed out.\n",
|
||
|
__builtin_return_address(0));
|
||
|
GEM_TRACE_DUMP();
|
||
|
|
||
|
intel_gt_set_wedged(gt);
|
||
|
ret = -EIO;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|