Commit 8e025615 authored by John Clements's avatar John Clements Committed by Alex Deucher
Browse files

amd/powerplay: arcturus baco reset disable all features



issue smu cmd to disable all features upon baco entry for arcturus

to mitigate potential dirty I2C controller on boot

Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarJohn Clements <john.clements@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 31d0271d
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -1470,21 +1470,26 @@ static int smu_disable_dpm(struct smu_context *smu)
	}

	/*
	 * For baco on Arcturus, this operation
	 * (disable all smu feature) will be handled by SMU FW.
	 * Disable all enabled SMU features.
	 * This should be handled in SMU FW, as a backup
	 * driver can issue call to SMU FW until sequence
	 * in SMU FW is operational.
	 */
	if (adev->asic_type == CHIP_ARCTURUS) {
		if (use_baco && (smu_version > 0x360e00))
			return 0;
	}

	/* Disable all enabled SMU features */
	ret = smu_system_features_control(smu, false);
	if (ret) {
		pr_err("Failed to disable smu features.\n");
		return ret;
	}

	/*
	 * Arcturus does not have BACO bit in disable feature mask.
	 * Enablement of BACO bit on Arcturus should be skipped.
	 */
	if (adev->asic_type == CHIP_ARCTURUS) {
		if (use_baco && (smu_version > 0x360e00))
			return 0;
	}

	/* For baco, need to leave BACO feature enabled */
	if (use_baco) {
		/*