drivers/gpu/drm/openchrome/openchrome_crtc.c   |    6 +-
 drivers/gpu/drm/openchrome/openchrome_cursor.c |    2 
 drivers/gpu/drm/openchrome/openchrome_drv.h    |    8 +-
 drivers/gpu/drm/openchrome/openchrome_object.c |   73 ++++++++++---------------
 drivers/gpu/drm/openchrome/openchrome_ttm.c    |   55 +++++++++++++++---
 5 files changed, 83 insertions(+), 61 deletions(-)

New commits:
commit 23f0f21fd31202eaa0547e6975b24e2c703952e0
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:23:54 2021 -0700

    drm/openchrome: Version bumped to 3.4.6
    
    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 425f694b856d..2aef42d5227c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -61,10 +61,10 @@
 
 #define DRIVER_MAJOR           3
 #define DRIVER_MINOR           4
-#define DRIVER_PATCHLEVEL      5
+#define DRIVER_PATCHLEVEL      6
 #define DRIVER_NAME            "openchrome"
 #define DRIVER_DESC            "OpenChrome DRM for VIA Technologies Chrome IGP"
-#define DRIVER_DATE            "20201127"
+#define DRIVER_DATE            "20210331"
 #define DRIVER_AUTHOR          "OpenChrome Project"
 
 
