previously a path moves ucode_init_bo to amdgpu_device_init but this cause regression: the regression that MEC enabling will fail after gpu reset, the reason is after gpu reset (at least from VF FLR) the firmware buf that MEC use is somehow changed by PSP hw, so without calling this ucode_init_bo again in psp_hw_init() the MEC ucode won't get upload succesfully thus lead to MEC fail. now add back the ucode_init_bo in psp hw_init to fix that problem Change-Id: Ica5085db0d332dfaa76d2fb89a1e0ed1e94ffbfa Signed-off-by: Monk Liu <Monk.Liu at amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index f1035a6..f1ccc659 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -412,6 +412,8 @@ static int psp_hw_init(void *handle) mutex_lock(&adev->firmware.mutex); + amdgpu_ucode_init_bo(adev); + ret = psp_load_fw(adev); if (ret) { DRM_ERROR("PSP firmware loading failed\n"); -- 2.7.4