Use reserve region helpers for initializing/reserving memory training
region.

Signed-off-by: Lijo Lazar <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h |  1 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 15 ++++++---------
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
index 79a49cba8d40..7e94ec11c57e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h
@@ -277,7 +277,6 @@ struct psp_memory_training_context {
 
        /*vram offset of the c2p training data*/
        u64 c2p_train_data_offset;
-       struct amdgpu_bo *c2p_bo;
 
        enum psp_memory_training_init_flag init;
        u32 training_cnt;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index e38296c84895..f58e4acad7a8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1751,8 +1751,7 @@ static int amdgpu_ttm_training_reserve_vram_fini(struct 
amdgpu_device *adev)
        struct psp_memory_training_context *ctx = &adev->psp.mem_train_ctx;
 
        ctx->init = PSP_MEM_TRAIN_NOT_SUPPORT;
-       amdgpu_bo_free_kernel(&ctx->c2p_bo, NULL, NULL);
-       ctx->c2p_bo = NULL;
+       amdgpu_ttm_unreserve_vram(adev, AMDGPU_RESV_MEM_TRAIN);
 
        return 0;
 }
@@ -1823,14 +1822,12 @@ static int amdgpu_ttm_reserve_tmr(struct amdgpu_device 
*adev)
        if (mem_train_support) {
                /* reserve vram for mem train according to TMR location */
                amdgpu_ttm_training_data_block_init(adev, reserve_size);
-               ret = amdgpu_bo_create_kernel_at(adev,
-                                                ctx->c2p_train_data_offset,
-                                                ctx->train_data_size,
-                                                &ctx->c2p_bo,
-                                                NULL);
+               amdgpu_ttm_init_vram_resv(adev, AMDGPU_RESV_MEM_TRAIN,
+                                         ctx->c2p_train_data_offset,
+                                         ctx->train_data_size, false);
+               ret = amdgpu_ttm_reserve_vram(adev, AMDGPU_RESV_MEM_TRAIN);
                if (ret) {
-                       dev_err(adev->dev, "alloc c2p_bo failed(%d)!\n", ret);
-                       amdgpu_ttm_training_reserve_vram_fini(adev);
+                       dev_err(adev->dev, "memory training region reservation 
failed(%d)!\n", ret);
                        return ret;
                }
                ctx->init = PSP_MEM_TRAIN_RESERVE_SUCCESS;
-- 
2.49.0

Reply via email to