drm/amd/pm: avoid to load smu firmware for APUs
Certain call paths still load the SMU firmware for APUs, which needs to be skipped. Signed-off-by: Tim Huang <Tim.Huang@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
78347b651a
commit
064d92436b
@ -7324,11 +7324,9 @@ static int gfx_v10_0_hw_init(void *handle)
|
||||
* loaded firstly, so in direct type, it has to load smc ucode
|
||||
* here before rlc.
|
||||
*/
|
||||
if (!(adev->flags & AMD_IS_APU)) {
|
||||
r = amdgpu_pm_load_smu_firmware(adev, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
r = amdgpu_pm_load_smu_firmware(adev, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
gfx_v10_0_disable_gpa_mode(adev);
|
||||
}
|
||||
|
||||
|
@ -4558,11 +4558,9 @@ static int gfx_v11_0_hw_init(void *handle)
|
||||
* loaded firstly, so in direct type, it has to load smc ucode
|
||||
* here before rlc.
|
||||
*/
|
||||
if (!(adev->flags & AMD_IS_APU)) {
|
||||
r = amdgpu_pm_load_smu_firmware(adev, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
r = amdgpu_pm_load_smu_firmware(adev, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
|
||||
gfx_v11_0_constants_init(adev);
|
||||
|
@ -3306,11 +3306,9 @@ static int gfx_v12_0_hw_init(void *handle)
|
||||
* loaded firstly, so in direct type, it has to load smc ucode
|
||||
* here before rlc.
|
||||
*/
|
||||
if (!(adev->flags & AMD_IS_APU)) {
|
||||
r = amdgpu_pm_load_smu_firmware(adev, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
r = amdgpu_pm_load_smu_firmware(adev, NULL);
|
||||
if (r)
|
||||
return r;
|
||||
}
|
||||
|
||||
gfx_v12_0_constants_init(adev);
|
||||
|
@ -618,7 +618,7 @@ int amdgpu_pm_load_smu_firmware(struct amdgpu_device *adev, uint32_t *smu_versio
|
||||
const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs;
|
||||
int r = 0;
|
||||
|
||||
if (!pp_funcs || !pp_funcs->load_firmware)
|
||||
if (!pp_funcs || !pp_funcs->load_firmware || adev->flags & AMD_IS_APU)
|
||||
return 0;
|
||||
|
||||
mutex_lock(&adev->pm.mutex);
|
||||
|
Loading…
x
Reference in New Issue
Block a user