Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a80c9294 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amdgpu: drop SMU_DRIVER_IF_VERSION check for some vega10 variants

parent 47ed4e1c
Loading
Loading
Loading
Loading
+24 −6
Original line number Diff line number Diff line
@@ -356,6 +356,9 @@ int vega10_set_tools_address(struct pp_smumgr *smumgr)
static int vega10_verify_smc_interface(struct pp_smumgr *smumgr)
{
	uint32_t smc_driver_if_version;
	struct cgs_system_info sys_info = {0};
	uint32_t dev_id;
	uint32_t rev_id;

	PP_ASSERT_WITH_CODE(!vega10_send_msg_to_smc(smumgr,
			PPSMC_MSG_GetDriverIfVersion),
@@ -363,6 +366,20 @@ static int vega10_verify_smc_interface(struct pp_smumgr *smumgr)
			return -EINVAL);
	vega10_read_arg_from_smc(smumgr, &smc_driver_if_version);

	sys_info.size = sizeof(struct cgs_system_info);
	sys_info.info_id = CGS_SYSTEM_INFO_PCIE_DEV;
	cgs_query_system_info(smumgr->device, &sys_info);
	dev_id = (uint32_t)sys_info.value;

	sys_info.size = sizeof(struct cgs_system_info);
	sys_info.info_id = CGS_SYSTEM_INFO_PCIE_REV;
	cgs_query_system_info(smumgr->device, &sys_info);
	rev_id = (uint32_t)sys_info.value;

	if (!((dev_id == 0x687f) &&
		((rev_id == 0xc0) ||
		(rev_id == 0xc1) ||
		(rev_id == 0xc3)))) {
		if (smc_driver_if_version != SMU9_DRIVER_IF_VERSION) {
			pr_err("Your firmware(0x%x) doesn't match \
				SMU9_DRIVER_IF_VERSION(0x%x). \
@@ -370,6 +387,7 @@ static int vega10_verify_smc_interface(struct pp_smumgr *smumgr)
				smc_driver_if_version, SMU9_DRIVER_IF_VERSION);
			return -EINVAL;
		}
	}

	return 0;
}