Commit a8c65c13 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu/si: Add updated smc firmware for SI kickers

parent 295d0daf
Loading
Loading
Loading
Loading
+44 −4
Original line number Diff line number Diff line
@@ -56,10 +56,15 @@
#define BIOS_SCRATCH_4                                    0x5cd

MODULE_FIRMWARE("radeon/tahiti_smc.bin");
MODULE_FIRMWARE("radeon/tahiti_k_smc.bin");
MODULE_FIRMWARE("radeon/pitcairn_smc.bin");
MODULE_FIRMWARE("radeon/pitcairn_k_smc.bin");
MODULE_FIRMWARE("radeon/verde_smc.bin");
MODULE_FIRMWARE("radeon/verde_k_smc.bin");
MODULE_FIRMWARE("radeon/oland_smc.bin");
MODULE_FIRMWARE("radeon/oland_k_smc.bin");
MODULE_FIRMWARE("radeon/hainan_smc.bin");
MODULE_FIRMWARE("radeon/hainan_k_smc.bin");

union power_info {
	struct _ATOM_POWERPLAY_INFO info;
@@ -7665,15 +7670,50 @@ static int si_dpm_init_microcode(struct amdgpu_device *adev)
		chip_name = "tahiti";
		break;
	case CHIP_PITCAIRN:
		if ((adev->pdev->revision == 0x81) ||
		    (adev->pdev->device == 0x6810) ||
		    (adev->pdev->device == 0x6811) ||
		    (adev->pdev->device == 0x6816) ||
		    (adev->pdev->device == 0x6817) ||
		    (adev->pdev->device == 0x6806))
			chip_name = "pitcairn_k";
		else
			chip_name = "pitcairn";
		break;
	case CHIP_VERDE:
		if ((adev->pdev->revision == 0x81) ||
		    (adev->pdev->revision == 0x83) ||
		    (adev->pdev->revision == 0x87) ||
		    (adev->pdev->device == 0x6820) ||
		    (adev->pdev->device == 0x6821) ||
		    (adev->pdev->device == 0x6822) ||
		    (adev->pdev->device == 0x6823) ||
		    (adev->pdev->device == 0x682A) ||
		    (adev->pdev->device == 0x682B))
			chip_name = "verde_k";
		else
			chip_name = "verde";
		break;
	case CHIP_OLAND:
		if ((adev->pdev->revision == 0xC7) ||
		    (adev->pdev->revision == 0x80) ||
		    (adev->pdev->revision == 0x81) ||
		    (adev->pdev->revision == 0x83) ||
		    (adev->pdev->device == 0x6604) ||
		    (adev->pdev->device == 0x6605))
			chip_name = "oland_k";
		else
			chip_name = "oland";
		break;
	case CHIP_HAINAN:
		if ((adev->pdev->revision == 0x81) ||
		    (adev->pdev->revision == 0x83) ||
		    (adev->pdev->revision == 0xC3) ||
		    (adev->pdev->device == 0x6664) ||
		    (adev->pdev->device == 0x6665) ||
		    (adev->pdev->device == 0x6667))
			chip_name = "hainan_k";
		else
			chip_name = "hainan";
		break;
	default: BUG();