浏览代码

drm/amdgpu: set allow_reserved_eviction and resv when bo allocation and cs

enable eviction of other per VM BOs during allocation and allows
reaping of deleted BOs during CS.

Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Roger He 7 年之前
父节点
当前提交
9251859a9a
共有 2 个文件被更改,包括 12 次插入2 次删除
  1. 6 1
      drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
  2. 6 1
      drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

+ 6 - 1
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c

@@ -343,7 +343,12 @@ static int amdgpu_cs_bo_validate(struct amdgpu_cs_parser *p,
 				 struct amdgpu_bo *bo)
 				 struct amdgpu_bo *bo)
 {
 {
 	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
 	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
-	struct ttm_operation_ctx ctx = { true, false };
+	struct ttm_operation_ctx ctx = {
+		.interruptible = true,
+		.no_wait_gpu = false,
+		.allow_reserved_eviction = false,
+		.resv = bo->tbo.resv
+	};
 	uint32_t domain;
 	uint32_t domain;
 	int r;
 	int r;
 
 

+ 6 - 1
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c

@@ -327,7 +327,12 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev,
 			       uint64_t init_value,
 			       uint64_t init_value,
 			       struct amdgpu_bo **bo_ptr)
 			       struct amdgpu_bo **bo_ptr)
 {
 {
-	struct ttm_operation_ctx ctx = { !kernel, false };
+	struct ttm_operation_ctx ctx = {
+		.interruptible = !kernel,
+		.no_wait_gpu = false,
+		.allow_reserved_eviction = true,
+		.resv = resv
+	};
 	struct amdgpu_bo *bo;
 	struct amdgpu_bo *bo;
 	enum ttm_bo_type type;
 	enum ttm_bo_type type;
 	unsigned long page_align;
 	unsigned long page_align;