drm/amd/powerplay: maintain SMU FW backward compatibility
authorEvan Quan <evan.quan@amd.com>
Tue, 16 Jul 2019 06:20:22 +0000 (14:20 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 17 Jul 2019 18:34:30 +0000 (13:34 -0500)
Do not halt driver loading on if_version mismatch. As our
driver and FWs are backward compatible.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/smu_v11_0.c

index f182d75e127def96e75cdf66c2f33cd89a39699c..95c7c4dae5236cdc61323502c414a346fdca2473 100644 (file)
@@ -261,14 +261,20 @@ static int smu_v11_0_check_fw_version(struct smu_context *smu)
        smu_minor = (smu_version >> 8) & 0xff;
        smu_debug = (smu_version >> 0) & 0xff;
 
-
+       /*
+        * 1. if_version mismatch is not critical as our fw is designed
+        * to be backward compatible.
+        * 2. New fw usually brings some optimizations. But that's visible
+        * only on the paired driver.
+        * Considering above, we just leave user a warning message instead
+        * of halt driver loading.
+        */
        if (if_version != smu->smc_if_version) {
                pr_info("smu driver if version = 0x%08x, smu fw if version = 0x%08x, "
                        "smu fw version = 0x%08x (%d.%d.%d)\n",
                        smu->smc_if_version, if_version,
                        smu_version, smu_major, smu_minor, smu_debug);
-               pr_err("SMU driver if version not matched\n");
-               ret = -EINVAL;
+               pr_warn("SMU driver if version not matched\n");
        }
 
        return ret;