mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-10 19:56:33 +07:00
drm/i915/selftests: Serialise nop reset with retirement
In order for the reset count to be accurate across our selftest, we need to prevent the background retire worker from modifying our expected state. To preserve the intent of symmetry, we apply this to both i915_reset and i915_reset_engine, even though it strictly only affects i915_reset_engine currently. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190626134433.6318-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
5ccf2027bb
commit
d847479566
@ -398,6 +398,7 @@ static int igt_reset_nop(void *arg)
|
||||
count = 0;
|
||||
do {
|
||||
mutex_lock(&i915->drm.struct_mutex);
|
||||
|
||||
for_each_engine(engine, i915, id) {
|
||||
int i;
|
||||
|
||||
@ -413,11 +414,12 @@ static int igt_reset_nop(void *arg)
|
||||
i915_request_add(rq);
|
||||
}
|
||||
}
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
|
||||
igt_global_reset_lock(i915);
|
||||
i915_reset(i915, ALL_ENGINES, NULL);
|
||||
igt_global_reset_unlock(i915);
|
||||
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
if (i915_reset_failed(i915)) {
|
||||
err = -EIO;
|
||||
break;
|
||||
@ -511,9 +513,8 @@ static int igt_reset_nop_engine(void *arg)
|
||||
|
||||
i915_request_add(rq);
|
||||
}
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
|
||||
err = i915_reset_engine(engine, NULL);
|
||||
mutex_unlock(&i915->drm.struct_mutex);
|
||||
if (err) {
|
||||
pr_err("i915_reset_engine failed\n");
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user