[openchrome-devel] drm-openchrome: Branch 'drm-next-5.4' - 4 commits - drivers/gpu/drm

Kevin Brace kevinbrace at kemper.freedesktop.org
Tue Aug 27 21:49:35 UTC 2019


 drivers/gpu/drm/openchrome/openchrome_crtc.c   |   42 --------
 drivers/gpu/drm/openchrome/openchrome_drv.c    |   83 +---------------
 drivers/gpu/drm/openchrome/openchrome_drv.h    |   12 +-
 drivers/gpu/drm/openchrome/openchrome_fb.c     |   57 ++---------
 drivers/gpu/drm/openchrome/openchrome_ioc32.c  |    3 
 drivers/gpu/drm/openchrome/openchrome_object.c |  129 +++++++++++++++++--------
 drivers/gpu/drm/openchrome/openchrome_ttm.c    |    2 
 7 files changed, 124 insertions(+), 204 deletions(-)

New commits:
commit 4fa6d8c922a0c6d8c5ad8447be2f4a2e1036509f
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Tue Aug 27 14:48:33 2019 -0700

    drm/openchrome: Version bumped to 3.1.14
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 408c3d97b97c..82e66ba92efd 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -51,10 +51,10 @@
 
 #define DRIVER_MAJOR		3
 #define DRIVER_MINOR		1
-#define DRIVER_PATCHLEVEL	13
+#define DRIVER_PATCHLEVEL	14
 #define DRIVER_NAME		"openchrome"
 #define DRIVER_DESC		"OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE		"20190814"
+#define DRIVER_DATE		"20190827"
 #define DRIVER_AUTHOR		"OpenChrome Project"
 
 
commit c822af111d81f27b83f5daf9b95c0522c26963b9
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Tue Aug 27 14:44:35 2019 -0700

    drm/openchrome: Add kmap parameter to openchrome_bo_create()
    
    Also, created openchrome_bo_destroy() for destroying a BO created by
    openchrome_bo_create().
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_crtc.c b/drivers/gpu/drm/openchrome/openchrome_crtc.c
index 7c9ceb94785b..5309e7f42d78 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -543,27 +543,12 @@ static int via_iga2_gamma_set(struct drm_crtc *crtc,
 static void via_crtc_destroy(struct drm_crtc *crtc)
 {
 	struct via_crtc *iga = container_of(crtc, struct via_crtc, base);
-	int ret;
 
 	if (iga->cursor_bo->kmap.bo) {
-		ret = ttm_bo_reserve(iga->cursor_bo->kmap.bo,
-					true, false, NULL);
-		if (ret) {
-			goto exit;
-		}
-
-		ttm_bo_kunmap(&iga->cursor_bo->kmap);
-
-		ret = openchrome_bo_unpin(iga->cursor_bo);
-		ttm_bo_unreserve(iga->cursor_bo->kmap.bo);
-		if (ret) {
-			goto exit;
-		}
-
-		ttm_bo_put(iga->cursor_bo->kmap.bo);
+		openchrome_bo_destroy(iga->cursor_bo, true);
+		iga->cursor_bo = NULL;
 	}
 
-exit:
 	drm_crtc_cleanup(crtc);
 }
 
@@ -2551,7 +2536,6 @@ int via_crtc_init(struct drm_device *dev, int index)
 	struct via_crtc *iga = &dev_private->iga[index];
 	struct drm_plane *primary;
 	struct drm_crtc *crtc = &iga->base;
-	struct openchrome_bo *bo;
 	int cursor_size = 64 * 64 * 4, i;
 	u16 *gamma;
 	int ret;
@@ -2747,31 +2731,13 @@ int via_crtc_init(struct drm_device *dev, int index)
 					cursor_size,
 					ttm_bo_type_kernel,
 					TTM_PL_FLAG_VRAM,
-					&bo);
+					true,
+					&iga->cursor_bo);
 	if (ret) {
 		DRM_ERROR("Failed to create cursor.\n");
 		goto exit;
 	}
 
