1
0
Fork 0

drm/amdgpu: no need load microcode at sdma if powerplay is enabled

SDMA firmware will be loaded by SMU manager if powerplay is enabled.
So it needn't load at SDMA.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
hifive-unleashed-5.1
Huang Rui 2016-06-19 23:29:20 +08:00 committed by Alex Deucher
parent f5a13660cc
commit 86a42f04d1
1 changed files with 15 additions and 13 deletions

View File

@ -567,19 +567,21 @@ static int sdma_v2_4_start(struct amdgpu_device *adev)
{
int r;
if (!adev->firmware.smu_load) {
r = sdma_v2_4_load_microcode(adev);
if (r)
return r;
} else {
r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
AMDGPU_UCODE_ID_SDMA0);
if (r)
return -EINVAL;
r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
AMDGPU_UCODE_ID_SDMA1);
if (r)
return -EINVAL;
if (!adev->pp_enabled) {
if (!adev->firmware.smu_load) {
r = sdma_v2_4_load_microcode(adev);
if (r)
return r;
} else {
r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
AMDGPU_UCODE_ID_SDMA0);
if (r)
return -EINVAL;
r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
AMDGPU_UCODE_ID_SDMA1);
if (r)
return -EINVAL;
}
}
/* halt the engine before programing */