diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2016-03-28 16:39:14 +0900 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-03-28 11:54:51 -0400 |
commit | e1a575ada8d2a3c3f107fdd12ac9215f983a7c80 (patch) | |
tree | 4e67cb07960cfa27696fde8d5bd4ba7ea3650643 /drivers/gpu/drm/radeon/radeon_object.c | |
parent | 0e5585dc870af947fab2af96a88c2d8b4270247c (diff) |
drm/radeon: Don't move pinned BOs
The purpose of pinning is to prevent a buffer from moving.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_object.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_object.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index dd46c38676db..2d901bf28a94 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -799,6 +799,10 @@ int radeon_bo_fault_reserve_notify(struct ttm_buffer_object *bo) if ((offset + size) <= rdev->mc.visible_vram_size) return 0; + /* Can't move a pinned BO to visible VRAM */ + if (rbo->pin_count > 0) + return -EINVAL; + /* hurrah the memory is not visible ! */ radeon_ttm_placement_from_domain(rbo, RADEON_GEM_DOMAIN_VRAM); lpfn = rdev->mc.visible_vram_size >> PAGE_SHIFT; |