Commit 86b6037f authored by Stanley.Yang's avatar Stanley.Yang Committed by Alex Deucher
Browse files

drm/amdgpu: skip load smu and sdma microcode on sriov for SIENNA_CICHLID



skip load smu and sdma fw on sriov due to sos,
ta and asd fw have been skipped for SIENNA_CICHLID.

V2:
    move asic check into smu11

Signed-off-by: default avatarStanley.Yang <Stanley.Yang@amd.com>
Reviewed-by: default avatarKevin Wang <kevin1.wang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 79cc4269
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -153,6 +153,9 @@ static int sdma_v5_2_init_microcode(struct amdgpu_device *adev)
	struct amdgpu_firmware_info *info = NULL;
	const struct common_firmware_header *header = NULL;

	if (amdgpu_sriov_vf(adev) && (adev->asic_type == CHIP_SIENNA_CICHLID))
		return 0;

	DRM_DEBUG("\n");

	switch (adev->asic_type) {
+4 −6
Original line number Diff line number Diff line
@@ -847,13 +847,11 @@ static int smu_sw_init(void *handle)
	smu->smu_dpm.dpm_level = AMD_DPM_FORCED_LEVEL_AUTO;
	smu->smu_dpm.requested_dpm_level = AMD_DPM_FORCED_LEVEL_AUTO;

	if (!amdgpu_sriov_vf(adev) || (adev->asic_type != CHIP_NAVI12)) {
	ret = smu_init_microcode(smu);
	if (ret) {
		dev_err(adev->dev, "Failed to load smu firmware!\n");
		return ret;
	}
	}

	ret = smu_smc_table_sw_init(smu);
	if (ret) {
+5 −0
Original line number Diff line number Diff line
@@ -91,6 +91,11 @@ int smu_v11_0_init_microcode(struct smu_context *smu)
	const struct common_firmware_header *header;
	struct amdgpu_firmware_info *ucode = NULL;

	if (amdgpu_sriov_vf(adev) &&
			((adev->asic_type == CHIP_NAVI12) ||
			 (adev->asic_type == CHIP_SIENNA_CICHLID)))
		return 0;

	switch (adev->asic_type) {
	case CHIP_ARCTURUS:
		chip_name = "arcturus";