Driver allocate bo for restore UVD fw ,cache, stack , etc. the firmware size is not only ucode size but the ucode and header. Change-Id: I886c099fa123c4814de9b7db3559c30e7b41fd1b Signed-off-by: JimQu <Jim.Qu at amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c index 533d702..13ad44e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c @@ -198,7 +198,7 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev) DRM_ERROR("POLARIS10/11 UVD firmware version %hu.%hu is too old.\n", version_major, version_minor); - bo_size = AMDGPU_GPU_PAGE_ALIGN(le32_to_cpu(hdr->ucode_size_bytes) + 8) + bo_size = AMDGPU_GPU_PAGE_ALIGN(le32_to_cpu(adev->uvd.fw->size) + 8) + AMDGPU_UVD_STACK_SIZE + AMDGPU_UVD_HEAP_SIZE + AMDGPU_UVD_SESSION_SIZE * adev->uvd.max_handles; r = amdgpu_bo_create_kernel(adev, bo_size, PAGE_SIZE, -- 1.9.1