Use reserve region helpers for initializing/reserving fw_reserved region.
Signed-off-by: Lijo Lazar <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 7 ++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 +++++-------
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 1 -
4 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 0b35180ace35..1da1c409762b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -1076,14 +1076,15 @@ int psp_update_fw_reservation(struct psp_context *psp)
return 0;
}
- amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, NULL, NULL);
+ amdgpu_ttm_unreserve_vram(adev, AMDGPU_RESV_FW);
reserv_size = roundup(reserv_size, SZ_1M);
- ret = amdgpu_bo_create_kernel_at(adev, reserv_addr, reserv_size,
&adev->mman.fw_reserved_memory, NULL);
+ amdgpu_ttm_init_vram_resv(adev, AMDGPU_RESV_FW,
+ reserv_addr, reserv_size, false);
+ ret = amdgpu_ttm_reserve_vram(adev, AMDGPU_RESV_FW);
if (ret) {
dev_err(adev->dev, "reserve fw region failed(%d)!\n", ret);
- amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, NULL,
NULL);
return ret;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
index 666503534f17..c38af6d3599e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
@@ -5726,7 +5726,7 @@ int amdgpu_ras_add_critical_region(struct amdgpu_device
*adev,
static void amdgpu_ras_critical_region_init(struct amdgpu_device *adev)
{
- amdgpu_ras_add_critical_region(adev, adev->mman.fw_reserved_memory);
+ amdgpu_ras_add_critical_region(adev,
adev->mman.resv_region[AMDGPU_RESV_FW].bo);
}
static void amdgpu_ras_critical_region_fini(struct amdgpu_device *adev)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 835f140bfed0..0d9db87d5690 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1919,13 +1919,12 @@ static int amdgpu_ttm_reserve_tmr(struct amdgpu_device
*adev)
ctx->init = PSP_MEM_TRAIN_RESERVE_SUCCESS;
}
- ret = amdgpu_bo_create_kernel_at(
- adev, adev->gmc.real_vram_size - reserve_size, reserve_size,
- &adev->mman.fw_reserved_memory, NULL);
+ amdgpu_ttm_init_vram_resv(adev, AMDGPU_RESV_FW,
+ adev->gmc.real_vram_size - reserve_size,
+ reserve_size, false);
+ ret = amdgpu_ttm_reserve_vram(adev, AMDGPU_RESV_FW);
if (ret) {
dev_err(adev->dev, "alloc tmr failed(%d)!\n", ret);
- amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, NULL,
- NULL);
return ret;
}
@@ -2341,8 +2340,7 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)
amdgpu_ttm_unreserve_vram(adev, AMDGPU_RESV_STOLEN_VGA);
amdgpu_ttm_unreserve_vram(adev, AMDGPU_RESV_STOLEN_EXTENDED);
/* return the FW reserved memory back to VRAM */
- amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory, NULL,
- NULL);
+ amdgpu_ttm_unreserve_vram(adev, AMDGPU_RESV_FW);
amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory_extend,
NULL,
NULL);
amdgpu_ttm_unreserve_vram(adev, AMDGPU_RESV_STOLEN_RESERVED);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
index 206267e95b9b..2dd43aec5fc0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
@@ -102,7 +102,6 @@ struct amdgpu_mman {
bool keep_stolen_vga_memory;
/* fw reserved memory */
- struct amdgpu_bo *fw_reserved_memory;
struct amdgpu_bo *fw_reserved_memory_extend;
/* firmware VRAM reservation */
--
2.49.0