Am 24.09.20 um 02:46 schrieb Dave Airlie:
On Thu, 24 Sep 2020 at 00:46, Christian König christian.koenig@amd.com wrote:
Am 23.09.20 um 05:04 schrieb Dave Airlie:
From: Dave Airlie airlied@redhat.com
The core move code currently handles use_tt moves, for amdgpu 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 amdgpu) use the core move function.
Eventually the core will be flipped over to calling the driver.
Signed-off-by: Dave Airlie airlied@redhat.com
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index db5f761f37ec..d3bd2fd448be 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -671,14 +671,16 @@ static int amdgpu_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 &&
new_mem->mem_type == TTM_PL_TT) { ttm_bo_move_null(bo, new_mem);
I would feel better if we nuke ttm_bo_move_null() and always use ttm_bo_move_ttm().
Any reason? The code path in the current move code pretty much is this.
The current move paths are
if (new_tt && old_tt) if old is system move null else move ttm else call driver move.
So I wanted to maintain that order. calling the move ttm will just make a pointless caching, populate, bind step.
Well we want to get rid of the bind/unbind stuff in TTM.
And I'm seriously thinking about getting rid of all the caching stuff.
So all of this should just go away rather soon.
Christian.
But I'm going to think about it a bit more.
Dave.