drm/xe/selftests: hold rpm for evict_test_run_device()

We are calling fairly low level things like xe_bo_restore_kernel() which
expect caller to be holding mem_access.ref. Since we are doing stuff
like evict_all we likely don't want to race with rpm suspend, since that
potentially wants to do the same thing, so just wrap the whole test.

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
Matthew Auld 2023-07-12 17:28:39 +01:00 committed by Rodrigo Vivi
parent e3d2309250
commit 6a0612aeab

View File

@ -12,6 +12,7 @@
#include "xe_bo_evict.h"
#include "xe_pci.h"
#include "xe_pm.h"
static int ccs_test_migrate(struct xe_gt *gt, struct xe_bo *bo,
bool clear, u64 get_val, u64 assign_val,
@ -295,9 +296,13 @@ static int evict_test_run_device(struct xe_device *xe)
return 0;
}
xe_device_mem_access_get(xe);
for_each_gt(gt, xe, id)
evict_test_run_gt(xe, gt, test);
xe_device_mem_access_put(xe);
return 0;
}