-	ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
-	if (ret) {
-		goto exit;
-	}
-
-	ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
-	if (ret) {
-		ttm_bo_unreserve(&bo->ttm_bo);
-		goto exit;
-	}
-
-	ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
-				&bo->kmap);
-	ttm_bo_unreserve(&bo->ttm_bo);
-	if (ret) {
-		goto exit;
-	}
-
-	iga->cursor_bo = bo;
 exit:
 	return ret;
 }
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.c b/drivers/gpu/drm/openchrome/openchrome_drv.c
index 1049cf352a55..60f1bf1caf3c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.c
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.c
@@ -89,6 +89,7 @@ static int openchrome_drm_driver_dumb_create(
 					args->size,
 					ttm_bo_type_device,
 					TTM_PL_FLAG_VRAM,
+					false,
 					&bo);
 	if (ret) {
 		goto exit;
@@ -136,7 +137,6 @@ exit:
 static void via_driver_unload(struct drm_device *dev)
 {
 	struct openchrome_drm_private *dev_private = dev->dev_private;
-	int ret;
 
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -144,47 +144,19 @@ static void via_driver_unload(struct drm_device *dev)
 		via_modeset_fini(dev);
 
 	if (dev_private->vq_bo) {
-		ret = ttm_bo_reserve(&dev_private->vq_bo->ttm_bo,
-					true, false, NULL);
-		if (ret) {
-			goto exit_vq;
-		}
-
-		ttm_bo_kunmap(&dev_private->vq_bo->kmap);
-
-		ret = openchrome_bo_unpin(dev_private->vq_bo);
-		ttm_bo_unreserve(&dev_private->vq_bo->ttm_bo);
-		if (ret) {
-			goto exit_vq;
-		}
-
-		ttm_bo_put(&dev_private->vq_bo->ttm_bo);
+		openchrome_bo_destroy(dev_private->vq_bo, true);
+		dev_private->vq_bo = NULL;
 	}
 
-exit_vq:
 	if (dev_private->gart_bo) {
 		/* enable gtt write */
 		if (pci_is_pcie(dev->pdev))
 			svga_wseq_mask(VGABASE, 0x6C, 0, BIT(7));
 
-		ret = ttm_bo_reserve(&dev_private->gart_bo->ttm_bo,
-					true, false, NULL);
-		if (ret) {
-			goto exit_gart;
-		}
-
-		ttm_bo_kunmap(&dev_private->gart_bo->kmap);
-
-		ret = openchrome_bo_unpin(dev_private->gart_bo);
-		ttm_bo_unreserve(&dev_private->gart_bo->ttm_bo);
-		if (ret) {
-			goto exit_gart;
-		}
-
-		ttm_bo_put(&dev_private->gart_bo->ttm_bo);
+		openchrome_bo_destroy(dev_private->gart_bo, true);
+		dev_private->gart_bo = NULL;
 	}
 
-exit_gart:
 	openchrome_mm_fini(dev_private);
 
 	/*
@@ -204,7 +176,6 @@ static int via_driver_load(struct drm_device *dev,
 				unsigned long chipset)
 {
 	struct openchrome_drm_private *dev_private;
-	struct openchrome_bo *bo;
 	int ret = 0;
 
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
@@ -244,31 +215,13 @@ static int via_driver_load(struct drm_device *dev,
 						SGDMA_MEMORY,
 						ttm_bo_type_kernel,
 						TTM_PL_FLAG_VRAM,
-						&bo);
+						true,
+						&dev_private->gart_bo);
 		if (ret) {
 			DRM_ERROR("Failed to allocate DMA memory.\n");
 			goto init_error;
 		}
 
-		ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
-		if (ret) {
-			goto init_error;
-		}
-
-		ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
-		if (ret) {
-			ttm_bo_unreserve(&bo->ttm_bo);
-			goto init_error;
-		}
-
-		ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
-					&bo->kmap);
-		ttm_bo_unreserve(&bo->ttm_bo);
-		if (ret) {
-			goto init_error;
-		}
-
-		dev_private->gart_bo = bo;
 		DRM_INFO("Allocated %u KB of DMA memory.\n",
 				SGDMA_MEMORY >> 10);
 	}
@@ -279,32 +232,14 @@ static int via_driver_load(struct drm_device *dev,
 					VQ_MEMORY,
 					ttm_bo_type_kernel,
 					TTM_PL_FLAG_VRAM,
-					&bo);
+					true,
+					&dev_private->vq_bo);
 	if (ret) {
 		DRM_ERROR("Failed to allocate VQ (Virtual Queue) "
 				"memory.\n");
 		goto init_error;
 	}
 
-	ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
-	if (ret) {
-		goto init_error;
-	}
-
-	ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
-	if (ret) {
-		ttm_bo_unreserve(&bo->ttm_bo);
-		goto init_error;
-	}
-
-	ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
-				&bo->kmap);
-	ttm_bo_unreserve(&bo->ttm_bo);
-	if (ret) {
-		goto init_error;
-	}
-
-	dev_private->vq_bo = bo;
 	DRM_INFO("Allocated %u KB of VQ (Virtual Queue) memory.\n",
 			VQ_MEMORY >> 10);
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 36d10420241f..408c3d97b97c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -291,7 +291,9 @@ int openchrome_bo_create(struct drm_device *dev,
 				uint64_t size,
 				enum ttm_bo_type type,
 				uint32_t ttm_domain,
+				bool kmap,
 				struct openchrome_bo **bo_ptr);
+void openchrome_bo_destroy(struct openchrome_bo *bo, bool kmap);
 int openchrome_mm_init(struct openchrome_drm_private *dev_private);
 void openchrome_mm_fini(struct openchrome_drm_private *dev_private);
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_fb.c b/drivers/gpu/drm/openchrome/openchrome_fb.c
index 6d8d0f323aca..6723060a2320 100644
--- a/drivers/gpu/drm/openchrome/openchrome_fb.c
+++ b/drivers/gpu/drm/openchrome/openchrome_fb.c
@@ -179,12 +179,10 @@ via_fb_probe(struct drm_fb_helper *helper,
 	struct drm_framebuffer *fb = &via_fbdev->via_fb.fb;
 	struct fb_info *info = helper->fbdev;
 	const struct drm_format_info *format_info;
-	struct openchrome_bo *bo;
 	struct drm_mode_fb_cmd2 mode_cmd;
 	struct apertures_struct *ap;
 	int size, cpp;
 	int ret = 0;
-	int fake_ret = 0;
 
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
@@ -205,31 +203,12 @@ via_fb_probe(struct drm_fb_helper *helper,
 					size,
 					ttm_bo_type_kernel,
 					TTM_PL_FLAG_VRAM,
-					&bo);
+					true,
+					&via_fbdev->bo);
 	if (ret) {
 		goto exit;
 	}
 
-	ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
-	if (ret) {
-		goto out_err;
-	}
-
-	ret = openchrome_bo_pin(bo, TTM_PL_FLAG_VRAM);
-	if (ret) {
-		ttm_bo_unreserve(&bo->ttm_bo);
-		goto out_err;
-	}
-
-	ret = ttm_bo_kmap(&bo->ttm_bo, 0, bo->ttm_bo.num_pages,
-				&bo->kmap);
-	ttm_bo_unreserve(&bo->ttm_bo);
-	if (ret) {
-		goto out_err;
-	}
-
-	via_fbdev->bo = bo;
-
 	info = drm_fb_helper_alloc_fbi(helper);
 	if (IS_ERR(info)) {
 		ret = PTR_ERR(info);
@@ -244,16 +223,16 @@ via_fb_probe(struct drm_fb_helper *helper,
 		goto out_err;
 	}
 
-	via_fb->gem = &bo->gem;
+	via_fb->gem = &via_fbdev->bo->gem;
 	via_fbdev->helper.fb = fb;
 	via_fbdev->helper.fbdev = info;
 
 	info->fbops = &via_fb_ops;
 
-	info->fix.smem_start = bo->kmap.bo->mem.bus.base +
-				bo->kmap.bo->mem.bus.offset;
+	info->fix.smem_start = via_fbdev->bo->kmap.bo->mem.bus.base +
+				via_fbdev->bo->kmap.bo->mem.bus.offset;
 	info->fix.smem_len = size;
-	info->screen_base = bo->kmap.virtual;
+	info->screen_base = via_fbdev->bo->kmap.virtual;
 	info->screen_size = size;
 
 	/* Setup aperture base / size for takeover (i.e., vesafb). */
@@ -263,29 +242,17 @@ via_fb_probe(struct drm_fb_helper *helper,
 		goto out_err;
 	}
 
-	ap->ranges[0].size = bo->kmap.bo->bdev->
-				man[bo->kmap.bo->mem.mem_type].size;
-	ap->ranges[0].base = bo->kmap.bo->mem.bus.base;
+	ap->ranges[0].size = via_fbdev->bo->kmap.bo->bdev->
+			man[via_fbdev->bo->kmap.bo->mem.mem_type].size;
+	ap->ranges[0].base = via_fbdev->bo->kmap.bo->mem.bus.base;
 	info->apertures = ap;
 
 	drm_fb_helper_fill_info(info, helper, sizes);
 	goto exit;
 out_err:
-	if (bo->kmap.bo) {
-		fake_ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
-		if (fake_ret) {
-			goto exit;
-		}
-
-		ttm_bo_kunmap(&bo->kmap);
-
-		fake_ret = openchrome_bo_unpin(bo);
-		if (fake_ret) {
-			ttm_bo_unreserve(&bo->ttm_bo);
-			goto exit;
-		}
-
-		ttm_bo_put(&bo->ttm_bo);
+	if (via_fbdev->bo) {
+		openchrome_bo_destroy(via_fbdev->bo, true);
+		via_fbdev->bo = NULL;
 	}
 
 	if (via_fb->gem) {
diff --git a/drivers/gpu/drm/openchrome/openchrome_ioc32.c b/drivers/gpu/drm/openchrome/openchrome_ioc32.c
index 4f88e614ecd0..6087bfd4fb5e 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ioc32.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ioc32.c
@@ -77,6 +77,7 @@ via_gem_alloc(struct drm_device *dev, void *data,
 					args->size,
 					ttm_bo_type_device,
 					args->domains,
+					false,
 					&bo);
 
 	if (ret) {
@@ -90,7 +91,7 @@ via_gem_alloc(struct drm_device *dev, void *data,
 	drm_gem_object_put_unlocked(&bo->gem);
 
 	if (ret) {
-		ttm_bo_put(&bo->ttm_bo);
+		openchrome_bo_destroy(bo, false);
 		goto exit;
 	}
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c
index 1ffa2c9b5f93..7ec9d3c53d1b 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -138,6 +138,7 @@ int openchrome_bo_create(struct drm_device *dev,
 				uint64_t size,
 				enum ttm_bo_type type,
 				uint32_t ttm_domain,
+				bool kmap,
 				struct openchrome_bo **bo_ptr)
 {
 	struct openchrome_drm_private *dev_private = dev->dev_private;
@@ -185,6 +186,28 @@ int openchrome_bo_create(struct drm_device *dev,
 		goto exit;
 	}
 
+	if (kmap) {
+		ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
+		if (ret) {
+			ttm_bo_put(&bo->ttm_bo);
+			goto exit;
+		}
+
+		ret = openchrome_bo_pin(bo, ttm_domain);
+		if (!ret) {
+			ret = ttm_bo_kmap(&bo->ttm_bo, 0,
+						bo->ttm_bo.num_pages,
+						&bo->kmap);
+
+		}
+
+		ttm_bo_unreserve(&bo->ttm_bo);
+		if (ret) {
+			ttm_bo_put(&bo->ttm_bo);
+			goto exit;
+		}
+	}
+
 	*bo_ptr = bo;
 	goto exit;
 error:
@@ -194,6 +217,32 @@ exit:
 	return ret;
 }
 
+void openchrome_bo_destroy(struct openchrome_bo *bo, bool kmap)
+{
+	int ret;
+
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+	if (kmap) {
+		ret = ttm_bo_reserve(&bo->ttm_bo, true, false, NULL);
+		if (ret) {
+			goto exit;
+		}
+
+		ttm_bo_kunmap(&bo->kmap);
+
+		ret = openchrome_bo_unpin(bo);
+		ttm_bo_unreserve(&bo->ttm_bo);
+		if (ret) {
+			goto exit;
+		}
+	}
+
+	ttm_bo_put(&bo->ttm_bo);
+exit:
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+}
+
 int openchrome_mm_init(struct openchrome_drm_private *dev_private)
 {
 	struct drm_device *dev = dev_private->dev;
commit e37fec7029a9a7972023acbeb15e8650453a3786
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Tue Aug 27 14:43:06 2019 -0700

    drm/openchrome: Rename openchrome_bo_destroy()
    
    The new name is openchrome_ttm_bo_destroy().
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 664c1dce62f4..36d10420241f 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -281,9 +281,9 @@ extern int openchrome_vram_init(
 extern void openchrome_vram_fini(
 			struct openchrome_drm_private *dev_private);
 
-void openchrome_bo_destroy(struct ttm_buffer_object *tbo);
 void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
 					uint32_t ttm_domain);
+void openchrome_ttm_bo_destroy(struct ttm_buffer_object *tbo);
 int openchrome_bo_pin(struct openchrome_bo *bo, uint32_t ttm_domain);
 int openchrome_bo_unpin(struct openchrome_bo *bo);
 int openchrome_bo_create(struct drm_device *dev,
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c
index b0920f94a67b..1ffa2c9b5f93 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -41,19 +41,6 @@
 #include "openchrome_drv.h"
 
 
-void openchrome_bo_destroy(struct ttm_buffer_object *tbo)
-{
-	struct openchrome_bo *bo = container_of(tbo,
-					struct openchrome_bo, ttm_bo);
-
-	DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-	drm_gem_object_release(&bo->gem);
-	kfree(bo);
-
-	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-}
-
 void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
 					uint32_t ttm_domain)
 {
@@ -95,6 +82,19 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
 	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
+void openchrome_ttm_bo_destroy(struct ttm_buffer_object *tbo)
+{
+	struct openchrome_bo *bo = container_of(tbo,
+					struct openchrome_bo, ttm_bo);
+
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+	drm_gem_object_release(&bo->gem);
+	kfree(bo);
+
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+}
+
 int openchrome_bo_pin(struct openchrome_bo *bo,
 			uint32_t ttm_domain)
 {
@@ -179,7 +179,7 @@ int openchrome_bo_create(struct drm_device *dev,
 				PAGE_SIZE >> PAGE_SHIFT,
 				false, acc_size,
 				NULL, NULL,
-				openchrome_bo_destroy);
+				openchrome_ttm_bo_destroy);
 	if (ret) {
 		DRM_ERROR("Cannot initialize a TTM object.\n");
 		goto exit;
diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 9a4bfdf4c86f..7ecfd15daee1 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -80,7 +80,7 @@ static void openchrome_bo_evict_flags(struct ttm_buffer_object *bo,
 
 	DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-	if (bo->destroy == &openchrome_bo_destroy) {
+	if (bo->destroy == &openchrome_ttm_bo_destroy) {
 		goto exit;
 	}
 
commit ade333b4c7fa2d9b80936e67b0f1d37de6b3af44
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Wed Aug 14 17:57:51 2019 -0700

    drm/openchrome: Move openchrome_bo_pin() and openchrome_bo_unpin()
    
    Signed-off-by: Kevin Brace <kevinbrace at gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h b/drivers/gpu/drm/openchrome/openchrome_drv.h
index e8b714ec188e..664c1dce62f4 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -284,14 +284,14 @@ extern void openchrome_vram_fini(
 void openchrome_bo_destroy(struct ttm_buffer_object *tbo);
 void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
 					uint32_t ttm_domain);
+int openchrome_bo_pin(struct openchrome_bo *bo, uint32_t ttm_domain);
+int openchrome_bo_unpin(struct openchrome_bo *bo);
 int openchrome_bo_create(struct drm_device *dev,
 				struct ttm_bo_device *bdev,
 				uint64_t size,
 				enum ttm_bo_type type,
 				uint32_t ttm_domain,
 				struct openchrome_bo **bo_ptr);
-int openchrome_bo_pin(struct openchrome_bo *bo, uint32_t ttm_domain);
-int openchrome_bo_unpin(struct openchrome_bo *bo);
 int openchrome_mm_init(struct openchrome_drm_private *dev_private);
 void openchrome_mm_fini(struct openchrome_drm_private *dev_private);
 
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c b/drivers/gpu/drm/openchrome/openchrome_object.c
index 927aa5b9c22c..b0920f94a67b 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -95,6 +95,44 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
 	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
+int openchrome_bo_pin(struct openchrome_bo *bo,
+			uint32_t ttm_domain)
+{
+	struct ttm_operation_ctx ctx = {false, false};
+	uint32_t i;
+	int ret;
+
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+	openchrome_ttm_domain_to_placement(bo, ttm_domain);
+	for (i = 0; i < bo->placement.num_placement; i++) {
+		bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
+	}
+
+	ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
+
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+	return ret;
+}
+
+int openchrome_bo_unpin(struct openchrome_bo *bo)
+{
+	struct ttm_operation_ctx ctx = {false, false};
+	uint32_t i;
+	int ret;
+
+	DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+	for (i = 0; i < bo->placement.num_placement; i++) {
+		bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
+	}
+
+	ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
+
+	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+	return ret;
+}
+
 int openchrome_bo_create(struct drm_device *dev,
 				struct ttm_bo_device *bdev,
 				uint64_t size,
@@ -156,44 +194,6 @@ exit:
 	return ret;
 }
 
-int openchrome_bo_pin(struct openchrome_bo *bo,
-			uint32_t ttm_domain)
-{
-	struct ttm_operation_ctx ctx = {false, false};
-	uint32_t i;
-	int ret;
-
-	DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-	openchrome_ttm_domain_to_placement(bo, ttm_domain);
-	for (i = 0; i < bo->placement.num_placement; i++) {
-		bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
-	}
-
-	ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
-
-	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-	return ret;
-}
-
-int openchrome_bo_unpin(struct openchrome_bo *bo)
-{
-	struct ttm_operation_ctx ctx = {false, false};
-	uint32_t i;
-	int ret;
-
-	DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-	for (i = 0; i < bo->placement.num_placement; i++) {
-		bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
-	}
-
-	ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
-
-	DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-	return ret;
-}
-
 int openchrome_mm_init(struct openchrome_drm_private *dev_private)
 {
 	struct drm_device *dev = dev_private->dev;


More information about the openchrome-devel mailing list