summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLijo Lazar <lijo.lazar@amd.com>2026-03-25 17:20:11 +0530
committerAlex Deucher <alexander.deucher@amd.com>2026-04-03 13:49:49 -0400
commit14a517e37a575da79681c9b5e3b39d3755cbd94d (patch)
tree3859c56b2b15b3ca83ac15e5f39c390548c55651 /drivers
parentb2155aaef0eae56ff1a3583dff38e7b92e99f8ed (diff)
drm/amdgpu: Add firmware extended reserve-region
Use reserve region helpers for initializing/reserving extended firmware reservation area. Signed-off-by: Lijo Lazar <lijo.lazar@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c6
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h3
3 files changed, 4 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index ee6c4b724146..f0e4d020f4c7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -1090,11 +1090,11 @@ int psp_update_fw_reservation(struct psp_context *psp)
reserv_size_ext = roundup(reserv_size_ext, SZ_1M);
- ret = amdgpu_bo_create_kernel_at(adev, reserv_addr_ext, reserv_size_ext,
- &adev->mman.fw_reserved_memory_extend, NULL);
+ amdgpu_ttm_init_vram_resv(adev, AMDGPU_RESV_FW_EXTEND,
+ reserv_addr_ext, reserv_size_ext, false);
+ ret = amdgpu_ttm_mark_vram_reserved(adev, AMDGPU_RESV_FW_EXTEND);
if (ret) {
dev_err(adev->dev, "reserve extend fw region failed(%d)!\n", ret);
- amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory_extend, NULL, NULL);
return ret;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 8758ec6f7809..f0284846b2d3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -2334,8 +2334,7 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)
amdgpu_ttm_unmark_vram_reserved(adev, AMDGPU_RESV_STOLEN_EXTENDED);
/* return the FW reserved memory back to VRAM */
amdgpu_ttm_unmark_vram_reserved(adev, AMDGPU_RESV_FW);
- amdgpu_bo_free_kernel(&adev->mman.fw_reserved_memory_extend, NULL,
- NULL);
+ amdgpu_ttm_unmark_vram_reserved(adev, AMDGPU_RESV_FW_EXTEND);
amdgpu_ttm_unmark_vram_reserved(adev, AMDGPU_RESV_STOLEN_RESERVED);
}
amdgpu_bo_free_kernel(&adev->mman.sdma_access_bo, NULL,
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
index a03620d50838..29aae20abdc1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h
@@ -105,9 +105,6 @@ struct amdgpu_mman {
bool keep_stolen_vga_memory;
- /* fw reserved memory */
- struct amdgpu_bo *fw_reserved_memory_extend;
-
/* firmware VRAM reservation */
u64 fw_vram_usage_start_offset;
u64 fw_vram_usage_size;