forked from mirrors/linux
		
	drm/amdgpu: Remove TTM resource->start visible VRAM condition v2
Use amdgpu_bo_in_cpu_visible_vram() instead. v2 (chk): fix test inversion Signed-off-by: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230208090106.9659-2-Amaranath.Somalapuram@amd.com
This commit is contained in:
		
							parent
							
								
									e3ea1806e4
								
							
						
					
					
						commit
						aed01a6804
					
				
					 1 changed files with 3 additions and 6 deletions
				
			
		| 
						 | 
					@ -600,7 +600,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!amdgpu_gmc_vram_full_visible(&adev->gmc) &&
 | 
						if (!amdgpu_gmc_vram_full_visible(&adev->gmc) &&
 | 
				
			||||||
	    bo->tbo.resource->mem_type == TTM_PL_VRAM &&
 | 
						    bo->tbo.resource->mem_type == TTM_PL_VRAM &&
 | 
				
			||||||
	    bo->tbo.resource->start < adev->gmc.visible_vram_size >> PAGE_SHIFT)
 | 
						    amdgpu_bo_in_cpu_visible_vram(bo))
 | 
				
			||||||
		amdgpu_cs_report_moved_bytes(adev, ctx.bytes_moved,
 | 
							amdgpu_cs_report_moved_bytes(adev, ctx.bytes_moved,
 | 
				
			||||||
					     ctx.bytes_moved);
 | 
										     ctx.bytes_moved);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
| 
						 | 
					@ -1346,7 +1346,6 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)
 | 
				
			||||||
	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
 | 
						struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
 | 
				
			||||||
	struct ttm_operation_ctx ctx = { false, false };
 | 
						struct ttm_operation_ctx ctx = { false, false };
 | 
				
			||||||
	struct amdgpu_bo *abo = ttm_to_amdgpu_bo(bo);
 | 
						struct amdgpu_bo *abo = ttm_to_amdgpu_bo(bo);
 | 
				
			||||||
	unsigned long offset;
 | 
					 | 
				
			||||||
	int r;
 | 
						int r;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Remember that this BO was accessed by the CPU */
 | 
						/* Remember that this BO was accessed by the CPU */
 | 
				
			||||||
| 
						 | 
					@ -1355,8 +1354,7 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)
 | 
				
			||||||
	if (bo->resource->mem_type != TTM_PL_VRAM)
 | 
						if (bo->resource->mem_type != TTM_PL_VRAM)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	offset = bo->resource->start << PAGE_SHIFT;
 | 
						if (amdgpu_bo_in_cpu_visible_vram(abo))
 | 
				
			||||||
	if ((offset + bo->base.size) <= adev->gmc.visible_vram_size)
 | 
					 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Can't move a pinned BO to visible VRAM */
 | 
						/* Can't move a pinned BO to visible VRAM */
 | 
				
			||||||
| 
						 | 
					@ -1378,10 +1376,9 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)
 | 
				
			||||||
	else if (unlikely(r))
 | 
						else if (unlikely(r))
 | 
				
			||||||
		return VM_FAULT_SIGBUS;
 | 
							return VM_FAULT_SIGBUS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	offset = bo->resource->start << PAGE_SHIFT;
 | 
					 | 
				
			||||||
	/* this should never happen */
 | 
						/* this should never happen */
 | 
				
			||||||
	if (bo->resource->mem_type == TTM_PL_VRAM &&
 | 
						if (bo->resource->mem_type == TTM_PL_VRAM &&
 | 
				
			||||||
	    (offset + bo->base.size) > adev->gmc.visible_vram_size)
 | 
						    !amdgpu_bo_in_cpu_visible_vram(abo))
 | 
				
			||||||
		return VM_FAULT_SIGBUS;
 | 
							return VM_FAULT_SIGBUS;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ttm_bo_move_to_lru_tail_unlocked(bo);
 | 
						ttm_bo_move_to_lru_tail_unlocked(bo);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue