Merge drm/drm-next into drm-misc-next
[linux-2.6-block.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_object.c
index e3e1ed4314dd65a84a918e4fc343a023abc713f5..858d881ab9a1a44c201688b0610e54a03f504665 100644 (file)
@@ -600,7 +600,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
 
        if (!amdgpu_gmc_vram_full_visible(&adev->gmc) &&
            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,
                                             ctx.bytes_moved);
        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 ttm_operation_ctx ctx = { false, false };
        struct amdgpu_bo *abo = ttm_to_amdgpu_bo(bo);
-       unsigned long offset;
        int r;
 
        /* 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)
                return 0;
 
-       offset = bo->resource->start << PAGE_SHIFT;
-       if ((offset + bo->base.size) <= adev->gmc.visible_vram_size)
+       if (amdgpu_bo_in_cpu_visible_vram(abo))
                return 0;
 
        /* 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))
                return VM_FAULT_SIGBUS;
 
-       offset = bo->resource->start << PAGE_SHIFT;
        /* this should never happen */
        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;
 
        ttm_bo_move_to_lru_tail_unlocked(bo);