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 <kevinbr...@gmx.com>
Date:   Tue Aug 27 14:48:33 2019 -0700

    drm/openchrome: Version bumped to 3.1.14
    
    Signed-off-by: Kevin Brace <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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 <kevinbr...@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;
_______________________________________________
openchrome-devel mailing list
openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to