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

Commit f49e9bac authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amd/pp: Get and save Rv smu version



The smu firmware is loaded by the sbios on APUs, so query it
from the smu and save the smu fw version info that is reported
to userspace.

Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 82eb0f30
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -801,6 +801,9 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
				else
					strcpy(fw_name, "amdgpu/vega10_smc.bin");
				break;
			case CHIP_RAVEN:
				adev->pm.fw_version = info->version;
				return 0;
			default:
				DRM_ERROR("SMC firmware not supported\n");
				return -EINVAL;
+8 −0
Original line number Diff line number Diff line
@@ -305,6 +305,14 @@ static int rv_smu_fini(struct pp_hwmgr *hwmgr)

static int rv_start_smu(struct pp_hwmgr *hwmgr)
{
	struct cgs_firmware_info info = {0};

	smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetSmuVersion);
	rv_read_arg_from_smc(hwmgr, &hwmgr->smu_version);
	info.version = hwmgr->smu_version >> 8;

	cgs_get_firmware_info(hwmgr->device, CGS_UCODE_ID_SMU, &info);

	if (rv_verify_smc_interface(hwmgr))
		return -EINVAL;
	if (rv_smc_enable_sdma(hwmgr))