aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1052-drm-amdgpu-add-support-for-request-SI-CI-firmware-in.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1052-drm-amdgpu-add-support-for-request-SI-CI-firmware-in.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1052-drm-amdgpu-add-support-for-request-SI-CI-firmware-in.patch106
1 files changed, 106 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1052-drm-amdgpu-add-support-for-request-SI-CI-firmware-in.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1052-drm-amdgpu-add-support-for-request-SI-CI-firmware-in.patch
new file mode 100644
index 00000000..fc491db1
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1052-drm-amdgpu-add-support-for-request-SI-CI-firmware-in.patch
@@ -0,0 +1,106 @@
+From 5fe50b44a2b5fcfecd9f976b1854d6897f4146a7 Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Fri, 8 Sep 2017 14:05:51 +0800
+Subject: [PATCH 1052/4131] drm/amdgpu: add support for request SI/CI firmware
+ in CGS
+
+Change-Id: I175082976f27d5c2c63abffe38b85fb1158b447c
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 79 +++++++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+index 53d1591..2e0a649 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+@@ -633,6 +633,85 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
+
+ if (!adev->pm.fw) {
+ switch (adev->asic_type) {
++ case CHIP_TAHITI:
++ strcpy(fw_name, "radeon/tahiti_smc.bin");
++ break;
++ case CHIP_PITCAIRN:
++ if ((adev->pdev->revision == 0x81) &&
++ ((adev->pdev->device == 0x6810) ||
++ (adev->pdev->device == 0x6811))) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/pitcairn_k_smc.bin");
++ } else {
++ strcpy(fw_name, "radeon/pitcairn_smc.bin");
++ }
++ break;
++ case CHIP_VERDE:
++ if (((adev->pdev->device == 0x6820) &&
++ ((adev->pdev->revision == 0x81) ||
++ (adev->pdev->revision == 0x83))) ||
++ ((adev->pdev->device == 0x6821) &&
++ ((adev->pdev->revision == 0x83) ||
++ (adev->pdev->revision == 0x87))) ||
++ ((adev->pdev->revision == 0x87) &&
++ ((adev->pdev->device == 0x6823) ||
++ (adev->pdev->device == 0x682b)))) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/verde_k_smc.bin");
++ } else {
++ strcpy(fw_name, "radeon/verde_smc.bin");
++ }
++ break;
++ case CHIP_OLAND:
++ if (((adev->pdev->revision == 0x81) &&
++ ((adev->pdev->device == 0x6600) ||
++ (adev->pdev->device == 0x6604) ||
++ (adev->pdev->device == 0x6605) ||
++ (adev->pdev->device == 0x6610))) ||
++ ((adev->pdev->revision == 0x83) &&
++ (adev->pdev->device == 0x6610))) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/oland_k_smc.bin");
++ } else {
++ strcpy(fw_name, "radeon/oland_smc.bin");
++ }
++ break;
++ case CHIP_HAINAN:
++ if (((adev->pdev->revision == 0x81) &&
++ (adev->pdev->device == 0x6660)) ||
++ ((adev->pdev->revision == 0x83) &&
++ ((adev->pdev->device == 0x6660) ||
++ (adev->pdev->device == 0x6663) ||
++ (adev->pdev->device == 0x6665) ||
++ (adev->pdev->device == 0x6667)))) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/hainan_k_smc.bin");
++ } else if ((adev->pdev->revision == 0xc3) &&
++ (adev->pdev->device == 0x6665)) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/banks_k_2_smc.bin");
++ } else {
++ strcpy(fw_name, "radeon/hainan_smc.bin");
++ }
++ break;
++ case CHIP_BONAIRE:
++ if ((adev->pdev->revision == 0x80) ||
++ (adev->pdev->revision == 0x81) ||
++ (adev->pdev->device == 0x665f)) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/bonaire_k_smc.bin");
++ } else {
++ strcpy(fw_name, "radeon/bonaire_smc.bin");
++ }
++ break;
++ case CHIP_HAWAII:
++ if (adev->pdev->revision == 0x80) {
++ info->is_kicker = true;
++ strcpy(fw_name, "radeon/hawaii_k_smc.bin");
++ } else {
++ strcpy(fw_name, "radeon/hawaii_smc.bin");
++ }
++ break;
+ case CHIP_TOPAZ:
+ if (((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x81)) ||
+ ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x83)) ||
+--
+2.7.4
+