aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
diff options
context:
space:
mode:
authorChristopher James Halse Rogers <christopher.halse.rogers@canonical.com>2017-04-02 23:31:22 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-04-07 12:20:39 -0400
commit803d89ade4ede131405c57ec1a1db32673995b2e (patch)
treec1dbe6e11f0417731240688e2c77fdcf374967ea /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
parent1769152ac64b0b07583f696b621624df2ca4c840 (diff)
drm/amdgpu: Refuse to pin or change acceptable domains of prime BOs to VRAM. (v2)
Migration to VRAM will break the sharing, resulting in rendering on the exporting GPU never becoming visible on the importing GPU. v2: Don't pin BOs to GTT. Instead, refuse to migrate them out of GTT. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_object.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 758d8cf8fd17..cb89fff863c0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -650,6 +650,10 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
650 if (WARN_ON_ONCE(min_offset > max_offset)) 650 if (WARN_ON_ONCE(min_offset > max_offset))
651 return -EINVAL; 651 return -EINVAL;
652 652
653 /* A shared bo cannot be migrated to VRAM */
654 if (bo->prime_shared_count && (domain == AMDGPU_GEM_DOMAIN_VRAM))
655 return -EINVAL;
656
653 if (bo->pin_count) { 657 if (bo->pin_count) {
654 uint32_t mem_type = bo->tbo.mem.mem_type; 658 uint32_t mem_type = bo->tbo.mem.mem_type;
655 659