[openchrome-devel] drm-openchrome: Branch 'drm-next-5.11' - 15 commits - drivers/gpu/drm
Kevin Brace
kevinbrace at kemper.freedesktop.org
Wed Mar 31 18:25:35 UTC 2021
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 <kevinbrace at gmx.com>
Date: Wed Mar 31 11:23:54 2021 -0700
drm/openchrome: Version bumped to 3.4.6
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 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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 <kevinbrace at 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__);
}
More information about the openchrome-devel
mailing list