drm/radeon: reinstate oland workaround for sclk
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 16 Mar 2017 01:11:46 +0000 (21:11 -0400)
committerSasha Levin <alexander.levin@verizon.com>
Wed, 17 May 2017 19:07:02 +0000 (15:07 -0400)
[ Upstream commit 66822d815ae61ecb2d9dba9031517e8a8476969d ]

Higher sclks seem to be unstable on some boards.

bug: https://bugs.freedesktop.org/show_bug.cgi?id=100222

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
drivers/gpu/drm/radeon/si_dpm.c

index 62512c9cf8b2bd4cca7e4032491c632cfc5fbba2..128bd66b8cb05dff4c908994b915d05964cade75 100644 (file)
@@ -2979,9 +2979,13 @@ static void si_apply_state_adjust_rules(struct radeon_device *rdev,
                        max_mclk = 80000;
                }
        } else if (rdev->family == CHIP_OLAND) {
-               if ((rdev->pdev->device == 0x6604) &&
-                   (rdev->pdev->subsystem_vendor == 0x1028) &&
-                   (rdev->pdev->subsystem_device == 0x066F)) {
+               if ((rdev->pdev->revision == 0xC7) ||
+                   (rdev->pdev->revision == 0x80) ||
+                   (rdev->pdev->revision == 0x81) ||
+                   (rdev->pdev->revision == 0x83) ||
+                   (rdev->pdev->revision == 0x87) ||
+                   (rdev->pdev->device == 0x6604) ||
+                   (rdev->pdev->device == 0x6605)) {
                        max_sclk = 75000;
                }
        }