From: Xiaojie Yuan <xiaojie.yuan@xxxxxxx> register base offset of nbio is not known before IP Discovery table is parsed, so hardcode this value. Signed-off-by: Xiaojie Yuan <xiaojie.yuan@xxxxxxx> Reviewed-by: Hawking Zhang <Hawking.Zhang@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c index f61eb8542c4d..ac065ab91c4b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c @@ -28,10 +28,11 @@ #include "nbio/nbio_2_3_offset.h" #include "discovery.h" -#define mmMM_INDEX 0x0 -#define mmMM_INDEX_HI 0x6 -#define mmMM_DATA 0x1 -#define HW_ID_MAX 300 +#define mmRCC_CONFIG_MEMSIZE 0xde3 +#define mmMM_INDEX 0x0 +#define mmMM_INDEX_HI 0x6 +#define mmMM_DATA 0x1 +#define HW_ID_MAX 300 const char *hw_id_names[HW_ID_MAX] = { [MP1_HWID] = "MP1", @@ -134,8 +135,7 @@ static int hw_id_map[MAX_HWIP] = { static int amdgpu_discovery_read_binary(struct amdgpu_device *adev, uint8_t *binary) { uint32_t *p = (uint32_t *)binary; - uint64_t vram_size = RREG32_SOC15(NBIO, 0, - mmRCC_DEV0_EPF0_RCC_CONFIG_MEMSIZE) * 1024 * 1024; + uint64_t vram_size = (uint64_t)RREG32(mmRCC_CONFIG_MEMSIZE) << 20; uint64_t pos = vram_size - BINARY_MAX_SIZE; unsigned long flags; -- 2.20.1 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx