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