drm/amd/pm: Add support to override pptable id for aldebaran
authorLijo Lazar <lijo.lazar@amd.com>
Sat, 28 Nov 2020 09:31:08 +0000 (17:31 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Mar 2021 02:56:17 +0000 (22:56 -0400)
Temporarily force to use BU PPTable defined in VBIOS. Add support to
override PPTable defined by module parameter.Add FW reported version to
kernel log.

Signed-off-by: Lijo Lazar <Lijo.Lazar@amd.com>
Reviewed-by: Kenneth Feng <Kenneth.Feng@amd.com>
Reviewed-by: Kevin Wang <kevin1.wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c

index 7589cfe..e6c25a5 100644 (file)
@@ -216,6 +216,9 @@ int smu_v13_0_check_fw_version(struct smu_context *smu)
                break;
        }
 
+       dev_info(smu->adev->dev, "smu fw reported version = 0x%08x (%d.%d.%d)\n",
+                        smu_version, smu_major, smu_minor, smu_debug);
+
        /*
         * 1. if_version mismatch is not critical as our fw is designed
         * to be backward compatible.
@@ -273,8 +276,13 @@ int smu_v13_0_setup_pptable(struct smu_context *smu)
        void *table;
        uint16_t version_major, version_minor;
 
-       /* temporarily hardcode */
-       smu->smu_table.boot_values.pp_table_id = 3000;
+       /* temporarily hardcode to use vbios pptable */
+       smu->smu_table.boot_values.pp_table_id = 0;
+
+       if (amdgpu_smu_pptable_id >= 0) {
+               smu->smu_table.boot_values.pp_table_id = amdgpu_smu_pptable_id;
+               dev_info(adev->dev, "override pptable id %d\n", amdgpu_smu_pptable_id);
+       }
 
        hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data;
        version_major = le16_to_cpu(hdr->header.header_version_major);
@@ -564,6 +572,7 @@ int smu_v13_0_get_vbios_bootup_values(struct smu_context *smu)
        return 0;
 }
 
+
 int smu_v13_0_notify_memory_pool_location(struct smu_context *smu)
 {
        struct smu_table_context *smu_table = &smu->smu_table;