[Intel-xe] [PATCH 1/4] drm/xe/selftests: hold rpm for evict_test_run_device()

Nirmoy Das nirmoy.das at linux.intel.com
Thu Jul 13 15:24:40 UTC 2023


On 7/13/2023 11:41 AM, Matthew Auld wrote:
> 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 at intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
>   drivers/gpu/drm/xe/tests/xe_bo.c | 7 +++++++
>   1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
> index 5309204d8d1b..edee4116c59d 100644
> --- a/drivers/gpu/drm/xe/tests/xe_bo.c
> +++ b/drivers/gpu/drm/xe/tests/xe_bo.c
> @@ -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,15 @@ static int evict_test_run_device(struct xe_device *xe)
>   		return 0;
>   	}
>   
> +	xe_pm_runtime_get(xe); /* FIXME: remove once mem_access actually works */
> +	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);
> +	xe_pm_runtime_put(xe);
> +
>   	return 0;
>   }
>   


More information about the Intel-xe mailing list