mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
drm/amdgpu: switch to query reserved fb size from vbios (v3)
For Sienna_Cichlid, query fw_reserved_fb_size from vbios directly. For navi1x, fall back to default 64K TMR size. For pre-navi, no need to reserve tmr region in top LFB. v2: fix TMR define (Alex) v3: partially revert size change Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
9a244ebe81
commit
87ba7feafa
@ -58,6 +58,7 @@
|
||||
#include "amdgpu_amdkfd.h"
|
||||
#include "amdgpu_sdma.h"
|
||||
#include "amdgpu_ras.h"
|
||||
#include "amdgpu_atomfirmware.h"
|
||||
#include "bif/bif_4_1_d.h"
|
||||
|
||||
#define AMDGPU_TTM_VRAM_MAX_DW_READ (size_t)128
|
||||
@ -1960,13 +1961,23 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
|
||||
* reserve TMR memory at the top of VRAM which holds
|
||||
* IP Discovery data and is protected by PSP.
|
||||
*/
|
||||
adev->discovery_tmr_size =
|
||||
amdgpu_atomfirmware_get_fw_reserved_fb_size(adev);
|
||||
if (!adev->discovery_tmr_size &&
|
||||
adev->asic_type >= CHIP_NAVI10 &&
|
||||
amdgpu_discovery) {
|
||||
/* if fw_reserved_fb_size is 0 from vbios,
|
||||
* then fallback to the default tmr_size */
|
||||
adev->discovery_tmr_size = DISCOVERY_TMR_SIZE;
|
||||
}
|
||||
|
||||
if (adev->discovery_tmr_size > 0) {
|
||||
r = amdgpu_bo_create_kernel_at(adev,
|
||||
adev->gmc.real_vram_size - adev->discovery_tmr_size,
|
||||
adev->discovery_tmr_size,
|
||||
AMDGPU_GEM_DOMAIN_VRAM,
|
||||
&adev->discovery_memory,
|
||||
NULL);
|
||||
adev->gmc.real_vram_size - adev->discovery_tmr_size,
|
||||
adev->discovery_tmr_size,
|
||||
AMDGPU_GEM_DOMAIN_VRAM,
|
||||
&adev->discovery_memory,
|
||||
NULL);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user