OSDN Git Service

drm/radeon: reinstate oland workaround for sclk
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 16 Mar 2017 01:11:46 +0000 (21:11 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:04:55 +0000 (10:04 +0100)
[ 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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/si_dpm.c

index c42430b..d9007cc 100644 (file)
@@ -3030,9 +3030,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;
                }
        }