commit 143b85c040455fe775bbedcd96140ddf2ff4f0ec
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:20:51 2021 -0700

    drm/ttm: wire up the new pool as default one v2
    
    Based on commit ee5d2a8 (drm/ttm: wire up the new pool as default one v2).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index 7130bfe115b2..6c2404caaa0a 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -270,8 +270,10 @@ int openchrome_mm_init(struct openchrome_drm_private 
*dev_private)
         */
        ret = ttm_bo_device_init(&dev_private->bdev,
                                &openchrome_bo_driver,
+                               dev->dev,
                                dev->anon_inode->i_mapping,
                                dev->vma_offset_manager,
+                               false,
                                dev_private->need_dma32);
        if (ret) {
                DRM_ERROR("Failed initializing buffer object driver.\n");
commit 7bf5efbecec1271225976a16e86e9cf45eed59bf
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:20:37 2021 -0700

    drm/ttm: replace last move_notify with delete_mem_notify
    
    Based on commit 6a6e598 (drm/ttm: replace last move_notify with
    delete_mem_notify).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index b4b5b23c34e7..fd2ebda4ce65 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -42,10 +42,16 @@
 
 #include "openchrome_drv.h"
 
+
 static void openchrome_bo_move_notify(struct ttm_buffer_object *bo,
                                        bool evict,
-                                       struct ttm_resource *new_mem);
+                                       struct ttm_resource *new_mem)
+{
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+       return;
+}
 
 static struct ttm_tt *openchrome_ttm_tt_create(
                                        struct ttm_buffer_object *bo,
@@ -136,12 +142,12 @@ static int openchrome_bo_verify_access(struct 
ttm_buffer_object *bo,
        return 0;
 }
 
-static void openchrome_bo_move_notify(struct ttm_buffer_object *bo,
-                                       bool evict,
-                                       struct ttm_resource *new_mem)
+static void openchrome_bo_delete_mem_notify(struct ttm_buffer_object *bo)
 {
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
+       openchrome_bo_move_notify(bo, false, NULL);
+
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return;
 }
@@ -179,6 +185,6 @@ struct ttm_bo_driver openchrome_bo_driver = {
        .evict_flags = openchrome_bo_evict_flags,
        .move = openchrome_bo_move,
        .verify_access = openchrome_bo_verify_access,
-       .move_notify = openchrome_bo_move_notify,
+       .delete_mem_notify = openchrome_bo_delete_mem_notify,
        .io_mem_reserve = openchrome_bo_io_mem_reserve,
 };
commit 2e39bc5c853b81610319326e88461b2e3e76953e
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:20:23 2021 -0700

    drm/ttm: drop move notify around move.
    
    Based on commit 6d82000 (drm/ttm: drop move notify around move.).
    Add openchrome_bo_move_notify() where it did not used to exist.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 06326da99be1..b4b5b23c34e7 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -42,6 +42,10 @@
 
 #include "openchrome_drv.h"
 
+static void openchrome_bo_move_notify(struct ttm_buffer_object *bo,
+                                       bool evict,
+                                       struct ttm_resource *new_mem);
+
 
 static struct ttm_tt *openchrome_ttm_tt_create(
                                        struct ttm_buffer_object *bo,
@@ -111,7 +115,13 @@ static int openchrome_bo_move(struct ttm_buffer_object *bo,
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
+       openchrome_bo_move_notify(bo, evict, new_mem);
        ret = ttm_bo_move_memcpy(bo, ctx, new_mem);
+       if (ret) {
+               swap(*new_mem, bo->mem);
+               openchrome_bo_move_notify(bo, false, new_mem);
+               swap(*new_mem, bo->mem);
+       }
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
@@ -126,6 +136,16 @@ static int openchrome_bo_verify_access(struct 
ttm_buffer_object *bo,
        return 0;
 }
 
+static void openchrome_bo_move_notify(struct ttm_buffer_object *bo,
+                                       bool evict,
+                                       struct ttm_resource *new_mem)
+{
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+       return;
+}
+
 static int openchrome_bo_io_mem_reserve(struct ttm_bo_device *bdev,
                                        struct ttm_resource *mem)
 {
@@ -159,5 +179,6 @@ struct ttm_bo_driver openchrome_bo_driver = {
        .evict_flags = openchrome_bo_evict_flags,
        .move = openchrome_bo_move,
        .verify_access = openchrome_bo_verify_access,
+       .move_notify = openchrome_bo_move_notify,
        .io_mem_reserve = openchrome_bo_io_mem_reserve,
 };
commit db5078ad4d74387fad79a804d3f689a7d288322c
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:19:52 2021 -0700

    drm/atomic: Pass the full state to CRTC atomic enable/disable
    
    Based on commit 351f950 (drm/atomic: Pass the full state to CRTC atomic
    enable/disable).
    
    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 1dfabf3b3aad..e309039f8210 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -1785,7 +1785,7 @@ exit:
 }
 
 static void openchrome_crtc_helper_atomic_enable(struct drm_crtc *crtc,
-                                       struct drm_crtc_state *old_crtc_state)
+                                       struct drm_atomic_state *state)
 {
        struct openchrome_drm_private *dev_private =
                                                crtc->dev->dev_private;
@@ -1804,7 +1804,7 @@ static void openchrome_crtc_helper_atomic_enable(struct 
drm_crtc *crtc,
 }
 
 static void openchrome_crtc_helper_atomic_disable(struct drm_crtc *crtc,
-                                       struct drm_crtc_state *old_crtc_state)
+                                       struct drm_atomic_state *state)
 {
        struct openchrome_drm_private *dev_private =
                                                crtc->dev->dev_private;
commit 4ec028be1fc05099026255304a5a68178fa3c6c5
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:19:40 2021 -0700

    drm/openchrome: implement a ttm move callback.
    
    Based on commit 2b8283f (drm/vram_helper: implement a ttm move callback.).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 095fde063fb4..06326da99be1 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -101,6 +101,22 @@ exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
 
+static int openchrome_bo_move(struct ttm_buffer_object *bo,
+                               bool evict,
+                               struct ttm_operation_ctx *ctx,
+                               struct ttm_resource *new_mem,
+                               struct ttm_place *hop)
+{
+       int ret;
+
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+       ret = ttm_bo_move_memcpy(bo, ctx, new_mem);
+
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+       return ret;
+}
+
 static int openchrome_bo_verify_access(struct ttm_buffer_object *bo,
                                        struct file *filp)
 {
@@ -141,6 +157,7 @@ struct ttm_bo_driver openchrome_bo_driver = {
        .ttm_tt_destroy = openchrome_ttm_tt_destroy,
        .eviction_valuable = ttm_bo_eviction_valuable,
        .evict_flags = openchrome_bo_evict_flags,
+       .move = openchrome_bo_move,
        .verify_access = openchrome_bo_verify_access,
        .io_mem_reserve = openchrome_bo_io_mem_reserve,
 };
commit ee9fe4598d89847edf844235b597ef59644cf046
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:19:20 2021 -0700

    drm/ttm: nuke caching placement flags
    
    Based on commit ce65b87 (drm/ttm: nuke caching placement flags).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index 857ceba30bf9..7130bfe115b2 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -71,7 +71,7 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo 
*bo,
                bo->placements[i].fpfn = 0;
                bo->placements[i].lpfn = 0;
                bo->placements[i].mem_type = TTM_PL_SYSTEM;
-               bo->placements[i].flags = TTM_PL_FLAG_CACHED;
+               bo->placements[i].flags = 0;
                i++;
        }
 
@@ -79,7 +79,7 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo 
*bo,
                bo->placements[i].fpfn = 0;
                bo->placements[i].lpfn = 0;
                bo->placements[i].mem_type = TTM_PL_TT;
-               bo->placements[i].flags = TTM_PL_FLAG_CACHED;
+               bo->placements[i].flags = 0;
                i++;
        }
 
@@ -87,8 +87,7 @@ void openchrome_ttm_domain_to_placement(struct openchrome_bo 
*bo,
                bo->placements[i].fpfn = 0;
                bo->placements[i].lpfn = 0;
                bo->placements[i].mem_type = TTM_PL_VRAM;
-               bo->placements[i].flags = TTM_PL_FLAG_WC |
-                                               TTM_PL_FLAG_UNCACHED;
+               bo->placements[i].flags = 0;
                i++;
        }
 
commit 2f1ecd8b4532a4e3cca6c293f70331cdd0885dbc
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:18:53 2021 -0700

    drm/ttm: set the tt caching state at creation time
    
    Based on commit 1b4ea4c (drm/ttm: set the tt caching state at creation
    time).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index d06f0f9bec4f..095fde063fb4 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -54,7 +54,7 @@ static struct ttm_tt *openchrome_ttm_tt_create(
        if (!tt)
                return NULL;
 
-       ret = ttm_tt_init(tt, bo, page_flags);
+       ret = ttm_tt_init(tt, bo, page_flags, ttm_cached);
        if (ret < 0)
                goto err_ttm_tt_init;
 
commit 5e4389aad32f568120a9627f0cc9d7b405a4286b
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:18:22 2021 -0700

    drm/openchrome: Introduce GEM object functions
    
    The commit is similar to commit ed853f6 (drm/nouveau: Introduce GEM
    object functions).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index 63c7b0de29da..857ceba30bf9 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -41,6 +41,22 @@
 #include "openchrome_drv.h"
 
 
+static void openchrome_gem_free(struct drm_gem_object *obj)
+{
+       struct openchrome_bo *bo = container_of(obj,
+                                       struct openchrome_bo, gem);
+
+       DRM_DEBUG_KMS("Entered %s.\n", __func__);
+
+       ttm_bo_put(&bo->ttm_bo);
+
+       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
+}
+
+static const struct drm_gem_object_funcs openchrome_gem_object_funcs = {
+       .free = openchrome_gem_free,
+};
+
 void openchrome_ttm_domain_to_placement(struct openchrome_bo *bo,
                                        uint32_t ttm_domain)
 {
@@ -166,6 +182,8 @@ int openchrome_bo_create(struct drm_device *dev,
                goto error;
        }
 
+       bo->gem.funcs = &openchrome_gem_object_funcs;
+
        openchrome_ttm_domain_to_placement(bo, ttm_domain);
        acc_size = ttm_bo_dma_acc_size(&dev_private->bdev, size,
                                        sizeof(struct openchrome_bo));
commit 49276ae047e806ca1d34b168045765459c89280d
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:17:43 2021 -0700

    drm/openchrome: switch over to the new pin interface
    
    Based on commit 0b8793f (drm/radeon: switch over to the new pin
    interface).
    
    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 0ad8e1ef281c..1dfabf3b3aad 100644
--- a/drivers/gpu/drm/openchrome/openchrome_crtc.c
+++ b/drivers/gpu/drm/openchrome/openchrome_crtc.c
@@ -2003,7 +2003,7 @@ static void openchrome_primary_cleanup_fb(struct 
drm_plane *plane,
                goto exit;
        }
 
-       ret = openchrome_bo_unpin(bo);
+       openchrome_bo_unpin(bo);
        ttm_bo_unreserve(&bo->ttm_bo);
 exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
diff --git a/drivers/gpu/drm/openchrome/openchrome_cursor.c 
b/drivers/gpu/drm/openchrome/openchrome_cursor.c
index f44b16aa85f8..8a453b6aecaf 100644
--- a/drivers/gpu/drm/openchrome/openchrome_cursor.c
+++ b/drivers/gpu/drm/openchrome/openchrome_cursor.c
@@ -312,7 +312,7 @@ static void openchrome_cursor_cleanup_fb(struct drm_plane 
*plane,
                goto exit;
        }
 
-       ret = openchrome_bo_unpin(bo);
+       openchrome_bo_unpin(bo);
        ttm_bo_unreserve(&bo->ttm_bo);
 
 exit:
diff --git a/drivers/gpu/drm/openchrome/openchrome_drv.h 
b/drivers/gpu/drm/openchrome/openchrome_drv.h
index 01ab292eda22..425f694b856d 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -196,7 +196,6 @@ struct openchrome_bo {
        struct ttm_placement            placement;
        struct ttm_place                placements[OPENCHROME_TTM_PL_NUM];
        struct drm_gem_object           gem;
-       int     pin_count;
 };
 
 struct openchrome_framebuffer {
@@ -395,7 +394,7 @@ 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);
+void openchrome_bo_unpin(struct openchrome_bo *bo);
 int openchrome_bo_create(struct drm_device *dev,
                                struct ttm_bo_device *bdev,
                                uint64_t size,
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index 3c8be1ca3587..63c7b0de29da 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -99,59 +99,35 @@ int openchrome_bo_pin(struct openchrome_bo *bo,
                        uint32_t ttm_domain)
 {
        struct ttm_operation_ctx ctx = {false, false};
-       uint32_t i;
        int ret = 0;
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       if (bo->pin_count) {
-               bo->pin_count++;
-               goto exit;
+       if (bo->ttm_bo.pin_count) {
+               goto pin;
        }
 
        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);
        if (ret) {
                goto exit;
        }
 
-       bo->pin_count++;
+pin:
+       ttm_bo_pin(&bo->ttm_bo);
 exit:
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
        return ret;
 }
 
-int openchrome_bo_unpin(struct openchrome_bo *bo)
+void openchrome_bo_unpin(struct openchrome_bo *bo)
 {
-       struct ttm_operation_ctx ctx = {false, false};
-       uint32_t i;
-       int ret = 0;
-
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       if (!bo->pin_count) {
-               DRM_ERROR("Bad unpin.\n");
-               goto exit;
-       }
-
-       bo->pin_count--;
-       if (bo->pin_count) {
-               goto exit;
-       }
-
-       for (i = 0; i < bo->placement.num_placement; i++) {
-               bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
-       }
+       ttm_bo_unpin(&bo->ttm_bo);
 
-       ret = ttm_bo_validate(&bo->ttm_bo, &bo->placement, &ctx);
-exit:
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-       return ret;
 }
 
 int openchrome_bo_create(struct drm_device *dev,
@@ -253,7 +229,7 @@ void openchrome_bo_destroy(struct openchrome_bo *bo, bool 
kmap)
                        goto exit;
                }
 
-               ret = openchrome_bo_unpin(bo);
+               openchrome_bo_unpin(bo);
                ttm_bo_unreserve(&bo->ttm_bo);
                if (ret) {
                        goto exit;
commit ab1fc8f2411aad03546cbd299dab2feda18a0fe2
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:17:25 2021 -0700

    drm/openchrome: Prevent double calling of ttm_bo_put()
    
    openchrome_bo_create() sets up openchrome_ttm_bo_destroy() for
    releasing resources allocated by openchrome_bo_create().  When
    ttm_bo_put() is called for releasing BO allocated by
    openchrome_bo_create(), the current implementation of
    openchrome_ttm_bo_destroy() is calling ttm_bo_put() again.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index bf084acf2bb1..3c8be1ca3587 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -90,7 +90,6 @@ void openchrome_ttm_bo_destroy(struct ttm_buffer_object *tbo)
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
        drm_gem_object_release(&bo->gem);
-       ttm_bo_put(&bo->ttm_bo);
        kfree(bo);
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
commit f3cf0d22260b00d59e95fc743a60422110393bc4
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:17:10 2021 -0700

    drm/openchrome: Stop the use of openchrome_bo_io_mem_free()
    
    openchrome_bo_io_mem_free() implements io_mem_free() callback of
    ttm_bo_driver struct.  The registered member function does absolutely
    nothing, so it should not be there at all.
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_ttm.c 
b/drivers/gpu/drm/openchrome/openchrome_ttm.c
index 0ddb24828357..d06f0f9bec4f 100644
--- a/drivers/gpu/drm/openchrome/openchrome_ttm.c
+++ b/drivers/gpu/drm/openchrome/openchrome_ttm.c
@@ -136,14 +136,6 @@ static int openchrome_bo_io_mem_reserve(struct 
ttm_bo_device *bdev,
        return ret;
 }
 
-static void openchrome_bo_io_mem_free(struct ttm_bo_device *bdev,
-                                       struct ttm_resource *mem)
-{
-       DRM_DEBUG_KMS("Entered %s.\n", __func__);
-
-       DRM_DEBUG_KMS("Exiting %s.\n", __func__);
-}
-
 struct ttm_bo_driver openchrome_bo_driver = {
        .ttm_tt_create = openchrome_ttm_tt_create,
        .ttm_tt_destroy = openchrome_ttm_tt_destroy,
@@ -151,5 +143,4 @@ struct ttm_bo_driver openchrome_bo_driver = {
        .evict_flags = openchrome_bo_evict_flags,
        .verify_access = openchrome_bo_verify_access,
        .io_mem_reserve = openchrome_bo_io_mem_reserve,
-       .io_mem_free = openchrome_bo_io_mem_free,
 };
commit 38a81a2d5eee0b4de3ac71b8242a73306738eee9
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:16:54 2021 -0700

    drm/openchrome: switch to gem vma offset manager
    
    Based on commit 8b53e1c (drm/radeon: switch to gem vma offset manager).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index e397ae10070c..bf084acf2bb1 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -279,7 +279,7 @@ int openchrome_mm_init(struct openchrome_drm_private 
*dev_private)
        ret = ttm_bo_device_init(&dev_private->bdev,
                                &openchrome_bo_driver,
                                dev->anon_inode->i_mapping,
-                               NULL,
+                               dev->vma_offset_manager,
                                dev_private->need_dma32);
        if (ret) {
                DRM_ERROR("Failed initializing buffer object driver.\n");
commit 1ecc0894676b525f197f3d930b644c2b893d2465
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:16:31 2021 -0700

    drm/ttm: turn ttm_bo_device.vma_manager into a pointer
    
    Based on commit 9d6f448 (drm/ttm: turn ttm_bo_device.vma_manager into
    a pointer).
    
    Signed-off-by: Kevin Brace <kevinbr...@gmx.com>

diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index a6750396cf05..e397ae10070c 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -279,6 +279,7 @@ int openchrome_mm_init(struct openchrome_drm_private 
*dev_private)
        ret = ttm_bo_device_init(&dev_private->bdev,
                                &openchrome_bo_driver,
                                dev->anon_inode->i_mapping,
+                               NULL,
                                dev_private->need_dma32);
        if (ret) {
                DRM_ERROR("Failed initializing buffer object driver.\n");
commit 3d98a30977d1de975ad1d812cb2d817a3f7a9d23
Author: Kevin Brace <kevinbr...@gmx.com>
Date:   Wed Mar 31 11:16:06 2021 -0700

    Revert "drm/openchrome: switch to own vma manager"
    
    This reverts commit 536f622d1ae3947c2d092fcf38a48aa33922cab2.
    
    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 ef10750d9999..01ab292eda22 100644
--- a/drivers/gpu/drm/openchrome/openchrome_drv.h
+++ b/drivers/gpu/drm/openchrome/openchrome_drv.h
@@ -216,7 +216,6 @@ struct openchrome_drm_private {
        struct drm_device *dev;
 
        struct ttm_bo_device            bdev;
-       struct drm_vma_offset_manager   vma_manager;
 
        /* Set this flag for ttm_bo_device_init. */
        bool need_dma32;
diff --git a/drivers/gpu/drm/openchrome/openchrome_object.c 
b/drivers/gpu/drm/openchrome/openchrome_object.c
index ec78df8a3c44..a6750396cf05 100644
--- a/drivers/gpu/drm/openchrome/openchrome_object.c
+++ b/drivers/gpu/drm/openchrome/openchrome_object.c
@@ -273,17 +273,12 @@ int openchrome_mm_init(struct openchrome_drm_private 
*dev_private)
 
        DRM_DEBUG_KMS("Entered %s.\n", __func__);
 
-       drm_vma_offset_manager_init(&dev_private->vma_manager,
-                                       DRM_FILE_PAGE_OFFSET_START,
-                                       DRM_FILE_PAGE_OFFSET_SIZE);
-
        /*
         * Initialize bdev ttm_bo_device struct.
         */
        ret = ttm_bo_device_init(&dev_private->bdev,
                                &openchrome_bo_driver,
                                dev->anon_inode->i_mapping,
-                               &dev_private->vma_manager,
                                dev_private->need_dma32);
        if (ret) {
                DRM_ERROR("Failed initializing buffer object driver.\n");
@@ -313,7 +308,6 @@ void openchrome_mm_fini(struct openchrome_drm_private 
*dev_private)
        ttm_range_man_fini(&dev_private->bdev, TTM_PL_VRAM);
 
        ttm_bo_device_release(&dev_private->bdev);
-       drm_vma_offset_manager_destroy(&dev_private->vma_manager);
 
        DRM_DEBUG_KMS("Exiting %s.\n", __func__);
 }
_______________________________________________
openchrome-devel mailing list
openchrome-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/openchrome-devel

Reply via email to