Am 24.09.20 um 07:18 schrieb Dave Airlie:
From: Dave Airlie airlied@redhat.com
The core move code currently handles use_tt moves, for radeon this was being handled also in the driver, but not using the same paths.
If moving between TT/SYSTEM (all the use_tt paths on radeon) use the core move function.
Eventually the core will be flipped over to calling the driver.
Signed-off-by: Dave Airlie airlied@redhat.com
Reviewed-by: Christian König christian.koenig@amd.com
drivers/gpu/drm/radeon/radeon_ttm.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c index ea9ffa6198da..df5cedb2b632 100644 --- a/drivers/gpu/drm/radeon/radeon_ttm.c +++ b/drivers/gpu/drm/radeon/radeon_ttm.c @@ -316,14 +316,16 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict, ttm_bo_move_null(bo, new_mem); return 0; }
- if ((old_mem->mem_type == TTM_PL_TT &&
new_mem->mem_type == TTM_PL_SYSTEM) ||
(old_mem->mem_type == TTM_PL_SYSTEM &&
new_mem->mem_type == TTM_PL_TT)) {
/* bind is enough */
- if (old_mem->mem_type == TTM_PL_SYSTEM &&
ttm_bo_move_null(bo, new_mem); return 0; }new_mem->mem_type == TTM_PL_TT) {
- if (old_mem->mem_type == TTM_PL_TT &&
new_mem->mem_type == TTM_PL_SYSTEM)
return ttm_bo_move_ttm(bo, ctx, new_mem);
- if (!rdev->ring[radeon_copy_ring_index(rdev)].ready || rdev->asic->copy.copy == NULL) { /* use memcpy */