drm/amdgpu: drop duplicated ecc check for vega10 (v5)
authorGuchun Chen <guchun.chen@amd.com>
Tue, 29 Sep 2020 04:41:41 +0000 (12:41 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 30 Sep 2020 17:53:21 +0000 (13:53 -0400)
The same ECC check has been executed in amdgpu_ras_init for vega10,
prior to gmc_v9_0_late_init.

v2: drop all atombios helper callings
v3: use bit operation
v4: correct inline comment, remove parity check statement
v5: squash in build fix

Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index c692fac..3ebbddb 100644 (file)
@@ -1207,21 +1207,16 @@ static int gmc_v9_0_late_init(void *handle)
        r = amdgpu_gmc_allocate_vm_inv_eng(adev);
        if (r)
                return r;
-       /* Check if ecc is available */
+
+       /*
+        * Workaround performance drop issue with VBIOS enables partial
+        * writes, while disables HBM ECC for vega10.
+        */
        if (!amdgpu_sriov_vf(adev) && (adev->asic_type == CHIP_VEGA10)) {
-               r = amdgpu_atomfirmware_mem_ecc_supported(adev);
-               if (!r) {
-                       DRM_INFO("ECC is not present.\n");
+               if (!(adev->ras_features & (1 << AMDGPU_RAS_BLOCK__UMC))) {
                        if (adev->df.funcs->enable_ecc_force_par_wr_rmw)
                                adev->df.funcs->enable_ecc_force_par_wr_rmw(adev, false);
-               } else
-                       DRM_INFO("ECC is active.\n");
-
-               r = amdgpu_atomfirmware_sram_ecc_supported(adev);
-               if (!r)
-                       DRM_INFO("SRAM ECC is not present.\n");
-               else
-                       DRM_INFO("SRAM ECC is active.\n");
+               }
        }
 
        if (adev->mmhub.funcs && adev->mmhub.funcs->reset_ras_error_count)