Commit 064d9243 authored by Tim Huang's avatar Tim Huang Committed by Alex Deucher
Browse files

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: default avatarTim Huang <Tim.Huang@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 78347b65
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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;
		}
		gfx_v10_0_disable_gpa_mode(adev);
	}

+3 −5
Original line number Diff line number Diff line
@@ -4558,12 +4558,10 @@ 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;
	}
	}

	gfx_v11_0_constants_init(adev);

+3 −5
Original line number Diff line number Diff line
@@ -3306,12 +3306,10 @@ 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;
	}
	}

	gfx_v12_0_constants_init(adev);

+1 −1
Original line number Diff line number Diff line
@@ -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);