drm/radeon: add PRIME support (v2)
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / gpu / drm / radeon / radeon_object.c
index 1affbc954c56c9b85363671332664216990ec059..830f1a7b486f2b3181968b76408b3f1175698639 100644 (file)
@@ -104,7 +104,7 @@ void radeon_ttm_placement_from_domain(struct radeon_bo *rbo, u32 domain)
 
 int radeon_bo_create(struct radeon_device *rdev,
                     unsigned long size, int byte_align, bool kernel, u32 domain,
-                    struct radeon_bo **bo_ptr)
+                    struct sg_table *sg, struct radeon_bo **bo_ptr)
 {
        struct radeon_bo *bo;
        enum ttm_bo_type type;
@@ -120,6 +120,8 @@ int radeon_bo_create(struct radeon_device *rdev,
        }
        if (kernel) {
                type = ttm_bo_type_kernel;
+       } else if (sg) {
+               type = ttm_bo_type_sg;
        } else {
                type = ttm_bo_type_device;
        }
@@ -155,7 +157,7 @@ retry:
        mutex_lock(&rdev->vram_mutex);
        r = ttm_bo_init(&rdev->mman.bdev, &bo->tbo, size, type,
                        &bo->placement, page_align, 0, !kernel, NULL,
-                       acc_size, NULL, &radeon_ttm_bo_destroy);
+                       acc_size, sg, &radeon_ttm_bo_destroy);
        mutex_unlock(&rdev->vram_mutex);
        if (unlikely(r != 0)) {
                if (r != -ERESTARTSYS) {